西门子6ES331-7PF01-0AB0
一、现场总线技术的兴起和市场动力
七十年代,微处理器技术的进步以及“集中管理、分散控制”的风险控制策略促成了基于微处理器芯片的集散控制系统开始进入市场,同时也将用于控制器之间和控制器与上位机之间的数据通讯的计算机通讯网络技术引入了工业自动化领域。但此时由于各自动化厂商的控制系统自成一体,网络通讯只是其系统的内部功能之一,无需与外界进行数据交换。八十年代以后,随着微处理器芯片应用的不断渗透,“智能化”的传感器、开关、执行机构等工业现场控制器件不断涌现,但各厂商根据所生产的元器件的特点而开发的数据通讯协议也是五花八门、种类繁多,单个的元器件似乎充满了“智能”,但与控制系统集成时仍然只能沿用传统的电缆接线一对一接入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)”关系。
并将某一种具体的网络技术平台抽象为与网络接口相关的“物理链路对象(bbbb bbbbbb)”,这样使得CIP协议在不同的网络技术平台上具体实现时唯一需要的接口就是与该网络平台相对应的“物理链路对象(bbbb bbbbbb)”,如“DeviceNet bbbb bbbbbb”、“ControlNet bbbb bbbbbb”和“Ethernet bbbb bbbbbb”等等,而其上层的协议都可不受影响并保持一致,这也就为在跨平台的“异构网络”条件下实现系统的“互连”、“互通”,直至“互换”功能奠定了基础。
更进一步,与其它众多“自底向上”构筑“垂直一体化”通讯协议的现场总线技术不同,它不是根据物理层和数据链路层所能提供的通讯服务原语来定义“连接(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)”关系,实际上即是该节点必须在其内部分别创建与每个网段“bbbb bbbbbb”相应的“背靠背”的“连接(Connection)”对象。
纵观整个CIP协议规范,其中具特色的是其“Connection”这一抽象对象,以及非常符合“控制和信息”传送需求的“Connection”分类模型:“I/O Connection”、“Explicit Message Connection”、“Bridged Connection”。这使得CIP协议真正成为一个“与网络硬件无关的具有路由功能的跨网络的网络通讯协议”,同时也使得它成为在“异构网络”环境下实现系统的“互连”、“互通”,直至“互换”功能的核心技术规范。
五、结论
通过对目前各种现场总线技术通讯协议的研究分析认为,现场总线技术的标准不应该设定为一个从物理层/数据链路层直至应用层和用户层的“垂直一体化”的单一标准,而应该是按照技术元素发展变化的特点,分层次构筑各层次的既相互配合又相互独立的技术标准,这样既允许多种技术协议并存竞争,又能促进实现标准化进程的“互连”、“互通”,直至“互换”的目标。其核心部分或许可以放在与TCP/IP协议功能相当的“网络传输层”,CIP协议规范中“连接(Connection)”这一模型是一个很好的范例。
当控制计算机与各相距较远时,一般采用串行通信方式而不采用并行通信方式。这是因为并行通信系统的造价较高、众多的连线不仅容易引入干扰,也容易发生线路故障。控制系统中常用的串行通信一般采用rs-232c串行总线标准。rs-232c是工业协会(eia)推荐的一种普及型异步通信总线标准,目前已广泛应用到了计算机系统中外围设备与主机的连接中。
但是rs-232c应用于计算机系统时存在如下问题:
(1)传送距离过近:由于受负载容许值的限制,其传送距离一般不得超过15m;
(2)电平偏移:由于信号地公用且通信双方的信号地需连结在一起,rs-232c应用于长距离通信时信号地线上会存在较大的电流,使得电平发生偏移,容易造成传输错误;
(3)潜在的接地问题:rs-232c总线有一个信号地和一个屏蔽保护地,通信中,双方的信号地需连在一起,但是屏蔽保护地却不一定允许接在一起,同时dte的信号地与屏蔽保护地之间又不一定绝缘,这就存在一个潜在的接地问题,使得系统的抗干扰能力较差。
为了扩大串行通信的有效传输距离,提高通信传输速率,增强抗干扰能力,eia制定了rs-422/485串行总线通信标准,也叫双端接口标准或平衡传输电气标准。rs-422/485与rs-232c的关键不同之处在于将单端输入改为双端差分输入,信号地不再共用,通信双方的信号地不再连在一起。
rs-422/485的优点在于:
(1)采用双端差分输入,总线的抗干扰能力强;
(2)互连双方的信号地分立,两条信号线形成回路,避免了电平偏移,同时也避免了rs-232c中的潜在接地问题;
(3)输出端采用双端平衡驱动,其信号放大倍数高,信号传输距离远。rs-422支持全双工串行通信,rs-485支持半双工串行通信。
在本文涉及的dnc(direct numerical control or distributed numerical control)信息系统中,由于每个生产单元的数控机床数目都远远超过计算机所配置的串口数(一般为两个),因此在本系统采用了台湾moxa公司生产的c320turbo/pci型多串口卡/板,以达到扩展串口的目的。同时为了扩大通信的有效传输距离,本系统采用了rs-232长距光隔转发器(串口长线收发器fc232)。
在此基础上,本文提出了一种满足企业生产需求的数控机床数据传输系统的网络结构,并对该结构中的dnc数据传输的实现进行了详细的描述。
1 系统网络体系结构
图1所示为dnc数据传输系统的网络体系结构。整个dnc数据传输系统由管理层和设备层组成,管理层由1台计算机、rs-232c通讯扩展卡/板及有关外围设备组成,用来完成零件nc程序的管理和传送等功能。设备层由数控机床和相应通讯接口组成,其中通信接口具有双向传送功能,实现nc程序或者控制程序的双向传输。dnc系统除了常规的nc程序上/下载外,还能较好满足边加工边传递nc程序的要求。
1 系统网络结构
有两点需要注意的是,(1)当所要控制和通信的数控机床数超过dnc主机自配置的串口时,将会带来一定的不便。本系统采用moxa inbbblio c320turbo/pci多串口卡(c32010t/pci)和多串口扩展板(c32047t)来实现串口扩展的问题;(2)当dnc主机与数控机床通讯距离较远时(超过15m),使用标准的rs-232c电缆就不能进行有效的通讯了。另外,通讯双方设备使用电缆直通连接,在两端设备不共地或引入处有干扰时,往往会毁坏设备接口。本系统采用rs-232长距光隔转发器(串口长线收发器fc232,成对使用)来解决10km以内距离的rs-232设备间通讯时的延长距离和保护接口问题,其中fc232可以直接插在c32047t上,图中的线起的是示意作用。由于fc232可直接插于rs-232接口上,不需外接电源,兼容rs-232接口软件编程标准,这也给工程人员施工带来方便。
2 系统串行通信的实现
2.1 nc程序控制工作流程
nc控制系统工作流程如图2所示:
在dnc串口通信程序中,串口拥有自己独立的线程,这些线程包括串口信号监视线程、串口数据接收线程和串口数据发送线程。其中主线程主要负责处理nc加工程序编辑、通信协议数据库、界面信息等,而辅助线程负责监视串口信号、串口数据接收和串口数据发送。用主线程来专门处理信息,使程序能迅速响应命令和其他事件,用辅助线程来完成费时的工作,这样可以避免由主线程处理这些工作时阻塞程序信息的处理。dnc计算机与数控机床通信的具体过程如图3。
2.2 功能实现的关键技术
功能实现主要依赖于串口的连接,而连接与否的关键在于串口属性的设置和各设备之间的连接方式。由于各数控机床的通信协议存在着差异,这就使得在设置通信串口属性时与机床的配置一致。以fanuc-0t为例,该机床参数设置:tvon = 0;iso = 1;i/o = 0;波特率设置参考0552参数;停止位设置参考0002参数的后一位即stp(1为2,0为1),默认为2;奇偶校验位设置为even;数据位设置为7。如果设置有误将会造成通信错误或数据传输失真。
同样,各数控机床通信协议的不同,使得各设备间的连接方式也就不同,也就是说各串口之间的连线方法要有所不同,这里由于篇幅原因就不再赘述。
3 结束语
串行通信技术已在dnc通信系统中得到了广泛的应用,其关键技术将主要围绕提高nc程序传送的正确性、快速性;减少信号干挠,提高可靠性等方面。使用vc语言编制的本dnc信息系统,实现制造过程的nc数据传输,该系统具有结构简单、运行快速、工作稳定等特点,易于实施,对促进dnc技术的发展具有积极的意义。本文所述的dnc信息系统已在实际中得到了应用,并取得了良好的应用效果