Développer le NetLogic de publication et l'interface

Développez un NetLogic et intégrez-le avec l'interface.
  1. Développer le NetLogic
  2. Dans
    Vue de projet
    , développez
    Interface utilisateur
    .
  3. Cliquez avec le bouton droit de la souris sur
    MainWindow (type)
    et sélectionnez
    Nouveau
    NetLogic d'exécution
    .
  4. Passez le curseur de la souris sur le NetLogic, sélectionnez
    Edit
    et saisissez
    PublisherLogic
    .
  5. Double-cliquez sur NetLogic.
    L'éditeur de code externe s'ouvre.
  6. 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 variable
    Modèle
    Variable1
    que vous créerez ultérieurement.
  7. Enregistrez le code.
  8. Créer les éléments d’interface
  9. Dans
    Vue de projet
    , cliquez avec le bouton droit de la souris sur
    Modèle
    et sélectionnez
    Nouveau
    Variable
    .
    Variable1
    est créée. La valeur de la variable est récupérée par le script
    PublisherLogic
    .
  10. Ajoutez le bouton Publier :
    1. Dans
      Vue de projet
      , cliquez avec le bouton droit de la souris sur
      MainWindow (type)
      et sélectionnez
      Nouveau
      Contrôles de base
      Bouton
      .
    2. Passez le curseur de la souris sur le bouton, sélectionnez
      Edit
      et saisissez
      PublishButton
      .
    3. Dans
      Propriétés
      , définissez
      Texte
      sur
      Publish
    4. Dans
      Événements
      , en regard de
      Événement MouseClick
      , sélectionnez
      Add
      et sélectionnez
      ProjectName
      Interface utilisateur
      MainWindow (type)
      PublisherLogic
      PublishMessage
      .
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.