Desenvolver o NetLogic e a interface do publicador

Desenvolva um NetLogic e o integre com a interface.
  1. Desenvolver o NetLogic
  2. Na
    Exibição de projeto
    , expanda a
    UI
    .
  3. Clique com o botão direito do mouse em
    MainWindow (type)
    e selecione
    Novo
    NetLogic em tempo de execução
    .
  4. Passe o mouse sobre o NetLogic, selecione
    Edit
    e digite
    PublisherLogic
    .
  5. Clique duas vezes no NetLogic.
    O editor de código externo é aberto.
  6. No editor de código, substitua o código existente pelo seguinte código:
    #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; }
    OBSERVAÇÃO: O código recupera o valor a ser publicado da variável
    Modelo
    Variable1
    que você criará mais tarde.
  7. Salve o código.
  8. Criar os elementos da interface
  9. Na
    Exibição de projeto
    , clique com o botão direito do mouse em
    Modelo
    e selecione
    Novo
    Variável
    .
    Se necessário, renomeie a variável como
    Variable1
    .
    A
    Variable1
    é criada. O valor da variável é recuperado pelo script
    PublisherLogic
    .
  10. Execute as seguintes ações para adicionar o botão Publicar:
    1. Na
      Exibição de projeto
      , clique com o botão direito do mouse em
      MainWindow (type)
      e selecione
      Novo
      Controles básicos
      Botão
      .
    2. Passe o mouse sobre o botão, selecione
      Edit
      e digite
      PublishButton
      .
    3. Em
      Propriedades
      , defina
      Texto
      como
      Publish
    4. Em
      Eventos
      , ao lado de
      evento MouseClick
      , selecione
      Add
      e, depois,
      ProjectName
      UI
      MainWindow (type)
      PublisherLogic
      PublishMessage
      .
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.