西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯

西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯
v—x—公–众–号:工控自动化老王
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-300 CP341一样,都在模块的后面,可参考CP341的图片。
2 组态和配置
1、打开创建好的项目ptp,插入一个新的SIMATIC 400 Station,更改站名为CP441-2 modbus Slave。
2、双击Hardware进入硬件组态画面,插入RACK、PS、CPU、CP441-2,具体步骤可参考CP441-2 做modbus master的文档信息。
3、CP441-2模板,点击Parameter配置CP441-2参数,在Protocol 中选择MODBUS Slave。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第1张图片
4、击Protocol下的信封图标,配置Modbus slave 参数。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第2张图片
5、设置通讯速率、 报文信息等基本参数,本例中从站地址设为100(默认为222,取值范围是1~255)。然后进入从站功能码配置界面,具体信息如下。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第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读取输入数据位的状态,地址对应如上文所述。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第4张图片
7、FC03,06,16组态输出寄存器数据区,对应西门子数据区为DB块。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第5张图片
8、FC04组态输入寄存器数据区,对应西门子数据区同样是DB块。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第6张图片
9、设置FC05,06,15,16写参数的限制值。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第7张图片
10、配置完成后点击OK并保存,关闭对话框,与上文使用CP441-2时,一样要为所使用的接口新建PtP连接并记录Local ID(Hex) 连接号。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第8张图片
11、点击“保存编译”编译组态信息,若没有错误,选中CPU进行组态信息的整体下载,并使用“激活连接状态”在线查看连接状态,直到“connection status” 的显示图标为绿色三角形,说明连接正确建立。与使用CP441做MODBUS Master通讯时一样,还要更改CPU属性中的“Startup”参数。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第9张图片
将“Monitoring Time for”à“Transfer of parameters to modules(100ms)” 设置为最小为1000(=100s)的值,这样做是为了保证有足够长的时间将使用的加载协议驱动在参数分配过程中下载到CP卡。
3 编写通信程序
1、双击OB1,打开编程画面,在Libraries -> Modbus 中调用FB180,并分配背景数据块DB180,新建数据块FC03 06 16,FC04 功能码通讯数据的DB1,DB2,本例都为50个WORD的数组结构。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第10张图片
2、调用FB180功能块。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第11张图片
3、FB180的参数设置参见下表。
名称 数据类型 注释
ID INPUT/INT Local ID号,在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手册附录B Connnecting cables。
如果使用的CP441-2是RS485接口的模块,需要使用RS232C/RS485转换器。
5 通信测试
1、硬件组态和程序下载到CPU中,在计算机上打开软件Modscan32,点击Modscan32上的Connection—〉Connect,显示如下画面.选择所应用的串口,设置好波特率,数据位,停止位,校验方式。并可以根据所应用的连接来选择使用哪种通讯协议。设置完成后,点击OK,显示监控画面。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第12张图片
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第13张图片
2、下图所示为应用功能码FC04时对应的通讯监控画面。其他数据的读取,只需更改相应的访问数据的类型,对于浮点数的显示,也可参考上文CP341做Modbus Slave 通讯时的读取方式。
西门子串口通讯10-CP441-2在STEP7环境中做Modbus从站通讯_第14张图片

你可能感兴趣的:(工业自动化)