邴 旭 徐兆成 李 焱 劉春時
(沈陽機床(集團)有限責(zé)任公司,遼寧 沈陽110142)
針對我國大多數(shù)機床制造企業(yè),對于一些復(fù)雜的功能部件如刀庫、數(shù)控刀架、擺頭等長期依靠進口和外購的現(xiàn)狀,國家撥出了專項資金幫助機床企業(yè)自主研發(fā)重要功能部件。然而,在樣件的試制和測試過程中,經(jīng)常會出現(xiàn)由于調(diào)試人員對樣件的性能不夠了解,或是由于PLC控制程序的開發(fā)軟件沒有仿真環(huán)境,又或是即使有仿真環(huán)境,但是不能很好地仿真硬件的實際狀態(tài),而造成PLC程序存在一些問題,致使機床部件在實際運行時會發(fā)生故障甚至造成不可修復(fù)的損壞。
由于機床部件的千差萬別,我們不可能制作出通用的硬件模擬器。在這種情況下,就需要我們自己的設(shè)計人員根據(jù)每類機床的實際情況,在計算機上研發(fā)出“軟”機床部件模擬器,這樣可以在程序開發(fā)階段就找出程序的錯誤所在,進而提高調(diào)試效率、節(jié)省調(diào)試時間。自制機床部件模擬器最大的益處在于能夠最大可能地避免由于程序設(shè)計不當(dāng)而造成的事故,既能節(jié)約時間,也能節(jié)約維修成本。
在計算機上開發(fā)部件模擬器,要使用一些開發(fā)軟件和硬件設(shè)備。如下列出了機床部件模擬器的開發(fā)環(huán)境:
(1)開發(fā)部件模擬器的硬件要求
西門子840D NCU,ET200S輸入輸出模塊,PCU50或普通計算機(需另配MPI通訊網(wǎng)卡),MPI通訊電纜若干米以及信號電纜若干米。
(2)開發(fā)部件模擬器的軟件要求
西門子組態(tài)軟件WinCC Flexible 2005(要包含組態(tài)數(shù)控系統(tǒng)用的SINUMERIK配置包)和西門子PLC編程軟件Step7。
(1)模擬器界面上的輸入輸出信號要嚴格按照實際部件的信號進行設(shè)置。
(2)模擬器要有通用性,要留有固定的、通用的軟硬件接口,使不同的設(shè)計人員都能夠使用。
(3)模擬器要有易操作性,要使其幾乎不需人為干預(yù)就能模擬實際部件的運行,讓使用者只要修改很少的PLC程序,就可以操作模擬器來驗證自己編寫的程序。
(4)部件模擬器開發(fā)完之后,要經(jīng)過多次調(diào)試驗證,直到?jīng)]有任何錯誤之后才可以投入使用。
現(xiàn)針對工作中出問題最多的、調(diào)試時間最長的刀庫開發(fā)一款模擬器,開發(fā)過程說明如下。
(1)繪制刀庫模型
首先,在WinCC Flexible的設(shè)計窗口中繪制刀庫的仿真模型。為了保證模擬器的可靠性,對刀庫的仿真繪圖就必須要保證其準(zhǔn)確性。如果能得到刀庫的三維模型,可以直接將其轉(zhuǎn)換成圖片格式,再放到WinCC Flexible的設(shè)計窗口中;如果沒有三維模型,就應(yīng)該嚴格按照刀庫的實際尺寸,按照一定的比例縮小后簡化繪制刀庫的模型。如圖1所示為某型號刀庫的簡化模型。
(2)配置與NCU的通訊連接
首先在WinCC Flexible的連接配置窗口中添加連接,如果是訪問 PLC變量,需要添加SINUMERIK PLC連接;如果還要訪問NC變量,則還需要添加SINUMERIK NC連接。添加連接之后,還要在變量配置窗口中添加所開發(fā)刀庫模擬器所需要訪問的 PLC變量、NC變量以及WinCC Flexible界面程序的內(nèi)部變量。
(3)添加命令按鈕和顯示文本
為了控制仿真器的運行,應(yīng)根據(jù)需要在設(shè)計窗口中添加控制和顯示用的控件,常用的控件有IO域、按鈕、文本框等。
(4)編寫刀庫的動作腳本
為了真實地模仿刀庫的動作,讓刀庫模型“動”起來,必須給刀庫模型編寫動作腳本。腳本語言可以根據(jù)設(shè)計人員的實際情況采用VB腳本語言或者是C腳本語言。例如,下面的VB腳本代碼可以實現(xiàn)盤式刀庫的正轉(zhuǎn)和反轉(zhuǎn)動作的模擬。
(5)為控件關(guān)聯(lián)變量、定義事件
為了讓界面中具有顯示和控制功能的控件能夠?qū)崟r顯示刀庫的運行狀態(tài)并控制刀庫的運行,我們需要為控件關(guān)聯(lián)PLC變量和NC變量或定義事件觸發(fā)的函數(shù)和腳本。例如,在IO域的general選項中,設(shè)置tag屬性為所要顯示的變量,即可在界面運行時實時顯示該變量的值。又如在按鈕控件的事件選項中,可為需要的鼠標(biāo)和鍵盤等事件配置所要觸發(fā)的系統(tǒng)函數(shù)或者腳本,這樣按下按鈕后即可運行相關(guān)聯(lián)的函數(shù)或者腳本來執(zhí)行模擬器的動作。
(6)設(shè)置報警
預(yù)先在WinCC Flexible的報警管理器中根據(jù)連鎖條件設(shè)置報警,一旦刀庫模擬器在未滿足連鎖條件就運行時,能夠及時發(fā)出報警,這樣調(diào)試人員就可以根據(jù)報警立刻知道問題所在,并修改PLC控制程序,消除考慮不周全的情況。
(7)編寫PLC接口程序
由于使用WinCC Flexible開發(fā)的刀庫模擬器要用到PLC中的一些中間變量作為接口信號作為刀庫運行過程中的各狀態(tài)信號,來演示刀庫部分PLC程序的運行效果,故還需用Step7編寫很少量的處理接口變量的PLC程序。程序很簡單,就是對接口變量進行賦值和清零操作。
使用部件模擬器,通過I/O連接的方式與實際機床的I/O模塊相連接,從而給機床PLC模擬反饋部件的電氣信號,來驗證機床PLC程序或NC程序的正確性。本文中作為開發(fā)示例的刀庫模擬器,已經(jīng)在多款數(shù)控機床上使用。對于西門子系統(tǒng)的PLC程序,可以直接應(yīng)用模擬器進行調(diào)試;而對于其他不同品牌和型號系統(tǒng)的PLC程序,可以把該系統(tǒng)的刀庫相關(guān)的數(shù)字輸出信號傳送給西門子系統(tǒng)上的數(shù)字輸入模塊,把數(shù)字輸入信號傳送給西門子系統(tǒng)的數(shù)字輸出模塊,再經(jīng)過西門子PLC接口程序處理后即可進行仿真調(diào)試。刀庫模擬器運行時的截圖如圖2所示。
實踐證明,應(yīng)用WinCC Flexible開發(fā)的機床部件模擬器有如下優(yōu)點:
(1)開發(fā)模擬器只需利用現(xiàn)有的設(shè)備,而不需增加額外的開發(fā)成本。
(2)使用模擬器驗證機床PLC程序及NC程序時,不用連接實際的機床部件,如果程序有誤或人為操作失誤不會損壞機床部件,從而避免了由于調(diào)試故障造成部件損壞而帶來不必要的費用。
(3)使用模擬器,可以預(yù)先對所能想到的故障情況設(shè)置報警,這樣便能夠在程序開發(fā)階段盡早發(fā)現(xiàn)程序中存在的錯誤,進而能夠大大提高調(diào)試效率和PLC程序的可靠性。
綜上所述,自制機床部件模擬器,只需少量的投入就能夠達到節(jié)約時間成本和維修成本的目的。因此有理由相信,自制的機床部件模擬器將會有廣闊的應(yīng)用前景。