• {{item.name}}
SIMATIC S7-400系列 {{item.name}}
{{item2.name}}
更多

CP441作从站(Slave)的Modbus RTU通讯(TIA)

star star star star star
0 分
  • 软件编程
  • 通信(通讯)
  • 参数设置
  • 硬件组态与安装
  • 使用操作
  • S7-400
发布时间:2024年04月30日
  • 1
  • 25
CP441作从站(Slave)的Modbus RTU通讯(TIA)

CP441作为(Slave)的Modbus RTU通信(TIA)

硬件列表

组态和配置

编写通信程序

设备连接

通信测试

手册下载

硬件列表

设备名称
设备型号
RACK
6ES7400-1JA01-0AA0
PS407 4A
6ES7407-0DA02-0AA0
CPU414-3PN/DP
6ES7414-3EM06-0AB0
CP441-2
6ES7441-2AA04-0AE0
Dongle
6ES7 870-1AB01-0YA0
RS422/485接口
6ES7963-3AA00-0AA0

应用CP441进行 Modbus协议通信时需要有Dongle的支持。在使用之前先将Dongle安装在CP441模块的背面的Dongle插槽中,如下图所示。

图1

组态和配置

1、打开TIA PORTAL,本文使用TIA PORTAL V16,新建项目,鼠标点击“添加新设备”,参考下图路径选择CPU,本文使用414-3PN/DP。

图2

2、进入设备视图,导轨RACK和CPU已经存在,可能RACK型号与实际不一致且CPU的插槽位置也不对,这时需要手动调整与实际匹配进行,再依次添加PS407、CP441-2以及模板接口配置,如下图所示。

图3

3、双击CP441-2模板,进入CP441-2的属性框,配置CP441-2参数。如下图所示。

图4

4、本例使用第一个接口IF396 RS422/485,在属性-IF396 RS422/485-协议,选择“Modbus从站”,配置Modbus通信参数,设置传输率、字符帧等参数,与伙伴配置相同,协议参数修改从站地址,本文为2,其他默认即可。如下图所示。

图5

5、进入功能码配置界面,FC01,05,15:读取、强制输出位的状态;分4个范围,每个范围前2行地址为信息传送地址,后2行对应西门子的PLC地址区,即第1范围从0~15对应Modbus地址区为00001~00016,对应西门子数据区(标记F.)为M0.0~M1.7;第2范围从16~31对应Modbus地址区00017~00032,对应西门子数据区(输出Q.)为Q0.0~Q1.7;第3范围从地址32~64,对应Modbus地址区00033~00065,对应西门子数据区(时间T.)为T0~T2;第4范围地址80~0112对应Modbus地址区00081~00113,对应西门子数据区(计数器C.)为C0~C2。

图6

6、FC02读取输入数据位的状态,第1范围从0~15对应Modbus地址区10001~10016,对应西门子数据区(标记F.)为M2.0~Q3.7;第2范围从地址16~31,对应Modbus地址区10017~10032,对应西门子数据区(输入I.)为I0.0~I1.7。

图7

7、FC03,06,16组态输出寄存器数据区,对应西门子数据区为DB块,即Modbus保持寄存器地址区地址40001,对应西门子DB块地址DB1.DBW0,依次类推。

图8

8、FC04组态输入寄存器数据区,对应西门子数据区同样是DB块,即Modbus输入寄存器地址区地址30001,对应西门子DB块地址DB2.DBW0,依次类推。

图9

9、设置功能码FC05 06 15 16写参数的限制值。

图10

10、接口参数,本文接口为485接口,按照实际设置,其他默认即可。如下图所示。

图11

11、点击进入网络视图,点击连接,可以看到2个PTP连接,点击接口1PTP_1子网,点击属性,查看连接属性设置界面。

图12

编写通信程序

1、双击OB1,打开编程界面,从通信-通信处理器-Modbus Slave(RTU),调用功能块MODB_441,按照系统默认分配背景DB。

图13

2、新建数据块FC 03 06 16, FC04功能码通讯数据区DB1,DB2,本例建50个WORD数据结构。

图14

3、指令块MODB_441参数设置 。

图15

MODB_441的参数设置如下:

名称
数据类型
注释
ID
INPUT/INT
Local ID号,在PTP连接属性中获得,16进制
START_TIMER
START_TIMER
初始化超时定时器,本例中为T1
START_TIME
INPUT/S5TIME
初始化超时时间值,本例为5S
START_TIMER
START_TIMER
通讯状态读取定时器,本例中T2
START_TIME
INPUT/S5TIME
通讯状态读取时间,本例为2S
OB_MASK
INPUT/BOOL
IO访问错误屏蔽位,本例使用M100.0
0:不屏蔽IO访问错误
1:屏蔽IO访问错误,并使报警延时
CP_START
INPUT/BOOL
FB初始化使能位,本例使用M100.1
CP_START_FM
INPUT/BOOL
CP_START初始化的上升沿位,本例使用M100.2
CP_NDR
OUTPUT/BOOL
CP写操作位,本例M100.3
CP_START_OK
OUTPUT/BOOL
初始化成功完成位,本例M100.4
CP_START_ERROR
OUTPUT/BOOL
初始化错误标志,本例M100.5
ERROR_NR
OUTPUT/WORD
错误号,本例MW102
ERROR_INFO
OUTPUT/WORD
错误信息,本例MW104,诊断信息可参考手册

设备连接

本文使用的是RS485接口,通过将485接口转化232到USB连接计算机的接口,需要使用RS232C/RS485转换器(需要选购第三方设备)。

具体的电缆连接方法请查看:串口接线

通信测试

这里使用串口通信测试软件ModSCAN软件来测试CP441-2和计算机的通信,步骤如下:
1、在计算机上打开软件ModSCAN32,选择菜单栏连接设置-连接,设置连接参数,选择对应的串口,设置波特率、数据位、停止位、校验方式、通讯协议。设置完成,点击OK,监视控制画面。

图16

2、将程序块引脚CP_START置1,CP_START_OK和CP_START_FM也会为1,主站设置功能码03,起始地址40001,长度4,读取Modbus从站寄存器数据。

图17

手册下载

更详细的资料请参看如下手册:

CP441使用手册

Modbus RTU从站手册


剩余80%未阅读,请登录查看大全章节内容

  • 评论
更多
  • 分享

    扫码分享

0元领课点我

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。