热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

at指令获取网络连接类型_ABPLC|LOGIX5000控制器之间通过MSG指令实现数据交互

前言:ABPLC控制器系列很多,主要分为小型MicroLogix和Micro800系列、中型CompactLogix系列、大型ControlLogix系

前言: AB PLC控制器系列很多,主要分为小型MicroLogix和Micro800系列、中型CompactLogix系列、大型ControlLogix系列,而大、中型又统称为LOGIX 5000控制器。在项目实行过程中,控制器之间数据交互是经常涉及到的课题,LOGIX 5000控制器之间数据交互主要有两种方式,一是通过MSG指令,二是生产者/消费者标签。今天,本文介绍的是第一种方式,而选用的控制器为CompactLogix与ControlLogix控制器,非常具有代表性,希望能帮助有需要的朋友。

01 实现功能

1. CompactLogix控制器:1769-L33ERM,IP地址:192.168.1.20

2. ControlLogix控制器:1756-L72+1756-EN2TR,IP地址:192.168.1.10

3. 网络连接:1769-L33ERM与1756-L72通过网线或交换机连接

4. 实现功能:两台控制器之间通过MSG指令实现数据交互

02 软件环境

1. 操作系统:Windows7 旗舰版 SP1 64位

2. 编程软件:Studio 5000 V30.00.00

3. 通信软件:RSLinx Classic Gateway 3.90.00

03 CompactLogix端MSG编程

1. 打开Studio 5000软件,新建项目名称为“CMP”,控制器选择1769-L33ERM,版本为30,如下图所示,已经创建好的项目.

dc665df748737e2876c67671e4c922fe.png

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.

9eaa0560fed18f8d48d0643657c234ba.png
a71423e832bdd845fdec549b75a75d8a.png

3. 再次打开Studio 5000软件,新建项目名称为“CTL”,控制器选择1756-L72,添加以太网通信模块1756-EN2TR,命名为EN2T, 并在控制器标签里面创建2个标签,Write_tag,Read_tag,数据类型均为DINT[5],将程序下载到控制器并在线.

92dc33c2068d6c0391afd3353f1eca68.png

4. 在EXCEL中,编制数据通信协议表,这步很重要,尤其是大量数据交互时,编程通信表让数据清晰明了,建议大家在程序开发时,养成多用EXCEL的习惯.

cff8811b75f59d2b19eab93e96b44139.png

5. 在项目CMP(1769-L33ERM)里面调用MSG指令,编写读取、发送数据的程序,详见下图.

17bf9a7b38a5e1580b6575f929a96a0a.png

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

228d3bc880e475b1c8a0ec673ba6c0aa.png

7. 指令MSG_Wr用于1769-L33ERM发送数据到1756-L72,详细配置见下图:

9271d12e950325b6c14105f31d402f11.png

8. 功能测试,将项目CMP中的程序下载并在线,在CMP标签Write_tag写入数据,控制器CTL中的标签Read_tag数据立即发生变化与之相同;在CTL标签Write_tag写入数据,控制器CMP中的标签Read_tag数据立即发生变化与之相同,说明通信成功.

f7eba6e58c08c36cd545b9a15cf5049e.png

04 ControlLogix端MSG编程

1. 在项目CTL(1756-L72)控制器,再创建2个标签:

(1) MSG_Rd,数据类型MESSAGE,从1769-L33ERM中读取数据的通信指令结构体;

(2) MSG_Wr,数据类型MESSAGE,把数据写到1769-L33ERM的通信指令结构体.

03d691f8666de51a69b074d94bcdcf41.png

2. 编写通信程序,调用MSG指令,与在项目CMP的指令完全相同.

d38eae662c54d66c7d5759f1aacf83de.png

3. 指令MSG_Rd用来读取1769-L33ERM数据,详细配置见下图:

(1) Message Type等参数与CMP程序配置相同,请参考前面表述;

(2) 通信路径:EN2T,2,192.168.1.20,1,0

204e57e4ecc5e2529a846385620d0ba6.png

4. 指令MSG_Wr用来发送数据到1769-L33ERM,其中Message Type等参数与CMP程序配置相同,请参考前面表述,通信路径:EN2T,2,192.168.1.20,1,0(注意:符号为英文符号,前面也是).

bcd19b87366760f622d490e5036b41fc.png

5. 功能测试,将项目CTL中的程序下载并在线,在CMP标签Write_tag写入数据,控制器CTL中的标签Read_tag数据立即发生变化与之相同;在CTL标签Write_tag写入数据,控制器CMP中的标签Read_tag数据立即发生变化与之相同,说明通信成功.

07ed6c8ff9d4c88075f4e26bb5b69ad3.png

05 资料下载

1. MSG指令的应用非常广泛,不仅限于LOGIX 5000控制器之间进行数据交换,同样适用于LOGIX 5000控制器与其他系列控制器.

78224231e5d1a4646bd674992adc91c7.png

2. MSG指令,其难点在于通信路径的设置,本文案例就非常典型.

10ca660e0e67dbd3879fa563d78ebb64.png

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工作室】

坚持原创 注重实用

如果本文,对您有一点帮助或启示。

请分享给更多的朋友,对小编以示鼓励,谢谢!



推荐阅读
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 思科IOS XE与ISE集成实现TACACS认证配置
    本文详细介绍了如何在思科IOS XE设备上配置TACACS认证,并通过ISE(Identity Services Engine)进行用户管理和授权。配置包括网络拓扑、设备设置和ISE端的具体步骤。 ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • POJ 2482 星空中的星星:利用线段树与扫描线算法解决
    在《POJ 2482 星空中的星星》问题中,通过运用线段树和扫描线算法,可以高效地解决星星在窗口内的计数问题。该方法不仅能够快速处理大规模数据,还能确保时间复杂度的最优性,适用于各种复杂的星空模拟场景。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 性能测试中的关键监控指标与深入分析
    在软件性能测试中,关键监控指标的选取至关重要。主要目的包括:1. 评估系统的当前性能,确保其符合预期的性能标准;2. 发现软件性能瓶颈,定位潜在问题;3. 优化系统性能,提高用户体验。通过综合分析这些指标,可以全面了解系统的运行状态,为后续的性能改进提供科学依据。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 在交换机链路聚合中,负载均衡算法通过哈希表实现。每当创建一个新的聚合组时,交换机的底层硬件会生成一个对应的哈希表,该表存储在交换芯片上。哈希表的结构包括索引(Index)和相应的条目,这些索引由硬件支持,用于确定数据包的传输路径。通过这种方式,负载均衡算法能够高效地分配网络流量,提高链路利用率和系统性能。 ... [详细]
author-avatar
你走以后_心若逝世灰决_677
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有