Skip to main content

Configuration de la surveillance des échanges d'E/S et de l'état du périphérique

Surveillance du ModbusTCPClientSideExample projet

  1. Dans le ModbusTCPClientSideExample projet, ouvrez le PLC_PRG.prg.st programme.

  2. Déclarez deux variables nommées readValue et writeValue de type WORD.

  3. Définir une variable maxValue de type WORD avec la valeur 100.

  4. Insérez le code suivant dans votre implémentation :

    IF writeValue > maxValue THEN
       writeValue := 0;
    END_IF
    IF readValue = writeValue THEN
       writeValue := writeValue + 1;
    END_IF

    Note

    Dès que la communication Modbus est établie, ce code s'incrémente en continu. readValue et writeValue jusqu'à ce que la limite soit atteinte.

  5. Ouvrez l'éditeur de Modbus_TCP_Server appareil et passer au Mappage des E/S languette.

  6. Développer les entrées pour Channel 1 et Channel 2.

  7. Carte PLC_PRG.readValue au Channel 2[0] entrée. La variable reçoit ultérieurement la valeur lue par la requête.

  8. Carte PLC_PRG.writeValue au Channel 1[0] entrée. La variable fournit la valeur à écrire.

    Le résultat ressemble à ceci :

    _c4_img_task_modbus_setup_monitoring.png
  9. Revenez à PLC_PRG.prg.st de la ModbusTCPClientSideExample projet.

  10. Déclarer une variable serverComState de type IoDrvModbusTCP.ModbusTCPComState.

  11. Déclarer une variable serverErrorCode de type IoDrvModbusTCP.MB_ErrorCodes.

  12. Ajoutez le code suivant à votre implémentation et ajustez le nom du serveur pour qu'il corresponde au nom utilisé sous Appareils Dans cet exemple de projet, le nom est Modbus_TCP_Server.

    serverComState := Modbus_TCP_Server.ComState;
    serverErrorCode := Modbus_TCP_Server.byModbusError;

    Cela vous permettra de surveiller l'état de la communication et le code d'erreur actuel en utilisant les sorties du bloc fonctionnel du périphérique.

Surveillance du ModbusTCPServerSideExample projet

  1. Dans le ModbusTCPServerSideExample projet, ouvrez le PLC_PRG.prg.st programme.

  2. Déclarez deux variables nommées registerValue et tempValue de type WORD.

  3. Insérez le code suivant dans votre implémentation :

    tempValue := registerValue;
  4. Ouvrez l'éditeur de ModbusTCP_Server_Device appareil et passer au Mappage des E/S languette.

  5. Développer l'entrée pour Registres de détention.

  6. Carte PLC_PRG.registerValue au Holding Registers[0] entrée. La variable contient la valeur du registre.

    Le résultat ressemble à ceci :

    _c4_img_task_modbus_setup_monitoring_serer_device.png
  7. Revenez à PLC_PRG.prg.st de la ModbusTCPServerSideExample projet.

  8. Déclarer une variable serverDeviceClientConnections de type UINT.

  9. Déclarer une variable serverDeviceErrorCode de type UINT.

  10. Insérez le code suivant dans votre implémentation :

    serverDeviceClientConnections := ModbusTCP_Server_Device.uiClientConnections;
    serverDeviceErrorCode := ModbusTCP_Server_Device.ErrorCode;

    Ce code vous permettra de surveiller le nombre actuel de clients connectés à ce serveur ainsi que le code d'erreur actuel du serveur.

Note

La configuration de la communication Modbus et la surveillance des appareils sont désormais terminées.