[西门子] smart200 Modbus RTU通讯实例!

[复制链接]
查看88820 | 回复0 | 2024-1-12 22:41:31 | 显示全部楼层 |阅读模式

通讯材料:
1)、PLC2台,分别是200SMART 的CR60和SR20;2)、2个DP插头(6ES7972-0BX12-0XA0)3)、连接导线若干(plc电源及通讯)

验证内容:令:CR60 PLC为主站,发送PLC系统时钟(8个字节的信息)给SR20从站;SR20从站发送一个双字的循环移位数据给主站,并由通讯数据VD100接收输出到QD0。
主站程序:



在验证过程中曾经出现一个错误,使MSG指令始终显示为6,表示从站无响应。我验证时,由于连接2台plc之间的3+、8-没有确认,造成接线错误,使MSG的error错误信息为6,检查后找到原因,重新接线后仍然报警6。最后检查为控制程序不完整,主要原因是没有给MB0一个初始化操作,造成错误值没有得到有效的刷新。于是,在程序段1中加入初始化操作得到解决。





主站MSG指令主要理解Addr地址的应用,下面有描述。



从站程序:从站通讯地址设置为1#





从站自VB31开始为读取主站VB11开始的8个字节主站系统时钟数据,指定VB31的起始地址是由Addr地址40011定义的,从站循环指令VD11运行结果,将由Mbus_init的Holdstart定义的起始地址发送和接收。

编写小结:自简而深进行编写Modbus RTU通讯程序,相对从站通讯程序比较简单,仅仅只是指定通讯种类由
Mbus_init
管脚指定maxIQ/maxAI/maxHOLD/Holdstart定义,其它管脚根据主站定义匹配进行,相对主站需要根据从站地址偏移量来确定。
通讯数据:


Modbus通讯程序相对的难点是通讯映射的地址关系。
主站读取从站的数据,起始地址是根据从站Holdstart管脚定义的起始地址开始算,而不是指从站的V区物理地址。在验证程序中,从站的Mbus_init起始地址为VB11,那么,主站MSG指令的Addr 40001,应该是指从站的VB11地址。

同理,从站读取主站系统时钟,主站的MSG指令的Addr 40011,对应到从站的地址相当于偏移了10个字(偏移量10word + 11byte = 31byte) ,即为VB31开始的8个字节中存放,Modbus通讯地址计算是40001开始的。
往期经典文章:

[电气自动化设计必看干货]手把手教你电气图变PLC程序图过程

.低压电气元件汇总,超全,仿真软件免费下载!

.[干货]S7-300编程超全超细讲解,难得好文!

.编程那些是,心得总结,收货满满!

.微信如何记步数?电气自动化技术学科之一.

.电气自动化工程师要怎么做,心得体会!

.电子产品各种接口知识大全,果断收藏!

.电工及电气设计计算公式图表汇总,收藏!

.[限时下载] 西门子STEP7 MicroWIN SMART V2.2.zip编程软件

.接触器那些事儿!

• 【涨知识】电气自动化设计工程师必知的三种接线,详解!

• 电气控制柜设计原则【涨知识】

•电气自动化工程师必须具备的知识,你知道的全吗?

•DCS与PLC的区别,这回肯定懂了!【超形象】

•PLC的五种编程语言及学习PLC的方法[干货]

•【干货】电气设备维修基本原则,值得收藏!

•毕业季,如何才能成为一名优秀的电气工程师?【不看后悔】

•【详解】西门子编程各功能块区别(重点FB和FC),通俗易懂的讲解,值得收藏!

•【超详细】编码器分类及单圈和多圈解析,受益匪浅 !

•PID调节到底是什么东西?[详解]

•编程之前一定要有“程序流程图”,不知道吧?【干货】

•【实战干货】伺服电机如何实现控制?是脉冲还是总线?值得收藏!!

•【详解】伺服驱动器的 电流环 速度环 位置环,值得收藏!

•RS485通讯接口特性及与RS232的区别【涨知识】

•变频器原理及控制方式,你真得懂吗?

•一次设备、一次回路、二次设备、二次回路都指的是什么?这回懂了!

•PLC和单片机主要区别及应用范围【涨知识】

•电机过热过载分析及解决办法【现场经验】

•PLC项目怎么做?老工程师告诉你!

•【涨姿势】使用PLC的经验技巧,你知道吗?实战分析!

•教你画电气原理图【详解必看】

. 进阶讲解NPN和PNP型传感器在PLC中接线原理!

. 彻底弄懂NPN型和PNP型接近开关怎么接入PLC,为什么会有不同接法?

文章来源网络,版权归原作者所有,如有侵权请联系删除!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则