本方案主要详述了在多台西门子300PLC与组态王之间Modbus无线通讯中如何设置从站。方案中所用到的无线通讯终端是DTD434MC——欧美系PLC专用无线通讯终端。
一、方案概述
无线Modbus网络组成如下:
二、测试背景
● PC端组态软件版本:组态王6.55
● 默认参数:9600、8、N、1
● PLC型号:西门子S7-300 PLC×3台
● 通讯协议:Modbus_RTU
● 欧美系PLC专用无线通讯终端:DTD434MC
● RS485串口延长线
三、从站的通讯设置
1.CP341 做Modbus 从站的硬件组态硬件组态
CP341的逻辑地址是256
S7-300侧硬件组态
2.MODBUS通讯参数设置
按照上述操作设置参数,从上图可以看出,本例中的传输波特率9.6Kb/s,1位起始位,8位数据位,偶校验位,1位停止位,从站站地址是3,主从通讯设备的字符帧格式和波特率等参数设置需要一致。
RS422/485接口只能一个有效,接口的选择只需要组态而不需要在硬件上短接。
3.Modbus驱动的下载
当配置好Modbus通信的参数后,保存前需要向CP341下载Modbus Slave的驱动,一旦下载完成后无需再次下载。
需要注意的是,在下载驱动时(可以在无Dongle情况下下载),需要将CPU停机,然后下载,操作过程如下所示
下载时需要PLC停机
4.从站编程:
从Step7 软件下的EXAMPLE目录中,找到项目名“zXX21_05_PtP_Com_MODSL”的项目,打开,然后将Modbus通讯模块FB80传递到用户项目中,打开路径如下所示。
打开从站示例程序
OB1中调用FB80编程如下
FB80程序块调用
CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK为1信号,否则CP_START_ERROR为1,同时可以从ERROR_NR察看错误信息,也可以在硬件组态中在线后的CP341的诊断缓冲区察看详细的错误信息,错误信息对照和处理方式可以参考《S7-300以用于PtP CP Modbus 协议RTU格式S7的可装载驱动程序为从站》的手册。
FB80各个参数说明如下表所示
5.从站各个功能码设置参考
这里FC01、05、15设置代表MODBUS地址从00001—00008对应的S7-300PLC的M10.0-M10.7
同时00009-00017对应的是S7-300PLC的Q0.0-Q0.7。