Die Publisher NetLogic und die Schnittstelle ausarbeiten
Arbeiten Sie eine NetLogic aus und integrieren Sie in die Schnittstellee.
- NetLogic ausarbeiten
- Erweitern Sie inProjektansichtdie OptionUI.
- Klicken Sie mit der rechten Maustaste aufMainWindow (type)und wählen Sie aus.
- Bewegen Sie den Mauszeiger über die NetLogic, wählen Sie aus und geben SiePublisherLogicein.
- Doppelklicken Sie auf die NetLogic.Der externe Code-Editor wird geöffnet.
- Ersetzen Sie im Code-Editor den vorhandenen Code durch den folgenden Code:#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; }NOTIZ: Der Code ruft den zu veröffentlichenden Wert aus der Variableab, die Sie später erstellen werden.
- Speichern Sie den Code.
- Schnittstellenelemente erstellen
- Klicken Sie in derProjektansichtmit der rechten Maustaste aufModellund wählen Sie aus.Falls erforderlich, benennen Sie die Variable inVariable1um.Variable1wird erstellt. Der Wert der Variable wird durch das SkriptPublisherLogicabgerufen.
- Fügen Sie die Schaltfläche Veröffentlichen hinzu, indem Sie die folgenden Aktionen durchführen:
- Klicken Sie in derProjektansichtmit der rechten Maustaste aufMainWindow (type)und wählen Sie .
- Bewegen Sie den Mauszeiger über die Schaltfläche, wählen Sie aus und geben SiePublishButtonein.
- Setzen Sie inEigenschaftendie OptionTextaufPublish
- Wählen Sie inEreignissenebenMouseClick-Ereignisdie Option und wählen Sie .
Rückmeldung geben