您现在所在的是:

施耐德电气论坛

回帖:2个,阅读:895 [上一页] [1] [下一页]
8132
0aguang0
文章数:1636
年度积分:255
历史总积分:8132
品牌积分(施耐德):2046
注册时间:2010/10/21
发站内信
发表于:2019/11/21 21:45:23
#0楼
本贴来自<120例> 1.5.1章节
在somachine V3.1中,提供了一种非常好用的modbus通讯扫描器,在使用时只需要添加相应的从站.
并针对每个从站进行通信参数的配置后,该扫描器会按照预先设定好的方式对这些从站进行通讯处理.
新建一个项目文件,并将串口下的驱动程序删除,双击串口对通信口的通信参数进行设置.
(通信参数必须与从站保持一致,从站的站地址不能重复)
附件 1.jpg
鼠标右键单击串口,添加modbus IOScanner设备.

附件 2.jpg

添加完成,设置modbus 的传输方式(必须与从站保持一致)与超时时间等参数

附件 3.jpg

鼠标右键单击 modbus IOScanner ,参加从站设备

附件 4.jpg

添加完成后,设置此从站地址,(必须与要连接的从站地址保持一致.)

附件 5.jpg

在modbus slave init中,添加相应的参数,以方便在上电时对从站的参数进行初始化.
需要注意的是如果PLC在从站还未准备好时就已经上电.则初始化的数据会丢失,
这些数据只在PLC上电运行后发一次,此时,从站不在线也会造成初始化数据失败.

附件 6.jpg

在 modbus slave channel中,可以添加与从站的通信参数.如下:
点击"Add channel"可添加一笔通信,点击"delete"可删除光标选择的该笔通信,
点击"edit"可重新编辑光标选择的该笔通信.

附件 7.jpg

在modbuschannel对话框中,可设置该笔通信的名字,数据访问类型,通信触发方式,
读取或写入的从站寄存器地址等.
本例中,循环读取(20ms)从站中寄存器地址为16#0000的数据,读取寄存器数量为1个
当发生通信错误时被设置为0.
附件 8.jpg

在modbus master i/o mapping中可以看到此笔读取数据被分配给%IW1这个地址,
也就是说读取该从站的16#0000寄存器的数据被存储在%IW1中,当通信发生错误时
%IW1的数据被强制写为0.
附件 9.jpg

modbus IOScanner 功能被启动之后,PLC即使在停止后仍会正常运行,从站数据改变时,主站仍可以刷新到从站的新数据.
在TM218中,如果从站的通信线断开后再次恢复后,主站不具备自动恢复通信功能,
因此,在程序可以调用一个通信诊断功能块,当发生通信错误时,自动触发通信复位.
当存在多个从站时,每个从站都需要增加一个通信诊断功能块.
附件 10.jpg

功能块名字必须与从站名字相同,而无法对此功能块进行自定义名称.
但在tm238 tm258中,如果从站的通信线断开再恢复后,主站具备自动恢复通信功能,不需要格外添加诊断功能块


本贴实例程序
附件:
[本地下载]





水平一般,能力有限.如有错误之处.欢迎并感谢指出.我一定认真学习积极改正.请勿DISS.
50
weicy007
文章数:571
年度积分:50
历史总积分:50
品牌积分(施耐德):852
注册时间:2019/4/29
发站内信
发表于:2019/11/23 9:27:56
#1楼
判断通讯状态那个确实挺实用的。
8132
0aguang0
文章数:1636
年度积分:255
历史总积分:8132
品牌积分(施耐德):2046
注册时间:2010/10/21
发站内信
发表于:2019/11/23 21:40:45
#2楼
回复 #1楼 weicy007
被你嫌弃的218才需要这个...后面的就不需要了啊
水平一般,能力有限.如有错误之处.欢迎并感谢指出.我一定认真学习积极改正.请勿DISS.

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003