Skip to main content

选项卡: Modbus服务器通道

您可以使用此选项卡来定义服务器通道。

每个通道代表一个 Modbus 请求。

添加通道

打开Modbus通道对话框。您可以在此处为当前 Modbus 服务器创建新通道。在 Modbus 服务器的设备描述文件中,您可以预定义单个 Modbus 寄存器或整个通道的描述。

对话框: Modbus通道

6. 通道

姓名

包含频道名称的字符串

访问类型

  • Read Coils(功能代码 01)

  • Read Discrete Inputs(功能代码 02)

  • Read Holding Registers(功能代码03)

  • Read Input Registers(功能代码04)

  • Read Single Coil(功能代码05)

  • Write Single Register(功能代码06)

  • Write Multiple Coils(功能代码 15)

  • Write Multiple Registers(功能代码 16)

  • Read/Write Multiple Registers(功能代码 23)

触发器

  • 循环:该请求定期发生。

  • 上升沿:该请求是对布尔触发器变量上升沿的响应。触发器变量定义在I/O映射选项卡。

  • 应用:Modbus 请求由 PLC 应用程序触发。这是通过功能块: ModbusChannel,包含在相应的 I/O 驱动程序库中。该功能块提供对此命令执行的完整控制和信息,例如启动时间、处理时间和结果。

循环时间(毫秒)

对于触发器= 循环:请求间隔

注意:请求间隔应与应用程序的周期时间相同或其倍数。

评论

频道描述



7. 读寄存器

偏移

读取开始的起始地址(值范围 0–65535)

长度

需要读取的寄存器数量(用于字访问)或需要读取的离散输入数量(用于位访问)

错误处理

定义发生通信错误时数据应如何处理

  • 保留最后一个值

  • 设置为零



8. 写寄存器

偏移

待写入寄存器的编号(值范围0–65535)

长度

需要写入的寄存器数量(=字)

该参数的取值范围由功能码决定。



读取线圈和离散输入/将线圈写入重叠寄存器存储器

CODESYS MODBUS I/O 驱动程序允许读取线圈和离散输入,以及将线圈写入重叠寄存器内存(离散点区域如果未选中复选框,则读取或写入的前 8 位与相应寄存器的高字节对齐(%IB0),而读取或写入的后 8 位与相应寄存器的低字节对齐(LSB 在前)。

1. 例子

在以下示例中,第一行定义了一个组合读/写操作(功能代码 23)。它从偏移量为 0 的保持寄存器中读取一个字。16#0001并将两个字写入偏移寄存器16#0003。一旦触发器变量在I/O映射标签显示上升沿。

_mod_img_slave_channel.png
_mod_img_slave_io.png