鄧志剛,燕繼明,吳 瑜
(成都飛機工業(集團)有限責任公司,四川 成都 610092)
隨著我國制造業信息化的快速推進,許多企業都建立了基于ERP(Enterprise Resource Planning)-MES(Manufacturing Execution System)體系的生產管控系統。該系統能夠實現生產計劃與計劃執行的統一,但由于缺少制造執行終端(Manufacturing Execution Terminal,MET)的實時加工信息,系統準確性沒有保證,其效率也大打折扣。
一個高效的生產管控系統能否良好運營,關鍵是使計劃與生產密切配合,生產管理人員可以實時地掌握生產現場,特別是加工設備的變化,做出準確的判斷和快速的應對措施,保證生產計劃得到合理且快速的修正;因此,該系統應該是由ERP、MES和MET組成的閉環系統(見圖1)。

圖1 由ERP、MES、MET組成的閉環系統
目前,國內運行的多數生產管控系統都是通過人工方式搜集MET對計劃的執行情況,不僅浪費人力,而且缺乏實時性,很多時候反饋到MES的信息都不是現場最新的狀況,導致系統各部分不能很好地協調運行,效率降低,生產管控效果也較差。要提高MET的反饋速度,使MET的任何變化都能自動、實時地反饋給MES,切實地保障系統的高效運行,就必須將MET數字化,實現對數控機床加工過程的實時監控。
西門子840D sl數控系統,是一款功能強大的中高檔數控系統,主要應用在四坐標以上的中高檔數控機床上,特別在航空零件加工的設備上更是主流配置。本文即以配置西門子840D sl系統的數控機床加工過程監控為例,介紹如何構建數控機床加工過程監控系統。
西門子840D sl系統是一款結構緊湊、功能強大的數控系統[1],主要由數控單元NCU(Numerical Control Unit)、人機交互系統HMI(Human Machine Interface)、PLC模塊和驅動系統組成。其硬件結構示意圖如圖2所示。

圖2 西門子840D sl數控系統硬件結構示意圖
對配置西門子840D sl系統的數控機床加工過程實施監控,需使用西門子提供的OPC UA功能包。
開放平臺通信統一架構(OPC Unified Architecture,OPC UA)是由OPC基金會推出并維護的一個新的工業軟件接口規范。其特點如下:1)該規范基于TCP/IP通信,利用Web Service技術、XML技術以及.NET架構,實現了多平臺的互操作性;2)該規范集成的OPC UA數據加密功能符合國際安全標準,為Internet及各企業網絡內的遠程訪問和數據共享、客戶端和服務器之間的安全通信提供了保障。
西門子840D sl系統通過OPC UA通信協議與數控系統底層進行通信,實現監控變量數據的可配置與靈活調整,包括對加工執行系統、軸通道數據和刀具等輔助系統的數據及伺服驅動系統控制數據的配置。OPC UA與數控系統通信架構如圖3所示。

圖3 OPC UA監控架構
西門子840D sl數控系統通過OPC UA通信方式,實現對數控系統NCU中各種系統變量的讀取,包括機床數據(各軸坐標位置、刀具信息等)和加工數據等,從而實現對數控機床加工過程的實時監控。
實時監控系統架構如圖4所示。該架構由機床運行信息采集層、數據傳輸層、數據處理層和應用層構成。機床運行信息采集層實現對生產現場各單臺機床數字化模型中動態屬性的實時采集,數據傳輸層完成對采集到的數據進行分類傳輸,數據處理層將所有傳輸來的數據統一處理,完成每臺設備的數字化(虛擬化),應用層實現對機床反饋的加工運行信息的應用及對MES系統的信息反饋。

圖4 系統架構
3.2.1 采集層設計目標
采集層是加工過程監控的基礎,只有實時地獲取數控機床的加工狀態,監控才有意義。
基于西門子840D sl系統的OPC UA,實現對該類數控設備運行狀態數據和加工過程產生的數據進行實時監控,具體數據項包括零件圖號、NC程序名稱、NC程序起/停時間、刀具信息、加工坐標值和報警信息等。這些信息全面描述了設備加工過程的狀態,使用后文介紹的技術,實時采集到這些信息,可以精確地滿足監控系統的要求。
3.2.2 機床端客戶應用設計
基于OPC UA通信的監控程序工作流程如圖5所示。

圖5 客戶端工作流程
具體設計如下。
1)建立Server連接。建立Session:
private bool ConnectOpcServer(string serverUrl, string nameSpaceURI, ref string sErr)
void TcpClientConnect(ref string serr)
例:
Url: opc.tcp://192.168.0.3:4840
2)建立監控變量。建立讀取變量函數:
private Siemens.OpcUA.Subscription m_Subscipition;
private Siemens.OpcUA.Subscription m_SubscipitionBlock;
Variant value = new Variant(Convert.ChangeType(valueToWrite,nodeIdDataType .GetType ()));
3)讀入節點屬性及值。節點屬性(Attritube)被用來描述節點,一個節點的屬性取決于NodeClass,但每個節點有一些通用屬性,例如:Nodeld,NodeClass,BrowseName,DisplayName,Description等。
NodeIdCollection nodesToRead = new NodeIdCollection();
DataValueCollection results;
nodesToRead.Add(Variables.Server_NamespaceArray);
// Read the namespace array
m_Server.ReadValues(nodesToRead, out results);
if ((results.Count != 1) || (results[0].Value.GetType() != typeof(string[])))
{sErr = "Reading namespace table returned unexptected result";
return false; }
4)數據傳輸和處理。采集到的實時數據傳輸處理流程如圖6所示,采用機床采集器→PC中繼器→中控處理器3層傳輸處理模式,在中繼器收到采集器采集的實時數據后進行轉儲和轉發,最后發送到中控處理器分析處理后寫入數據庫中。

圖6 系統實時數據傳輸處理流程
為了實現分布式開放性的多層服務架構,完成上下游服務之間的準確通信和數據處理,系統需設計專用的通信協議,將采集到的數據(含動態屬性)和相應設備的靜態屬性信息組裝,可用以下格式:
命令號##密碼##數據編號##設備編號##加密實時信息流串
實時監控系統的表現是建立網站應用,利用采集器采集過濾后的機床數據,在中控服務器進行統計分析,實現機床加工狀態實時信息的可視化、機床使用效率分析、零件加工過程分析及回溯功能等。網站系統采用B/S模式,以VS.NET作為開發工具,使用ASP.NET開發展示界面,C#作為后臺開發語言,另外還使用了第三方圖表控件。數據庫管理系統使用ORACLE 9i。整體效果如圖7所示。

圖7 監控系統整體效果
設備實時監控模塊(見圖8)實現對設備實時狀態和設備實時加工信息監控。設備效能分析模塊(見圖9)通過實時采集數控機床的運行狀態、加工時間和停機時間等,應用《數控設備綜合應用效率與測評》(OAEE)標準,自動準確計算出機床的關鍵績效指標(KPI),實現了數控機床的自動綜合測評。

圖8 實時采集數據項

圖9 效能分析頁面
實時監控部署如下。
1)查驗監控項變量地址。使用OPC UA功能包中[2]UAClient 的客戶端,可以瀏覽系統支持的變量(見圖10)。高版本的系統軟件支持更多的系統變量。通過客戶端可以瀏覽的變量支持監控功能(subscription 功能)。

圖10 變量地址查驗
2)配置預期指標項變量(見表1)。Server 瀏覽的變量只是變量陣列中的第1個變量,若想讀取該類型其他索引號變量,需要增加響應的信息。如變量“/Channel/MachineAxis/actToolBasePos”只對應于通道1 的X軸坐標位置,相當于“/Channel/MachineAxis/actToolBasePos [u1,1]”。同樣,變量“/Channel/MachineAxis/actToolBasePos [u1, 3]”讀取通道1的Z軸坐標位置。

表1 指標項變量表
3)注冊、啟動監控服務。注冊方法:“開始”→“運行CMD”,將框架服務注冊程序、采集客戶端服務程序同時執行即可。
啟動客戶端部署上位機“服務”管理,確認客戶端服務注冊,啟動服務即可。
OPC UA服務端、客戶端通信日志確認,如圖11所示。

圖11 監控服務啟動日志
常見問題及處理方法如下。
1)運行環境異常。監控服務啟動或運行Siemens.OpcUA.Client 報錯,報錯提示為“ConnectFailed:Could not add self-signed certificate to certificate store.” 原因是缺.NET環境或環境版本較低,安裝對應版本.NET環境即可。
2)數控系統版本不符合要求。西門子840D sl系統OPC UA功能要求數控系統版本為V4.05及以上版本,在實際應用驗證過程中,部分設備實時監控系統連續運行6 h左右,出現各軸坐標、主軸負載等變量值讀取失敗(見圖12),與運行“Siemens.OpcUA.SimpleClient”輸入對應變量地址進行值讀取表現一致。原因是工業現場數控系統為V4.05的設備,系統補丁存在不同版本(SP1~SP6),當補丁版本低于SP5的設備時存在上述異常,將升級系統補丁至SP5及以上版本后,異常消除。

圖12 變量地址取值失敗
本文基于西門子840D sl數控系統,介紹了數控機床加工過程監控系統的設計及實現,基于其他數控系統的實現方法類似。該類監控系統不僅能夠作為監控數控機床加工過程的系統獨立運行,而且可以很方便地與ERP-MES集成,成為一套閉環的生產管控系統,為生產管控提供實時的現場第一手生產信息,使企業的生產管控更加精細、及時,能夠促進企業生產效率的提高。