罗克韦尔PLC生产者和消费者——大话与PLC通讯的N种方式第七期

2019-10-08   李孟宦

写在面前

说到罗克韦尔的通讯,生产者消费者这个词相信大家一定不会陌生,在本部看前面的讲解中,姐说了罗克韦尔的虚拟调试与仿真,罗克韦尔的软件全家桶以及安全PLC等,并开放下载了许多资料和软件(具体看文末往期推荐),今天我们来讲一讲生产者和消费者~

当一台机器与另一台机器,当一个工艺设备与另一台工艺设备对接时,都需要通讯,需要组态通讯路径、规划读、写数据。如果恰好你所使用的控制器,都是罗克韦尔自动化的Logix控制器,那么恭喜你,使用生产者/消费者的方式会大大提高的你的效率、缩短你开发时间。1+1=2,就这么简单。

生产者标签:可以被其他控制器使用,可以同时被多个控制器消费(接收)其数据,无需编程。

消费者标签:接受生产者标签产生的数据,其标签类型必须和生产者一致,通过设置RPI时间决定数据更新的周期。

条件:

  • 都为Logix5000(Studio5000)控制器;如1769-L30ER,1756-L7X
  • 相同的网络(比如EtherNet或者ControlNet,而不是EtherNet与ControlNet之间)

步骤:

1、建立生产者标签”Produced_Tag”

  • 打开控制器,控制器名称为Controller1,Controller1控制器标签内,建立标签

注意:只有在控制器标签域里面才能使用“生产者”

  • 在你规划的标签处右键,选择Edit***Properties,输入标签名:Produced_Tag(例子),在“Type”处选择:Produced(生产者)

  • 在选择为Produced或者Consume后,“Conection”按钮激活,进入设置” Produced Tag Connection”菜单栏,在“Max Consumers”输入消费(接收)生产者标签数据的控制器数量。

2、在控制器2建立消费者标签“Consumed_Tag”

  • 打开Logix5000编辑软件,在”IO Configuration”里面添加我们刚建的控制器1,Controller_1

  • 在控制器域新建标签,输入标签Consumed_Tag,选择type为Consumed。

注意:数据类型与我们要连接的生产者一致

  • 点击connection按钮,进入Consumed Tag connection,选择控制器名称Controller _1,输入我们需要消费的生产者标签“Produced_Tag”

  • 根据需要更改RPI时间(V28版本之前),默认20ms,点OK完成。

数据流向:控制器Controller_1内的“Produced_Tag”标签数据à控制器Controller_2内的标签“Consumed_Tag”,以及其他控制器建立的指向Controller_1的Produced_Tag标签。。。。。。

同时,控制器Controller_2可以建立生产者标签,供控制器Controller_1及其他控制器消费。

诊断:

在Rslogix5000 V17版本及以上,生产者/消费者标签有自带的状态栏,只是在定义生产者/消费者标签的时候,指向带链接状态的标签即可,其他与上述标签建立相同。

1、 新建数据结构体:

2、新建生产者标签,数据类型选择为刚建立的数据结构体

3、 在控制器2内建立相同标签结构体,建立消费者标签,类型为Consumed_Type

***.Sts.RunMode标签位为运行位,一般为1

***.Produce_Tag.Sts.ConnectionFaulted一般为0

关键是Consumed_Tag.Sts.ConnectionFaulted,当标签为为0代表正常;标签位为1代表。。。你得检查网络了。

这样,生产者标签和消费者标签无需任何额外编程,就可以开开心心的交流啦,简单吧!

罗家小型机Micro800、MicroLogix

ConpactLogix/ControlLogix通讯需要通过MSG指令来实现了,一样也很方便。

1、生产者、消费者都占用连接数:

  • 生产者占用的连接数为:消费者数量+1
  • 消费者占用连接数数量为:1

2、如果使用V24版本以前的控制器需要建立消费者标签与新的CMX 5380, CMX5480, or CLX 5580控制器链接时,V24版本控制器无法在IO树中添加到这些控制器,此时就需要用以前的控制器替代:

  • 如果您想通过新的控制器嵌入的以太网端口,就可以用嵌入以太网端口的CMX 5370控制器,比如1769-L36ERM替代;
  • 如果您想通过背板的以太网端口建立连接,则可以通过5570控制器,比如1756-L71来替代。

3、V28版本之前和V28之后(包含)RPI时间设定有所不同,V28版本之前消费者标签RPI时间可以自行设定,V28以后是根据建立的第一个消费者标签的RPI时间自动设定。在低版本移植到高版本时需注意。

4、传输数据尽量小于500bytes,别问为什么,问了我也不告诉你。

5、当“生产”多种类型数据时,将数据打包成结构体传输更优噢,每个生产者标签被消费都是要占用连接数的。

关注微信公众号:智能制造之家,申请加入【智能制造之家】技术群,和志同道合的朋友们共同打卡学习!

今天就到这里啦~ ,如果各位看官喜欢的话,欢迎点击右下角的“在看”,或转发和收藏哦。(不要忘记文末彩蛋哦)

  • 对于文中所有使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请告知删除,谢谢。


往期推荐-(仅在微信公众号有效)

WinCC系统的基本功能介绍——自动化工程师必备~

CODESYS软件架构及产品分类

PTC Creo二次开发环境简介(附Creo 6.0下载)

“2019世界智能制造十大科技进展” 入围项目公示 ,有你心目中的产品吗?

用惯了TIA Portal,Studio 5000,还有你不能不知道的CoDeSys

简析西门子开放式用户通信OUC和通信小结——大话与PLC通讯的N种方式第六期

玩Vmware虚拟机多年的工程师们,桥接模式、NAT、仅主机模式你们懂了吗?| 详解网络模式

罗克韦尔AB全系列PLC产品介绍(附AB安全PLC资料下载)

PLC高级编程-SCL结构化控制语言(附官方用手册和培训资料下载)

达索MES——DELMIA Apriso FlexNet平台介绍(附Apriso database management 手册)