工控智汇

工控智汇

SLC MSG至ControlLogix

admin 55 194

为什么写这篇文章呢?昨天一圈内大佬聊起来了他们一个改造项目,原来两套SLC500系列PLC互相通讯,由于SLC系统的备品备件很难买到了,因此将其中一套升级到了ControLogix系统,但是问题发生了,原来的两套SLC是通过MSG进行通讯的,那现在换成了ControLogix后,由于Contrologix用的是CIP标签做变量,而SLC是通过文件形式关联变量;那这个怎么实现呢?

本文以一个小例子来说明:

任务:写入N10的5个整型数到Contrologix标签

说明:任何对MSG的修改,都需要停止CPU进行,不可以在线进行。


一映射Contrologix文件为SLC地址文件

由于Contrologix没有像SLC一样的N文件或者F文件,那我们第一步需要做一个Mapping映射表;我们必须将SLC地址映射为一个数组;比如FromSLC[5],数据类型Int:


接下来,我们将FromSLC映射为N文件,文件序号为70,在RsLogix5000编程环境中菜单栏选择Logic-MapPLC/SLCMessage


接下来,将FromSLC数据映射为N70文件,则FromSLC[0]-FromSLC[4]映射为了SLC地址,N70:0–N70:4.


保存文件后,下载到Contrologix处理器。至此,Contrologix地址文件映射工作就做完了。

二设置SLC数据文件(DataFile)


文件号我们设置为10文件,数据类型为integer,命名为ToLogix,


同时我们给N10:0–N10:4随机赋值,任意5个数,用于测试。本文设置45,55,65,75,85.


至此SLC数据文件设置就可以了。接下来我们在RsLogix500里进行MSG编程设置,所有的MSG指令都需要通过脉冲进行触发,因此我们先建一个500ms的脉冲。


我们通过一个500ms脉冲进行MSG指令执行的触发。脉冲做好新建一个MSG功能块,MSG类型设置为Peer-To-Peer,控制字选择,N9:0,共需要14个字,N9:0-N9:13为该MSG指令的状态字。




从SLC控制器的Channel1通道去访问192.168.0.91的1756-EN2T所在的Contrologix系统,并指向槽号为“0”的CPU。

至此,SLC写入Contrologix系统的程序就做完了,保存后,下载程序到SLC控制器。

这时我们在Contrologix控制器标签的FromSLC即可看到和SLC控制器N10:0–N10:4一样的数据。