作者/来源:现场总线论坛 点击率:20
纷争与统一
从上世纪八十年代开始,即微处理器技术大规模应用到工业自动化领域的初始阶段,国际上已经意识到尽早建立用于连接现场各智能元件以及分散控制器的现场总线国际标准的重要性和必要性,并且美国仪表协会(ISA)和国际电工委员会(IEC)从那时起即已设立专门的机构来研究和提出现场总线技术标准。然而由于种种原因,经过长达十多年的努力,终于在2000年颁布的国际标准IEC61158却是一份让所有自动化领域相关人员感到困惑和尴尬的标准,因为它包含八种互不兼容的总线协议。随着IT技术不断向工业领域渗透,以太网(Ethernet)作为新的现场总线技术让很多人充满了期望,但2003年第三版的lEC61158标准的颁布,在新版本中增加了三种基于以太网技术的新协议,将总线协议的标准增加到十一种,同时还有更多的基于以太网技术的新协议正积极努力加入到标准的协议集内。
难在求同存异
分析用户的需求,我们大致可以将用户对现场总线的技术要求和期望分为以下三个层次:
1) 智能元器件与控制器(站)之间的互连互通,主要目的是替代传统的I/O电缆。其要求是能传送传统的I/O数据,并附加传送一些智能元件特有的告警和故障诊断信息。
2) 在传送以上实时监控数据的基础,用户进一步的要求是希望通过网络来进行集中的工程设计组态、程序动态修改下载以及元器件的远程诊断和校准等。
3) 在互连互通的基础上,用户希望能够在各种情况下“重构”系统,如在元器件损坏更换、系统改扩建以及系统升级或部分升级等情况下,要求能够无障碍地接入第三方的元件或新技术条件下的升级产品。
从以上用户的需求上可以看出,用户是希望通过现场总线技术,利用网络数据通讯的手段实现各种智能元器件与控制器(站)之间的“互连”、“互通”、“互换”,但并没有要求说所有这些功的必须在一个“单一”的统一网络来实现。正如在Internet网络上用户希望实现电子邮件、文件下载、网络浏览、网上游戏等服务,但这并没有要求Internet网络必须是一个“单一”的“同构”网络。 但是从八十年代中期两大标准化组织ISA和IEC着手进行现场总线技术标准化工作一开始,人们就将用户的需求理解为一个“单一”的“同构”网络是这一技术标准的最终目标。从物理层和数据链路层,到应用层,再到后来庞大的用户层,全部纳入同一技术标准的范围,以至于到最终完成的2003年版的IEC61158技术文本包括多达4400多页的文件,足见其工作内容之广泛和复杂。
从通讯协议的构筑模型上看,目前几乎所有的通讯协议一般来说都是参照OSI的七层模型,但绝大多数协议都是从物理层开始“自底向上”自成一体地构筑一个“垂直一体化”的协议栈,使得八种标准协议之间在任何层次上都很难“互连”、“互通”,更谈不上“互换”功能。事实上制定OSI分层模型的目的是让涵盖不同技术元素不同发展变化速度的通讯实体分为相互独立的层次,以使各层次既能够相互结合成为一个端对端完整的协议栈,又能够相互独立发展而不互相制约。比如在我们最熟悉的Internet网络协议簇中,因特网之所以能够如此成功,就是以TCP/IP协议栈为核心,对上可以服务众多不同的应用层协议(WWW、FTP、电子邮件等),向下则可在众多不同的局域网(Ethernet、FDDI等)、广域网(拨号网络、X。25等)平台上实现。
基于以上分析,从某种意义上来说,现场总线技术的标准化进程出现目前困境的原因很大程度上可能是当初一开始就将“单一的垂直一体化的同构网络”这一过于“理想”的期望设定为技术标准的目标,结果不但不能达到目的,反而适得其反,出现了“群雄纷争,互不兼容”的局面。
CIP应运而生
CIP协议规范的英文全称为“Control and Information Protocol”,即“控制与信息通讯协议”, 它是叠加在ControlNet、DeviceNet和EtherNet这三种完全不同的网络技术平台之上的“与网络硬件技术无关”的公共的“网络传输层、应用层、用户层”协议规范,也就是说它可以实现“异构网络”下的系统的“互连”、“互通”,直至“互换”功能。
CIP与其它现场总线技术通讯协议一个很大的不同就是有一个具有“网络传输层”功能的“CIP Messaging”协议规范。其中最核心的部分就是将应用对象之间通讯关系抽象为“连接(Connection)”,并与之相应制定了应用对象的逻辑地址规范,从而使CIP协议可以不依赖于某一具体的网络硬件技术,而是用逻辑对象地址来定义“连接(Connection)”关系。
同时,将某一种具体的网络技术平台抽象为与网络接口相关的“物理链路对象(Link Object)”,这样使得CIP协议在不同的网络技术平台上具体实现时唯一需要的接口就是与该网络平台相对应的“物理链路对象”,如“DeviceNet Link Object”、“ControlNet Link Object”和“Ethernet Link Object”等等,而其上层的协议都可不受影响并保持一致,这也就为在跨平台的“异构网络”条件下实现系统的“互连”、“互通”,直至“互换”功能奠定了基础。
更进一步,与其它众多“自底向上”构筑“垂直一体化”通讯协议的现场总线技术不同,它不是根据物理层和数据链路层所能提供的通讯服务原语来定义“连接(Connection)”关系,而是“自顶向上”。根据来自“用户层和应用层”的用户和具体应用领域的实际数据通讯需求, 将“连接(Connection)”关系又细分定义为以下三种类型:
I/O Connection:主要是针对传送用于监视、控制等有一定的实时性要求的数据时的通讯关系,其中绝大部分应该是传送传统上用于实时监控的I/O数据,故以此命名。这种“连接(Connection)”关系的特点是必须预先通过配置工具逐一对与该“连接(Connection)”相关联的应用对象及整个数据链路上的各个节点进行配置和分配固定的资源后才能建立起来,其优势就是一旦建立起这一“连接(Connection)”,则所有加入这一通讯关系的应用对象之间已经对数据内容达成共识,因此所有传送数据均为“元数据”,无需对数据类型或数据本身作任何标识说明或功能描述,传输效率最高,而且整个数据链路已预分配资源,传输可靠性也最高,所以可以满足“实时”控制数据的传送要求。
Explicit Message Connection:主要是针对传送用于工程设计组态、集中管理维护、故障诊断调试等过程中所需传送的非实时信息。它通常是通过点对点的报文传送在两个应用对象之间以相互交互的方式传送,由于报文中的数据内容会随着双方的状态变化和交互过程而变化,因此报文本身必须同时携带对传送数据的类型标识和功能描述,因此将其命名为“显式报文连接(Explicit Message Connection)。这种“连接(Connection)”关系的特点是通讯双方的任何一方应用对象均可应自身的信息传送需求动态发起和建立这种“连接(Connection)”关系,而且是“点对点”的“双工”通讯模式,非常便于应用对象之间的“交互式对话”。通讯过程结束后即拆除“连接(Connection)”并回收资源,这一模式对“阵发式”信息类数据传送是非常合适的。
Bridged Connection:由于在任何一个较大规模的系统中都不可能或不会将所有的控制元器件集中在一个物理网段中,即一般都可能配置成多个网段互连,可能是“同构网段”,也可能是“异构网段”。而当若有数据需从某一个网段传送到另一网段时,不论是I/O数据还是Explicit Message,则其所要经过的跨网段的中间节点(Bridge)必须承担路由所需的“连接(Connection)”关系,实际上即是该节点必须在其内部分别创建与每个网段“Link Object”相应的“背靠背”的“连接(Connection)”对象。
纵观整个CIP协议规范,其中最具特色的是其“Connection”这一抽象对象,以及非常符合“控制和信息”传送需求的“Connection”分类模型:“I/O Connection”、“Explicit Message Connection”、“Bridged Connection”。这使得CIP协议真正成为一个“与网络硬件无关的具有路由功能的跨网络的网络通讯协议”,同时也使得它成为在“异构网络”环境下实现系统的“互连”、“互通”,直至“互换”功能的核心技术规范。