Modbus
Modbus协议用于与具有Modbus通讯功能的PLC设备、仪表及其他各类计算机系统设备进行通信。
Modbus_TCP 协议配置
通道配置
1)通道创建
在"变量管理"的外部变量,点击"添加",进入 "新增外部设备通道" 界面,在左侧通道驱动列表中,展开 "标准协议" 目录,选择**「标准协议 >Modbus > Modbus_TCP」**驱动。
2)通道配置
在右侧 通道信息 区域,填写通道的标识信息:
● 通道名称:输入自定义名称,用于唯一标识该通信通道。
● 通道描述:(可选)输入通道的描述性文字,如设备名称或生产线名称,便于后续管理维护。
3)基础配置参数
在基础配置标签页中,设置通信核心参数:
● 设备IP:填写Modbus服务器的IP地址。
● 设备ID:填写Modbus服务器的ID号。
● 端口号:默认为502,根据服务端设置。
● 首地址:寄存器的起始地址,根据从站设备的寄存器首地址选择,部分从站是从40000开始,首地址则选择0,如保持默认1,变量地址需要偏移。
● 连接超时:默认3秒,连接超时,驱动将降 低连接请求频率。
● 响应超时:向PLC发出PDU后,PLC未在规定时间内回应,响应超时<连接超时。
4)高级配置参数
切换到高级配置标签页,可根据需求调整参数(若无需特殊配置,可保持默认值):
● 字节顺序:根据实际数据结构,调整数据的字节顺序,保障数据读写一致。
● 独立链路:启用后,该通道将使用独立的通信链路,避免与其他通道共享链路时的资源竞争,独立链路会消耗一定的计算机资源。
● PDU 诊断算法:启用后,系统会对协议数据单元(PDU)进行诊断,便于排查通信异常。
● PDU长度:设置 PDU 的最大长度(默认值220)。根据通信数据量大小和 PLC 的支持能力调整,过大会增加通信负担,过小可能无法传输大段的数据。
● PDU立即提交:SIOT采集到数据之后立即推送,不等待相同属性设置的其他变量。
● 静态仿真:可选「启用」或「禁用」。启用后进入仿真模式,可用于离线测试通道配置(不连接实际设备 ),在有实际设备连接时,务必禁用。
地址格式与数据类型
| PLC数据类型 | Modbus数据 类型 | SIOT/CMS数据类型 | SIOT地址格式举例 |
|---|---|---|---|
| Bool | 线圈 (Coils) | 二进制变量 | 000001 |
| 离散输入(Discrete Inputs) | 100001 | ||
| 输入寄存器(Input Registers) | 300001.0 | ||
| 保持寄存器(Holding Registers) | 400001.0 | ||
| Int | 输入寄存器(Input Registers) 保持寄存器(Holding Registers) | 有符号16位整型 | 300001 400001 |
| Uint | 无符号16位整型 | ||
| Word | 无符号16位整型 | ||
| Dint | 有符号32位整型 | ||
| Udint | 无符号32位整型 | ||
| Dword | 无符号32位整型 | ||
| Lint | 有符号64位整型 | ||
| Ulint | 无符号64位整型 | ||
| Lword | 无符号64位整型 | ||
| Real | F32位浮点数IEEE754 | ||
| Lreal | F64位浮点数IEEE754 | ||
| String | 字符串(字符长度最大255) | ||
| Wstring | 宽字符串(字符长度最大255) |
SIOT的Modbus变量地址支持寄存器0~65536,且使用扩展地址,例如:部分Modbus设备的寄存器地址是40001,在SIOT中需要填入400001。
Modbus_RTU 协议配置
通道配置
1)通道创建
在"变量管理"的外部变量,点击"添加",进入 "