设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
两台西门子S7-200 SMART PLC如何通过Modbus RTU协议进行 ...
返回列表
发新帖
[西门子]
两台西门子S7-200 SMART PLC如何通过Modbus RTU协议进行通讯?
[复制链接]
63500
|
0
|
2024-7-19 16:24:45
|
显示全部楼层
|
阅读模式
往期精彩文章:
电气工程师项目设计流程:一个项目中,电气工程师要做的设计思路
西门子S7-1200/1500PLC的结构化程序编程模式/套路
S7-1200/1500PLC用FB284库指令控制伺服驱动器的程序
PLC
定位
控制基础:电子齿轮比对脉冲当量和电机转速的调整作用
步进电动机与交流
伺服
电动机的性能比较,来看看跟你知道的一样吗?
怎样用软件进行交流
伺服
驱动器的增益自动调整?
变频
器的种类多种多样,根据负载特性怎么选择
变频
器呢?
怎么让两台伺服电机比例同步运行?伺服驱动器要做哪些设置?
西门子S7-1200PLC 基于AT覆盖变量的V90伺服速度控制程序
S7-1200PLC控制伺服驱动器V90PN-速度控制SIMOTICS电机
欧姆龙自动化设备通过CX-One软件配置单机PLC控制系统详解
欧姆龙自动控制设备通过CX-One软件配置PLC网络系统
PLC如何快速排除故障?这里有一个资深电气工程师所用模板
欧姆龙NJ控制器(PLC)控制欧姆龙总线型1S伺服驱动器/伺服电机操作指引
通讯材料:
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开始的。
来源:网络。
声明:本资料信息由本公众号从网络收集整理而成,版权归原公司、机构、作者所有。资料仅供学习参考,切勿用于商业用途,本公众号对资料中观点保持中立态度,如涉及版权问题,请第一时间告知删除,非常感谢!
非常感谢您的每个"赞"和"在看"!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
mccrabbit
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』