1 引言
在組合機床、專用機床、自動生產(chǎn)線、印染機械、紡織機械、包裝機械、輕工機械等機械設(shè)備中,有一些設(shè)備它們不僅需要邏輯控制而且需要精確的位移控制。為此,人們采用一臺經(jīng)濟型數(shù)控系統(tǒng)來控制位移量,再加上一臺可編程邏輯控制器來進行邏輯控制的1+1的方案。這顯然是不經(jīng)濟和不方便的。目前,經(jīng)濟型數(shù)控系統(tǒng)中最流行的的CPU是MCS-51系列單片機。該單片機內(nèi)部有一個布爾處理器,具有強大的邏輯處理功能。我們可以充分利用它的這個能力,通過軟件使經(jīng)濟型數(shù)控系統(tǒng)同時具有數(shù)控和可編程邏輯控制器的功能,以實現(xiàn)知識經(jīng)濟的增長,滿足用戶的需求。用一個CPU既完成數(shù)控又完成邏輯控制,不僅經(jīng)濟、方便,而且比1+方案的可靠性也增加了。
2 工作原理
本系統(tǒng)是在原經(jīng)濟型機床數(shù)控系統(tǒng)的基礎(chǔ)上,擴展了一個可編程邏輯控制模塊,融PLC(可編程控制器)和MNC(微機數(shù)控)為一體,既可以實現(xiàn)條件控制(邏輯控制)、順序控制、定時/計數(shù)控制,又可以實現(xiàn)點位的精確控制和兩個座標的運動軌跡控制。
2.1 系統(tǒng)硬件組成
由于PLC邏輯控制部分是用軟件實現(xiàn)的,故其支持硬件非常簡單,只要能完成開關(guān)量的輸入輸出就可以了。系統(tǒng)以8032單片機作為控制核心,包括PLC控制及座標運動控制兩大部分。
圖1中的數(shù)控部分具有兩坐標聯(lián)動數(shù)控系統(tǒng)的全部功能,包括直線、斜線和圓弧插補,各種螺紋加工,自動對刀功能等,并采用國際標準(IS)指令編程。PLC部分具有開關(guān)量輸入輸出各32點,內(nèi)部輔助繼電器168點(其中128點可用作特殊繼電器),定時器/計數(shù)器16點。PLC 指令20 條,采用梯形圖編程。另外, PLC輸入輸出各點狀態(tài)均有指示燈顯示,便于用戶不帶負載調(diào)試程序。用戶程序容量為32KB。
2.2 PLC程序執(zhí)行過程
PLC 程序執(zhí)行過程分為輸入采樣(或處理)、程序執(zhí)行和輸出刷新(或處理)三個階段。在輸入采樣階段,系統(tǒng)以掃描方式按順序?qū)⑺休斎攵说妮斎霠顟B(tài)(開或關(guān),即“1”或“0”)讀入到輸入映像寄存器中寄存起來,原寄存器中的內(nèi)容被刷新。在程序執(zhí)行階段,系統(tǒng)對程序按順序進行掃描。每掃描到一條指令時,所需要的輸入狀態(tài)或其它元素的狀態(tài)分別從輸入映像寄存器和元素映像寄存器中讀出。執(zhí)行結(jié)果則寫入到元素映像寄存器中。對于每個元素來說,元素映像寄存器中的內(nèi)容,會隨程序執(zhí)行的進程而變化。程序執(zhí)行完后是輸出刷新階段,它是系統(tǒng)的實際輸出階段。此時,系統(tǒng)將元素映像寄存器中所有輸出繼電器的狀態(tài)送到輸出鎖存電路,再去驅(qū)動用戶輸出設(shè)備(負載)。
2.3 PLC模塊對輸入/輸出的處理規(guī)則
?。?)輸入映像寄存器的數(shù)據(jù),取決于輸入端在上一個工作周期的輸入采樣階段所刷新的狀態(tài)。
(2)輸出映像寄存器(包括內(nèi)部元素映像寄存器)中的狀態(tài),由程序中輸出指令的執(zhí)行結(jié)果決定。
?。?)輸出鎖存電路中的數(shù)據(jù),由上一個工作周期的輸出刷新階段送入到輸出鎖存電路中的數(shù)據(jù)來確定。
?。?)輸出端子上的輸出狀態(tài),由輸出鎖存電路中的數(shù)據(jù)來確定。
(5)程序執(zhí)行過程中所需的輸入/輸出狀態(tài)(數(shù)據(jù)),由輸入、輸出映像寄存器中讀出。
2.4 與PLC有關(guān)的數(shù)控指令
2.4.1 PLC開始指令M23
PLC程序塊是與數(shù)控指令混合在一起編寫的。為了區(qū)別PLC 程序塊與數(shù)控指令,本系統(tǒng)規(guī)定每一個具有一組邏輯運算功能的獨立的PLC程序塊,必須以M23 指令開始,以END指令結(jié)束。
2.4.2 發(fā)信指令M21
該指令用于向某指定編號的I/O 口發(fā)出電平信號
格式:M21L
L值為I/O口的編號,取值范圍在1~255 內(nèi)。例如:M21 L001 表示系統(tǒng)向001號的I/O口發(fā)出電平信號,該信號延續(xù)0.5s 。
如果用戶有一個獨立的可編程邏輯控制器,也可通過M21 指令實現(xiàn)數(shù)控主機與PLC 主機的輸出聯(lián)接。
2.4.3 收信指令M22
該指令用于取某指令編號的I/O 口的信號格式:M22 L
L值為I/O 口的編號,取值范圍在1~255 內(nèi)。
例如:M22 L035表示系統(tǒng)取35號I/O口信號。如果用戶有一個獨立的可編程邏輯控制器,通過M22指令可以實現(xiàn)數(shù)控主機與PLC主機的輸入聯(lián)接。
3 PLC軟件
為了在數(shù)控系統(tǒng)中實現(xiàn)開關(guān)量的可編程邏輯控制,PLC功能軟件由如下幾個部分構(gòu)成。
3.1 PLC指令模塊
本系統(tǒng)共有20條PLC指令,每一條指令是一個獨立模塊,供系統(tǒng)執(zhí)行時調(diào)用。其中有邏輯運算指令8條、輸出指令2條、置位復(fù)位指令2 條、微分指令2 條、計數(shù)器指令1條、定時器指令1條、移位指令1條、程序跳轉(zhuǎn)指令2 條和程序結(jié)束指令1條。
3.2 PLC編輯程序
PLC 編輯程序是數(shù)控系統(tǒng)編輯程序的一部分。由于數(shù)控指令與PLC 指令格式不同,因此在編輯中要對用戶輸入的指令加以區(qū)分,以便分別處理。用戶編程時可按梯形圖采用繼電器邏輯語言編程。
3.3 PLC顯示程序
由于數(shù)控指令與PLC 指令格式不同,因此在顯示時也要對這兩種指令加以區(qū)分,以便分別處理。
3.4 PLC開始程序
M23 指令是系統(tǒng)的PLC開始程序。該程序首先對PLC邏輯程序塊進行語法檢查,從M23指令的下一條指令開始檢查到END指令結(jié)束。如有錯,則程序停止執(zhí)行并給出出錯顯示。如無錯,則調(diào)PLC主程序。
3.5 PLC主程序
PLC 主程序塊是數(shù)控程序中的一部分,它執(zhí)行完畢后面可能還有指令要執(zhí)行。為此,本系統(tǒng)的END指令必須后跟一個繼電器編號。繼電器可以是內(nèi)部繼電器,也可以是外部繼電器。該繼電器的狀態(tài)應(yīng)當是整個PLC邏輯塊(從M23指令開始,到END指令結(jié)束)的結(jié)果狀態(tài)。當該狀態(tài)為“1”時,表示PLC程序塊執(zhí)行完畢。系統(tǒng)將根據(jù)END指令后的繼電器狀態(tài)來決定是繼續(xù)循環(huán),還是結(jié)束PLC程序返回。
4 結(jié)論
用軟件實現(xiàn)可編程邏輯控制,并通過實施一些新的軟件處理方法把該軟件融入單片機數(shù)控系統(tǒng)中,經(jīng)濟有效地解決了數(shù)控系統(tǒng)中輸入輸出開關(guān)量的控制。由于采用單機控制,使得控制系統(tǒng)成本大大降低。由于聯(lián)接環(huán)節(jié)減少,使得控制系統(tǒng)的可靠性得到提高。該方法已用于國產(chǎn)經(jīng)濟型數(shù)控系統(tǒng),實踐證明能滿足用戶的需求。
(審核編輯: 智匯張瑜)
分享