分享

PLC通讯 | 两个设备通讯点数不够怎么办?

 PLC发烧友 2023-03-14 发布于广东




我之前做工程的时候,遇到一个这样的问题,有两台不同的设备,他们之间通过某种通讯协议去通讯,然后第一台设备D0到D3这4个寄存器的数据传送给第二台设备的D10到D13。

后面以为客户需求的原因,需要传输12个数据,需要我们去改动。





 

怎么办呢?一开始想的是去更改硬件,更换通讯的方式,但是这样的话花的时间成本还有硬件成本就比较高了。后面和客户沟通了一下,了解到他们对数据通讯的速度不做要求,就算间隔个几十秒的时间也没问题。

得知这个信息后,稍微一想,这个问题也太好解决了,通过修改一下程序就可以。

已知一个条件(通讯发送完成标志位位M0,就是每次发送完信息,M0就会导通一个扫描周期)方法如下:

在主plc里面,条件是M0的上升沿,定义D0进行不断加1

我们可以写一段一下的程序

 

当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这边对这些数据进行解读。程序如下

 

通过如上程序

当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的数据做了如下传输:

 假如你想传输更多的数据,可以用同样的方法

(技成培训原创,作者:陈育鑫,未经授权不得转载,违者必究!)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多