Abonnent-NetLogic und -Schnittstelle ausarbeiten
Arbeiten Sie eine NetLogic aus und integrieren Sie in die Schnittstellee.
- NetLogic ausarbeiten
- Klicken Sie mit der rechten Maustaste aufMainWindow (type)und wählen Sie aus.
- Bewegen Sie den Mauszeiger über NetLogic, wählen Sie aus und geben SieSubscriberLogicein.
- 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 SubscriberLogic : BaseNetLogic { public override void Start() { var brokerIpAddressVariable = Project.Current.GetVariable("Model/BrokerIpAddress"); // Create a client connecting to the broker (default port is 1883) subscribeClient = new MqttClient(brokerIpAddressVariable.Value); // Connect to the broker subscribeClient.Connect("SubscriberClient"); // Assign a callback to be executed when a message is received from the broker subscribeClient.MqttMsgPublishReceived += SubscribeClientMqttMsgPublishReceived; // Subscribe to the "my_topic" topic with QoS 2 ushort msgId = subscribeClient.Subscribe(new string[] { "/my_topic" }, // topic new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE }); // QoS level messageVariable = Project.Current.GetVariable("Model/Message"); } public override void Stop() { subscribeClient.Unsubscribe(new string[] { "/my_topic" }); subscribeClient.Disconnect(); } private void SubscribeClientMqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e) { messageVariable.Value = "Message received: " + System.Text.Encoding.UTF8.GetString(e.Message); } private MqttClient subscribeClient; private IUAVariable messageVariable; }
- Speichern Sie den Code.
- Schnittstellenelemente erstellen
- Erstellen Sie mithilfe der folgenden Aktionen die Meldungsvariable:
- Klicken Sie in derProjektansichtmit der rechten Maustaste aufModellund wählen Sie aus.
- Bewegen Sie den Mauszeiger über die Variable, wählen Sie aus und geben SieMessageein.
- Wählen Sie inEigenschaftenzuerstInt32und anschließendStringaus.
- Erstellen Sie mithilfe der folgenden Aktionen die Beschriftung „Abonnieren“:
- Klicken Sie in derProjektansichtmit der rechten Maustaste aufMainWindow (type)und wählen Sie dann aus.
- Bewegen Sie den Mauszeiger über die Beschriftung, wählen Sie aus und geben SieSubscribeLabelein.
- Erstellen Sie inEigenschafteneinen dynamischen Link zwischen demTextund der VariablenMessage.Weitere Informationen zu dynamischen Links finden Sie unter Dynamische Links erstellen.
- Die Schnittstellenelemente anordnen.
Rückmeldung geben