Skip to main content

Configuración de la monitorización del intercambio de E/S y del estado del dispositivo.

Monitoreo de la ModbusTCPClientSideExample proyecto

  1. En el ModbusTCPClientSideExample proyecto, abrir el PLC_PRG.prg.st programa.

  2. Declara dos variables llamadas readValue y writeValue de tipo WORD.

  3. Definir una variable maxValue de tipo WORD con el valor 100.

  4. Inserta el siguiente código en tu implementación:

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

    Nota

    En cuanto se establezca la comunicación Modbus, este código se incrementará continuamente. readValue y writeValue hasta que se alcance el límite.

  5. Abra el editor del Modbus_TCP_Server el dispositivo y cambiar al Mapeo de E/S pestaña.

  6. Expandir las entradas para Channel 1 y Channel 2.

  7. Mapa PLC_PRG.readValue hacia Channel 2[0] entrada. La variable recibe el valor leído por la solicitud posteriormente.

  8. Mapa PLC_PRG.writeValue hacia Channel 1[0] Entrada. La variable proporciona el valor a escribir.

    El resultado se ve así:

    _c4_img_task_modbus_setup_monitoring.png
  9. Volver a PLC_PRG.prg.st del ModbusTCPClientSideExample proyecto.

  10. Declarar una variable serverComState de tipo IoDrvModbusTCP.ModbusTCPComState.

  11. Declarar una variable serverErrorCode de tipo IoDrvModbusTCP.MB_ErrorCodes.

  12. Agregue el siguiente código a su implementación y ajuste el nombre del servidor para que coincida con el nombre utilizado en Dispositivos. En este proyecto de ejemplo, el nombre es Modbus_TCP_Server.

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

    Esto le permitirá supervisar el estado de la comunicación y el código de error actual utilizando las salidas del bloque de funciones del dispositivo.

Monitoreo de la ModbusTCPServerSideExample proyecto

  1. En el ModbusTCPServerSideExample proyecto, abrir el PLC_PRG.prg.st programa.

  2. Declara dos variables llamadas registerValue y tempValue de tipo WORD.

  3. Inserta el siguiente código en tu implementación:

    tempValue := registerValue;
  4. Abra el editor del ModbusTCP_Server_Device el dispositivo y cambiar al Mapeo de E/S pestaña.

  5. Amplíe la entrada para Registros de tenencia.

  6. Mapa PLC_PRG.registerValue hacia Holding Registers[0] entrada. La variable contiene el valor del registro.

    El resultado se ve así:

    _c4_img_task_modbus_setup_monitoring_serer_device.png
  7. Volver a PLC_PRG.prg.st del ModbusTCPServerSideExample proyecto.

  8. Declarar una variable serverDeviceClientConnections de tipo UINT.

  9. Declarar una variable serverDeviceErrorCode de tipo UINT.

  10. Inserta el siguiente código en tu implementación:

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

    Este código le permitirá supervisar el número actual de clientes conectados a este servidor y el código de error actual del servidor.

Nota

Ahora la configuración para la comunicación Modbus y la monitorización de los dispositivos están completas.