Configuración de la monitorización del intercambio de E/S y del estado del dispositivo.
Monitoreo de la ModbusTCPClientSideExample proyecto
En el
ModbusTCPClientSideExampleproyecto, abrir elPLC_PRG.prg.stprograma.Declara dos variables llamadas
readValueywriteValuede tipoWORD.Definir una variable
maxValuede tipoWORDcon el valor100.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.
readValueywriteValuehasta que se alcance el límite.Abra el editor del
Modbus_TCP_Serverel dispositivo y cambiar al Mapeo de E/S pestaña.Expandir las entradas para
Channel 1yChannel 2.Mapa
PLC_PRG.readValuehaciaChannel 2[0]entrada. La variable recibe el valor leído por la solicitud posteriormente.Mapa
PLC_PRG.writeValuehaciaChannel 1[0]Entrada. La variable proporciona el valor a escribir.El resultado se ve así:

Volver a
PLC_PRG.prg.stdelModbusTCPClientSideExampleproyecto.Declarar una variable
serverComStatede tipoIoDrvModbusTCP.ModbusTCPComState.Declarar una variable
serverErrorCodede tipoIoDrvModbusTCP.MB_ErrorCodes.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
En el
ModbusTCPServerSideExampleproyecto, abrir elPLC_PRG.prg.stprograma.Declara dos variables llamadas
registerValueytempValuede tipoWORD.Inserta el siguiente código en tu implementación:
tempValue := registerValue;
Abra el editor del
ModbusTCP_Server_Deviceel dispositivo y cambiar al Mapeo de E/S pestaña.Amplíe la entrada para Registros de tenencia.
Mapa
PLC_PRG.registerValuehaciaHolding Registers[0]entrada. La variable contiene el valor del registro.El resultado se ve así:

Volver a
PLC_PRG.prg.stdelModbusTCPServerSideExampleproyecto.Declarar una variable
serverDeviceClientConnectionsde tipoUINT.Declarar una variable
serverDeviceErrorCodede tipoUINT.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.