串口IO系列与西门子PLC Modbus RTU连接例程

描述

案例简介

本案例主要讲解串口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连接通讯做好了准备。

 

 

相关推荐

西门子

MA01-AACX2220是支持采集2路传感器开关量输入(DI)、2路传感器模拟量输入(AI),转换为串口数据传输到组态软件或PLC。通过串口下发指令控制2路继电器开关输出(DO),实现远程采集控制功能的串口I/O联网模块(又称“远程IO模块”)。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分