四川铜仁西门子PLC代理商 四川铜仁西门子PLC代理商
四川铜仁西门子PLC代理商四川铜仁西门子PLC代理商四川铜仁西门子PLC代理商
(资料图片仅供参考)
PLC通讯,两个设备通讯点数不够怎么办?
给大家带来的是关于本文作者在之前做工程的时候,遇到一个这样的问题,有两台不同的设备,他们之间通过某种通讯协议去通讯,然后台设备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的数据做了如下传输:
关键词: