Sviluppare il publisher NetLogic e l'interfaccia
Sviluppare una NetLogic e integrarlo con l'interfaccia.
- Sviluppare la NetLogic
- InVista progetto, espandereUI.
- Fare clic con il pulsante destro del mouse suMainWindow (type)e selezionare .
- Passare il puntatore del mouse sulla NetLogic, selezionare e immetterePublisherLogic.
- Fare doppio clic sulla NetLogic.Viene aperto l'editor di codice esterno.
- Nell'editor di codice, sostituire il codice esistente con il codice seguente:#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; }NOTA: Il codice recupera il valore da pubblicare dalla variabileche verrà creata successivamente.
- Salvare il codice.
- Creazione degli elementi di interfaccia
- InVista progetto, fare clic con il pulsante destro del mouse suModelloe selezionare .Viene creataVariabile1. Il valore della variabile viene recuperato dallo scriptPublisherLogic.
- Aggiungere il pulsante Pubblica:
- InVista progetto, fare clic con il pulsante destro del mouse suMainWindow (type)e selezionare .
- Passare il puntatore del mouse sul pulsante, selezionare e immetterePublishButton.
- InProprietà, impostareTestosuPublish
- Nel riquadroEventi, accanto aEvento MouseClick, selezionare e selezionare .
Fornire un feedback