第三章 ACE 通信协议的提出和在MES 数据采集中的应用
在工业生产线中,MES 是连接企业信息管理系统和底层设备的控制系统的桥梁,起着承上启下的作用(如图3-1),而在MES 系统向底层设备进行数据采集的时候,就碰到了数据来源不统一,设备提供的数据格式不一致的问题,为了解决这个问题,在仔细分析过各种解决方案的优劣之后,采用了工业以太网的通信方式,以此为基础在设备之间建立起通信并在设备层之间建立一个局部控制层(EI 层),使设备群可以有部分调控生产能力,达到设备集成的目的。
图3-1 MES 在生产线信息管理系统中的角色
3.1 液晶生产环境中实施MES 所碰到的数据采集问题
液晶生产环境的控制系统是一条电子制造型企业的车间执行系统,整个生产线涉及三个车间,物料30 余种,工序15 道,是一条很复杂的生产线控制系统。该生产线底层采用十几个厂商所提供的约二十多类设备,约存在着五种通信制式。
数据采集的过程中,底层的生产设备会采用不同的厂商,尽管当前有很多统一的国际标准,但是仍然会有不同的通讯制式,其中有设备之间的SECS 协议(一种SEMI基准的RS-232C 通信协议)、TTY 模式通讯(提供无序的RS-232C 传输模式)、TCP/IP协议通讯等,也有Netware serve 与Gateway 之间的IPX 协议,各子网段之间用到的UDP/IP 协议,还有其他的应用用到的ICMP,SNMP 等协议,各个协议之间的通讯如不能统一,将无法相互进行通讯(见图3-2)。
底层设备的格式不一致导致无法将数据格式传入MES 系统,而如果现场的数据无法采集到MES 系统中,系统就无法对生产现场的情况进行了解掌握,不能够通过系统对设备工艺流程进行控制,无法实现MES 的数据分析等高级应用了,因此,如何将现场设备的各种数据采集到MES 系统中,是MES与底层设备通讯需要解决的首要问题。
图3-2 MES 系统中所用到的协议
3.2 数据采集中通信方案的比较
对于底层通信,在体系构建之初,系统设计人员就对MES 与底层设备之间的通信制式问题存在着多种建议,其中,主要存在着两种解决方案:采用传统的现场总线机制和采用新兴的Ethernet 通信机制。
3.2.1 现场总线技术方案
对于传统现场总线解决方案来说,数据通信系统是通过数据电路将分布在生产现场的数据终端设备与计算机系统连接起来,实现数据传输、交换、存储和处理的系统,比较典型的数据通信系统主要由数据终端设备、数据电路接口转换设备、数据电路、计算机系统几部分组成,如图3-3 所示。
图3-3 传统总线机制示意图
液晶工艺生产现场有着很复杂的现场设备,其通信协议也是五花八门,而MES所使用的上层通信协议一般为计算机之间的以太网协议,这就意味着如果采用传统的总线结构,需要在设备的信号输出接口处外接数据电路端接设备,以用来统一传输方式,同时在接入计算机系统之前,也需要进行数据信号制式的转变,变为MES 系统可以识别的以太网制式的数据。这样的好处是可以利用现成的总线技术;设备内部总线和计算机系统的内部总线也有着比较成熟的技术;有现成的接口模块可以使用;同时总线机制丰富的接口模块和接口软件也为数据的采集清理工作提供了很大的便利。但是使用传统的现场总线技术的缺陷也是显而易见的:由于总线机制标准繁多,各个标准之间无法进行直接的数据传输,需要通过一定的数据转接装置进行;每个设备厂商的标准不一致,或者有一些支持工业以太网应用的厂商干脆就取消传统的RS232 等总线传输接口而直接采用以太网接口进行数据的传输;不同的机制对传输线缆的要求也不一样,造成通信系统的复杂度增高,可能引起系统故障点增多。
3.2.2 工业以太网技术方案
由于液晶制造设备在配备传统的总线接口模块的同时,基本都配有以太网输入/输出模块,因此采用以太网方式传输成为当时的另一个选择,在物理上,以太网可以直接通过线缆通过集线器/交换机/路由器等网络设备接入计算机系统的各个服务器进行数据传输,如图3-4 所示。
图3-4 以太网在MES 传输中的示意图
这种解决方案的优点是结构简单,没有传统总线在设备和计算机系统之间的多种接口,由于采用了通用的传输协议,也不需要像现场总线那样对应于每种传输方式需要铺设相互不能兼容的线缆,这样给后期维护带来了很大的便利。而以太网的快速传输性能保证了系统反应时间相对于传统总线机制将大大减小,随着网络设备制造工艺和性能的不断提高,这种优点在大型分布式生产线中尤为明显。液晶生产线由于有一个车间为全自动化车间,及时的现场数据成为该生产线能否正常运转的一个最基本要求。
当然,由于以太网开发之初的目的并不是用于解决工业生产现场通信问题的,因此工业以太网在液晶生产的应用上有一些先天不足,最主要的问题有两个方面,一个是由于以太网协议研究之初没有考虑到工业现场恶劣的生产环境,因此耐温、抗压、抗电磁辐射使得以太网的可靠性变低,第二,以太网的重传机制使得在网络拥堵的情况下,数据传输实时性大大降低。但是仔细分析这些不足,都可以通过一些机制或方式来避免,可靠性差的问题可以通过安装屏蔽桥架来实现,而重传机制导致的延时问题,除了增加带宽减少碰撞几率外,可以采用以太网新技术中的划分子网和VLAN 的方式来细分冲突域,使得数据碰撞的几率进一步减小。
3.2.3 方案选择及优化
通过对两种方案的比较论证我们可以看出,选择工业以太网作为MES 数据采集和传输的基础网络具有更好的效果,工业以太网可以在方便MES 与底层设备之间通信的同时,对MES 和上层ERP 的接口通信提供了一个很好的协议基础。但是在应用之前,需要解决以太网中经常碰到的数据冲突的问题,针对这个问题,需要对工业以太网加以改进。
第一,液晶生产线上划分子网的规划实施
由于整个生产线设备采集数量巨大,而工业以太网在大量数据面前将面对延迟、拥塞等一系列问题,设计采用了划分子网来减少冲突域.
由于液晶生产的特点,生产线分成三个相对独立的车间,每个车间采用自动搬运装置或者人工搬运来连接生产工艺,而由于三个车间在地理上距离比较远,每个车间都有专门放置网络设备的机柜,为了降低冲突,减少网络拥堵。在规划之初便将每个车间规划为不同的子网。同时,服务器的网段也划分了不同的子网,面向应用的服务器使用的子网与面向底层设备监控的服务器之间的子网分开,各个子网之间通过路由连接,这样便于控制子网间的通信和进行故障排查。
第二,采用虚拟网络技术
在每个车间的网络设备上,为了进一步减少数据碰撞区域,对以太网的结构进行进一步改进优化,采用了虚拟网络技术,将每个网络设备上收集的数据进行进一步区分,监视网络的VLAN 负责数据采集,控制网络的VLAN 负责动作命令的传输,各个VLAN 采用不同的子网段,这样使得工业以太网的数据碰撞率进一步降低。
3.3 以太网通讯的系统构架和接口环境的设计
对于以太网的通信架构,首先要解决的就是各种协议不一致的问题,由于各个设备供应商提供的输入/输出协议不同,虽然都有以太网的模块,信号可以传送到对端设备,但设备之间仍然不能相互通信,而由于MES 服务器使用的是基于TCP/IP 的会话层、表示层和应用层的高层协议,设备信号即使传送到MES 服务器也无法为MES服务器所辨识。
为了解决上述问题,必须设计出可以统一进行数据交换的层次,为此我们定义了一个新的高层通信引擎( Advanced Communication Engine for MessageDistribution,简称ACE-MD)的概念,该引擎可以跨越ISO/OSI 的传输层、会话层,表示层和部分应用层,将所有的底层协议进行封装,经过高层通信引擎的数据将会增加一个高层的数据头,这样既能够使设备数据传输格式的统一,也方便了MES 服务器对底层设备采集来的数据进行识别。
与此同时,在和高级数据引擎相对应的是,本文在MES 和底层设备/人工控制层之间加入一层,称之为EI 层(设备集成层),EI 层基于高级通信引擎,连接底层各种生产设备,并将设备信号转换成MES 系统可以识别的信号输入到EI 层的数据采集服务器,称为虚拟柔性通信终端(Virtual Flexible Communication Terminal,简称VFCT)。控制信号也由VFCT 服务器传送到设备的控制装置,指示设备进行各个动作。完成控制信号从MES 服务器到底层设备的交换过程。
3.3.1 ACE-MD 解决思路
在通讯协议方面,通过在工业以太网络的应用层、会话层和传输层之间增加一个高层协议,称之为高级通信引擎(Advanced Communication Engine for MessageDistribution,简称ACE-MD),给每个通过ACE-MD 的数据打上数据报头,使设备之间的通信数据能够相互识别,并能够为VFCT 服务器所识别采集,从而送至MES 服务器,ACE-MD 可以单独使用,也可以与其他协议一起运行以达到扩展的目的。如图3-5所示。
图3-5 ACE-MD 在以太网中的结构示意图
3.3.2 ACE-MD 的运行环境接口定义
ACE-MD 在每个应用的发送端和接收端都增加了一个标准接口程序,以便对发送/接收到的协议进行标准化,称之为ACEAPI(ACE-Application Interface),ACEAPI会在系统/设备启动时自动加载,用来和ACE-MD 通讯,为了区别起见,应用端的接口文件是按照应用的名称来命名的,Process 名.ace,而ACE-MD 在服务器端的的配置文件命名为ACE.INI(见图3-6)。
图3-6 ACEAPI 接口示意图
ACE-MD 和ACEAPI 分别需要定义通讯所用的端口号码和通信路径,以及需要跟对方通信时对方的端口号码和对端主机的地址,而且两者定义的参数必须一致,否则将会导致通讯错误(见图3-7) 。
图3-7 ACEAPI 与ACE-MD 数据交换示意图
由于ACE-MD 服务器端需要识别各种协议,因此在定义ACE.INI 时需要定义各种协议的接口、认证和其他要求(见表3-1) 。
表3-1 ACE-MD 服务器端运行环境定义
应用端不需要定义复杂的认证和协议,但需要有ACE 定义,并且有日志记录和基本的接口功能,也就是Process 名.ace 配置文件内定义的内容(见表3-2) 。
3.4 终端名称识别的设计
在MES 设计中,因为涉及的网段众多,而且ACE-MD 并没有完全运行在网络层,还涉及应用层数据的封装定义,给网络层数据添加高层协议的数据报头等,为提高转换效率和缩短网络层协议转换的时间,对于在需要经过两次映射来定位地址的通信数据,考虑到生产线的终端基本固定这个特点, 直接采用Node 名称来识别各个设备,并通过NMP(Network Management Protocol)服务来进行管理。经过实践,这样可以大大缩短数据的传输延迟。
表3-2 ACEAPI 端运行环境定义
3.4.1 Node 状态识别的过程说明
在终端识别的过程中,我们的设计是通过终端名称来确定数据传输路径,考虑到工厂各个终端基本固定,传输路由也很少发生变化,整个Node 状态的识别过程如下:
1.如果需要掌握目前网络中某台设备的online 状况,可定期发送目的地的广播包来确定,注意,此时的广播包仍然通过IP 地址来发送;
2.终端Node 启动时,将通知NMP 服务器自己已经启动这一事件,此为非广播包;
3.如果终端Node 发生错误,则终端会将包含自己Node 名称的错误报告发送到NMP 服务器;
4.NMP 服务器和Gateway 之间定期通过广播包来交换分配的Node 信息,以减少广播包的频率,节省带宽。
3.4.2 同一网段之间的不同Node 名称识别
处在同一网段之间的两个设备,在最初系统启动的时候,其Node 名称通过广播包问询的方式来进行,当一个设备(如server)需要访问另一个设备时,是根据另一台设备的Node 名称来进行访问,正常情况下,ACE 的服务器端接口中会有需要通信的目标Node 名的对应地址,但是某些情况下,发送方可能不知道接收方的网络地址,发送方就会向整个网段内进行广播,接收方会将自身的网络地址返回给发送方(见图3-8),整个传输过程中不需要DNS 检索和hosts 文件解析。发送方收到以后会将接收方的Node 名和对应地址发送到ACE 的服务器端,这样下次相同的通信就不需要再次进行广播查询。
图3-8 同一网段之间的Node 名称确认
3.4.3 不同网段之间的带有Gateway 的Node 名称识别
当处于不同网段之间的Node 要求进行通讯时,需要通过Gateway/Routers 来实现, ACEAPI 和Node 终端的ACE-MD 运行环境中已经提前定义了所有网段的子网地址,Router 之间通过定期的广播包来保持子网地址的同步。在系统启动的时候,通信网段已经知道所有网段的地址,在开始发送之前,Gateway/Routers 之间通过广播包来相互交换路由信息,如果不同的网段之间需要访问时,会先查询已知的路由信息,如果已知路由中找不到目标Node 所在网段路由器名称,则通过Gateway/Routers 来转发通讯请求,每个从Node 寻找网络名称的过程如同4.5.2 节描述,但对于整个跨网段Node 名称识别过程则如图4-9 所示,图中红色箭头表示Gateway/Routers 通过广播包来宣告自己的信息,同时告知周围的Routers 自己的路由情况,蓝色箭头表示同网段的Node 之间的通讯,用来确认Node 是否online。要注意的是,Gateway/Routers可以用自己的逻辑判断是否要转发出本网段,这样可以避免Server 向通讯终端发出广播的请求,以节省带宽,减少数据碰撞机会(见图3-9)。
图3-9 跨网段之间的Node 名称确认
一旦网段之间通信成功,通信路径和信息发送/接收方都会在ACEAPI 中进行保留,下次通信时会大大减少路径查找时间。这是与办公以太网不同的一点,而由于生产现场和服务器的数量和地址都相对固定,这样也不会引起普遍在办公网络中存在的大量路由导致查找缓慢的情况。
3.4.4 网络中同时存在两个相同Node 名称设备的识别处理
在设计中考虑到,如果NMP 服务器检测到网络中有两台存在相同Node 名称设备,他们都会向MES 服务器发出通讯请求,这个时候本设计中的NMP 服务器会检查终端Node 的名称并比较两个Node 接入网络的时间,只接受最后online 设备的通讯请求,此时通讯的接收方(MES 服务器)并不会识别到接收方地址的变更,而且根据ATO 原则(Address Take Over),将会完全忽略之前的接收方,这样保证了最新更新的数据可以送入MES(如图3-10),在图3-10 中,两个终端sisew1 和sisew2 具有相同的Node 名称MESSV 并且在不同的时间点接入网络,如果sisew1 先接入网络,由于此时网络中只有这么一台MESSV,则MES 服务器会选择sisew1 作为通信对象,而在下一刻当sisew2 接入网络以后,NMP 服务会判断同一个Node 名称的两台终端的接入网络时间,并将通信路径选择切换到后接入网络的Node 上去,同时发送消息给MES 服务器,MES 服务器会忽略sisew1 之间已经建立的通信通道,和sisew2 重新建立起通信,这种机制保证了最新接入的相同名称的Node 能够接受到通信信息,从而减少了服务器更换所需要的时间。
图3-10 同名Node 设备通讯识别
3.4.5 ACE-MD 中的信息发送机制
生产线中的通讯为了保证传输的实时性,通常采用不需要确认回传的方式(如UDP 等),ACE-MD 也是采用这种方式。
在ACE-MD 中,信息的发送如果成功,那么是没有返回确认的,也就是说接收方会以不回传信息或者NG 来作为对发送方的确认,如果没有返回消息,说明发送成功,如果有返回消息,说明发送失败,发送方会认为发送NG。这种机制可以保证传输的延时尽可能少,也是生产线系统中普遍采用的机制(见图3-11) 。
图3-11 无应答通信机制和要求回传机制的对比
当传输发生错误时,接收方就会返回给一个错误报告,要求发送方重新传送,此时对于接收方来说,由于发出的是一个无应答要求的数据,接到返回数据就表示发送失败,通常会在一段时间间隔之后重新发送无应答确认数据,直到发送成功(见图3-12) 。
图3-12 应答通信机制
3.5 本章小结
本章通过了解液晶行业MES 规划实施过程,分析MES 实施所面对的数据通信难题,提出了的解决方案并加以对比选择。对工业以太网进行了改进,在独立研究分析的基础上,在数据采集层和MES 层之间定义了ACE 层,用于连接底层基于各种协议的设备,通过运用改进后的工业以太网解决MES 的底层数据采集问题;改进数据传输中的设备识别方式,减少以太网中数据碰撞的概率;优化了某些MES 功能模块。
相关连载:
工业以太网在MES系统中的应用(一)上
http://articles.e-works.net.cn/NetWork/Article96196.htm
工业以太网在MES系统中的应用(一)下
http://articles.e-works.net.cn/NetWork/Article96197.htm
工业以太网在MES系统中的应用(二)
http://articles.e-works.net.cn/NetWork/Article96220.htm
工业以太网在MES系统中的应用(三)
http://articles.e-works.net.cn/NetWork/Article96236.htm
工业以太网在MES系统中的应用(四)
http://articles.e-works.net.cn/NetWork/Article96262.htm
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:工业以太网在MES系统中的应用(二)