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