设置 I/O 交换和设备状态的监控
监测ModbusTCPClientSideExample项目
在
ModbusTCPClientSideExample项目,打开PLC_PRG.prg.st程序。声明两个名为
readValue和writeValue类型WORD。定义一个变量
maxValue类型WORD值100。将以下代码插入到您的实现中:
IF writeValue > maxValue THEN writeValue := 0; END_IF IF readValue = writeValue THEN writeValue := writeValue + 1; END_IF
注意
一旦 Modbus 通信建立,该代码将持续递增。
readValue和writeValue直到达到极限为止。打开编辑器
Modbus_TCP_Server设备并切换到I/O映射标签。展开条目
Channel 1和Channel 2。地图
PLC_PRG.readValue到Channel 2[0]输入。该变量稍后会接收请求读取的值。地图
PLC_PRG.writeValue到Channel 1[0]输入。该变量提供要写入的值。结果如下:

切换回
PLC_PRG.prg.st的ModbusTCPClientSideExample项目。声明一个变量
serverComState类型IoDrvModbusTCP.ModbusTCPComState。声明一个变量
serverErrorCode类型IoDrvModbusTCP.MB_ErrorCodes。将以下代码添加到您的实现中,并将服务器名称调整为与以下名称匹配:设备在这个示例项目中,名称是
Modbus_TCP_Server。serverComState := Modbus_TCP_Server.ComState; serverErrorCode := Modbus_TCP_Server.byModbusError;
这样,您就可以通过设备功能块的输出来监控通信状态和当前错误代码。
监测ModbusTCPServerSideExample项目
在
ModbusTCPServerSideExample项目,打开PLC_PRG.prg.st程序。声明两个名为
registerValue和tempValue类型WORD。将以下代码插入到您的实现中:
tempValue := registerValue;
打开编辑器
ModbusTCP_Server_Device设备并切换到I/O映射标签。展开条目持有登记册。
地图
PLC_PRG.registerValue到Holding Registers[0]输入。该变量包含寄存器的值。结果如下:

切换回
PLC_PRG.prg.st的ModbusTCPServerSideExample项目。声明一个变量
serverDeviceClientConnections类型UINT。声明一个变量
serverDeviceErrorCode类型UINT。将以下代码插入到您的实现中:
serverDeviceClientConnections := ModbusTCP_Server_Device.uiClientConnections; serverDeviceErrorCode := ModbusTCP_Server_Device.ErrorCode;
这段代码可以让你监控当前连接到此服务器的客户端数量以及服务器的当前错误代码。
注意
现在 Modbus 通信和设备监控的设置已经完成。