王照亮 于會龍 邢 雨
(上海三一精機有限公司研究院電氣所,上海 200210)
數(shù)控機床在完成機械結(jié)構(gòu)設(shè)計與電氣、液壓設(shè)計后,需要完成裝配以及調(diào)試、試加工過程,達到精度、性能要求,方能交付使用,這一周期通常稱為裝配調(diào)試期。如何保證機床部件在此期間避免意外損壞,有效縮短裝配調(diào)試周期成為數(shù)控機床制造商關(guān)注點。在機床電氣調(diào)試過程中,通常需要實時監(jiān)控PLC點信號,并且通過修改PLC值實現(xiàn)機床部件如刀庫、工作臺、主軸動作調(diào)試。常見的做法是通過數(shù)控系統(tǒng)人機界面NC/PLC變量表中監(jiān)控、修改變量值。這種方式只表現(xiàn)在0/1數(shù)值變化,效果不直觀,且在執(zhí)行部件動作時,容易出錯,不能急停,這樣易產(chǎn)生因調(diào)試人員操作失誤造成電氣部件的損壞,且效率低,調(diào)試周期長。
HMI(Human Machine Interface,人機交互接口)通過Softbus總線(軟件總線)與NCK(Numerial Control Kernel,數(shù)字控制內(nèi)核)、PLC以及驅(qū)動器通信,該Softbus總線類似于PLC通信總線,采用S7協(xié)議。外部鏈接HMI系統(tǒng)通過通信處理器將各個部件連接起來。同時,內(nèi)部HMI可以通過CP與PLC、NCK和其他NC單元的驅(qū)動器連接。
NCK和運行于Linux系統(tǒng)上的組件都在x86處理器上運行。獨立處理單元在執(zhí)行PLC和其他驅(qū)動軟件時可用。用戶接口(輸入輸出設(shè)備)的虛擬化在一個Thin客戶單元上(Thin Client Unit,TCU)。TCU通過以太網(wǎng)Ethernet連接至NC單元。在圖1中,TCU接口組件包含VNC服務(wù)器,該服務(wù)器用于系統(tǒng)之間網(wǎng)絡(luò)通信。
HMI人機交互接口采用面向組件架構(gòu)。有兩個主要組件類型:GUI組件和HMI服務(wù)。GUI組件實現(xiàn)了用戶圖形顯示(GUI Graphic User Interface);HMI服務(wù)實現(xiàn)用戶操作響應(yīng)。典型的GUI組件包括HMI對話框和操作區(qū)域,例如840D sl人機界面中的加工、參數(shù)、程序、程序管理、診斷、啟動區(qū)域(圖2所示)。HMI服務(wù)實現(xiàn)基本功能,例如支持GUI組件后臺處理功能,如多國語言文字顯示、CF卡通道數(shù)據(jù)通信、通道變量的讀寫、警告和事件服務(wù)(提供所有當(dāng)前警告和程序段給HMI)、對NC、CF卡以及其他存儲介質(zhì)如網(wǎng)絡(luò)驅(qū)動器、USB設(shè)備中文件和文件路徑的操作處理。
基于840D sl數(shù)控系統(tǒng)的OEM電氣調(diào)試軟件,包括如下功能:在進行數(shù)控系統(tǒng)電氣調(diào)試時,可以分為刀庫、工作臺、輔助功能調(diào)試3個模塊,模塊本身具有可擴展性。通過添加數(shù)據(jù)庫表單實現(xiàn)新功能的添加。并且,每個電氣調(diào)試模塊可以分為系統(tǒng)狀態(tài)監(jiān)控區(qū)、自定義信號監(jiān)控區(qū)、動作預(yù)覽區(qū)、操作提示區(qū)以及軟鍵區(qū),如圖3所示。圖4為按照布局設(shè)計所實現(xiàn)的調(diào)試軟件界面。系統(tǒng)狀態(tài)監(jiān)控區(qū)顯示當(dāng)前機床數(shù)控系統(tǒng)的伺服驅(qū)動器使能信號、調(diào)試功能準備狀態(tài)以及當(dāng)前動作執(zhí)行狀態(tài)等信息。自定義信號監(jiān)控區(qū)顯示機床上用戶需要關(guān)注的接近開關(guān)、觸點開關(guān)、壓力繼電器等傳感器的狀態(tài);動作預(yù)覽區(qū)顯示用戶當(dāng)前選定動作的動畫模擬;操作提示區(qū)用于提示操作者操作方法與當(dāng)前動作是否與數(shù)控系統(tǒng)NCU建立通信并執(zhí)行;軟鍵區(qū)主要顯示支持的機床調(diào)試動作功能。
該電氣調(diào)試方法代替了傳統(tǒng)數(shù)控機床上錯綜復(fù)雜的操作按鈕,使得操作面板顯得非常簡潔、易于操作。調(diào)試人員只需在后臺的調(diào)試數(shù)據(jù)庫(見3.3)簡單地輸入幾個數(shù)據(jù),就可以方便地生成調(diào)試界面;進而,提高了調(diào)試效率,降低了調(diào)試工作復(fù)雜程度,縮短了機床調(diào)試周期。
本文論述的機床電氣調(diào)試軟件是基于840D sl OEM開發(fā)組件,采用Visual Studio 2010與QT界面技術(shù)編譯軟件界面,采用SQLite小型數(shù)據(jù)庫作為調(diào)試參數(shù)存儲數(shù)據(jù)源,采用XML語言作為界面布局,動作預(yù)覽采用Solidworks三維造型軟件創(chuàng)建部件三維模型,通過OpenGL讀取模型文件[2],并控制模型部件運動以生成動畫效果,給操作者以動作預(yù)覽。
數(shù)控系統(tǒng)電氣調(diào)試軟件的3層軟件架構(gòu)(圖5)包括數(shù)據(jù)鏈接層、系統(tǒng)管理層和HMI交互層。
數(shù)據(jù)鏈接層由系統(tǒng)啟動配置文件、OEM界面布局、動態(tài)鏈接庫、用戶數(shù)據(jù)庫構(gòu)成。啟動配置文件systemconfiguration.ini,該文件指定與 840D sl Operate 一起啟動的用戶自定義界面;OEM界面布局文件Screen-Dialog.xml,通過xml格式代碼生成調(diào)試軟件界面框架,調(diào)整軟件模塊之間的跳轉(zhuǎn)關(guān)系以及用戶界面布局;動態(tài)鏈接庫OEM DLL文件,編譯了OEM軟件對用戶操作的響應(yīng)以及與數(shù)控系統(tǒng)內(nèi)核NCU的數(shù)據(jù)通信、OpenGL實體建模、數(shù)據(jù)庫操作、報警處理以及用戶信息反饋等功能;數(shù)據(jù)庫采用SQLite,用于提供電氣調(diào)試的相關(guān)數(shù)據(jù)以及監(jiān)控信息,可隨時更改數(shù)據(jù)庫內(nèi)容,并能實時更新。數(shù)據(jù)庫結(jié)構(gòu)可以分為刀庫動作使能數(shù)據(jù)表、刀庫監(jiān)控信號數(shù)據(jù)表、工作臺動作使能數(shù)據(jù)表、工作臺監(jiān)控信號數(shù)據(jù)表以及輔助功能的使能數(shù)據(jù)表與監(jiān)控信號數(shù)據(jù)表。
系統(tǒng)管理層為SINUMERIK 840D sl數(shù)控系統(tǒng)自帶的人機交互(HMI)軟件,其系統(tǒng)管理部分由run_hmi與SystemManager組成,SystemManager系統(tǒng)管理器讀取系統(tǒng)配置文件systemconfigu-ration.ini以及其他多個系統(tǒng)啟動配置文件,根據(jù)其中指定內(nèi)容載入不同的動態(tài)鏈接庫以及界面布局和界面所用資源,比如slMachine.dll與 slMachine.xml,這兩個文件是840D sl HMI加工界面對應(yīng)的動態(tài)鏈接庫與界面布局。
HMI交互層將數(shù)據(jù)鏈接層與NCU通信數(shù)據(jù)、數(shù)據(jù)庫中存儲數(shù)據(jù)、NCU報警信息以及OpenGL運算后實體模型動態(tài)變化數(shù)據(jù)通過文字、圖片、動畫、圖線圖形等方式反饋至機床面板顯示器(OP,Operate Panel)上,用以提示用戶當(dāng)前機床監(jiān)控信息、所選動作預(yù)覽、動作執(zhí)行情況。
數(shù)控系統(tǒng)電氣調(diào)試方法實施例的步驟流程圖,該方法包括如下6個步驟:
(1)生成人機交互界面(HMI)?;趩优渲梦募?,對系統(tǒng)進行初始化,并根據(jù)預(yù)置的界面布局,生成人機界面。
(2)讀取系統(tǒng)語言。根據(jù)用戶設(shè)定的語言讀取人機界面所有語言源文件,并顯示在人機界面上,以支持多語言界面。
(3)啟用軟鍵組禁用關(guān)系。啟用軟鍵組禁用,并將當(dāng)前數(shù)控機床系統(tǒng)運行狀態(tài)通過人機界面反饋給用戶;當(dāng)操作條件滿足,禁用的軟鍵組自動啟用。
(4)建立調(diào)試用數(shù)據(jù)庫鏈接。調(diào)試數(shù)據(jù)庫接收用于數(shù)控系統(tǒng)電氣調(diào)試的數(shù)據(jù)源。
(5)建立槽通信機制。基于獲取的數(shù)據(jù)源,建立人機界面與數(shù)控系統(tǒng)內(nèi)核之間數(shù)據(jù)連接的通信槽。
(6)響應(yīng)用戶調(diào)試操作?;谒⑼ㄐ挪郏邮沼脩舭l(fā)送的、用于實現(xiàn)數(shù)控系統(tǒng)功能動作的按鍵操作,并將該功能動作發(fā)送至數(shù)控系統(tǒng)內(nèi)核,使機床執(zhí)行調(diào)試動作,動作完成后,將執(zhí)行結(jié)果反饋至人機交互界面。
調(diào)試軟件運行流程如圖6所示。下面,對上述方法做進一步的詳細說明。
(1)初始化。數(shù)控系統(tǒng)界面啟動,根據(jù)系統(tǒng)啟動配置文件,啟動調(diào)試輔助軟件,實現(xiàn)軟件初始化。根據(jù)界面布局生成人機界面,包括軟件軟鍵欄、以及監(jiān)控界面、動作預(yù)覽區(qū)、操作提示區(qū)。
(2)讀取系統(tǒng)語言。根據(jù)用戶設(shè)定的語言讀取軟件界面所有語言源文件,并顯示在人機界面上,用于支持多語言界面。
(3)啟用軟鍵組禁用關(guān)系,并將當(dāng)前運行狀態(tài)反饋給用戶。主要用于保障機床安全調(diào)試,將為滿足條件的功能禁用,避免用戶誤操作。當(dāng)操作條件滿足,相應(yīng)軟鍵功能自動啟用。
(4)讀取數(shù)據(jù)庫。調(diào)試數(shù)據(jù)庫只對電氣調(diào)試人員開放,用于存儲調(diào)試過程中用到的PLC數(shù)據(jù)以及NC數(shù)據(jù)與自定義文本、圖片。該步驟主要用于下一步建立槽通信,為與數(shù)控系統(tǒng)NCU通信提供數(shù)據(jù)源。
(5)建立監(jiān)控信號槽通信。QT槽通信機制用于建立人機界面與數(shù)控系統(tǒng)內(nèi)核NCU之間數(shù)據(jù)通信。首先,將讀取的數(shù)據(jù)源發(fā)送給數(shù)控系統(tǒng)內(nèi)核NCU,并將NCU反饋回的數(shù)據(jù)通過圖形或文字方式表達在人機界面,用于提示調(diào)試人員機床的運行狀態(tài)信息。同時,將調(diào)試功能數(shù)據(jù)源發(fā)送給數(shù)控系統(tǒng)內(nèi)核NCU,建立用戶與數(shù)控系統(tǒng)之間數(shù)據(jù)連接。
(6)進入用戶操作響應(yīng)循環(huán)。通過接收用戶按鍵操作,將該功能動作的過程在動作預(yù)覽區(qū)進行演示,以提醒用戶該動作功能。然后,將選定功能動作發(fā)送至數(shù)控系統(tǒng),并執(zhí)行機床調(diào)試動作,動作完成,將執(zhí)行結(jié)果返回至人機交互界面。用戶操作響應(yīng)循環(huán)直到用戶退出程序,最后程序釋放占用內(nèi)存與線程。
圖7所示為SIEMENS 840D sl數(shù)控系統(tǒng)的加工界面,該界面含有水平軟鍵欄與豎直軟鍵欄,對話窗口區(qū)等。其中水平、豎直軟鍵欄分別由水平方向8個軟鍵、豎直方向8個軟鍵構(gòu)成。在OEM開發(fā)組件中,每個軟
鍵對應(yīng)屬性包括其所屬于的Screen、Softkeybar、Function、TextID、TranslationText等屬性。在自定義的調(diào)試軟件中,每個動作對應(yīng)一個軟鍵,每個軟鍵又同樣具備以上屬性。因此,在建立數(shù)據(jù)庫時,每一條數(shù)據(jù)記錄包括這些屬性以及其他自主添加的屬性。數(shù)據(jù)庫結(jié)構(gòu)及數(shù)據(jù)庫屬性含義如表1、表2所示。
表1 數(shù)據(jù)庫結(jié)構(gòu)表1表名:ActionTable_TAB 描述:用于調(diào)試工作臺的用戶自定義動作數(shù)據(jù)
表2 數(shù)據(jù)庫結(jié)構(gòu)表2表名:MonitorTable_TAB 描述:用于調(diào)試工作臺的用戶自定義監(jiān)控數(shù)據(jù)
采用Qt讀取數(shù)據(jù)庫數(shù)據(jù)的方法需要3個步驟:
(1)建立數(shù)據(jù)庫鏈接;
(2)檢索數(shù)據(jù)并對數(shù)據(jù)進行處理;
(3)對于用戶軟鍵操作,依據(jù)數(shù)據(jù)庫中檢索內(nèi)容,做出相應(yīng)的響應(yīng),控制數(shù)控機床執(zhí)行動作。
本文所述電氣調(diào)試方法在實施過程中具有以下優(yōu)勢:
(1)調(diào)試軟件執(zhí)行調(diào)試動作成功率高,將電氣調(diào)試周期縮短50%以上。
(2)方便調(diào)試人員使用,可擴展性強。調(diào)試人員只需要修改數(shù)據(jù)庫中監(jiān)控信號PLC的I/O點值就可以實現(xiàn)實時監(jiān)控,同樣修改數(shù)據(jù)庫值可以實現(xiàn)調(diào)試動作修改。
(3)有效避免誤操作導(dǎo)致的部件損壞。調(diào)試軟件中包含動作預(yù)覽功能,提醒操作人員動作執(zhí)行過程,有效避免操作者誤操作。
(4)監(jiān)控界面幫助調(diào)試人員快速定位電氣方面故障。
(5)該軟件采用自主軟件運行流程,有效實現(xiàn)軟件運行中動作軟鍵的互鎖關(guān)系,避免用戶誤操作。
綜上所述,本調(diào)試方法代替了傳統(tǒng)數(shù)控機床上錯綜復(fù)雜的操作按鈕,使得操作面板顯得非常簡潔、易于操作。調(diào)試人員只需在后臺調(diào)試數(shù)據(jù)庫簡單地輸入幾個數(shù)據(jù),就可以方便地生成調(diào)試界面。在電氣調(diào)試過程中,通過為專用機床定制開發(fā)相應(yīng)的部件調(diào)試功能,比如刀庫調(diào)試、托換工作臺調(diào)試、定位精度調(diào)試、主軸調(diào)試,根據(jù)用戶需求自由擴展調(diào)試功能,可以提高調(diào)試效率,降低調(diào)試工作復(fù)雜程度,縮短機床調(diào)試周期。
[1]SIEMENS.SINUMERIK 840D sl programming of HMI sl[Z],2009.
[2]周靜,陸寶春.數(shù)控仿真系統(tǒng)三維建模技術(shù)研究[J].機床與液壓,2007,35(4).