Skip to main content

Überwachung von E/A-Austausch und Gerätestatus einrichten

Projekt ModbusTCPClientSideExample überwachen

  1. Öffnen Sie im Projekt ModbusTCPClientSideExample das Programm PLC_PRG.prg.st.

  2. Deklarieren Sie 2 Variablen mit den Namen readValue und writeValue vom Typ WORD.

  3. Definieren Sie eine Variable maxValue vom Typ WORD mit dem Wert 100.

  4. Fügen Sie folgenden Code in Ihre Implementierung ein:

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

    Anmerkung

    Sobald die Modbus-Kommunikation aufgebaut ist, erhöhen sich readValue und writeValue durch diesen Code fortlaufend, bis der Grenzwert erreicht ist.

  5. Öffnen Sie den Editor des Geräts Modbus_TCP_Server und wechseln Sie zur Registerkarte E/A-Abbild.

  6. Erweitern Sie die Einträge für Channel 1 und Channel 2.

  7. Ordnen Sie PLC_PRG.readValue dem Eintrag Channel 2[0] zu. Die Variable erhält später den durch die Anfrage gelesenen Wert.

  8. Ordnen Sie PLC_PRG.writeValue dem Eintrag Channel 1[0] zu. Die Variable stellt den geschriebenen Wert bereit.

    Das Ergebnis sieht wie folgt aus:

    _c4_img_task_modbus_setup_monitoring.png
  9. Wechseln Sie zurück zu PLC_PRG.prg.st des Projekts ModbusTCPClientSideExample.

  10. Deklarieren Sie eine Variable serverComState vom Typ IoDrvModbusTCP.ModbusTCPComState.

  11. Deklarieren Sie eine Variable serverErrorCode vom Typ IoDrvModbusTCP.MB_ErrorCodes .

  12. Fügen Sie folgenden Code in Ihre Implementierung ein und passen Sie den Namen des Servers an den unter Devices verwendeten Namen an. Hier im Beispielprojekt ist der Name Modbus_TCP_Server.

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

    Damit können Sie den Kommunikationsstatus und den aktuellen Fehlercode über die Ausgänge des Funktionsbausteins des Geräts überwachen.

Projekt ModbusTCPServerSideExample überwachen

  1. Öffnen Sie im Projekt ModbusTCPServerSideExample das Programm PLC_PRG.prg.st.

  2. Deklarieren Sie 2 Variablen mit den Namen registerValue und tempValue vom Typ WORD.

  3. Fügen Sie folgenden Code in Ihre Implementierung ein:

    tempValue := registerValue;
  4. Öffnen Sie den Editor des Geräts ModbusTCP_Server_Device und wechseln Sie zur Registerkarte E/A-Abbild.

  5. Erweitern Sie den Eintrag für Holding Registers.

  6. Ordnen Sie PLC_PRG.registerValue dem Eintrag Holding Registers[0] zu. Die Variable enthält den Wert des Registers.

    Das Ergebnis sieht wie folgt aus:

    _c4_img_task_modbus_setup_monitoring_serer_device.png
  7. Wechseln Sie zurück zu PLC_PRG.prg.st des Projekts ModbusTCPServerSideExample.

  8. Deklarieren Sie eine Variable serverDeviceClientConnections vom Typ UINT.

  9. Deklarieren Sie eine Variable serverDeviceErrorCode vom Typ UINT.

  10. Fügen Sie folgenden Code in Ihre Implementierung ein:

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

    Damit können Sie die aktuelle Anzahl der mit diesem Server verbundenen Client-Verbindungen und den aktuellen Fehlercode des Servers überwachen.

Anmerkung

Die Einrichtung der Modbus-Kommunikation und der Geräteüberwachung ist jetzt abgeschlossen.