鄧志剛,燕繼明,吳 瑜
(成都飛機工業(yè)(集團)有限責任公司,四川 成都 610092)
隨著我國制造業(yè)信息化的快速推進,許多企業(yè)都建立了基于ERP(Enterprise Resource Planning)-MES(Manufacturing Execution System)體系的生產(chǎn)管控系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)生產(chǎn)計劃與計劃執(zhí)行的統(tǒng)一,但由于缺少制造執(zhí)行終端(Manufacturing Execution Terminal,MET)的實時加工信息,系統(tǒng)準確性沒有保證,其效率也大打折扣。
一個高效的生產(chǎn)管控系統(tǒng)能否良好運營,關(guān)鍵是使計劃與生產(chǎn)密切配合,生產(chǎn)管理人員可以實時地掌握生產(chǎn)現(xiàn)場,特別是加工設(shè)備的變化,做出準確的判斷和快速的應(yīng)對措施,保證生產(chǎn)計劃得到合理且快速的修正;因此,該系統(tǒng)應(yīng)該是由ERP、MES和MET組成的閉環(huán)系統(tǒng)(見圖1)。
圖1 由ERP、MES、MET組成的閉環(huán)系統(tǒng)
目前,國內(nèi)運行的多數(shù)生產(chǎn)管控系統(tǒng)都是通過人工方式搜集MET對計劃的執(zhí)行情況,不僅浪費人力,而且缺乏實時性,很多時候反饋到MES的信息都不是現(xiàn)場最新的狀況,導致系統(tǒng)各部分不能很好地協(xié)調(diào)運行,效率降低,生產(chǎn)管控效果也較差。要提高MET的反饋速度,使MET的任何變化都能自動、實時地反饋給MES,切實地保障系統(tǒng)的高效運行,就必須將MET數(shù)字化,實現(xiàn)對數(shù)控機床加工過程的實時監(jiān)控。
西門子840D sl數(shù)控系統(tǒng),是一款功能強大的中高檔數(shù)控系統(tǒng),主要應(yīng)用在四坐標以上的中高檔數(shù)控機床上,特別在航空零件加工的設(shè)備上更是主流配置。本文即以配置西門子840D sl系統(tǒng)的數(shù)控機床加工過程監(jiān)控為例,介紹如何構(gòu)建數(shù)控機床加工過程監(jiān)控系統(tǒng)。
西門子840D sl系統(tǒng)是一款結(jié)構(gòu)緊湊、功能強大的數(shù)控系統(tǒng)[1],主要由數(shù)控單元NCU(Numerical Control Unit)、人機交互系統(tǒng)HMI(Human Machine Interface)、PLC模塊和驅(qū)動系統(tǒng)組成。其硬件結(jié)構(gòu)示意圖如圖2所示。
圖2 西門子840D sl數(shù)控系統(tǒng)硬件結(jié)構(gòu)示意圖
對配置西門子840D sl系統(tǒng)的數(shù)控機床加工過程實施監(jiān)控,需使用西門子提供的OPC UA功能包。
開放平臺通信統(tǒng)一架構(gòu)(OPC Unified Architecture,OPC UA)是由OPC基金會推出并維護的一個新的工業(yè)軟件接口規(guī)范。其特點如下:1)該規(guī)范基于TCP/IP通信,利用Web Service技術(shù)、XML技術(shù)以及.NET架構(gòu),實現(xiàn)了多平臺的互操作性;2)該規(guī)范集成的OPC UA數(shù)據(jù)加密功能符合國際安全標準,為Internet及各企業(yè)網(wǎng)絡(luò)內(nèi)的遠程訪問和數(shù)據(jù)共享、客戶端和服務(wù)器之間的安全通信提供了保障。
西門子840D sl系統(tǒng)通過OPC UA通信協(xié)議與數(shù)控系統(tǒng)底層進行通信,實現(xiàn)監(jiān)控變量數(shù)據(jù)的可配置與靈活調(diào)整,包括對加工執(zhí)行系統(tǒng)、軸通道數(shù)據(jù)和刀具等輔助系統(tǒng)的數(shù)據(jù)及伺服驅(qū)動系統(tǒng)控制數(shù)據(jù)的配置。OPC UA與數(shù)控系統(tǒng)通信架構(gòu)如圖3所示。
圖3 OPC UA監(jiān)控架構(gòu)
西門子840D sl數(shù)控系統(tǒng)通過OPC UA通信方式,實現(xiàn)對數(shù)控系統(tǒng)NCU中各種系統(tǒng)變量的讀取,包括機床數(shù)據(jù)(各軸坐標位置、刀具信息等)和加工數(shù)據(jù)等,從而實現(xiàn)對數(shù)控機床加工過程的實時監(jiān)控。
實時監(jiān)控系統(tǒng)架構(gòu)如圖4所示。該架構(gòu)由機床運行信息采集層、數(shù)據(jù)傳輸層、數(shù)據(jù)處理層和應(yīng)用層構(gòu)成。機床運行信息采集層實現(xiàn)對生產(chǎn)現(xiàn)場各單臺機床數(shù)字化模型中動態(tài)屬性的實時采集,數(shù)據(jù)傳輸層完成對采集到的數(shù)據(jù)進行分類傳輸,數(shù)據(jù)處理層將所有傳輸來的數(shù)據(jù)統(tǒng)一處理,完成每臺設(shè)備的數(shù)字化(虛擬化),應(yīng)用層實現(xiàn)對機床反饋的加工運行信息的應(yīng)用及對MES系統(tǒng)的信息反饋。
圖4 系統(tǒng)架構(gòu)
3.2.1 采集層設(shè)計目標
采集層是加工過程監(jiān)控的基礎(chǔ),只有實時地獲取數(shù)控機床的加工狀態(tài),監(jiān)控才有意義。
基于西門子840D sl系統(tǒng)的OPC UA,實現(xiàn)對該類數(shù)控設(shè)備運行狀態(tài)數(shù)據(jù)和加工過程產(chǎn)生的數(shù)據(jù)進行實時監(jiān)控,具體數(shù)據(jù)項包括零件圖號、NC程序名稱、NC程序起/停時間、刀具信息、加工坐標值和報警信息等。這些信息全面描述了設(shè)備加工過程的狀態(tài),使用后文介紹的技術(shù),實時采集到這些信息,可以精確地滿足監(jiān)控系統(tǒng)的要求。
3.2.2 機床端客戶應(yīng)用設(shè)計
基于OPC UA通信的監(jiān)控程序工作流程如圖5所示。
圖5 客戶端工作流程
具體設(shè)計如下。
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)建立監(jiān)控變量。建立讀取變量函數(shù):
private Siemens.OpcUA.Subscription m_Subscipition;
private Siemens.OpcUA.Subscription m_SubscipitionBlock;
Variant value = new Variant(Convert.ChangeType(valueToWrite,nodeIdDataType .GetType ()));
3)讀入節(jié)點屬性及值。節(jié)點屬性(Attritube)被用來描述節(jié)點,一個節(jié)點的屬性取決于NodeClass,但每個節(jié)點有一些通用屬性,例如: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)數(shù)據(jù)傳輸和處理。采集到的實時數(shù)據(jù)傳輸處理流程如圖6所示,采用機床采集器→PC中繼器→中控處理器3層傳輸處理模式,在中繼器收到采集器采集的實時數(shù)據(jù)后進行轉(zhuǎn)儲和轉(zhuǎn)發(fā),最后發(fā)送到中控處理器分析處理后寫入數(shù)據(jù)庫中。
圖6 系統(tǒng)實時數(shù)據(jù)傳輸處理流程
為了實現(xiàn)分布式開放性的多層服務(wù)架構(gòu),完成上下游服務(wù)之間的準確通信和數(shù)據(jù)處理,系統(tǒng)需設(shè)計專用的通信協(xié)議,將采集到的數(shù)據(jù)(含動態(tài)屬性)和相應(yīng)設(shè)備的靜態(tài)屬性信息組裝,可用以下格式:
命令號##密碼##數(shù)據(jù)編號##設(shè)備編號##加密實時信息流串
實時監(jiān)控系統(tǒng)的表現(xiàn)是建立網(wǎng)站應(yīng)用,利用采集器采集過濾后的機床數(shù)據(jù),在中控服務(wù)器進行統(tǒng)計分析,實現(xiàn)機床加工狀態(tài)實時信息的可視化、機床使用效率分析、零件加工過程分析及回溯功能等。網(wǎng)站系統(tǒng)采用B/S模式,以VS.NET作為開發(fā)工具,使用ASP.NET開發(fā)展示界面,C#作為后臺開發(fā)語言,另外還使用了第三方圖表控件。數(shù)據(jù)庫管理系統(tǒng)使用ORACLE 9i。整體效果如圖7所示。
圖7 監(jiān)控系統(tǒng)整體效果
設(shè)備實時監(jiān)控模塊(見圖8)實現(xiàn)對設(shè)備實時狀態(tài)和設(shè)備實時加工信息監(jiān)控。設(shè)備效能分析模塊(見圖9)通過實時采集數(shù)控機床的運行狀態(tài)、加工時間和停機時間等,應(yīng)用《數(shù)控設(shè)備綜合應(yīng)用效率與測評》(OAEE)標準,自動準確計算出機床的關(guān)鍵績效指標(KPI),實現(xiàn)了數(shù)控機床的自動綜合測評。
圖8 實時采集數(shù)據(jù)項
圖9 效能分析頁面
實時監(jiān)控部署如下。
1)查驗監(jiān)控項變量地址。使用OPC UA功能包中[2]UAClient 的客戶端,可以瀏覽系統(tǒng)支持的變量(見圖10)。高版本的系統(tǒng)軟件支持更多的系統(tǒng)變量。通過客戶端可以瀏覽的變量支持監(jiān)控功能(subscription 功能)。
圖10 變量地址查驗
2)配置預期指標項變量(見表1)。Server 瀏覽的變量只是變量陣列中的第1個變量,若想讀取該類型其他索引號變量,需要增加響應(yīng)的信息。如變量“/Channel/MachineAxis/actToolBasePos”只對應(yīng)于通道1 的X軸坐標位置,相當于“/Channel/MachineAxis/actToolBasePos [u1,1]”。同樣,變量“/Channel/MachineAxis/actToolBasePos [u1, 3]”讀取通道1的Z軸坐標位置。
表1 指標項變量表
3)注冊、啟動監(jiān)控服務(wù)。注冊方法:“開始”→“運行CMD”,將框架服務(wù)注冊程序、采集客戶端服務(wù)程序同時執(zhí)行即可。
啟動客戶端部署上位機“服務(wù)”管理,確認客戶端服務(wù)注冊,啟動服務(wù)即可。
OPC UA服務(wù)端、客戶端通信日志確認,如圖11所示。
圖11 監(jiān)控服務(wù)啟動日志
常見問題及處理方法如下。
1)運行環(huán)境異常。監(jiān)控服務(wù)啟動或運行Siemens.OpcUA.Client 報錯,報錯提示為“ConnectFailed:Could not add self-signed certificate to certificate store.” 原因是缺.NET環(huán)境或環(huán)境版本較低,安裝對應(yīng)版本.NET環(huán)境即可。
2)數(shù)控系統(tǒng)版本不符合要求。西門子840D sl系統(tǒng)OPC UA功能要求數(shù)控系統(tǒng)版本為V4.05及以上版本,在實際應(yīng)用驗證過程中,部分設(shè)備實時監(jiān)控系統(tǒng)連續(xù)運行6 h左右,出現(xiàn)各軸坐標、主軸負載等變量值讀取失敗(見圖12),與運行“Siemens.OpcUA.SimpleClient”輸入對應(yīng)變量地址進行值讀取表現(xiàn)一致。原因是工業(yè)現(xiàn)場數(shù)控系統(tǒng)為V4.05的設(shè)備,系統(tǒng)補丁存在不同版本(SP1~SP6),當補丁版本低于SP5的設(shè)備時存在上述異常,將升級系統(tǒng)補丁至SP5及以上版本后,異常消除。
圖12 變量地址取值失敗
本文基于西門子840D sl數(shù)控系統(tǒng),介紹了數(shù)控機床加工過程監(jiān)控系統(tǒng)的設(shè)計及實現(xiàn),基于其他數(shù)控系統(tǒng)的實現(xiàn)方法類似。該類監(jiān)控系統(tǒng)不僅能夠作為監(jiān)控數(shù)控機床加工過程的系統(tǒng)獨立運行,而且可以很方便地與ERP-MES集成,成為一套閉環(huán)的生產(chǎn)管控系統(tǒng),為生產(chǎn)管控提供實時的現(xiàn)場第一手生產(chǎn)信息,使企業(yè)的生產(chǎn)管控更加精細、及時,能夠促進企業(yè)生產(chǎn)效率的提高。