西门子200SMART主站轮询MODBUS通信指令案例


该案例是西门子PLC 200Smart与200Smart通信程序。

一、实现的功能:

(1) 主站读取从站的VW10---VW20六个字,存入主站的VW0—VW10。

(2) 主站读取从站的MB4MB5存入主站的MB4MB5。

(3) 主站把VD30写到从站的VD50

分析说明

1、该案例有3个读写功能要完成,由于MODBUS通信某一时间只能有一条 MBUS_MSG 指令处于激活状态,因此需要轮询通信。

2、由于MBUS_MSG指令不能使用M存储器,因此需先在从站编写M区传送到V区程序,再通过通信把V区数据读入到主站,主站再编写V区传送到M区指令,完成从站的M区数据到主站的M区。

3、VD传送是4个字节,2个字

从站程序

轮询MODBUS通信指令案例

 

轮询MODBUS通信指令案例

MB4\5先传送到时V区,才能实现通信

由于从站是以VB10为起始地址,因此VB40VB41对应的MODBUS

地址为[(40-10)+2]/2=16,为40016。

从站的VD50(VB50-VB54)对应的MODBUS地址为40021

从站编写完程序后,注意要分配库存储器

主站程序

轮询MODBUS通信指令案例

定义参数

轮询MODBUS通信指令案例

初始化复位各通信标志

轮询MODBUS通信指令案例

按I0.0开始通信

轮询MODBUS通信指令案例

读从站的6个字VW10-VW20到主站VW0-VW10

从站起始地址是VW10,对应40001地址

轮询MODBUS通信指令案例

完成后置位下一指令复位上通信标志

轮询MODBUS通信指令案例

读一个字

40016地址对应VW40,读到VW200

轮询MODBUS通信指令案例

读完传到MW4,完成M区传送

轮询MODBUS通信指令案例

再轮询下一个

轮询MODBUS通信指令案例

写一个字VD30到从站VD50

轮询MODBUS通信指令案例

又返回第一轮询


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM