现场总线技术标准化的思考与CIP协议架构的启发
一、现场总线技术的兴起和市场动力
七十年代,微处理器技术的进步以及“集中管理、分散控制”的风险控制策略促成了基于微处理器芯片的集散控制系统开始进入市场,同时也将用于控制器之间和控制器与上位机之间的数据通讯的计算机通讯网络技术引入了工业自动化领域。但此时由于各自动化厂商的控制系统自成一体,网络通讯只是其系统的内部功能之一,无需与外界进行数据交换。八十年代以后,随着微处理器芯片应用的不断渗透,“智能化”的传感器、开关、执行机构等工业现场控制器件不断涌现,但各厂商根据所生产的元器件的特点而开发的数据通讯协议也是五花八门、种类繁多,单个的元器件似乎充满了“智能”,但与控制系统集成时仍然只能沿用传统的电缆接线一对一接入I/O接口板,并不能真正体现其“智能化”的优点。因此要将这些众多不同厂商的“智能化”现场控制元器件集成为一个完全数字化的集散控制系统,公共开放的网络通讯协议标准就显得非常必要。在这一市场动力的推动下,各控制系统(包括PLC和DCS)的生产厂商基于其原先内部专用的网络通讯技术纷纷提出了各种各样开放程度不同的现场总线通讯协议标准,并随着技术的进步不断补充和完善。
二、现场总线技术标准化的现状
从上世纪八十年代开始,美国仪表协会(ISA)和国际电工委员会(IEC)即已设立专门的机构来研究和提出现场总线技术标准。然而由于种种原因,经过长达十多年的努力,终于在2000年颁布的国际标准IEC61158却是一份让所有自动化领域相关人员感到困惑和尴尬的标准,因为它包含八种互不兼容的总线协议。随着IT技术不断向工业领域渗透,以太网(Ethernet)作为新的现场总线技术让很多人充满了期望,但2003年第三版的lEC61158标准的颁布,在新版本中增加了三种基于以太网技术的新协议,将总线协议的标准增加到十一种,同时还有更多的基于以太网技术的新协议正积极努力加入到标准的协议集内。
三、现场总线技术标准化进程的分析思考
分析用户的需求,我们大致可以将用户对现场总线的技术要求和期望分为以下三个层次:
1) 智能元器件与控制器(站)之间的互连互通,主要目的是替代传统的I/O电缆。其要求是能传送传统的I/O数据,并附加传送一些智能元件特有的告警和故障诊断信息。
2) 在传送以上实时监控数据的基础,用户进一步的要求是希望通过网络来进行集中的工程设计组态、程序动态修改下载以及元器件的远程诊断和校准等。
3) 在互连互通的基础上,用户希望能够在各种情况下“重构”系统,如在元器件损坏更换、系统改扩建以及系统升级或部分升级等情况下,要求能够无障碍地接入第三方的元件或新技术条件下的升级产品。
从以上用户的需求上可以看出,用户是希望通过现场总线技术,利用网络数据通讯的手段实现各种智能元器件与控制器(站)之间的“互连”、“互通”、“互换”,但并没有要求说所有这些功的必须在一个“单一”的统一网络来实现。正如在Internet网络上用户希望实现电子邮件、文件下载、网络浏览、网上游戏等服务,但这并没有要求Internet网络必须是一个“单一”的“同构”网络。
从通讯协议的构筑模型上看,目前几乎所有的通讯协议一般来说都是参照OSI的七层模型,但绝大多数协议都是从物理层开始“自底向上”自成一体地构筑一个“垂直一体化”的协议栈,使得八种标准协议之间在任何层次上都很难“互连”、“互通”,更谈不上“互换”功能。事实上制定OSI分层模型的目的是让涵盖不同技术元素不同发展变化速度的通讯实体分为相互独立的层次,以使各层次既能够相互结合成为一个端对端完整的协议栈,又能够相互独立发展而不互相制约。比如在我们最熟悉的Internet网络协议簇中,因特网之所以能够如此成功,就是以TCP/IP协议栈为核心,对上可以服务众多不同的应用层协议(WWW、FTP、电子邮件等),向下则可在众多不同的局域网(Ethernet、FDDI等)、广域网(拨号网络、X.25等)平台上实现。
从某种意义上来说,现场总线技术的标准化进程出现目前困境的原因很大程度上可能是当初一开始就将“单一的垂直一体化的同构网络”这一过于“理想”的期望设定为技术标准的目标,结果不但不能达到目的,反而适得其反,出现了“群雄纷争,互不兼容”的局面。
四、CIP协议架构的启发
CIP协议规范是叠加在ControlNet、DeviceNet和EtherNet这三种完全不同的网络技术平台之上的“与网络硬件技术无关”的公共的“网络传输层、应用层、用户层”协议规范,也就是说它可以实现“异构网络”下的系统的“互连”、“互通”,直至“互换”功能。按照OSI七层通讯模型,CIP协议架构下的协议栈结构如下图所示。
由以上示意图可以看到,与其它现场总线技术通讯协议一个很大的不同就是有一个具有“网络传输层”功能的“CIP Messaging”协议规范。其中最核心的部分就是将应用对象之间通讯关系抽象为“连接(Connection)”,并与之相应制定了应用对象的逻辑地址规范,从而使CIP协议可以不依赖于某一具体的网络硬件技术,而是用逻辑对象地址来定义“连接(Connection)”关系。
并将某一种具体的网络技术平台抽象为与网络接口相关的“物理链路对象(Link Object)”,这样使得CIP协议在不同的网络技术平台上具体实现时唯一需要的接口就是与该网络平台相对应的“物理链路对象(Link Object)”,如“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协议真正成为一个“与网络硬件无关的具有路由功能的跨网络的网络通讯协议”,同时也使得它成为在“异构网络”环境下实现系统的“互连”、“互通”,直至“互换”功能的核心技术规范。
五、结论
通过对目前各种现场总线技术通讯协议的研究分析认为,现场总线技术的标准不应该设定为一个从物理层/数据链路层直至应用层和用户层的“垂直一体化”的单一标准,而应该是按照技术元素发展变化的特点,分层次构筑各层次的既相互配合又相互独立的技术标准,这样既允许多种技术协议并存竞争,又能促进实现标准化进程的“互连”、“互通”,直至“互换”的目标。其核心部分或许可以放在与TCP/IP协议功能相当的“网络传输层”,CIP协议规范中“连接(Connection)”这一模型是一个很好的范例。
七十年代,微处理器技术的进步以及“集中管理、分散控制”的风险控制策略促成了基于微处理器芯片的集散控制系统开始进入市场,同时也将用于控制器之间和控制器与上位机之间的数据通讯的计算机通讯网络技术引入了工业自动化领域。但此时由于各自动化厂商的控制系统自成一体,网络通讯只是其系统的内部功能之一,无需与外界进行数据交换。八十年代以后,随着微处理器芯片应用的不断渗透,“智能化”的传感器、开关、执行机构等工业现场控制器件不断涌现,但各厂商根据所生产的元器件的特点而开发的数据通讯协议也是五花八门、种类繁多,单个的元器件似乎充满了“智能”,但与控制系统集成时仍然只能沿用传统的电缆接线一对一接入I/O接口板,并不能真正体现其“智能化”的优点。因此要将这些众多不同厂商的“智能化”现场控制元器件集成为一个完全数字化的集散控制系统,公共开放的网络通讯协议标准就显得非常必要。在这一市场动力的推动下,各控制系统(包括PLC和DCS)的生产厂商基于其原先内部专用的网络通讯技术纷纷提出了各种各样开放程度不同的现场总线通讯协议标准,并随着技术的进步不断补充和完善。
二、现场总线技术标准化的现状
从上世纪八十年代开始,美国仪表协会(ISA)和国际电工委员会(IEC)即已设立专门的机构来研究和提出现场总线技术标准。然而由于种种原因,经过长达十多年的努力,终于在2000年颁布的国际标准IEC61158却是一份让所有自动化领域相关人员感到困惑和尴尬的标准,因为它包含八种互不兼容的总线协议。随着IT技术不断向工业领域渗透,以太网(Ethernet)作为新的现场总线技术让很多人充满了期望,但2003年第三版的lEC61158标准的颁布,在新版本中增加了三种基于以太网技术的新协议,将总线协议的标准增加到十一种,同时还有更多的基于以太网技术的新协议正积极努力加入到标准的协议集内。
三、现场总线技术标准化进程的分析思考
分析用户的需求,我们大致可以将用户对现场总线的技术要求和期望分为以下三个层次:
1) 智能元器件与控制器(站)之间的互连互通,主要目的是替代传统的I/O电缆。其要求是能传送传统的I/O数据,并附加传送一些智能元件特有的告警和故障诊断信息。
2) 在传送以上实时监控数据的基础,用户进一步的要求是希望通过网络来进行集中的工程设计组态、程序动态修改下载以及元器件的远程诊断和校准等。
3) 在互连互通的基础上,用户希望能够在各种情况下“重构”系统,如在元器件损坏更换、系统改扩建以及系统升级或部分升级等情况下,要求能够无障碍地接入第三方的元件或新技术条件下的升级产品。
从以上用户的需求上可以看出,用户是希望通过现场总线技术,利用网络数据通讯的手段实现各种智能元器件与控制器(站)之间的“互连”、“互通”、“互换”,但并没有要求说所有这些功的必须在一个“单一”的统一网络来实现。正如在Internet网络上用户希望实现电子邮件、文件下载、网络浏览、网上游戏等服务,但这并没有要求Internet网络必须是一个“单一”的“同构”网络。
从通讯协议的构筑模型上看,目前几乎所有的通讯协议一般来说都是参照OSI的七层模型,但绝大多数协议都是从物理层开始“自底向上”自成一体地构筑一个“垂直一体化”的协议栈,使得八种标准协议之间在任何层次上都很难“互连”、“互通”,更谈不上“互换”功能。事实上制定OSI分层模型的目的是让涵盖不同技术元素不同发展变化速度的通讯实体分为相互独立的层次,以使各层次既能够相互结合成为一个端对端完整的协议栈,又能够相互独立发展而不互相制约。比如在我们最熟悉的Internet网络协议簇中,因特网之所以能够如此成功,就是以TCP/IP协议栈为核心,对上可以服务众多不同的应用层协议(WWW、FTP、电子邮件等),向下则可在众多不同的局域网(Ethernet、FDDI等)、广域网(拨号网络、X.25等)平台上实现。
从某种意义上来说,现场总线技术的标准化进程出现目前困境的原因很大程度上可能是当初一开始就将“单一的垂直一体化的同构网络”这一过于“理想”的期望设定为技术标准的目标,结果不但不能达到目的,反而适得其反,出现了“群雄纷争,互不兼容”的局面。
四、CIP协议架构的启发
CIP协议规范是叠加在ControlNet、DeviceNet和EtherNet这三种完全不同的网络技术平台之上的“与网络硬件技术无关”的公共的“网络传输层、应用层、用户层”协议规范,也就是说它可以实现“异构网络”下的系统的“互连”、“互通”,直至“互换”功能。按照OSI七层通讯模型,CIP协议架构下的协议栈结构如下图所示。
由以上示意图可以看到,与其它现场总线技术通讯协议一个很大的不同就是有一个具有“网络传输层”功能的“CIP Messaging”协议规范。其中最核心的部分就是将应用对象之间通讯关系抽象为“连接(Connection)”,并与之相应制定了应用对象的逻辑地址规范,从而使CIP协议可以不依赖于某一具体的网络硬件技术,而是用逻辑对象地址来定义“连接(Connection)”关系。
并将某一种具体的网络技术平台抽象为与网络接口相关的“物理链路对象(Link Object)”,这样使得CIP协议在不同的网络技术平台上具体实现时唯一需要的接口就是与该网络平台相对应的“物理链路对象(Link Object)”,如“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协议真正成为一个“与网络硬件无关的具有路由功能的跨网络的网络通讯协议”,同时也使得它成为在“异构网络”环境下实现系统的“互连”、“互通”,直至“互换”功能的核心技术规范。
五、结论
通过对目前各种现场总线技术通讯协议的研究分析认为,现场总线技术的标准不应该设定为一个从物理层/数据链路层直至应用层和用户层的“垂直一体化”的单一标准,而应该是按照技术元素发展变化的特点,分层次构筑各层次的既相互配合又相互独立的技术标准,这样既允许多种技术协议并存竞争,又能促进实现标准化进程的“互连”、“互通”,直至“互换”的目标。其核心部分或许可以放在与TCP/IP协议功能相当的“网络传输层”,CIP协议规范中“连接(Connection)”这一模型是一个很好的范例。
文章版权归西部工控xbgk所有,未经许可不得转载。