西门子串口通讯10CP4412在STEP7环境中做Modbus从站通讯.docx
《西门子串口通讯10CP4412在STEP7环境中做Modbus从站通讯.docx》由会员分享,可在线阅读,更多相关《西门子串口通讯10CP4412在STEP7环境中做Modbus从站通讯.docx(10页珍藏版)》请在冰豆网上搜索。
西门子串口通讯10CP4412在STEP7环境中做Modbus从站通讯
CP441-2使用STEP75.5进行ModbusSlave通讯
1.
硬件列表
2.
组态和配置
1)
新建项目
2)
创建CPU400站点
3)
组态CP441-2
4)
设置协议ModbusSlave
3.
编写通信程序
1)
逻辑地址的填写
2)
调用通信功能块
3)
创建通信数据块DB块
4.
设备连接
5.
通信测试
1)
设置调试软件Modscan32
2)
CP441-2与调试软件测试通信数据
1硬件列表
设备名称
设备型号
RACK-400
6ES7400-1JA01-0AA0
PS407
6ES7407-0KA02-0AA0
CPU414-3
6ES7414-3XJ04-0AB0
CP441-2
6ES7441-2AA03-0AE0
Dongle
6ES7870-1AB01-0YA0
Dongle的安装位置和S7-300CP341一样,都在模块的后面,可参考CP341的图片。
2组态和配置
1、打开创建好的项目ptp,插入一个新的SIMATIC400Station,更改站名为CP441-2modbusSlave。
2、双击Hardware进入硬件组态画面,插入RACK、PS、CPU、CP441-2,具体步骤可参考CP441-2做modbusmaster的文档信息。
3、CP441-2模板,点击Parameter配置CP441-2参数,在Protocol中选择MODBUSSlave。
图1
4、击Protocol下的信封图标,配置Modbusslave参数。
图2
5、设置通讯速率、报文信息等基本参数,本例中从站地址设为100(默认为222,取值范围是1~255)。
然后进入从站功能码配置界面,具体信息如下。
图3
6、FC01,05,15:
读取、强制输出位的状态;左边的地址为信息传送地址,右边对应西门子的PLC地址区,即左边地址从0~23对应Modbus地址区为00001~00024,对应西门子数据区为M0.0~M2.7;24~47对应Modbus地址区为00025~00048,对应西门子数据区为Q0.0~Q2.7;从地址48~79,80~111对应Modbus地址区为00049~00080,00081~00112,对应西门子数据区为Timer,Counter。
FC02读取输入数据位的状态,地址对应如上文所述。
图4
7、FC03,06,16组态输出寄存器数据区,对应西门子数据区为DB块。
图5
8、FC04组态输入寄存器数据区,对应西门子数据区同样是DB块。
图6
9、设置FC05,06,15,16写参数的限制值。
图7
10、配置完成后点击OK并保存,关闭对话框,与上文使用CP441-2时,一样要为所使用的接口新建PtP连接并记录LocalID(Hex)连接号。
图8
11、点击“保存编译”编译组态信息,若没有错误,选中CPU进行组态信息的整体下载,并使用“激活连接状态”在线查看连接状态,直到“connectionstatus”的显示图标为绿色三角形,说明连接正确建立。
与使用CP441做MODBUSMaster通讯时一样,还要更改CPU属性中的“Startup”参数。
图9
将“MonitoringTimefor”à“Transferofparameterstomodules(100ms)”设置为最小为1000(=100s)的值,这样做是为了保证有足够长的时间将使用的加载协议驱动在参数分配过程中下载到CP卡。
3编写通信程序
1、双击OB1,打开编程画面,在Libraries->Modbus中调用FB180,并分配背景数据块DB180,新建数据块FC030616,FC04功能码通讯数据的DB1,DB2,本例都为50个WORD的数组结构。
图10
2、调用FB180功能块。
图11
3、FB180的参数设置参见下表。
名称
数据类型
注释
ID
INPUT/INT
LocalID号,在PtP连接属性中获得,十六进制输入,见图8
START_TIMER
INPUT/TIMER
初始化超时定时器,本例中为T5
START_TIME
INPUT/S5TIME
初始化超时时间值,本例为5S
STATUS_TIMER
INPUT/TIMER
通讯状态读取定时器,本例为T6
STATUS_TIME
INPUT/S5TIME
通讯状态读取时间值,本例为2S
OB_MASK
INPUT/BOOL
IO访问错误屏蔽位,本例使用M20.0
0:
不屏蔽IO访问错误
1:
屏蔽IO访问错误,并使报警延时
CP_START
INPUT/BOOL
FB初始化使能位,本例使用M20.1
CP_START_FM
INPUT/BOOL
CP_START初始化的上升沿位,本例M20.2
CP_NDR
OUTPUT/BOOL
CP写操作位,本例为M20.3
CP_START_OK
OUTPUT/BOOL
初始化成功完成位,本例M20.4
CP_START_ERROR
OUTPUT/BOOL
初始化错误标志,本例M20.5
ERROR_NR
OUTPUT/WORD
错误号,本例为MW22
ERROR_INFO
OUTPUT/WORD
错误信息,本例为MW24,诊断信息可参考手册
4设备连接
本文档使用的CP441-2的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP441-2和计算机的串口,具体的电缆连接方法请查看CP441手册附录BConnnectingcables。
如果使用的CP441-2是RS485接口的模块,需要使用RS232C/RS485转换器。
5通信测试
1、硬件组态和程序下载到CPU中,在计算机上打开软件Modscan32,点击Modscan32上的Connection—〉Connect,显示如下画面.选择所应用的串口,设置好波特率,数据位,停止位,校验方式。
并可以根据所应用的连接来选择使用哪种通讯协议。
设置完成后,点击OK,显示监控画面。
图12
图13
2、下图所示为应用功能码FC04时对应的通讯监控画面。
其他数据的读取,只需更改相应的访问数据的类型,对于浮点数的显示,也可参考上文CP341做ModbusSlave通讯时的读取方式。
图14