前文介绍了M31分布式IO模块与西门子200smart PLC设备TCP连接例程,本文接着介绍串口IO模块系列与西门子PLC S7-200smart Modbus RTU连接例程案例。
本案例主要讲解串口IO系列设备(本次作为从机设备)与西门子S7-200smart系列PLC设备(以下简称西门子PLC,本次作为主机设备)Modbus RTU参数配置连接例程,本案例串口IO系列以MA01-AACX2220为例。
MA01-AACX2220串口IO设备一台;
西门子PLC S7-200smart一台;
24V电源两个;
通讯电缆若干;
电脑一台;
STEP 7-MicroWIN SMART软件,可自行在西门子官网下载;
亿佰特IO模块配置测试工具,可在亿佰特官网相对应位置下载:https://www.ebyte.com;
1.1、西门子在 STEP 7-Micro/WIN SMART 中已经集成了 Modbus RTU 主站协议库(西门子标准库指令)。使用 Modbus RTU 主站指令库,可以读写 Modbus RTU 从站的数字量、模拟量 I/O 以及保持寄存器。
1.2、Modbus RTU 主站指令库可以同时应用于CPU 集成的 RS485接口和 CMO1 信号板,此时集成的RS 485口使用Modbus RTU,Master(v2.0)中指令,CM01信号板使用Modbus RTU Master2(v2.0)中指令,如果只有一个主站则不做区分,所以我们这里先选择MBUS_CTRL,如图所示:
1.3、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 缺失或未组态;
1.4、接着我们调用一个Modbus RTU 主站读写子程序MBUS_MSG,如图所示:
1.5、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个寄存器
查看串口IO产品手册可知,DI数字量输入寄存器如下:
程序Addr处填写10001(转换为10进制后,寄存器起始地址需要+1操作),Count处填写2。
PLC程序:
配置与MA01-AACX2220数据通讯的2个DI。
程序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的基本参数和网络参数,本次采用设备默认参数:Modbus地址:1,波特率:9600,数据位:8,校验位:无,停止位:1;(如需修改为其他参数,可通过高级设置页面进行操作,或者查看手册中的寄存器地址,直接操作寄存器,发送modbus 指令进行操作),如图所示:
此刻,我们已经成功地完成了对西门子PLC和串口IO MA01-AACX2220参数配置,为二者的Modbus RTU连接通讯做好了准备。
今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多串口服务器、数传电台、lora模块等无线数传模块产品更多资料,感兴趣的小伙伴可以登录我们的亿佰特官网进行了解,也可以直接拨打400电话咨询技术专员!
相关阅读:
5、ME31-XXXA0006无线IO模块应用以及上位机配置教程
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 南京办事处葛经理:17626012283
成都总部销售经理:
秦 科(无线模块):18884314654 冯子恒(无线模块):18884314734
蔡友银(无线模块):13882211021 葛宇龙(通信设备):19138800613
胡兵(外贸销售经理):18584911141、 sales06@ebyte.com
业务邮箱:support@cdebyte.com 全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都亿佰特电子科技有限公司【版权所有】 蜀ICP备13019384号