跳到主要内容
版本:Next

Modbus

Modbus协议用于与具有Modbus通讯功能的PLC设备、仪表及其他各类计算机系统设备进行通信。

Modbus_TCP 协议配置

通道配置

1)通道创建

在"变量管理"的外部变量,点击"添加",进入 "新增外部设备通道" 界面,在左侧通道驱动列表中,展开 "标准协议" 目录,选择**「标准协议 >Modbus > Modbus_TCP」**驱动。

img

2)通道配置

在右侧 通道信息 区域,填写通道的标识信息:

通道名称:输入自定义名称,用于唯一标识该通信通道。

通道描述:(可选)输入通道的描述性文字,如设备名称或生产线名称,便于后续管理维护。

3)基础配置参数

基础配置标签页中,设置通信核心参数:

设备IP:填写Modbus服务器的IP地址。

设备ID:填写Modbus服务器的ID号。

端口号:默认为502,根据服务端设置。

首地址:寄存器的起始地址,根据从站设备的寄存器首地址选择,部分从站是从40000开始,首地址则选择0,如保持默认1,变量地址需要偏移。

连接超时:默认3秒,连接超时,驱动将降低连接请求频率。

响应超时:向PLC发出PDU后,PLC未在规定时间内回应,响应超时<连接超时。

4)高级配置参数

切换到高级配置标签页,可根据需求调整参数(若无需特殊配置,可保持默认值):

img

字节顺序:根据实际数据结构,调整数据的字节顺序,保障数据读写一致。

独立链路:启用后,该通道将使用独立的通信链路,避免与其他通道共享链路时的资源竞争,独立链路会消耗一定的计算机资源。

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位整型
RealF32位浮点数IEEE754
LrealF64位浮点数IEEE754
String字符串(字符长度最大255)
Wstring宽字符串(字符长度最大255)

SIOT的Modbus变量地址支持寄存器0~65536,且使用扩展地址,例如:部分Modbus设备的寄存器地址是40001,在SIOT中需要填入400001。

Modbus_RTU 协议配置

通道配置

1)通道创建

在"变量管理"的外部变量,点击"添加",进入 "新增外部设备通道" 界面,在左侧通道驱动列表中,展开 "标准协议" 目录,选择**「标准协议 >Modbus > Modbus_RTU」**驱动。

img

2)通道配置

在右侧 通道信息 区域,填写通道的标识信息:

通道名称:输入自定义名称,用于唯一标识该通信通道。

通道描述:(可选)输入串口通道的描述性文字,便于后续管理维护。

3)基础配置参数

基础配置标签页中,设置 PLC 通信核心参数:

端口:选择计算机与从站通讯的串口编号。

波特率:默认为9600,与从站一致。

数据位:设置与从站一致。

停止位:设置与从站一致。

校验位:可选无(none)、奇(odd)、偶(even),设置与从站一致。

模式:固定为RTU。

扫描周期:报文请求的时间,建议设置在50~100ms

响应超时:从站响应时间,多从站时,请求的从站异常或不在线,超时后,开始请求下一个从站。超时设置大,将导致多从站链路的其他从站请求时间过长,建议设置200~500ms

从站配置

在创建的Modbus_RTU串口通道上,右键-添加站点,Modbus_RTU使用RS485总线链路时,可以创建多个从站站点,从站数量超过32个将降低性能。

img

添加站点,每个从站站点都可以独立配置首地址和字节顺序:

img

站点名称:输入自定义站点名。

Addr站号:输入从站设备的站号(地址或ID号)。

首地址:寄存器的起始地址,根据从站设备的寄存器首地址选择,部分从站是从40000开始,首地址则选择0,如保持默认1,变量地址需要偏移。

数据位:设置与从站一致。

字节顺序:根据实际数据结构,调整数据的字节顺序,保障数据读写一致。

在创建的从站上添加变量组或者直接添加变量元素。

地址格式与数据类型

PLC数据类型Modbus数据类型SIOT/CMS数据类型SIOT地址格式举例
Bool线圈 (Coils)二进制变量000001
离散输入(Discrete Inputs)100001
输入寄存器(Input Registers)300001.0
保持寄存器(Holding Registers)400001.0
Int输入寄存器(Input Registers)有符号16位整型300001
保持寄存器(Holding Registers)400001
Uint无符号16位整型
Word无符号16位整型
Dint有符号32位整型
Udint无符号32位整型
Dword无符号32位整型
Lint有符号64位整型
Ulint无符号64位整型
Lword无符号64位整型
RealF32位浮点数IEEE754
LrealF64位浮点数IEEE754
String字符串(字符长度最大255)
Wstring宽字符串(字符长度最大255)

SIOT的Modbus变量地址支持寄存器0~65536,且使用扩展地址,例如:部分Modbus设备的寄存器地址是40001,在SIOT中需要填入400001。

RS485线路连接

RS485,使用双绞屏蔽线连接

配套提供的计算机,DB9串口是针型,接线如下图。如使用自购计算机,串口的针脚定义以实物为准。

img

RS485设备连接到一只孔型的DB9中,再插入配套计算机侧的D-Sub(DB9),接线参考下图。

使用其他针脚的RS485串口或USB-RS485转换器,设备连接线分别对应如图的485+和485-。

img