ABPLCLOGIX5000控制器之间通过MSG实现通信

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ABPLCLOGIX5000控制器之间通过MSG实现通信
前⾔:AB PLC控制器系列很多,主要分为⼩型MicroLogix和Micro800系列、中型CompactLogix系列、⼤型ControlLogix系列,⽽⼤、中型⼜统称为LOGIX 5000控制器。

在项⽬实⾏过程中,控制器之间数据交互是经常涉及到的课题,LOGIX 5000控制器之间数据交互主要有两种⽅式,⼀是通过MSG指令,⼆是⽣产者/消费者标签。

今天,本⽂介绍的是第⼀种⽅式,⽽选⽤的控制器为CompactLogix与ControlLogix控制器,⾮常具有代表性,希望能帮助有需要的朋友。

⼀、实现功能
1. CompactLogix控制器:1769-L33ERM,IP地址:19
2.168.1.20
2. ControlLogix控制器:1756-L72+1756-EN2TR,IP地址:192.168.1.10
3. ⽹络连接:1769-L33ERM与1756-L72通过⽹线或交换机连接
4. 实现功能:两台控制器之间通过MSG指令实现数据交互
⼆、软件环境
1. 操作系统:Windows7 旗舰版 SP1 64位
2. 编程软件:Studio 5000 V30.00.00
3. 通信软件:RSLinx Classic Gateway 3.90.00
三、MSG编程(在CompactLogix端实现)
1. 打开Studio 5000软件,新建项⽬名称为“CMP”,控制器选择1769-L33ERM,版本为30,如下图所⽰,已经创建好的项⽬.
2. 在项⽬CMP的控制器标签,新建4个标签:
(1) MSG_Rd,数据类型MESSAGE,从1756-L72中读取数据的通信指令结构体;
(2) MSG_Wr,数据类型MESSAGE,把数据写到1756-L72的通信指令结构体;
(3) Read_tag,数据类型DINT[5],存储从1756-L72读取的数据;
(4) Write_tag,数据类型DINT[5],把这五个数据发送到1756-L72.
3. 再次打开Studio 5000软件,新建项⽬名称为“CTL”,控制器选择1756-L72,添加以太⽹通信模块1756-EN2TR,命名为EN2T,并在控制器标签⾥⾯创建2个标签,Write_tag,Read_tag,数据类型均为DINT[5],将程序下载到控制器并在线.
4. 在EXCEL中,编制数据通信协议表,这步很重要,尤其是⼤量数据交互时,编程通信表让数据清晰明了,建议⼤家在程序开发时,养成多⽤EXCEL的习惯.
5. 在项⽬CMP(1769-L33ERM)⾥⾯调⽤MSG指令,编写读取、发送数据的程序,详见下图.
6. 指令MSG_Rd⽤来1769-L33ERM读取1756-L72⾥⾯的数据,详细配置见下图:
(1) Message Type:选择CIP DataTable Read,从另⼀控制器中读取数据;
(2) Source Element:源对象,填写通信伙伴中的标签起始地址,本⽂为1756-L72中的Write_tag[0];
(3) Destination Element:⽬标对象,填写本地控制器存储数据标签起始地址,本⽂为1769-L33ERM中的Read_tag[0];
(4) Number of Element:交换数据的数量,本⽂为5,注意:Source 和 Destination 的类型必须匹配;
(5) 通信路径:2,192.168.1.10,1,0
7. 指令MSG_Wr⽤于1769-L33ERM发送数据到1756-L72,详细配置见下图:
8. 功能测试,将项⽬CMP中的程序下载并在线,在CMP标签Write_tag写⼊数据,控制器CTL中的标签Read_tag数据⽴即发⽣变化与之相同;在CTL标签Write_tag写⼊数据,控制器CMP中的标签Read_tag数据⽴即发⽣变化与之相同,说明通信成功.
四、MSG编程(在ControlLogix端实现)
1. 在项⽬CTL(1756-L72)控制器,再创建2个标签:
(1) MSG_Rd,数据类型MESSAGE,从1769-L33ERM中读取数据的通信指令结构体;
(2) MSG_Wr,数据类型MESSAGE,把数据写到1769-L33ERM的通信指令结构体.
2. 编写通信程序,调⽤MSG指令,与在项⽬CMP的指令完全相同.
3. 指令MSG_Rd⽤来读取1769-L33ERM数据,详细配置见下图:
(1) Message Type等参数与CMP程序配置相同,请参考前⾯表述;
(2) 通信路径:EN2T,2,192.168.1.20,1,0
4. 指令MSG_Wr⽤来发送数据到1769-L33ERM,其中Message Type等参数与CMP程序配置相同,请参考前⾯表述,通信路径:
EN2T,2,192.168.1.20,1,0(注意:符号为英⽂符号,前⾯也是).
5. 功能测试,将项⽬CTL中的程序下载并在线,在CMP标签Write_tag写⼊数据,控制器CTL中的标签Read_tag数据⽴即发⽣变化与之相同;在CTL标签Write_tag写⼊数据,控制器CMP中的标签Read_tag数据⽴即发⽣变化与之相同,说明通信成功.
五、资料下载
1. MSG指令的应⽤⾮常⼴泛,不仅限于LOGIX 5000控制器之间进⾏数据交换,同样适⽤于LOGIX 5000控制器与其他系列控制器.
2. MSG指令,其难点在于通信路径的设置,本⽂案例就⾮常典型.
3. 如果,你需要了解更多关于MSG指令的详细说明,请下载以下官⽅资料:
• 《1756-rm003_-zh-p》,LOGIX 5000通⽤指令集,中⽂,2018年3⽉
• 《1756-pm012_-en-p》,LOGIX 5000 Message指令,英⽂,2018年12⽉
4. 下载⽅法:点击左下⾓“阅读原⽂”,提取码:9zx3
结语:综上所述,本⽂详细介绍了AB LOGIX 5000控制器之间通过MSG指令交互数据,⽽通信伙伴选⽤的具体代表性的CompactLogix与ContolLogix控制器,其难点在于通信路径的配置,⼤家在配置的时候需要注意。

另外,CompactLogix控制之间、ContolLogix控制器之间进⾏数据交互,其MSG通信路径的配置,请⾃⾏研究,不在累述。

________________________________________
【AB PLC⼯作室】
微信公众号ID:abseme
坚持原创注重实⽤
________________________________________
如果本⽂,对您有⼀点帮助或启⽰。

请分享给更多的朋友,对⼩编以⽰⿎励,谢谢!。

相关文档
最新文档