- 프로젝트 만들기
- 개체 및 변수 참조
- 프로젝트 확장
게시자 NetLogic 및 인터페이스 개발
NetLogic을 개발하고 인터페이스와 통합합니다.
- NetLogic 개발
- 프로젝트 보기에서UI를 확장합니다.
- MainWindow (type)를 마우스 오른쪽 버튼으로 클릭하고 을 선택합니다.
- NetLogic 위로 마우스를 가져가서을 선택하고PublisherLogic을 입력합니다.
- NetLogic을 두 번 클릭합니다.외부 코드 편집기가 열립니다.
- 코드 편집기에서 기존 코드를 다음 코드로 바꿉니다.#region StandardUsing using System; using FTOptix.CoreBase; using FTOptix.HMIProject; using UAManagedCore; using OpcUa = UAManagedCore.OpcUa; using FTOptix.NetLogic; using FTOptix.UI; using FTOptix.OPCUAServer; #endregion using uPLibrary.Networking.M2Mqtt; using uPLibrary.Networking.M2Mqtt.Messages; public class PublisherLogic : BaseNetLogic { public override void Start() { var brokerIpAddressVariable = Project.Current.GetVariable("Model/BrokerIpAddress"); // Create a client connecting to the broker (default port is 1883) publishClient = new MqttClient(brokerIpAddressVariable.Value); // Connect to the broker publishClient.Connect("PublisherClient"); // Assign a callback to be executed when a message is published to the broker publishClient.MqttMsgPublished += PublishClientMqttMsgPublished; } public override void Stop() { publishClient.Disconnect(); publishClient.MqttMsgPublished -= PublishClientMqttMsgPublished; } private void PublishClientMqttMsgPublished(object sender, MqttMsgPublishedEventArgs e) { Log.Info("Message " + e.MessageId + " - published = " + e.IsPublished); } [ExportMethod] public void PublishMessage() { var variable1 = Project.Current.GetVariable("Model/Variable1"); variable1.Value = new Random().Next(0, 101); // Publish a message ushort msgId = publishClient.Publish("/my_topic", // topic System.Text.Encoding.UTF8.GetBytes(((int)variable1.Value).ToString()), // message body MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, // QoS level false); // retained } private MqttClient publishClient; }노트: 이 코드는 나중에 만들변수에서 게시할 값을 검색합니다.
- 코드를 저장합니다.
- 인터페이스 요소 만들기
- 프로젝트 보기에서모델을 마우스 오른쪽 버튼으로 클릭하고 를 선택합니다.필요한 경우 변수 이름을Variable1로 바꿉니다.Variable1이 생성됩니다. 변수 값은PublisherLogic스크립트에 의해 검색됩니다.
- 다음 작업을 수행하여 게시 버튼을 추가합니다.
- 프로젝트 보기에서MainWindow (type)를 마우스 오른쪽 버튼으로 클릭하고 을 선택합니다.
- 버튼 위로 마우스를 가져가서을 선택하고PublishButton을 입력합니다.
- 속성에서텍스트를Publish로 설정합니다.
- 이벤트에서MouseClick 이벤트옆에 있는를 선택하고 를 선택합니다.
의견을 작성 부탁드립니다.