在數(shù)控系統(tǒng)中,CNC和PLC在邏輯上是相互獨(dú)立的功能單元。其信息交換是以PLC為中心,在CNC、PLC和數(shù)控機(jī)床之間進(jìn)行信息傳遞。CNC將各種功能代碼M、S、T的信息,手動(dòng)/自動(dòng)方式信息,各種使能信息等發(fā)給PLC。而PLC將M、S、T功能的應(yīng)答信號(hào)和各坐標(biāo)軸對(duì)應(yīng)機(jī)床參考點(diǎn)的信息等發(fā)給CNC。PLC又將控制機(jī)床的執(zhí)行元件以及各種狀態(tài)指示和故障診斷報(bào)警等信息發(fā)給機(jī)床。而機(jī)床將操縱面板上各開(kāi)關(guān)、按鈕等信號(hào)以及各運(yùn)動(dòng)部件的限位信息等發(fā)送給PLC。
一、外置式PLC信息交換
外置式PLC是一個(gè)通用型PLC,它完全獨(dú)立于CNC裝置,具備完善的硬件和軟件,能夠獨(dú)立地完成邏輯順序控制任務(wù)。CNC和PLC都有自己的開(kāi)關(guān)量I/0接口電路,PLC的I/0點(diǎn)數(shù)和功能可根據(jù)數(shù)控機(jī)床輔助動(dòng)作的復(fù)雜程度而定。
在對(duì)某企業(yè)所使用的CK6150的數(shù)控車(chē)床系統(tǒng)置換時(shí),采用原有FAGOR8025數(shù)控系統(tǒng)加外置西門(mén)子S7-200型PLC的維修方案。PLC采用CPU226(24V直流輸/16繼電器輸出)為主單元,擴(kuò)展EM221(8進(jìn))直流24V輸進(jìn)單元和EM222(8)繼電器輸出單元組成56點(diǎn)的可編程控制器[2]。
CNC系統(tǒng)和PLC接口接線(xiàn)原理圖如圖1所示。圖中KM1為液壓電動(dòng)機(jī)控制輔助觸點(diǎn),KM2、KM3為用于連鎖控制的主電動(dòng)機(jī)控制輔助觸點(diǎn),T1~T4為刀位檢測(cè)開(kāi)關(guān),SQ1、SQ2、SQ4、SQ53為X軸、Z軸正負(fù)向限位開(kāi)關(guān)。另外,M/S/T選通訊號(hào)、工作方式信號(hào)、NC急停信號(hào)和復(fù)位信號(hào)、輔助功能編碼(MST01~MST20)信號(hào)分別由數(shù)控系統(tǒng)接至12.2~12.7、13.0~13.5。數(shù)控系統(tǒng)發(fā)出M、S、T輔助命令時(shí),首先通過(guò)I/0口向PLC發(fā)出相應(yīng)的M、S、T選通訊號(hào),然后MST01~MST20發(fā)出相應(yīng)編碼信息,編碼方式靈活多樣。
PLC輸出分別用于控制主軸變速、冷卻油泵、刀架電機(jī)、潤(rùn)滑電機(jī)、液壓卡盤(pán)、液壓尾座以及產(chǎn)生各種控制指示等功能。
二、內(nèi)置式PLC信息交換
內(nèi)裝型PLC也稱(chēng)為內(nèi)置型PLC,其全部功能置于CNC內(nèi)部,與CNC集成于一體。PLC的硬件和軟件作為CNC的基本功能同一設(shè)計(jì),其性能指標(biāo)也由CNC系統(tǒng)來(lái)確定。PLC與CNC其他裝置之間的信號(hào)傳遞在系統(tǒng)內(nèi)部進(jìn)行,PLC開(kāi)關(guān)量的輸出通過(guò)CNC的I/0電路完成[3]。
PLC既可與CNC之間共用CPU,也可分別設(shè)置專(zhuān)用的CPU。共用CPU固然可以充分利用CNC裝置中微處理器的資源,但是當(dāng)PLC的I/0點(diǎn)數(shù)太多時(shí),會(huì)影響到CNC功能的處理速度,一般用于中低檔的數(shù)控系統(tǒng)。采用專(zhuān)用CPU來(lái)完成PLC的功能,速度快,用于規(guī)模大、邏輯復(fù)雜、動(dòng)作速度要求高的數(shù)控系統(tǒng)中。
內(nèi)部帶PLC的FAGOR 8025/8030數(shù)控系統(tǒng)(圖2),內(nèi)部輸進(jìn)喻出點(diǎn)數(shù)為41/24點(diǎn),采用PLC和CNC共用CPU和存儲(chǔ)器的方式,其內(nèi)部PLC與CNC之間信號(hào)交換如圖2所示。I42~I(xiàn)104是CNC至PLC的內(nèi)部邏輯開(kāi)關(guān)量信號(hào),O25~O64是PLC至CNC的內(nèi)部開(kāi)關(guān)量信號(hào),分別通過(guò)內(nèi)部公共存儲(chǔ)單元實(shí)現(xiàn)CNC和PLC之間信息的相互傳遞。I1~I(xiàn)41是機(jī)床至PLC的外部開(kāi)關(guān)量信號(hào),O1~O24是PLC至機(jī)床的外部開(kāi)關(guān)量信號(hào)。
另外,PLC還可通過(guò)其中2047個(gè)標(biāo)志器、203個(gè)寄存器等存儲(chǔ)單元實(shí)現(xiàn)與CNC交換數(shù)據(jù)。PLC運(yùn)行時(shí),可通過(guò)置位標(biāo)志位M 1801~M1899在CNC中產(chǎn)生1~99號(hào)相關(guān)報(bào)警、提示信息。其中前面25條為致命錯(cuò)誤,當(dāng)出現(xiàn)其中任何一條錯(cuò)誤信息時(shí),CNC將中斷程序的執(zhí)行。PLC遵循一定的規(guī)則還可對(duì)CNC裝置中的寄存器進(jìn)行修改。在執(zhí)行M/S/T功能時(shí),CNC直接將相應(yīng)的功能代碼,傳送到PLC的相應(yīng)寄存器中,供PLC進(jìn)行后置處理。
由于內(nèi)置型PLC與CNC采用內(nèi)部數(shù)據(jù)總線(xiàn)來(lái)處理信息,使得數(shù)據(jù)處理能力強(qiáng),外部接線(xiàn)簡(jiǎn)單,可靠性高。
三、開(kāi)放式數(shù)控系統(tǒng)的PLC
隨著計(jì)算機(jī)技術(shù)戒速發(fā)展,大量先進(jìn)的高性能計(jì)算機(jī)被直接用作數(shù)控系統(tǒng)的控制器?;诟咝阅墚a(chǎn)業(yè)控制計(jì)算機(jī)(IPC)為核心的開(kāi)放式結(jié)構(gòu)成為數(shù)控系統(tǒng)發(fā)展的主要方向。在保存?zhèn)鹘y(tǒng)數(shù)控系統(tǒng)的基礎(chǔ)上,增加了更多的計(jì)算機(jī)系統(tǒng)的其他功能。其PLC常采用內(nèi)置軟PLC形式,PLC程序的開(kāi)發(fā)一般使用高級(jí)語(yǔ)言。
INCON-M40F數(shù)控系統(tǒng)是臺(tái)灣智研科技公司生產(chǎn)開(kāi)放體系結(jié)構(gòu)的數(shù)控系統(tǒng),為用戶(hù)提供了使用C++語(yǔ)言的內(nèi)置PLC開(kāi)發(fā)工具和DOS實(shí)時(shí)操縱系統(tǒng)平臺(tái)。其PLC作為CNC實(shí)時(shí)控制程序的一部分,執(zhí)行動(dòng)作的同時(shí)必須和NC模塊交換控制信息。PLC與NC通過(guò)動(dòng)態(tài)連接庫(kù)中的文件“plc. h”共享主CPU的資源。
數(shù)控系統(tǒng)在初始化時(shí)按照“plc.h”頭文件的約定,在存儲(chǔ)區(qū)專(zhuān)門(mén)為PLC定義了由NC向PLC傳遞的內(nèi)部輸進(jìn)只讀狀態(tài)變量,以及由PLC發(fā)向NC的內(nèi)部輸出變量。這些狀態(tài)變量是NC模塊在運(yùn)行過(guò)程中保存的數(shù)控系統(tǒng)和機(jī)床的運(yùn)行狀態(tài),這些數(shù)據(jù)可以供NC模塊在運(yùn)行過(guò)程中使用和修改,假如PLC模塊在運(yùn)行中需要調(diào)用這些執(zhí)行變量,則以只讀方式進(jìn)行。
狀態(tài)變量的存取格式在數(shù)控系統(tǒng)開(kāi)發(fā)時(shí)約定,編寫(xiě)PLC程序時(shí)應(yīng)按照約定格式進(jìn)行。NCON-M40F數(shù)控系統(tǒng)提供的執(zhí)行變量有60多個(gè),完全滿(mǎn)足了PLC和CNC之間的信息交換需要。例如狀態(tài)變量sts.state0.bRun為1時(shí)表示機(jī)床處于自動(dòng)運(yùn)行狀態(tài);sts.state0.bMdi為1時(shí)表示機(jī)床處于MDI運(yùn)行狀態(tài)。NC向PLC傳遞的內(nèi)部輸進(jìn)變量全部是關(guān)于伺服軸的狀態(tài)信息,用于在PLC要控制某伺服軸動(dòng)作時(shí)判定該伺服軸是否處于執(zhí)行狀態(tài)。如狀態(tài)變量Plc.spi0.bit.xplmt用于判定X軸是否處于負(fù)限位。PLC向NC發(fā)送的內(nèi)部輸出變量主要是機(jī)床操縱面板的控制信號(hào)以及經(jīng)過(guò)PLC邏輯計(jì)算后需要NC模塊發(fā)出控制指令的信息。如伺服軸的進(jìn)給率用P1c.vto0.fvov0-Plc.vto0.fvov3四個(gè)二進(jìn)制位信號(hào)來(lái)表示16種進(jìn)給速度。PLC同機(jī)床本體之間通過(guò)物理I/0口相互聯(lián)系。
某臥式加工中心PLC程序自動(dòng)換刀模塊中的C++程序片斷如下:
case 6: ∥自動(dòng)換刀子程序
if(!toolChangeDevice) ∥假如無(wú)換刀裝置
1plc.mCode.finsh=l; ∥置M代碼結(jié)束
Break;}
switch(T_C_STEP) ∥換刀過(guò)程
{case 0: ∥換刀第0步
if(spindleSate! =SPOMDLE_ OFF) ∥假如主軸不在停止?fàn)顟B(tài)
?。?br/> }
由于采用高級(jí)語(yǔ)言編程,與傳統(tǒng)的梯形圖等編程方法相比固然增加了編程的復(fù)雜性,但是編程的靈活性大大增加,而且使得系統(tǒng)功能更加強(qiáng)大。在編制PLC控制程序時(shí)需仔細(xì)閱讀數(shù)控系統(tǒng)關(guān)于PLC的具體說(shuō)明[6]。
四、結(jié)論
傳統(tǒng)的數(shù)控系統(tǒng)結(jié)構(gòu)無(wú)論是內(nèi)置式還是外置式PLC結(jié)構(gòu)形式,都不同程度地存在程序兼容性差、硬件要求高等缺點(diǎn),而開(kāi)放式數(shù)控系統(tǒng)結(jié)構(gòu)可以采用同一的數(shù)據(jù)結(jié)構(gòu)和開(kāi)放的外部接口,邏輯結(jié)構(gòu)PLC和CNC之間的信息交換方便,信息量大。PLC控制功能擴(kuò)充不依靠于具體的硬件,編程元件的數(shù)目、種類(lèi)可根據(jù)需要?jiǎng)討B(tài)添加,無(wú)需更改硬件,降低整個(gè)數(shù)控系統(tǒng)的本錢(qián)。
在編制PLC程序時(shí),無(wú)論是針對(duì)哪一種PLC信息交換結(jié)構(gòu),首先必須弄清CNC、PLC、機(jī)床三者之間的關(guān)系,公道的設(shè)計(jì)數(shù)控機(jī)床控制電路編制PLC控制程序,使三者構(gòu)成有機(jī)的整體,控制數(shù)控機(jī)床有條不紊地下作。
(審核編輯: 滄海一土)