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