王照亮 于會(huì)龍 邢 雨
(上海三一精機(jī)有限公司研究院電氣所,上海 200210)
數(shù)控機(jī)床在完成機(jī)械結(jié)構(gòu)設(shè)計(jì)與電氣、液壓設(shè)計(jì)后,需要完成裝配以及調(diào)試、試加工過(guò)程,達(dá)到精度、性能要求,方能交付使用,這一周期通常稱(chēng)為裝配調(diào)試期。如何保證機(jī)床部件在此期間避免意外損壞,有效縮短裝配調(diào)試周期成為數(shù)控機(jī)床制造商關(guān)注點(diǎn)。在機(jī)床電氣調(diào)試過(guò)程中,通常需要實(shí)時(shí)監(jiān)控PLC點(diǎn)信號(hào),并且通過(guò)修改PLC值實(shí)現(xiàn)機(jī)床部件如刀庫(kù)、工作臺(tái)、主軸動(dòng)作調(diào)試。常見(jiàn)的做法是通過(guò)數(shù)控系統(tǒng)人機(jī)界面NC/PLC變量表中監(jiān)控、修改變量值。這種方式只表現(xiàn)在0/1數(shù)值變化,效果不直觀,且在執(zhí)行部件動(dòng)作時(shí),容易出錯(cuò),不能急停,這樣易產(chǎn)生因調(diào)試人員操作失誤造成電氣部件的損壞,且效率低,調(diào)試周期長(zhǎng)。
HMI(Human Machine Interface,人機(jī)交互接口)通過(guò)Softbus總線(軟件總線)與NCK(Numerial Control Kernel,數(shù)字控制內(nèi)核)、PLC以及驅(qū)動(dòng)器通信,該Softbus總線類(lèi)似于PLC通信總線,采用S7協(xié)議。外部鏈接HMI系統(tǒng)通過(guò)通信處理器將各個(gè)部件連接起來(lái)。同時(shí),內(nèi)部HMI可以通過(guò)CP與PLC、NCK和其他NC單元的驅(qū)動(dòng)器連接。
NCK和運(yùn)行于Linux系統(tǒng)上的組件都在x86處理器上運(yùn)行。獨(dú)立處理單元在執(zhí)行PLC和其他驅(qū)動(dòng)軟件時(shí)可用。用戶接口(輸入輸出設(shè)備)的虛擬化在一個(gè)Thin客戶單元上(Thin Client Unit,TCU)。TCU通過(guò)以太網(wǎng)Ethernet連接至NC單元。在圖1中,TCU接口組件包含VNC服務(wù)器,該服務(wù)器用于系統(tǒng)之間網(wǎng)絡(luò)通信。

HMI人機(jī)交互接口采用面向組件架構(gòu)。有兩個(gè)主要組件類(lèi)型:GUI組件和HMI服務(wù)。GUI組件實(shí)現(xiàn)了用戶圖形顯示(GUI Graphic User Interface);HMI服務(wù)實(shí)現(xiàn)用戶操作響應(yīng)。典型的GUI組件包括HMI對(duì)話框和操作區(qū)域,例如840D sl人機(jī)界面中的加工、參數(shù)、程序、程序管理、診斷、啟動(dòng)區(qū)域(圖2所示)。HMI服務(wù)實(shí)現(xiàn)基本功能,例如支持GUI組件后臺(tái)處理功能,如多國(guó)語(yǔ)言文字顯示、CF卡通道數(shù)據(jù)通信、通道變量的讀寫(xiě)、警告和事件服務(wù)(提供所有當(dāng)前警告和程序段給HMI)、對(duì)NC、CF卡以及其他存儲(chǔ)介質(zhì)如網(wǎng)絡(luò)驅(qū)動(dòng)器、USB設(shè)備中文件和文件路徑的操作處理。

基于840D sl數(shù)控系統(tǒng)的OEM電氣調(diào)試軟件,包括如下功能:在進(jìn)行數(shù)控系統(tǒng)電氣調(diào)試時(shí),可以分為刀庫(kù)、工作臺(tái)、輔助功能調(diào)試3個(gè)模塊,模塊本身具有可擴(kuò)展性。通過(guò)添加數(shù)據(jù)庫(kù)表單實(shí)現(xiàn)新功能的添加。并且,每個(gè)電氣調(diào)試模塊可以分為系統(tǒng)狀態(tài)監(jiān)控區(qū)、自定義信號(hào)監(jiān)控區(qū)、動(dòng)作預(yù)覽區(qū)、操作提示區(qū)以及軟鍵區(qū),如圖3所示。圖4為按照布局設(shè)計(jì)所實(shí)現(xiàn)的調(diào)試軟件界面。系統(tǒng)狀態(tài)監(jiān)控區(qū)顯示當(dāng)前機(jī)床數(shù)控系統(tǒng)的伺服驅(qū)動(dòng)器使能信號(hào)、調(diào)試功能準(zhǔn)備狀態(tài)以及當(dāng)前動(dòng)作執(zhí)行狀態(tài)等信息。自定義信號(hào)監(jiān)控區(qū)顯示機(jī)床上用戶需要關(guān)注的接近開(kāi)關(guān)、觸點(diǎn)開(kāi)關(guān)、壓力繼電器等傳感器的狀態(tài);動(dòng)作預(yù)覽區(qū)顯示用戶當(dāng)前選定動(dòng)作的動(dòng)畫(huà)模擬;操作提示區(qū)用于提示操作者操作方法與當(dāng)前動(dòng)作是否與數(shù)控系統(tǒng)NCU建立通信并執(zhí)行;軟鍵區(qū)主要顯示支持的機(jī)床調(diào)試動(dòng)作功能。

該電氣調(diào)試方法代替了傳統(tǒng)數(shù)控機(jī)床上錯(cuò)綜復(fù)雜的操作按鈕,使得操作面板顯得非常簡(jiǎn)潔、易于操作。調(diào)試人員只需在后臺(tái)的調(diào)試數(shù)據(jù)庫(kù)(見(jiàn)3.3)簡(jiǎn)單地輸入幾個(gè)數(shù)據(jù),就可以方便地生成調(diào)試界面;進(jìn)而,提高了調(diào)試效率,降低了調(diào)試工作復(fù)雜程度,縮短了機(jī)床調(diào)試周期。
本文論述的機(jī)床電氣調(diào)試軟件是基于840D sl OEM開(kāi)發(fā)組件,采用Visual Studio 2010與QT界面技術(shù)編譯軟件界面,采用SQLite小型數(shù)據(jù)庫(kù)作為調(diào)試參數(shù)存儲(chǔ)數(shù)據(jù)源,采用XML語(yǔ)言作為界面布局,動(dòng)作預(yù)覽采用Solidworks三維造型軟件創(chuàng)建部件三維模型,通過(guò)OpenGL讀取模型文件[2],并控制模型部件運(yùn)動(dòng)以生成動(dòng)畫(huà)效果,給操作者以動(dòng)作預(yù)覽。
數(shù)控系統(tǒng)電氣調(diào)試軟件的3層軟件架構(gòu)(圖5)包括數(shù)據(jù)鏈接層、系統(tǒng)管理層和HMI交互層。

數(shù)據(jù)鏈接層由系統(tǒng)啟動(dòng)配置文件、OEM界面布局、動(dòng)態(tài)鏈接庫(kù)、用戶數(shù)據(jù)庫(kù)構(gòu)成。啟動(dòng)配置文件systemconfiguration.ini,該文件指定與 840D sl Operate 一起啟動(dòng)的用戶自定義界面;OEM界面布局文件Screen-Dialog.xml,通過(guò)xml格式代碼生成調(diào)試軟件界面框架,調(diào)整軟件模塊之間的跳轉(zhuǎn)關(guān)系以及用戶界面布局;動(dòng)態(tài)鏈接庫(kù)OEM DLL文件,編譯了OEM軟件對(duì)用戶操作的響應(yīng)以及與數(shù)控系統(tǒng)內(nèi)核NCU的數(shù)據(jù)通信、OpenGL實(shí)體建模、數(shù)據(jù)庫(kù)操作、報(bào)警處理以及用戶信息反饋等功能;數(shù)據(jù)庫(kù)采用SQLite,用于提供電氣調(diào)試的相關(guān)數(shù)據(jù)以及監(jiān)控信息,可隨時(shí)更改數(shù)據(jù)庫(kù)內(nèi)容,并能實(shí)時(shí)更新。數(shù)據(jù)庫(kù)結(jié)構(gòu)可以分為刀庫(kù)動(dòng)作使能數(shù)據(jù)表、刀庫(kù)監(jiān)控信號(hào)數(shù)據(jù)表、工作臺(tái)動(dòng)作使能數(shù)據(jù)表、工作臺(tái)監(jiān)控信號(hào)數(shù)據(jù)表以及輔助功能的使能數(shù)據(jù)表與監(jiān)控信號(hào)數(shù)據(jù)表。
系統(tǒng)管理層為SINUMERIK 840D sl數(shù)控系統(tǒng)自帶的人機(jī)交互(HMI)軟件,其系統(tǒng)管理部分由run_hmi與SystemManager組成,SystemManager系統(tǒng)管理器讀取系統(tǒng)配置文件systemconfigu-ration.ini以及其他多個(gè)系統(tǒng)啟動(dòng)配置文件,根據(jù)其中指定內(nèi)容載入不同的動(dòng)態(tài)鏈接庫(kù)以及界面布局和界面所用資源,比如slMachine.dll與 slMachine.xml,這兩個(gè)文件是840D sl HMI加工界面對(duì)應(yīng)的動(dòng)態(tài)鏈接庫(kù)與界面布局。
HMI交互層將數(shù)據(jù)鏈接層與NCU通信數(shù)據(jù)、數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù)、NCU報(bào)警信息以及OpenGL運(yùn)算后實(shí)體模型動(dòng)態(tài)變化數(shù)據(jù)通過(guò)文字、圖片、動(dòng)畫(huà)、圖線圖形等方式反饋至機(jī)床面板顯示器(OP,Operate Panel)上,用以提示用戶當(dāng)前機(jī)床監(jiān)控信息、所選動(dòng)作預(yù)覽、動(dòng)作執(zhí)行情況。
數(shù)控系統(tǒng)電氣調(diào)試方法實(shí)施例的步驟流程圖,該方法包括如下6個(gè)步驟:
(1)生成人機(jī)交互界面(HMI)。基于啟動(dòng)配置文件,對(duì)系統(tǒng)進(jìn)行初始化,并根據(jù)預(yù)置的界面布局,生成人機(jī)界面。
(2)讀取系統(tǒng)語(yǔ)言。根據(jù)用戶設(shè)定的語(yǔ)言讀取人機(jī)界面所有語(yǔ)言源文件,并顯示在人機(jī)界面上,以支持多語(yǔ)言界面。
(3)啟用軟鍵組禁用關(guān)系。啟用軟鍵組禁用,并將當(dāng)前數(shù)控機(jī)床系統(tǒng)運(yùn)行狀態(tài)通過(guò)人機(jī)界面反饋給用戶;當(dāng)操作條件滿足,禁用的軟鍵組自動(dòng)啟用。
(4)建立調(diào)試用數(shù)據(jù)庫(kù)鏈接。調(diào)試數(shù)據(jù)庫(kù)接收用于數(shù)控系統(tǒng)電氣調(diào)試的數(shù)據(jù)源。
(5)建立槽通信機(jī)制。基于獲取的數(shù)據(jù)源,建立人機(jī)界面與數(shù)控系統(tǒng)內(nèi)核之間數(shù)據(jù)連接的通信槽。
(6)響應(yīng)用戶調(diào)試操作。基于所建立通信槽,接收用戶發(fā)送的、用于實(shí)現(xiàn)數(shù)控系統(tǒng)功能動(dòng)作的按鍵操作,并將該功能動(dòng)作發(fā)送至數(shù)控系統(tǒng)內(nèi)核,使機(jī)床執(zhí)行調(diào)試動(dòng)作,動(dòng)作完成后,將執(zhí)行結(jié)果反饋至人機(jī)交互界面。
調(diào)試軟件運(yùn)行流程如圖6所示。下面,對(duì)上述方法做進(jìn)一步的詳細(xì)說(shuō)明。

(1)初始化。數(shù)控系統(tǒng)界面啟動(dòng),根據(jù)系統(tǒng)啟動(dòng)配置文件,啟動(dòng)調(diào)試輔助軟件,實(shí)現(xiàn)軟件初始化。根據(jù)界面布局生成人機(jī)界面,包括軟件軟鍵欄、以及監(jiān)控界面、動(dòng)作預(yù)覽區(qū)、操作提示區(qū)。
(2)讀取系統(tǒng)語(yǔ)言。根據(jù)用戶設(shè)定的語(yǔ)言讀取軟件界面所有語(yǔ)言源文件,并顯示在人機(jī)界面上,用于支持多語(yǔ)言界面。
(3)啟用軟鍵組禁用關(guān)系,并將當(dāng)前運(yùn)行狀態(tài)反饋給用戶。主要用于保障機(jī)床安全調(diào)試,將為滿足條件的功能禁用,避免用戶誤操作。當(dāng)操作條件滿足,相應(yīng)軟鍵功能自動(dòng)啟用。
(4)讀取數(shù)據(jù)庫(kù)。調(diào)試數(shù)據(jù)庫(kù)只對(duì)電氣調(diào)試人員開(kāi)放,用于存儲(chǔ)調(diào)試過(guò)程中用到的PLC數(shù)據(jù)以及NC數(shù)據(jù)與自定義文本、圖片。該步驟主要用于下一步建立槽通信,為與數(shù)控系統(tǒng)NCU通信提供數(shù)據(jù)源。
(5)建立監(jiān)控信號(hào)槽通信。QT槽通信機(jī)制用于建立人機(jī)界面與數(shù)控系統(tǒng)內(nèi)核NCU之間數(shù)據(jù)通信。首先,將讀取的數(shù)據(jù)源發(fā)送給數(shù)控系統(tǒng)內(nèi)核NCU,并將NCU反饋回的數(shù)據(jù)通過(guò)圖形或文字方式表達(dá)在人機(jī)界面,用于提示調(diào)試人員機(jī)床的運(yùn)行狀態(tài)信息。同時(shí),將調(diào)試功能數(shù)據(jù)源發(fā)送給數(shù)控系統(tǒng)內(nèi)核NCU,建立用戶與數(shù)控系統(tǒng)之間數(shù)據(jù)連接。
(6)進(jìn)入用戶操作響應(yīng)循環(huán)。通過(guò)接收用戶按鍵操作,將該功能動(dòng)作的過(guò)程在動(dòng)作預(yù)覽區(qū)進(jìn)行演示,以提醒用戶該動(dòng)作功能。然后,將選定功能動(dòng)作發(fā)送至數(shù)控系統(tǒng),并執(zhí)行機(jī)床調(diào)試動(dòng)作,動(dòng)作完成,將執(zhí)行結(jié)果返回至人機(jī)交互界面。用戶操作響應(yīng)循環(huán)直到用戶退出程序,最后程序釋放占用內(nèi)存與線程。
圖7所示為SIEMENS 840D sl數(shù)控系統(tǒng)的加工界面,該界面含有水平軟鍵欄與豎直軟鍵欄,對(duì)話窗口區(qū)等。其中水平、豎直軟鍵欄分別由水平方向8個(gè)軟鍵、豎直方向8個(gè)軟鍵構(gòu)成。在OEM開(kāi)發(fā)組件中,每個(gè)軟

鍵對(duì)應(yīng)屬性包括其所屬于的Screen、Softkeybar、Function、TextID、TranslationText等屬性。在自定義的調(diào)試軟件中,每個(gè)動(dòng)作對(duì)應(yīng)一個(gè)軟鍵,每個(gè)軟鍵又同樣具備以上屬性。因此,在建立數(shù)據(jù)庫(kù)時(shí),每一條數(shù)據(jù)記錄包括這些屬性以及其他自主添加的屬性。數(shù)據(jù)庫(kù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)屬性含義如表1、表2所示。

表1 數(shù)據(jù)庫(kù)結(jié)構(gòu)表1表名:ActionTable_TAB 描述:用于調(diào)試工作臺(tái)的用戶自定義動(dòng)作數(shù)據(jù)

表2 數(shù)據(jù)庫(kù)結(jié)構(gòu)表2表名:MonitorTable_TAB 描述:用于調(diào)試工作臺(tái)的用戶自定義監(jiān)控?cái)?shù)據(jù)
采用Qt讀取數(shù)據(jù)庫(kù)數(shù)據(jù)的方法需要3個(gè)步驟:
(1)建立數(shù)據(jù)庫(kù)鏈接;

(2)檢索數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行處理;


(3)對(duì)于用戶軟鍵操作,依據(jù)數(shù)據(jù)庫(kù)中檢索內(nèi)容,做出相應(yīng)的響應(yīng),控制數(shù)控機(jī)床執(zhí)行動(dòng)作。

本文所述電氣調(diào)試方法在實(shí)施過(guò)程中具有以下優(yōu)勢(shì):
(1)調(diào)試軟件執(zhí)行調(diào)試動(dòng)作成功率高,將電氣調(diào)試周期縮短50%以上。
(2)方便調(diào)試人員使用,可擴(kuò)展性強(qiáng)。調(diào)試人員只需要修改數(shù)據(jù)庫(kù)中監(jiān)控信號(hào)PLC的I/O點(diǎn)值就可以實(shí)現(xiàn)實(shí)時(shí)監(jiān)控,同樣修改數(shù)據(jù)庫(kù)值可以實(shí)現(xiàn)調(diào)試動(dòng)作修改。
(3)有效避免誤操作導(dǎo)致的部件損壞。調(diào)試軟件中包含動(dòng)作預(yù)覽功能,提醒操作人員動(dòng)作執(zhí)行過(guò)程,有效避免操作者誤操作。
(4)監(jiān)控界面幫助調(diào)試人員快速定位電氣方面故障。
(5)該軟件采用自主軟件運(yùn)行流程,有效實(shí)現(xiàn)軟件運(yùn)行中動(dòng)作軟鍵的互鎖關(guān)系,避免用戶誤操作。
綜上所述,本調(diào)試方法代替了傳統(tǒng)數(shù)控機(jī)床上錯(cuò)綜復(fù)雜的操作按鈕,使得操作面板顯得非常簡(jiǎn)潔、易于操作。調(diào)試人員只需在后臺(tái)調(diào)試數(shù)據(jù)庫(kù)簡(jiǎn)單地輸入幾個(gè)數(shù)據(jù),就可以方便地生成調(diào)試界面。在電氣調(diào)試過(guò)程中,通過(guò)為專(zhuān)用機(jī)床定制開(kāi)發(fā)相應(yīng)的部件調(diào)試功能,比如刀庫(kù)調(diào)試、托換工作臺(tái)調(diào)試、定位精度調(diào)試、主軸調(diào)試,根據(jù)用戶需求自由擴(kuò)展調(diào)試功能,可以提高調(diào)試效率,降低調(diào)試工作復(fù)雜程度,縮短機(jī)床調(diào)試周期。
[1]SIEMENS.SINUMERIK 840D sl programming of HMI sl[Z],2009.
[2]周靜,陸寶春.數(shù)控仿真系統(tǒng)三維建模技術(shù)研究[J].機(jī)床與液壓,2007,35(4).