




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密 级分类号编 号成 绩本科生毕业设计 (论文)外 文 翻 译原 文 标 题INTERFACING THE CONTROLLOGIX PLC CONTROLLOGIX PLC OVER ETHERNET/IPOVER ETHERNET/IP译 文 标 题基于ETHERNET/IP的CONTROLLOGIX系列PLC接口作者所在系别电子工程系作者所在专业自动化作者所在班级B04221作 者 姓 名李晓云作 者 学 号20044022115指导教师姓名孙东辉指导教师职称副教授完 成 时 间2008年7月北华航天工业学院教务处制译文标题基于ETHERNET/IP的CONTROLLOGIX系列PLC接口原文标题INTERFACING THE CONTROLLOGIX PLC OVER ETHERNET/IP作 者K.U. Kasemir,etc.译 名凯瑟米尔等国 籍美国原文出处8th International Conference on Accelerator & Large Experimental Physics Control Systems,2001基于ETHERNET/IP的CONTROLLOGIX系列PLC的接口凯瑟米尔, L.R. 戴勒丝, 美国摘 要由美国A-B公司生产的ControlLogix系列可编程序逻辑控制器(PLC)提供了多种接口类型:如以太网、ControlNet、 DeviceNet、RS-232等等。ControlLogix 以太网连接模块“1756-ENET”使用了EtherNet/IP、ControlNet等协议,并采用了专业的服务代码封装于以太网协议包中。针对“实验性物理和工业控制系统”(EPICS)开发的驱动程序使用了EtherNet/IP 协议,从而使得控制器可以运行vxWorks RTOS、Win32 和Unix/Linux的测试程序。现在来分析一下这个接口的特点和使用场合。1 引言散裂中子源项目(SNS)的几个子系统使用了A-B公司的ControlLogix系列PLC。通过集成这些EPICS加速器控制系统和输入输出控制器(IOC),系统可以直接进行读取和写入PLC 数据。有了输入输出控制器(IOC),Unix 或Win32系统的计算机和所有装有以太网连接口的个人计算机都可以对PLC进行编程,但它同时要求必须使用相同的技术来传输PLC 数据。在现有的综合布线、网络硬件、配置和维护等技术知识的支持下,该产品完全可以使用。2 ETHERNET/IP ControlNet 是一种确定性的串行通信系统, 它的协议模型同七层的ISO OSI模型相似,采用了从物理层到应用层分层方式。ControlNet2.0版本引入了数据包的TCP/IP 封装,而代替了基于以太网(IP/UDP/TCP)的物理层和数据链路层,最终形成“基于以太网的ControlNet”,称为EtherNet/IP。默认地,使用TCP/IP的端口0xAF12连接到EtherNet/IP 目标之后,遵循封装协议建立一个身份ID,就可以直接进行信息交换了。他们定义了目标对象控制和信息协议(CIP),此协议被列为ControlNet协议的一部分。对于ControlNet 传送层,协议区别“无关联”和“关联”CIP信息。虽然他们封装方式不同,但都可以通过默认的TCP协议进行连接。3 CONTROLLOGIX的以太网接口ControlLogix系列PLC使用ControlNet总线来联接本地I/O板卡作为平台,1756-ENET以太网模块支持EtherNet/IP。只要遵循EtherNet/IP协议,我们就可以使用SendRRData等封装命令,发送CIP 消息即可:Service: Get_Attribute_Single (0x0E)Path: Identity Object (class 0x01, instance 1),Product Name (attrib. 7)作为回复, 接口送回如下信息:Service: Get_Attribute_Single-Reply (0x8E)Response: length=12, “1756-ENET/A ”CIP 对象模型同样包括“模拟输入点”(0x0A)和“离散输入组”(0x1D)对象,但是到目前为止,我们一切试图使用它们来访问ControlLogix模拟或数字输入模块的行为都失败了。原因是没有一个标准的CIP 对象可以用来访问PLC的标签名称。与此同时, A-B公司针对ControlLogix推出了新的CIP 服务编码,包括使用CIP路径来命名梯形图逻辑标签、单独使用读写的服务代码以及结合了传输二进制数据格式而使用的一些传输协议。使用SendRRData 封装命令来发送CIP数据到PLC,必须通过连接管理器对象1756-ENET 模块来寻址,见下例:Service: CM_Unconnected_Send (0x52)Path: Connection Manager (class 0x06, instance 1), Path: Port 1(back plane), Link # (slot # of PLC)。这则消息是读取一个标签TEST:Service: CIP_Read_Data (0x4C)Path: TEST (ANSI extended symbol segment)Elements: UINT 1当从PLC的回复显示端口连接成功则连接管理器开始传输:Service: CIP_Read_Data-Reply (0xCC)Response: CA 00 00 80 38 3B = REAL 0.002815CIP_Write_Data 服务(0x53) 允许在PLC上通过相似嵌入修改标签。与其它通信协议相比,它对梯形逻辑图的要求并没有改变!CIP读写服务能够访问所有控制器标签而不需要预先在PLC编程的软件标记他们为“生产”或“消费”类型,这包括对I/O 模块的接入:模拟输入模块可利用在槽1上的第一通道,即“Local:1:I.Ch0Data”这种类型的传输称为明确无关联传输,因为标签名被明确地提出,各个协议包是单独寻址。对于连接信息, 在PLC上的消息路由器被要求打开连接:Service: CM_Forward_Open (0x54Path: Connection Manager (class 0x06, instance 1)Connection Path: Port 1, Link 0 (back plane,PLC slot), Message Router (class 0x02, instance 1)回复信息中提供一个号码。CIP_Read_Data请求能够按照SendUnitData封装命令的连接消息立即发送, 同时在信息前加上一个顺序编号,发送CM_Unconnected_Send 消息则并不需要嵌入这些。4设计的方案因为ControlNet连接信息的优势不能在EtherNet/IP上体现,这时就可以使用无关联信息: 以太网不预留带宽;通过TCP协议来保证传输。对于CIP_Read_Data 请求,比起关联信息,无关联信息有效地压缩了信息,并且在传输中提高了3%的速率。而缺点是,客户端应用程序必须在建立更新连接时发送请求,或者更快。以太网的延迟将导致PLC断开连接。ControlLogix 多请求服务(0x0A) 是用作合并CIP_Read/Write_Data 请求,即当总请求或期望的请求值的大小到达PLC的缓冲极限(大约500字节)的时候使用。5 EPICS技术支持的实施根据请求的更新率,vxWorks 驱动代码针对各个PLC在扫瞄列表中都安排了标签名。一周期内每个PLC将处理所有读写请求。EPICS设备的输入和输出驱动支持:模拟量、二进制数和多位记录类型。当使用单个数组元素或结构体元素, 以及并非数组或结构体的全部时,标签名就必须使用标量值。可以处理的PLC 数据类型包括BOOL、 SINT、 INT、DINT和REAL。也可以在运行时改变记录的配置,这些是不需要重新起动输入输出控制器(IOC)的, 即所涉及的标签名记录能实时替换。当发生通信错误或超时,驱动将默认断开PLC连接并尝试再连接。数组元素进入数组时,驱动默认要求传输顺序是从第一个元素到请求最高的元素。这样就决定了传送时间会大量减少,但可能会产生其他作用: 每当输出改变的记录超过一个元素时,输入输出控制器(IOC)总将重写整个数组。因为持续传输,同样的PLC 数组被其它数据来源也修改了 (由PanelView 显示), 输入输出控制器(IOC) 对这些变动忽略而重写他们。数组传输同样是受到上述PLC 缓冲极限和大小限制的。针对这些情况,记录配置允许个别的数组元素传输到工作区。对于输出记录, 每当记录被处理时,驱动都将发送一个CIP_Write_Data 消息。否则它将周期性地从PLC上读取标签,并且当记录内容不同时,在PLC上将不断更新输出记录值。驱动为各扫瞄列表保留统计信息(错误计数,最新/最小/最大传送时间)。模拟输入记录能够得到这些值。这样会出现一个问题,以BOOL 数组为例,他们会被作为DINT值传输。对于一个模拟值记录,标签“TEST5”会被作为第5个元素标记 “TEST”。同样地当在BOOL 数组中,结果会是标记第5个DINT,160-191位。所以对于二进制记录,所有数组被作为BOOL 数组进行连通,并且“TEST 5 ”会在对DINT0 (第5位)请求时传输。以上情况在PPC 和奔腾输入输出控制器(IOC)68K上都作了测试。更底层的驱动层会依次处理其他的字节。另外,一条简单的命令行编程是可以在Unix 和Win32 上使用的,它允许作为一种对PLC 标签读写的调试工具。6 成果请看下面,使用 MVME2100 CPU 与100baseT 网络接口通过一个双倍速集线器连接到一个10baseTPLC。其它办公室个人计算机和Linux 文件服务器连接到同样的集线器上。网络使用率一般在2% 以下。若是传输标量REAL、BOOL 或DINT,以及一组15 个REAL或352个BOOL值,速度是平均11毫秒传输一个单个的标签。从EPICS驱动合并多个请求是由PLC 决定并受缓冲极限限制的,大约15个标签, 每个以15个字符命名,当单独的传输要求超过160 ms时,合并后可能只需大约20 ms。而当使用普通设置时,输入输出控制器(IOC)配置了352 个二进制的输入记录,以10Hz扫描一个BOOL 数组的元素。而120 个模拟输入记录, 以2 Hz扫描的三个元素为40个REAL的数组。因为以太网的不确定性,由于网络拥挤这些传输的比例会随时间而变化,造成的传送时间如下面直方图。图1: 3 天内的传送时间。整个BOOL 数组传输时间平均是在15ms内,所有REAL的数组传输了25ms,以便于记录能更容易地在选定的扫瞄速率上更新。对于这些测量值,PLC 的“系统上限的时间”设置到了10% 。在增加到50%以后同时连接CPU 和PLC 到网络交换器,单个标签的平均时间减少到了7ms 。7 结 论在使用开放的A-B公司产品进行读写标签等操作时,遵循EtherNet/IP协议是十分重要的。EPICS使用起来很方便。在系统运行时也可以随意改变记录配置;传输中由PLC缓冲极限的限制从而自动地决定是否合并。对比其它协议,没有必要定义标签名为“生产者”或“消费者”,亦不要求为ControlNet传输预定一个网络带宽值。根据以太网的本身特性,传送速率会随时间自动变化。交换网络拓扑结构也使网络的不确定性减到了最小。为了达到所需的输出值,也可以将值放在数组里。这样保证了梯形逻辑图的可读性,传输数组元素时,标签名字尽量使用可理解的而非无意义的名称。CIP 服务代码不允许读取PLC 标签名字及类型等信息,但它可以使用更为友好的EPICS驱动。各明确信息的标签传输信息是双向的请求。测试的1756-ENET模块版本不支持隐性信息。理想的输入输出控制器(IOC) 能读取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双方合作利益合同范本
- 编剧应聘合同范本
- ktv管理股合同范本
- 澳洲股权转让合同范本
- 整体分包合同范本
- (完整版)物流与供应链管理作业和答案
- 委托收款三方协议书范本模板7篇
- 家庭教育心得体会例文10篇
- 前台年度工作计划怎么写(5篇)
- 纸杯游戏猜谜题目及答案
- 2025年中级注册安全工程师《安全生产法律法规》十年真题考点
- 2025未签合同劳动争议仲裁申请书
- 2025年职业指导师考试试卷:实践操作
- 幼儿园2025师德师风应知应会知识测试试题(附答案)
- 2025年北京中考真题英语试题及答案
- 搬运工具管理办法
- 撤资协议范本(2025版)
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战
- 2025年公需课考试题库(附答案)
- QC/T 1224-2025装备空气悬架的商用车减振效果判定方法
- 农资货运运输管理办法
评论
0/150
提交评论