四川省德陽機械制造業設計研究中心 武友德 胡明華
現有數控機床的限位保護裝置普遍采用的控制方式是正邏輯控制,這種控制方式可能因線路開路而產生限位失靈現象。為解決現有數控機床的限位控制電路的缺陷,研制出一種新的限位控制方式,即負邏輯控制。其特點是限位行程開關的工作觸點采用常閉觸點,數控系統的PLC輸入端口設置為負邏輯,負邏輯的實現可以通過編寫機床的PLC程序和通過設定機床參數實現。這種方法提高了限位電路的可靠性。經過實際使用達到了很好的效果,解決了現有數控機床限位控制電路的缺陷。
1 前言
筆者在為德陽重型標準件廠改造數控機床的過程中,經過大量調查,用戶反應現有數控機床的限位保護裝置不可靠、不穩定。針對這一現象,我們對現有數控機床的限位保護裝置進行了分析研究。經過分析發現,現有數控機床的限位保護裝置普遍采用的控制方式是正邏輯控制,這種控制方式可能因線路開路而產生限位失靈現象。經大量的論證和可行性研究,結合到西門子802S數控系統的特點,提出采用一種無論線路接觸不良或開路與否,均可確保機床運動不會超程的限位保護裝置及其方法,即負邏輯控制的限位保護裝置,這一技術應用在所改造的設備中,經過一年多的運行,證明其效果良好。
2 技術方案
2.1 基本思路
這種數控機床的限位保護裝置,包括機床各運動軸的限位行程開關、具有可編程序控制器PLC的機床數控系統、連接控制電源的端子。
[IMG=圖2 正邏輯輸入]/uploadpic/THESIS/2007/11/2007111413393867632V.jpg[/IMG]
圖2 正邏輯輸入
限位行程開關的一對工作觸點分別連接控制電源端子和PLC的輸入端口,限位行程開關的工作觸點采用常閉觸點,則PLC輸入端口為負邏輯設置。當限位行程開關的工作觸點采用常閉觸點,PLC輸入端口設置為負邏輯時,如果機床運動在正常行程內,行程開關的常閉觸點保持閉合狀態,輸入信號的邏輯值為“1”,PLC判斷為無效,無信號輸出;如果機床運動超程壓下行程開關時,行程開關的常閉觸點斷開,輸入信號的邏輯值為“0”,PLC判斷為有效,輸出事故處理信號;如果出現電源端子到PLC輸入端的線路接觸不良或開路時,輸入信號的邏輯值也為“0”,PLC判斷為有效,輸出事故處理信號,機床不能運行,必須在電路接觸良好的情況下,機床才能正常運行,這就確保了機床的安全。
PLC輸入端口為負邏輯設置時,控制電源端子和PLC的輸入端口的連接方式如圖1所示;PLC輸入端口為正邏輯設置時,控制電源端子和PLC的輸入端口的連接方式如圖2所示。
2.2 實現數控機床的PLC輸入端口設置為負邏輯的方法
實現數控機床的PLC輸入端口設置為負邏輯的方法有兩種,其一是對于需要采用負邏輯的輸入端子,在程序中把需要使用該輸入端子的常開觸點的地方用常閉觸點替代,把需要使用常閉觸點的地方用常開觸點替代,使之構成負邏輯關系;其二是通過設定機床參數實現,向PLC輸入一組數據,用于設定輸入端口的邏輯狀態,采用異或邏輯運算實現“1”與“0”的轉換,將該組數據中的某一位設定為“1”,通過異或邏輯運算使對應的PLC輸入端子的邏輯狀態為負邏輯。
所謂的異或邏輯方法也有兩種,一種方法是用軟件實現異或邏輯,即通過PLC的CPU進行異或運算;另一種方法是用硬件實現異或邏輯,即在PLC的輸入端前置一個含有異或邏輯的變換電路,用該電路進行異或運算。
2.2.1 在PLC編程時通過程序實現負邏輯設置
在不改變數控系統設定數據的情況下,或者所使用的數控系統不具備通過設定數據實現輸入端子負邏輯輸入時,可以通過機床的PLC程序實現輸入端子的負邏輯功能。在按正邏輯輸入編寫的程序中用輸入端子的常閉觸點與常開觸點交換(即:在程序中把采用負邏輯輸入的輸入端子的常閉觸點換為常開觸點,常開觸點改為常閉觸點,其余觸點不變)的方法實現輸入端子的負邏輯輸入。
在PLC中,每一個輸入端子輸入端口的映像寄存器中有一個二進制數據位,PLC在執行程序時直接從映像寄存器中讀出數據進行邏輯運算。數據中某位的狀態就是對應輸入端子常開觸點的狀態,其常閉觸點的狀態是常開觸點的反狀態。當輸入端子與控制電源沒有構成回路時其常開觸點為邏輯“0”、常閉觸點為邏輯“1”,當輸入端子與控制電源構成回路時其常開觸點為邏輯“1”、常閉觸點為邏輯“0”。
圖3 是在西門子8028數控系統中X軸限位部分的PLC梯形圖。圖3(a)、圖3(b)分別是采用正邏輯輸入和負邏輯輸入的PLC梯形圖。PLC梯形圖中,I1.0、I1.1分別是機床X軸的負向、正向硬件限位的輸入端子,I1.7是超程報警解除開關的輸入端子,Q0.7限位報警輸出,V16000000.1是用戶報警文本顯示觸發位,V38011000.0和V38011000.1是PLC輸出到CNC的負向、正向限位信息位。由于I1.7只是用于解除限位后的鎖定狀態,所以采用正邏輯輸入。
圖3(a)是采用正邏輯輸入的PLC梯形圖。當機床出現超程時,I1.0或I1.1所對應的行程開關被壓下閉合,其常閉觸點的邏輯值從“0”轉變為“1”,由于此時I1.7的常閉觸點的邏輯值為“1”,所以Q0.7、V38011000.0和V38011000.1有效,機床各軸停止并發出報警、顯示報警信息。通過使11.7無效并結合其它操作使超程的軸回到正常位置。如果行程開關與I1.0、I1.1及行程開關與電源間的連線開路或接觸不良都會使機床處于帶故障工作,且操作人員不能察覺,這樣即使機床超程,行程開關被壓下,限位也無效,機床會出現重大事故。
[IMG=圖3 X軸限位部分的PLC梯形圖]/uploadpic/THESIS/2007/11/2007111413443132235X.jpg[/IMG]
圖3 X軸限位部分的PLC梯形圖
[IMG=表1 異或邏輯關系]/uploadpic/THESIS/2007/11/2007111413450270237F.jpg[/IMG]
表1 異或邏輯關系
[IMG=表2 設定數據與輸入端子的對應關系]/uploadpic/THESIS/2007/11/2007111413452688688L.jpg[/IMG]
表2 設定數據與輸入端子的對應關系
圖3(b)是采用負邏輯輸入的PLC梯形圖。在正常狀態由于使用的是行程開關的常閉觸點,輸入端子與控制電源構成回路,則其常開觸點邏輯值為“1”,常閉觸點邏輯值為“0”,限位報警無效,機床正常工作。當機床出現超程時,I1.0或I1.1所對應的行程開關被壓下斷開,其常閉觸點的邏輯值從“0”轉變為“1”,由于此時I1.7的常閉觸點的邏輯值為“1”,所以Q0.7、V38011000.0和V38011000.1有效,機床各軸停止并發出報警、顯示報警信息。通過使I1.7無效并結合其它操作使超程的軸回到正常位置。在這種方案中,只要限位回路有開路或接觸不良,限位報警立即有效,只有在排除線路故障后機床才能工作,這樣就排除了因限位回路線路故障導致機床事故的可能性。
由于機床通電后PLC第一次讀人輸入端子狀態限位開關的狀態已經建立,所以可以保PLC程序行的結果不會出現錯誤。
2.2.2 通過設定機床參數實現負邏輯設置
通過設定機床參數可以實現輸入端口邏輯值“1”與“0”的變換,使用正邏輯輸入方式編寫的PLC程序實現負邏輯的功能。在數控系統中,輸入一組數據,用于設定輸入端口是采用正邏輯還是負邏輯。設定該組數據中的某一位為“1”則對應的
[IMG=圖4 硬件異或邏輯處理流程圖]/uploadpic/THESIS/2007/11/2007111413454493017Z.jpg[/IMG]
圖4 硬件異或邏輯處理流程圖
[IMG=圖5 軟件異或邏輯處理流程圖]/uploadpic/THESIS/2007/11/20071114134601274846.jpg[/IMG]
圖5 軟件異或邏輯處理流程圖
輸入端子就被設定為負邏輯輸入,設定該組數據中的某一位為“0”則對應的輸入端子就被設定為正邏輯輸入。在數字邏輯中采用異或運算可以實現“1”與“0”的轉換,通過表1可知一個二進制的數據位與“1”異或后其狀態取反,而與“0”異或后保持原值。
通過設定機床參數的方法實現負邏輯的原理,是實現把從PLC輸入端讀人的數據與設定數據間實現按位異或。例如:對一個8位的輸入端口,如果設定數據為46H(01000110B),則對應關系如表2所示。其中1、2、6號輸入端子采用負邏輯輸入,而其它端子采用正邏輯輸入。
2.2.3 實現異或邏輯的方法
(1)用硬件實現異或邏輯的方法
硬件實現異或邏輯的方法可以在PLC的輸入端前置一個含有異或邏輯的變換電路,例如可以采用只有8個輸入端子的異或邏輯的變換電路實現該方法(在實際應用中應根據需要確定輸入端子數量,并且所使用的元器件也可以靈活選擇)。它應具備8位數據鎖存器74LS73、8位輸入緩沖器74LS244,具有或門、異或門邏輯電路,或門邏輯電路實現片選和讀寫邏輯,異或門邏輯電路實現設定數據與輸入端子邏輯值的異或運算。把設定數據寫入輸入端口的控制單元中并鎖存,用本電路實現與輸入端口的按位異或,這種方法可以減輕PLC中CPU的負擔,提高運行速度。圖4是該方法的流程圖,在PLC通電并初始化時,CPU把設定的數據寫入數據鎖存器(74LS273)后,該數據與輸入端口的狀態實現按位異或。
如果設定的數據中某位為“1”,則該位所對應的輸入端子為負邏輯輸入。例如:寫入鎖存器的數據為0FH則4個輸入端子就設定為正邏輯輸入,另4個輸入端子就設定為負邏輯輸入。
(2)用軟件實現異或邏輯
軟件實現異或邏輯的方法是通過PLC的CPU進行異或運算。由于每次讀人輸入端口數據都要進行異或運算,所以這種方法會增加CPU負擔。
圖5是該方法的流程圖。在數控系統PLC讀人輸入端口狀態后,把讀人數據與設定數據按位異或,就實現了負邏輯。
通過設定機床參數實現輸入端子負邏輯的方法,要求數控系統具有可以對其PLC輸入、輸出端口的邏輯有效狀態進行不同設定的功能。
3 該技術適用范圍
在機床數控改造或數控系統設計中,對涉及機床安全的檢測信號輸入到數控系統時采用負邏輯輸入技術,有利于提高數控機床的可靠性和安全性。如果機床的電路采用傳統的繼電器、接觸器等元件實現邏輯功能則不宜采用負邏輯,因為他會導致部分繼電器、接觸器處于始終通電狀態。這會造成損耗大、元件升溫、壽命縮短等問題,還會因為震動等因素造成誤動作。現代數控系統的控制邏輯由邏輯電子線路實現,不會出現以上問題。
4 結論
該方法對于輸入端口采用光電隔離的數控系統,采用負邏輯輸入的方法使輸入電路中的光電耦合器的發光二極管長期處于通電狀態。但是由于該發光二極管的工作電流很小(只有幾毫安,輸入電路只消耗幾十毫瓦),因此系統的功耗的增加對功率幾千瓦的機床來說可以忽略不計,同時發光二極管是冷光源,也不會導致系統發熱。光電耦合器的工作壽命大于10萬h,以每臺機床每天連續工作12h計,可以保證機床正常工作20多年,對機床的壽命也不會造成影響。
通過實際的應用驗證,此方法效果良好,已進行了大量的推廣。
第二屆伺服與運動控制論壇論文集
第三屆伺服與運動控制論壇論文集