本案例主要讲解串口IO系列设备(本次作为从机设备)与西门子PLC S7-200smart(以下简称西门子PLC,本次作为主机设备)Modbus RTU参数配置连接例程,本案例串口IO系列以MA01-AACX2220为例。
二、硬件准备•MA01-AACX2220串口IO设备一台;
•西门子PLC S7-200smart一台;
•24V电源两个;
•通讯电缆若干;
•电脑一台。
三、软件准备•STEP 7-MicroWIN SMART软件,可自行在西门子官网下载;
•亿佰特IO模块配置测试工具,可在亿佰特官网相对应位置下载:https://www.ebyte.com;
四、PLC程序准备S7-200 Smart指令库
西门子在STEP 7-Micro/WIN SMART中已经集成了Modbus RTU主站协议库(西门子标准库指令)。使用Modbus RTU主站指令库,可以读写Modbus RTU从站的数字量、模拟量I/O以及保持寄存器。
Modbus RTU主站指令库可以同时应用于CPU集成的RS 485通讯口和CMO1信号板,此时集成的RS 485口使用Modbus RTU,Master(v2.0)中指令,CM01信号板使用Modbus RTU Master2(v2.0)中指令,如果只有一个主站则不做区分,所以我们这里先选择MBUS_CTRL,如图所示:
MBUS_CTRL各参数意义讲解:
EN:使能开关;必须保证每一扫描周期都被使能(使用SM0.0)
Mode:模式;为1时,使能Modbus协议功能;为0时,恢复为系统PPI协议,使用Modbus协议时,此参数应配置为1。
Baud:波特率;支持的通讯波特率为1200,2400,4800,9600,19200,38400,57600,115200;此参数应该配置为与MA01-AACX2220的波特率配置为一致,此处我们配置的波特率9600。
Parity:校验方式选择;0=无校验,1=奇较验,2=偶较验;此参数应该配置为与MA01-AACX2220的校验方式配置为一致,此处我们配置的校验方式为0(无校验)。
Port:端口号选择;0=CPU集成的RS 485通讯口,1=可选CM 01信号板;此处我们配置的为0,代表PLC集成的RS485通讯口。
Timeout:通讯超时设置;主站等待从站响应的时间,以毫秒为单位,典型的设置值为1000毫秒(1秒),允许设置的范围为1-32767。需要注意的是:这个值必须设置足够大以保证从站有时间响应。我们这里配置的为1000,一般建议200ms以上。
Done:完成位;初始化完成,此位会自动置1。
Error:错误代码;初始化错误代码(只有在Done位为1时有效):0=无错误;1=校验选择非法;2=波特率选择非法;3=超时无效;4=模式选择非法;9=端口无效;10=信号板端口1缺失或未组态;
接着我们调用一个Modbus RTU主站读写子程序MBUS_MSG,如图所示:
MBUS_MSG重要参数意义讲解:
EN:使能开关;同一时刻只能有一个读写功能(即MBUS_MSG)使能注意:建议每一个读写功能(即MBUS_MSG)都用上一个MBUS_MSG指令的Done完成位来激活,以保证所有读写指令循环进行。
First:读写请求位;每一个新的读写请求必须使用脉冲触发。
Slave:从站地址:可选择的范围1-247,此参数应该配置为与MA01-AACX2220的modbus地址配置为一致,此处我们配置的地址为1。
RW:读写请求;0=读,1=写。注意:1.数字量输出和保持寄存器支持读和写功能2.数字量输入和模拟量输入只支持读功能;
Addr:读写从站的数据地址;
选择读写的数据类型:
00001至0xxxx-数字量输出→对应MA01-AACX2220设备IO的DO点位
10001至1xxxx-数字量输入→对应MA01-AACX2220设备IO的DI点位
30001至3xxxx-模拟量输入→对应MA01-AACX2220设备IO的AI点位
40001至4xxxx-保持寄存器→一般对应,设备IO的AO点位,MA01-AACX2220无AO点位
Count:数据的个数;通讯数据的个数,如果这里设置为2,代表使用了2个寄存器
DI数字量输入连接参数:
查看串口IO产品手册可知,DI数字量输入寄存器如下:
程序Addr处填写10001(转换为10进制后,寄存器起始地址需要+1操作),Count处填写2。
PLC程序:
配置与MA01-AACX2220数据通讯的2个DI。
AI模拟量输入连接参数:
程序Addr处填写30101(转换为10进制后,寄存器起始地址需要+1操作),Count处填写2。
PLC程序:
配置与MA01-AACX2220数据通讯的2个AI。
DO数字量输出连接参数:
查看MA01-AACX2220产品手册可知,DO数字量输出寄存器如下:
程序Addr处填写1(转换为10进制后,寄存器起始地址需要+1操作),Count处填写2。
PLC程序:
配置与MA01-AACX2220数据通讯的2个DO。
五、串口IO MA01-AACX2220参数配置准备可使用亿佰特IO模块配置测试工具配置MA01-AACX2220的基本参数和网络参数,本次采用设备默认参数:Modbus地址:1,波特率:9600,数据位:8,校验位:无,停止位:1;(如需修改为其他参数,可通过高级设置页面进行操作,或者查看手册中的寄存器地址,直接操作寄存器,发送Modbus指令进行操作),如图所示:
此刻,我们已经成功地完成了对西门子PLC和串口IO MA01-AACX2220参数配置,为二者的Modbus RTU连接通讯做好了准备。