电工学习网

 找回密码
 立即注册
查看: 1718|回复: 0
打印 上一主题 下一主题

两个PLC设备通讯,点数不够,这个方法技巧地解决问题

[复制链接]
跳转到指定楼层
楼主
发表于 2020-6-4 08:00:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我之前做工程的时候,遇到一个这样的问题,有两台不同的设备,他们之间通过某种通讯协议去通讯,然后第一台设备D0到D3这4个寄存器的数据传送给第二台设备的D0到D3。后面以为客户需求的原因,需要传输12个数据,需要我们去改动。
两个PLC设备通讯,点数不够,这个方法技巧地解决问题
怎么办呢?一开始想的是去更改硬件,更换通讯的方式,但是这样的话花的时间成本还有硬件成本就比较高了。后面和客户沟通了一下,了解到他们对数据通讯的速度不做要求,就算间隔个几十秒的时间也没问题。
得知这个信息后,稍微一想,这个问题也太好解决了,通过修改一下程序就可以。
已知一个条件(通讯发送完成标志位位M0,就是每次发送完信息,M0就会导通一个扫描周期)方法如下:
在主plc里面,条件是M0的上升沿,定义D0进行不断加1
我们可以写一段以下的程序
两个PLC设备通讯,点数不够,这个方法技巧地解决问题
当D0等于0时,就把D101到D103这3个寄存器发送到D1到D3里面去
当D0等于1时,就把D111到D113这3个寄存器发送到D1到D3里面去
当D0等于2时,就把D121到D123这3个寄存器发送到D1到D3里面去
当D0等于3时,就把D131到D133这3个寄存器发送到D1到D3里面去
当D0等于4时,把D0清空,重新执行加1.
这样的话就通过不同通讯周期,发送了不同的数据,通讯的时间一般都是很短的,你就是发送几十次的时间还不到1秒,所以不用担心延迟太久。发送的数据就加多了。
然后,我们需要在从站plc这边对这些数据进行解读。程序如下
两个PLC设备通讯,点数不够,这个方法技巧地解决问题
通过如上程序
当D0等于0时,就把D1到D3这3个寄存器发送到D101到D103里面去
当D0等于1时,就把D1到D3这3个寄存器发送到D111到D113里面去
当D0等于2时,就把D1到D3这3个寄存器发送到D121到D123里面去
当D0等于3时,就把D1到D3这3个寄存器发送到D131到D133里面去
这样的话,就相对于把主plc的数据做了如下传输:
两个PLC设备通讯,点数不够,这个方法技巧地解决问题
假如你想传输更多的数据,可以用同样的方法。
来源:工控老鸟

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-19 15:28

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表