Développer le NetLogic de publication et l'interface
Développez un NetLogic et intégrez-le avec l'interface.
- Développer le NetLogic
- DansVue de projet, développezInterface utilisateur.
- Cliquez avec le bouton droit de la souris surMainWindow (type)et sélectionnez .
- Passez le curseur de la souris sur le NetLogic, sélectionnez et saisissezPublisherLogic.
- Double-cliquez sur NetLogic.L'éditeur de code externe s'ouvre.
- Dans l’éditeur de code, remplacez le code existant par le code suivant :#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; }NOTE: Le code récupère la valeur à publier à partir de la variableque vous créerez ultérieurement.
- Enregistrez le code.
- Créer les éléments d’interface
- DansVue de projet, cliquez avec le bouton droit de la souris surModèleet sélectionnez .Si nécessaire, renommez la variable enVariable1.Variable1est créée. La valeur de la variable est récupérée par le scriptPublisherLogic.
- Ajoutez le bouton Publier en effectuant les actions suivantes :
- DansVue de projet, cliquez avec le bouton droit de la souris surMainWindow (type)et sélectionnez .
- Passez le curseur de la souris sur le bouton, sélectionnez et saisissezPublishButton.
- DansPropriétés, définissezTextesurPublish
- DansÉvénements, en regard deÉvénement MouseClick, sélectionnez , puis sélectionnez .
Fournir une réponse