2009-06-26
评论11
楼主 2009/5/31 10:40:27
以太网工业协议(Ethernet Industrial Protocol,EtherNet/IP)是开放的工业联网标准支持实时I/O控制和消息传递功能。这种融合是基于将以太网应用于工业控制应用日益明显的需求。
工业以太网协议 (Ethernet/IP) 是由 ODVA 所开发并得到了罗克韦尔自动化的强大支持。它使用已用于 ControlNet 和 DeviceNet 的控制和信息协议 (CIP) 为应用层协议。
CIP 提供了一系列标准的服务,提供 “ 隐式 ” 和 “ 显示方式对网络设备中的数据进行访问和控制。 CIP 数据包必须在通过以太网发送前经过封装,并根据请求服务类型而赋予一个报文头。这个报文头指示了发送数据到响应服务的重要性。通过以太网传输的 CIP 数据包具有特殊的以太网报文头,一个 IP 头、一个 TCP 头和封装头。封装头包括了控制命令、格式和状态信息、同步信息等。这允许 CIP 数据包通过 TCP 或 UDP 传输并能够由接收方解包。相对于 DeviceNet 或 ControlNet ,这种封装的缺点是协议的效率比较低。以太网的报文头可能比数据本身还要长,从而造成网络负担过重。因此, EtherNet/IP 更适用于发送大块的数据 ( 如程序 ) ,而不是 DeviceNet 和 ControlNet 更擅长的模拟或数字的 I/O 数据。
EtherNet/IP指的是"以太网工业协议"(Ethernet Industrial Protocol)。它定义了一个开放的工业标准,将传统的以太网与工业协议相结合。该标准是由国际控制网络(CI, ControlNet International)和开放设备网络供应商协会 (ODVA)在工业以太网协会 (IEA, Industrial Ethernet Association)的协助下联合开发的,并于2000年3月推出。EtherNet/IP是基于TCP/IP系列协议,因此采用以原有的形式OSI层模型中较低的4层。所有标准的以太网通信模块,如PC接口卡、电缆、连接器、集线器和开关都能与 EtherNet/IP 一起使用。
楼主 2009/5/31 10:42:06
引 言
楼主 2009/5/31 10:42:47
CIP协议用面向对象语言描述。CIP协议对象模型如图6所示。未连接报文管理器(UCMM)的主要作用是建立I/O连接和显性连接。当一设备要与网络上另一设备建立连接时,先给对方设备的UCMM发送连接请求,对方设备若答应请求则创建、初始化连接对象,并向请求设备的UCMM返回响应信息。然后原来发出请求的设备创建、初始化自己的连接对象。连接完成之后,就可以通过连接对象传送显性报I/O报文。报文路由的主要作用是对报文打包、解包,将连接对象接收过来的报文解包,分发给各个对象。然后将各对象返回的数据打包,交给连接对象发送。
楼主 2009/5/31 10:43:51
工业以太网产生的背景
楼主 2009/5/31 10:44:40
(3) 在某些应用场合允许的情况下,尽量将控制网与信息网分割开来使用,以避免实时数据与非实时数据的碰撞,使工业控制站点之间的以太网为独立网段,从而改善实时性和不确定性。除此之外,还可以采用全双工技术降低网络负载,以及在Ethernet+TCP/IP协议的基础上制订统一并适用于工业现场控制的应用层技术规范等措施。采取以上措施可以使工业以太网在某些军事、工业、民用的领域的现场测控中得到初步应用。例如,国外不少国家核加速器最新测控方案选择了以太网,除此之外汽车装配线、薄钢生产线等均采用工业以太网的方案,从测控领域的发展方向上看,工业以太网将是未来测控领域中的一个重要发展方向,也是企业管控一体化和智能建筑系统集成的一种最佳方案。
楼主 2009/6/4 11:21:15
引 言
电力系统中,现场数据不但包括功率、电压、电流等测量数据,还包括分合闸、过流、速断等操作及事故所产生的事件数据。当发生事故而导致跳闸时,还要记录现场的故障录波数据,可见,需要通信的数据量是一般工业控制中所无法比拟的。由于电力系统现场数据的变化非常快,一次过流可能只维持十几毫秒,数据稍纵即逝,所以对数据的实时性、通信速度的要求是非常高的。
监控系统底层数据可靠、高效的通信是系统可靠性的关键,是设计监控软件的重点。一些现有的软件,将数据通信、处理和监控都做在一个软件中,虽然显得直观紧凑,但系统的升级改进却十分不便,一个微小的改动都要对全部系统进行重新整理,因此,采取模块化结构是比较好的一种选择。
笔者在一个大型电力监控系统设计中,硬件上采用通信站和监控站分开的独立方式,软件上将底层通信软件从监控软件中分离出去,在通信站中独立工作,通信站专门负责底层现场实时数据的采集,并和上层监控站进行双向数据通信。由于通信站的独立,使上层监控站的任务大大减轻,不但提高了底层的通信速率,还加快了监控界面的数据刷新速度。如果下层仪表数量很多,可以在通信站上采用多路双口RAM智能通信卡,并扩充为多个串口,进一步提高底层通信速度。
2 系统结构
给出了一种典型的系统结构,这种结构综合了以上讨论的特点。其中,两个通信站组成双机冗余热备,保证系统的安全运行,现场仪表的数据通过RS-485/422串口传送给通信站,通信程序读取串口的数据,解析后一方面将数据存入数据库,作为历史数据加以保存,另一方面通过TCP/IP协议,将数据打包后传递给上位机,在监控软件中进行运接送上以太网,也利于远程监测和故障诊断。
由于通信站和监控站是分离的,只要都支持TCP/IP通信协议,编写监控系统的工具语言不需要与通信站相同,这样就给用户提供了灵活的平台选择,可以利用一些图像功能强大而硬件功能相对弱的组态软件编写监控软件,以提供直观漂亮的操作画面。
对于一些特殊的下层仪表,如果通信协议不同,只需在通信软件中改变相应的协议即可,不需要对监控软件作出任何修改。用这种方法,可以非常灵活的兼容各种不同通信协议的仪表。这样,系统的升级和扩展就会相当方便。
3 提高通信速度的措施
3.1 硬件措施
通信站与上层监控站间的通信是通过以太网传输的,通信速度快,实时性很好。而现场仪表与通信站之间是通过串口读写数据的,在仪表传输速率与传输数据量一定的条件下,当现场仪表的数量多到一定程度,由于总数据量过大而造成通信时间过长,可能会成为限制实时性的瓶颈,为了解决这个问题,硬件上可以采取以下的改进。
3.1.1 多串口数据通信
串行通信具有连接简单、使用灵活方便、数据传递可靠等优点,在数据采集和实时控制系统中得到了广泛应用。
一般情况下,多台下层仪表连在一条通信总线上,通信站通过其一个串口连接一条通信总线,从而实现通信站与仪表的串行通信。这时,通信站对全部下层仪表作一次数据通信的时间等于通信站与每个仪表的通信时间之和。
在电力系统中,随着系统规模的增大,下层仪表数目增多,扫描周期将相应增大,从而使操作员难以及时掌握现场的运行状况,系统安全性得不到保证。由此可以看出,上下层通信速度极大的影响着整个系统的实时性,制约电力监控系统的规模及发展。
为解决这个问题,可将一个串行通信过程分成多个串行通信过程,以提高工作效率。如图3-1所示,硬件上通过使用多串口通信卡,软件上对各个串口同时扫描,实现多串口通信的并行工作方式。
这时下层仪表分别连在多条通信总线上,因为Windows操作系统支持多任务管理,计算机可同时对多个串口进行读写。假定有100台仪表,使用5个串口通信所需要的时间是用1个串口所需时间的1/5,这样就使通信速度大大提高。
3.1.2 多串口智能通信卡
智能通信卡是一种具有微处理器和双口RAM的高速通信接口板,可插在计算机的I/O扩展槽内使用,其主要作用是减轻计算机CPU处理通信任务的工作量,有助于提高系统数据刷新速度。
在使用多串口智能通信卡后,系统程序下发给仪表的命令可通过写硬件端口的方式存储在智能通信卡的RAM中,由通信卡利用自带的CPU,通过串行通信向仪表发送;另一方面通信卡利用自带的CPU接收仪表返回的数据,存储在其RAM中,系统程序通过读硬件端口的方式获得通信卡中的信息。
由此原本计算机与仪表之间繁重的串行通信工作,改由智能通信卡完成。这样计算机CPU的工作量大大减轻,与底层仪表的通信速度会大大加快。
3.2 软件的优化
现在计算机的运行速度大大超过底层数据的硬件传输速度,如果简单的进行一发一收式的顺序读写控制,计算机大部分时间都会处于等待数据的状态,浪费了大部分的计算机资源。
在Windows环境下,微软基类库(MFC)提供了对多线程的支持。在软件中可以使用多线程技术,每一个串口的读写对应一个线程,和上层程序的通信也用一个独立的线程,这样,上层程序对仪表的操作可以快速的显现出来。从宏观的角度上看,程序同时在对多个任务进行操作,CPU的运行速度得到了最大限度的发挥,充分的利用了计算机资源。
实践证明,采用多线程技术,从软件着手充分利用计算机CPU的速度优势,加快整个控制系统的上下层通信速度,非常有助于提高整个系统的实时性。
4 结束语
该文的方法在工程项目中采用后,不仅有效的提高了数据的通信速度,而且由于软件的模块化结构,下层通信程序的独立性,可以自由适应于不同的系统规模和各种类型的仪表,面对不同的需求,上层的监控程序不需要改动,只要将下层通信程序的通信协议改为对应仪表的即可。此方法不仅适用于电力系统监控,而且对其它大型工业测控系统具有广泛的应用价值。
楼主 2009/6/5 9:47:01
楼主辛苦了
楼主 2009/6/6 10:35:55
很不错
楼主 2009/6/9 18:25:59
楼主 2009/6/26 14:06:10