第三章 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://m.lukmueng.com/
本文標題:工業以太網在MES系統中的應用(二)