0 概述
在機(jī)械加工行業(yè)中,使用著大量的機(jī)床。由于數(shù)控機(jī)床有精度高、一致性好、效率高、柔性好等眾多的優(yōu)點(diǎn),隨著數(shù)控技術(shù)的迅速發(fā)展,數(shù)控機(jī)床的普及漸漸地成為機(jī)械行業(yè)的潮流。在此潮流的驅(qū)動(dòng)下,每年有大量的數(shù)控機(jī)床由機(jī)床廠家生產(chǎn)出來(lái),同時(shí)每年也有相當(dāng)數(shù)量的舊機(jī)床進(jìn)行數(shù)控化改造。
在數(shù)控機(jī)床中,數(shù)控系統(tǒng)要完成對(duì)數(shù)控機(jī)床的三個(gè)方面的控制:進(jìn)給軸的運(yùn)動(dòng)、主軸的運(yùn)動(dòng)以及輔助功能。其中進(jìn)給軸的運(yùn)動(dòng)及主軸的運(yùn)動(dòng)控制可以由專業(yè)生產(chǎn)廠家提供的成品的硬件及控制軟件來(lái)完成(數(shù)控系統(tǒng)、驅(qū)動(dòng)器、伺服電機(jī)、主軸電機(jī)及相應(yīng)的機(jī)械傳動(dòng)鏈),許多情況下這兩項(xiàng)控制功能是即插即用的,而且對(duì)于不同的機(jī)床它們的控制也是大同小異的。而諸如冷卻、潤(rùn)滑、排屑、刀具交換、驅(qū)動(dòng)使能及報(bào)警等輔助功能的控制是由數(shù)控系統(tǒng)中的PLC(Programmable Losaccontler)——可編程序控制器來(lái)完成的。其中PLC的控制程序則是由數(shù)控機(jī)床的生產(chǎn)家或數(shù)控改造者,根據(jù)每一臺(tái)機(jī)床不同的輔助功能而具體開(kāi)發(fā)的。因此在數(shù)控機(jī)床的生產(chǎn)及機(jī)床的數(shù)控化改造中,PLC控制程序的編制及調(diào)試都占有相當(dāng)?shù)墓ぷ髁?,所以提高PLC控制程序的通用性和可移植性,就可以很好地提高數(shù)控機(jī)床的生產(chǎn)或機(jī)床的數(shù)控化改造的效率及可靠性。
提高數(shù)控機(jī)床PLC控制程序的通用性和可移植性,PLC控制程序的結(jié)構(gòu)可以采用模塊化的設(shè)計(jì)思想等方法。這里不作詳述,本文介紹一個(gè)I/O處理程序的設(shè)計(jì)思路,來(lái)提高數(shù)控機(jī)床PLC控制程序的通用化程度。
1 問(wèn)題的提出
對(duì)于同一種數(shù)控機(jī)床,如果其選用的輸入/輸出元件的規(guī)格作了變動(dòng),(例如:接近開(kāi)關(guān)由常閉點(diǎn)改為常開(kāi)點(diǎn),電磁剎車由通電剎車改為斷電剎車等。)這時(shí)都不得不對(duì)PLC控制程序加以修改。能否不修改PLC控制程序,而PLC也能適應(yīng)或兼容外部的輸A/輸出元件的這種變化呢?或者當(dāng)設(shè)計(jì)PLC程序的時(shí)候,不知道外部的輸入/輸出元件的邏輯特性時(shí)是否可以將其統(tǒng)一對(duì)待,先進(jìn)行編程呢?
2 問(wèn)題的解決
如果我們?cè)O(shè)計(jì)數(shù)控機(jī)床的PLC控制程序時(shí),能為PLC的數(shù)字輸入/輸出接口構(gòu)建一個(gè)映像寄存器,而該映像寄存器與數(shù)字輸入/輸出接口的對(duì)應(yīng)關(guān)系由PLC來(lái)控制,且PLC的控制程序?qū)?shù)字輸人/輸出接口的讀/寫(xiě)操作,都間接地通過(guò)對(duì)這個(gè)映像寄存器來(lái)進(jìn)行,那么這個(gè)問(wèn)題就可以迎刃而解。
2.1 處理的思路
具體的做法是,我們編制一個(gè)I/O處理子程序,將PLC的數(shù)字輸入接口的信號(hào),同機(jī)床用戶數(shù)據(jù)進(jìn)行一定的邏輯運(yùn)算,將結(jié)果存入PLC的內(nèi)部輔助寄存器中——數(shù)字輸人映像寄存器,而PLC控制程序則從該映像寄存器中獲得經(jīng)過(guò)處理的數(shù)字輸入信號(hào)。這里的機(jī)床用戶數(shù)據(jù),是可以通過(guò)數(shù)控系統(tǒng)的鍵盤進(jìn)行編輯的數(shù)據(jù),且PLC的控制程序可以引用該數(shù)據(jù)。對(duì)于輸出,PLC的控制程序?qū)?duì)數(shù)字輸出接口的信號(hào)存人PLC的內(nèi)部輔助寄存器中——數(shù)字輸出映像寄存器,由該程序?qū)⑵渑c機(jī)床用戶數(shù)據(jù)進(jìn)行一定的邏輯運(yùn)算,最后將結(jié)果輸出到PLC的數(shù)字輸出接口。即除了這個(gè)I/O處理子程序外,PLC的其它控制程序不直接使用數(shù)字輸A/輸出接口的地址。
2.2 數(shù)字輸入接口
對(duì)數(shù)字輸入接口信號(hào)的處理分為有效性和邏輯性二種情況。輸Jk/輸出信號(hào)的常開(kāi)/常閉的變化與邏輯性處理相對(duì)應(yīng),輸人/輸出信號(hào)是否被屏蔽則與有效性處理相對(duì)應(yīng)。如圖1所示。
圖1對(duì)數(shù)字輸入接口的處理
2.2.1 對(duì)邏輯性的處理
對(duì)數(shù)字輸入接口信號(hào)的邏輯性處理,是根據(jù)邏輯“異或”運(yùn)算原理:任何數(shù)與“1”相“異或”其值取反,任何數(shù)與“0”相“異或”其值不變。
例如:輸人接口10=10011001,它同A=00001111進(jìn)行邏輯“異或”運(yùn)算,結(jié)果10的高4位其值不變,而10的低4位其值取反了。
2.2.2 有效性的處理
對(duì)數(shù)字輸入接口信號(hào)的有效性處理,是根據(jù)邏輯“與”運(yùn)算原理:任何數(shù)與“1”相“與”其值不變,任何數(shù)與“0”相“與”其值為“0”。
例如:輸入接口IO=10011001,它同B=00001111進(jìn)行邏輯“與”運(yùn)算,結(jié)果Io的低4位其值不變,而10的高4位被屏蔽了。
現(xiàn)將對(duì)數(shù)字輸入接口信號(hào)的邏輯性和有效性處理圖示如下:
2.3 數(shù)字輸出接口
對(duì)數(shù)字輸出接口信號(hào)的處理與數(shù)字輸入接口信號(hào)的處理相類似。如圖2所示。
圖2對(duì)數(shù)字輸出接口的處理
3 程序舉例
以西門子數(shù)控系統(tǒng)為例,該I/O處理子程序編制如圖3。
圖3 I/O處理子程序
其中VW45001000、VW45001002、VW45001004、VW45001006為機(jī)床用戶數(shù)據(jù)。MWO為數(shù)字輸入映像寄存器,MW2為數(shù)字輸出映像寄存器。IW0為數(shù)字輸入接口信號(hào),QW0為數(shù)字輸出接口信號(hào)。以上皆為16位數(shù)據(jù)。
這樣,當(dāng)數(shù)控機(jī)床的輸入/輸出元件的規(guī)格作了變動(dòng),我們只需對(duì)VW45001000、VW45001002、VW45001004、VW45001006等機(jī)床用戶數(shù)據(jù)進(jìn)行修改,就可以使PLC的控制程序適應(yīng)或兼容這種變化,而不必修改PLC控制程序。
(審核編輯: Doris)
分享