jic35導(dǎo)讀:本文介紹了一種典型的數(shù)控銑床的控制系統(tǒng)的特點(diǎn),以及plc控制軟件設(shè)計(jì)思路和實(shí)現(xiàn)方法。本文介紹的典型數(shù)控銑床主要由機(jī)床操作面板、x、y、z三個(gè)直線坐標(biāo)軸、上軸及機(jī)床的液壓、潤(rùn)滑、冷卻系統(tǒng)等機(jī)床輔助功能組成。機(jī)床的電氣系統(tǒng)包括數(shù)字控制系統(tǒng)(cnc)、數(shù)字伺服驅(qū)動(dòng)系統(tǒng)、主軸變頻調(diào)速系統(tǒng)及機(jī)床輸入輸出plc控制系統(tǒng)等。
本電氣系統(tǒng)主要完成人機(jī)對(duì)話和對(duì)三坐標(biāo)機(jī)床坐標(biāo)的進(jìn)給、主軸的運(yùn)轉(zhuǎn)以及機(jī)床的液壓、潤(rùn)滑、冷卻系統(tǒng)等的控制。該機(jī)床的三個(gè)坐標(biāo)采用heidehain直線光柵尺全閉環(huán)反饋方式,機(jī)床主軸為電主軸,使用施耐德變頻器控制,針對(duì)該機(jī)床的結(jié)構(gòu)特點(diǎn),其電氣控制系統(tǒng)配置了法國(guó)num公司的num1050全數(shù)字?jǐn)?shù)控系統(tǒng),伺服驅(qū)動(dòng)配置相應(yīng)的mdlunumdrive數(shù)控式伺服驅(qū)動(dòng)系統(tǒng)。
這臺(tái)三坐標(biāo)機(jī)床的plc控制程序是利用num1050全數(shù)字?jǐn)?shù)控系統(tǒng)的內(nèi)置式plc功能,并配以相應(yīng)的軟件平臺(tái)開(kāi)發(fā)出來(lái)的。因而plc程序的靈活性和易維護(hù)性與num1050數(shù)控系統(tǒng)的高性能有密不可分的關(guān)系。
1num1050數(shù)控系統(tǒng)
num1050是一種開(kāi)放式的、功能強(qiáng)大的數(shù)字控制系統(tǒng),采用64位的cpu68040,用于數(shù)據(jù)的處理和坐標(biāo)的控制,具有處理速度快、位置控制精度高等特點(diǎn)。
系統(tǒng)中的圖形功能管理cnc面板顯示和鍵盤:內(nèi)存用來(lái)存儲(chǔ)操作程序、plc程序和用戶文件:強(qiáng)大的通訊功能使cnc既可通過(guò)rs232串口又可通過(guò)網(wǎng)絡(luò)接口與上位機(jī)進(jìn)行通訊:軸控板用于控制數(shù)字軸或模擬軸的運(yùn)動(dòng):內(nèi)置式plc通過(guò)輸入/輸出模塊管理機(jī)床:cnc軟件則管理加工程序、機(jī)床數(shù)據(jù)、計(jì)算機(jī)軌跡和速度以及監(jiān)控坐標(biāo)軸的運(yùn)動(dòng)。
2num1050內(nèi)置式plc特點(diǎn)
plc使用num系統(tǒng)提供的輸入/輸出接口與外界進(jìn)行數(shù)據(jù)交換,通過(guò)plc的掃描周期刷新存儲(chǔ)區(qū)內(nèi)的數(shù)據(jù),plc讀取數(shù)據(jù)是通過(guò)%i變量,而plc輸出給外界數(shù)據(jù)是通過(guò)%q變量進(jìn)行的。
內(nèi)置式plc與nc之間則通過(guò)交換區(qū)交換數(shù)據(jù),交換區(qū)中的內(nèi)容是nc與plc之間輸入/輸出的數(shù)據(jù)。nc輸出給plc的數(shù)據(jù),plc通過(guò)%r變量從交換區(qū)讀取,plc發(fā)送到nc的數(shù)據(jù)是通過(guò)%w變量放入交換區(qū),由nc去讀取,其掃描周期由系統(tǒng)自動(dòng)執(zhí)行。%r和%w所有變量的各字節(jié)和位都有特定的含義,專門提供給plc用來(lái)控制nc的運(yùn)行,并協(xié)調(diào)外接設(shè)備與nc之間的動(dòng)作。
3num1050plc程序結(jié)構(gòu)特點(diǎn)
num數(shù)控系統(tǒng)的plc編程有梯形圖、匯編語(yǔ)言和語(yǔ)言(c語(yǔ)言)幾種方式,其程序都采用任務(wù)模塊和子程序模塊來(lái)設(shè)計(jì)。plc程序的任務(wù)模塊包括:%ini、%ts0~4、%tf0~15、%th0~15。子程序模埠%sp0~255,這些子程序可以由任務(wù)模塊調(diào)用或子程序間調(diào)用。各模塊的功能如下:
初始化任務(wù)%ini:系統(tǒng)每次上電時(shí)執(zhí)行一次。
循環(huán)任務(wù)%ts:系統(tǒng)先執(zhí)行%ts0,再按順序執(zhí)行ts1~4。%ts0的執(zhí)行周期等于每個(gè)rtc(實(shí)時(shí)時(shí)鐘控制)周期,即20ms,%ts1~4每5個(gè)rtc周期(100ms)執(zhí)行一次。
后臺(tái)任務(wù)%ts比循環(huán)任務(wù)%ts和中斷任務(wù)%th的優(yōu)先權(quán)低,可用于等待任務(wù)的使用。后臺(tái)任務(wù)可持續(xù)數(shù)個(gè)rtc循環(huán)周期,可以被循環(huán)任務(wù)中斷。
中斷(實(shí)時(shí))任務(wù)%th用于優(yōu)先權(quán)較高的事件而不必等待rtc循環(huán)的結(jié)束。中斷(實(shí)時(shí))任務(wù)%th比循環(huán)任務(wù)%ts和后臺(tái)任務(wù)%tf的優(yōu)先權(quán)高。
錯(cuò)誤信息表%9999.9:機(jī)床錯(cuò)誤信息文件。
4三坐標(biāo)數(shù)控龍門銑床plc程序的設(shè)計(jì)與實(shí)現(xiàn)
plc程序的設(shè)計(jì)離不開(kāi)良好的軟件平臺(tái)和硬件環(huán)境,num1050數(shù)控系統(tǒng)為機(jī)床生產(chǎn)制造者提供了豐富的軟件資源和強(qiáng)大的軟件開(kāi)發(fā)工具。如plctool,settool,pctoolkit等。它們都是基于windows平臺(tái)上使用,為機(jī)床電氣控制系統(tǒng)開(kāi)發(fā)帶來(lái)了極大的方便。其中plctool可方便地進(jìn)行plc梯形圖或語(yǔ)言c的編程,備有豐富的指令集與計(jì)時(shí)器、計(jì)數(shù)器單元,圖形化的界面,使用操作靈活方便。這臺(tái)三坐標(biāo)數(shù)控龍門銑床的plc程序正是在plctool軟件平臺(tái)上開(kāi)發(fā)設(shè)計(jì)出來(lái)的??紤]到實(shí)際的應(yīng)用,這臺(tái)三坐標(biāo)機(jī)床采用梯形圖語(yǔ)言設(shè)計(jì)plc程序,其優(yōu)點(diǎn)是直觀,可以動(dòng)態(tài)顯示,易于調(diào)試和維護(hù)。
利用num1050數(shù)控系統(tǒng)提供的輸入/輸出模塊和機(jī)床操作面板,可以非常方便地控制機(jī)床的運(yùn)動(dòng)及其他功能,因?yàn)闄C(jī)床操作面板帶有可供編程的自定義鍵。num系統(tǒng)提供的機(jī)床操作面板通過(guò)光纜與系統(tǒng)相連,提高了可靠性。
根據(jù)num1050的plc程序結(jié)構(gòu)特點(diǎn),在設(shè)計(jì)這臺(tái)三坐標(biāo)機(jī)床的plc程序時(shí),將該機(jī)床的各項(xiàng)功能分配給不同的模塊控制。因該機(jī)床無(wú)特殊的中斷任務(wù),所以設(shè)計(jì)程序時(shí)使用了初始化任務(wù)%ini、循環(huán)任務(wù)%ts和子程序模塊%sp。%ts0的掃描周期為20ms,所以將重要的子程序放在%ts0中調(diào)用,機(jī)床的輔助功能如液壓、冷卻、潤(rùn)滑等則在任務(wù)模塊%ts1~3中控制,機(jī)床的坐標(biāo)、主軸及相關(guān)部分的控制由梯形圖的子程序%sp模塊承擔(dān)。三坐標(biāo)數(shù)控銑床的plc程序結(jié)構(gòu)及每一模塊介紹如下:
%ini:系統(tǒng)在其它任務(wù)執(zhí)行前調(diào)用,僅在plc上電時(shí)執(zhí)行一次,不受ptc循環(huán)控制,主要對(duì)一些變量進(jìn)行初始化。
%ts0:調(diào)用子程序。%ts1:控制機(jī)床輔助功能導(dǎo)軌潤(rùn)滑和液壓系統(tǒng)。其中導(dǎo)軌潤(rùn)滑周期由plc程序中的定時(shí)器控制。%ts2:控制機(jī)床冷卻系統(tǒng)??梢栽跈C(jī)床操作面板上選擇自動(dòng)冷卻和手動(dòng)冷卻。%ts3:控制機(jī)床主軸的松刀和刀具夾緊。
%sp0:用于控制機(jī)床操作面板上的指示燈閃爍。num1050系統(tǒng)提供的機(jī)床操作面板上的自定義按鍵大部分帶有指示燈,在使用一些需要特別提醒的功能時(shí),其按鍵采用指示燈閃爍的方式,以示醒目,如機(jī)床故障復(fù)位鍵、換刀完成鍵等等。%sp2:控制機(jī)床操作面板的自定義按鍵。操作面板的自定義鍵必須經(jīng)過(guò)plc編程才能生效,而按鍵的功能則根據(jù)機(jī)床的需要來(lái)定義。根據(jù)用戶的要求,這臺(tái)三坐標(biāo)數(shù)控龍門銑床的操作面板上設(shè)計(jì)了機(jī)床啟動(dòng)、冷卻控制、主軸啟停、換刀完成、機(jī)床故障復(fù)位等功能。%sp3:控制坐標(biāo)運(yùn)動(dòng)及坐標(biāo)限位的安全檢查。%sp4:m功能譯碼,該模塊用于定義換刀結(jié)束的m06功能。%sp5:控制坐標(biāo)軸伺服使能。%sp6:該模塊控制主軸部分的所有功能,包括主軸冷卻、主軸潤(rùn)滑、刀具夾緊、主軸電機(jī)、主軸變頻器等。%sp20:機(jī)床故障信息的顯示控制。當(dāng)機(jī)床出現(xiàn)故障時(shí),在顯示頁(yè)面需要及時(shí)顯示故障號(hào)和故障內(nèi)容,當(dāng)機(jī)床出現(xiàn)多條故障時(shí),系統(tǒng)便可以按順序顯示故障,每條故障顯示的時(shí)間在本子程序模塊中設(shè)置。該模塊被其它相關(guān)模塊調(diào)用。
這臺(tái)三坐標(biāo)數(shù)控龍門銑床的所有功能和控制均由以上各模塊實(shí)現(xiàn),其中%sp2、%sp3、%sp5和%sp6更是這臺(tái)機(jī)床plc程序的核心。用模塊化方式設(shè)計(jì)plc程序,可以對(duì)每一模塊進(jìn)行單獨(dú)調(diào)試,提高了機(jī)床調(diào)試的效率,當(dāng)調(diào)試過(guò)程中出現(xiàn)問(wèn)題時(shí),可以很快找到問(wèn)題所在,而且機(jī)床的不同功能用不同的子模塊來(lái)表示,程序結(jié)構(gòu)一目了然。通過(guò)對(duì)每一個(gè)子模塊的單獨(dú)調(diào)試和zui終的機(jī)電聯(lián)調(diào),都證明了這套plc程序的設(shè)計(jì)思想和方法是行之有效的。
5小結(jié)
這臺(tái)三坐標(biāo)數(shù)控龍門銑床經(jīng)過(guò)緊張調(diào)試后,機(jī)床工作正常,符合要求,機(jī)床達(dá)到驗(yàn)收標(biāo)準(zhǔn)。實(shí)踐證明,這臺(tái)三坐標(biāo)機(jī)床的控制軟件設(shè)計(jì)是成功的,并且設(shè)計(jì)開(kāi)發(fā)的有些基本模塊還具有良好的可移植性,在以后使用num1000系列數(shù)控的典型數(shù)控機(jī)床plc梯形圖設(shè)計(jì)中稍加改動(dòng)使可加以使用,對(duì)以后同系列數(shù)控機(jī)床的plc控制軟件的設(shè)計(jì)打下了良好的基礎(chǔ)。