一、問題的提出
在生產(chǎn)實踐過程中,某些生產(chǎn)機械常要求既能正常起動,又能實現(xiàn)調(diào)整位置的點動工作。圖示為幾種常用的繼電—接觸器系統(tǒng)實現(xiàn)的控制線路。
圖 1 異步電動機控制線路圖
圖( a )為主電路。工作時,合上刀開關(guān) qs ,三相交流電經(jīng)過 qs ,熔斷起 fu ,接觸器 km 主觸點,熱繼電器 fr 至三相交流電動機。
圖( b )為最簡單的點動控制線路。起動按鈕 sb 沒有并聯(lián)接觸器 km 的自鎖觸點,按下 sb , km 線圈通電,松開按鈕 sb 時,接觸器 km 線圈又失電,其主觸點斷開,電動機停止運轉(zhuǎn)。
圖( c )是帶手動開關(guān) sa 的點動控制線路。當需要點動控制時,只要把開關(guān) sa 斷開,由按鈕 sb 2 來進行點動控制。當需要正常運行時,只要把開關(guān) sa 合上,將 km 的自鎖觸點接入,即可實現(xiàn)連續(xù)控制。
圖( d )中增加了一個復合按鈕 sb 3 來實現(xiàn)點動控制。需要點動運行時,按下 sb 3 點動按鈕,其常閉觸點先斷開自鎖電路,常開觸發(fā)后閉合接通起動控制電路, km 接觸器線圈得電,主觸點閉合,接通三相電源,電動機起動運轉(zhuǎn)。當松開點動按鈕 sb 3 時, km 線圈失電, km 主觸點斷開,電動機停止運轉(zhuǎn)。
若需要電動機連續(xù)運轉(zhuǎn),由停止按鈕 sb 1 及起動按鈕 sb 2 控制,接觸器 km 的輔助觸點起自鎖作用。
二、應用可編程控制器技術(shù)實現(xiàn)對三相異步電動機的點動及連續(xù)運轉(zhuǎn)控制
作用可編程控制器的編程元件及基本邏輯指令的應用,本模塊介紹運用基本的編程來控制電動機的點動及連續(xù)運行,進而引出可編程控制器的基本邏輯指令。
三、可編程控制器的硬件連接
實現(xiàn)電動機的點動及連續(xù)運行所需的器件有:起點按鈕 sb 1 ,停止按鈕 sb 2 ,交流接觸器 km ,熱繼電器 jr 及刀開關(guān) qs 等。主電路的連接如圖 2 所示。
圖 2 輸入輸出接線圖
由圖可知,起動按鈕 sb 1 接于 x0 ,停止按鈕接于 x1 ,熱繼電器常開觸點接于 x2 ,交流接觸器接于 y0 ,這就是端子分配,其實質(zhì)是為程序安排控制系統(tǒng)中的機內(nèi)元件。
四、梯形圖的設計
可編程控制器的基本邏輯控制功能是基于繼電-接觸器控制系統(tǒng)而設計的,而控制功能的實現(xiàn)是由應用程序來完成的,而用戶程序是由使用者根據(jù)可編程控制器生產(chǎn)廠家所提供的編程語言并結(jié)合所要實現(xiàn)的控制任務而設計的。梯形圖便是諸多編程語言中較常用的一種類型,它是以圖形符號及圖形符號在圖中的相互關(guān)系表示控制關(guān)系的編程語言,是從繼電器電路圖演變而來。兩者部分符號對應關(guān)系如表 1 所示。
表 1 符號對照表
根據(jù)輸入輸出接線圈可設計出異步電動機點動運行的梯形圖如圖 3 ( a )所示。工作過程分析如下:當按下 sb 1 時,輸入繼電器 x0 得電,
圖 3 電動機控制梯形圖
其常開觸點閉合,因為異步電動機未過熱,熱繼電器常開觸點不閉合,輸入繼電器 x2 不接通,其常閉觸點保持閉合,則此時輸出繼電器 y0 接通,進而接觸器 km 得電,其主觸點接通電動機的電源,則電動機起動運行。當松開按鈕 sb 1 時, x0 失電,其觸點斷開, y0 失電,接觸點 km 斷電,電動機停止轉(zhuǎn)動,即本梯形圖可實現(xiàn)點動控制功能。大家可能發(fā)現(xiàn),在梯形圖中使用的熱繼電器的觸點為常開觸點,如果要使用常閉觸點,梯形圖應如何設計?
可編程控制器的優(yōu)點之一是不改變硬件接線的情況下,通過變更軟件設計,可完成不同的控制的任務。圖 3 ( b )為電動機連續(xù)運行的梯形圖,其工作過程分析如下:
當按 sb 1 被按下時 x0 接通, y0 置 1 ,這時電動機連續(xù)運行。需要停車時,按下停車按鈕 sb 2 , 串聯(lián)于 y0 線圈回路中的 x1 的常閉觸點斷開, y0 置 1 ,電機失電停車。
梯形圖( b )稱為啟 - 保 - 停電路。這個名稱主要來源于圖中的自保持觸點 y0 。并聯(lián)在 x0 常開觸點上的 y0 常開觸點的作用是當鈕 sb 1 松開,輸入繼電器 x0 斷開時,線圈 y0 仍然能保持接通狀態(tài)。工程中把這個觸點叫做“自保持觸點“。啟 - 保 - 停電路是梯形圖中最典型的單元,它包含了梯形圖程序的全部要素。它們是:
a 、事件 每一個梯形圖支路都針對一個事件。事件輸出線圈(或功能框)表示,本例中為 y0 。
b 、事件發(fā)生的條件 梯形圖支路中除了線圈外還有觸點的組合,使線圈置 1 的條件既是事件發(fā)生的條件,本例中為起動按鈕 x0 置 1 。
c 、事件得以延續(xù)的條件 觸點組合中使線圈置 1 得以持久的條件。本例中為與 x0 并聯(lián)的 y0 的自保持觸點。
d 、使事件終止的條件 觸點組合中使線圈置 1 中斷的條件。本例中為 x1 的常閉觸點斷開。
五、語句表
點動控制即圖 3 ( a )所使用到的基本指令有:從母線取用常開觸點指令 ld ;常閉觸點的串聯(lián)指令 ani ;輸出繼電器的線圈驅(qū)動指令 out 。而每條指令占用一個程序步,語句表如下。
語句步
指令
元素
0
ld
x0
1
ani
x2
2
out
y0
連續(xù)運行控制即圖 1-3 ( b )所使用到的基本指令有:從母線取用常開觸點指令 ld ;常開觸點的并聯(lián)指令 or ;常閉觸點的串聯(lián)指令 ani ;輸出繼電器的線圈驅(qū)動指令 out 。語句表如下:
語句步
指令
元素
0
ld
x0
1
or
y0
2
ani
x1
3
ani
x2
4
out
y0
六、 fx 2 系列可編程控制器基本指令
fx 2 系列可編程控制器共有 20 條基本指令,供設計者編制語句表使用,它與梯形圖有嚴格的對應關(guān)系。
1 、 邏輯取及輸出線圈( ld 、 ld1 、 out )
ld、ldi、out指令的功能、電路表示、操作元件、所占的程序如表2所示。
表 2
ld指令是從母線取用常開觸點指令,ldi是從母線上取用常閉觸點指令,它們還可以與后面介紹的anb、orb指令配合用于分支回路的開頭;out指令是對輸出繼電器、輔助繼電器、狀態(tài)繼電器、定時器、計數(shù)器的線圈進行驅(qū)動的指令,但不能用于輸入繼電器。圖4-12給出了本組指令的梯形圖實例,并配有指令表。這兒還需指出的是:out指令可連續(xù)使用無數(shù)次,相當線圈的并聯(lián)(如圖4中的out m100和out t0);定時器或計數(shù)器的線圈,在使用out指令后,必須設定常數(shù)k,或指定數(shù)據(jù)寄存器的地址號。
圖 4 ld、ldi、out指令的使用
2 觸點串聯(lián)( and 、 ani )
and、ani指令的功能、電路表示、操作元件、程序步如表3所示。
表 3
and、ani指令為單個觸點的串聯(lián)連接指令。and用于常開觸點。ani用于常閉觸點。串聯(lián)接點的數(shù)量無限制。圖1-5是使用本組指令的實例。圖中out指令后,通過觸點對其他線圈使用out指令(如圖的out y004),稱之為縱接輸出或連續(xù)輸出。此種縱接輸出,如果順序正確可多次重復。但限于圖形編程器和打印機幅面限制,應盡量做到一行不超過10個接點及一個線圈,總共不要超過24行。
在圖 5中驅(qū)動m101之后可通過觸點t1驅(qū)動y004。但是,若驅(qū)動順序換成圖6的形式,則必須用后述的mps指令。
圖 5 and、ani指令的應用
圖 6 不能使用連續(xù)輸出的例子
3 觸點并聯(lián)( or 、 ori )
or、ori指令的功能、操作元件等如表4所示。
表 4
or、ori指令為單個觸點的并聯(lián)連接指令。or為常開觸點的并聯(lián),ori為常閉觸點的并聯(lián)。將兩個以上觸點的串聯(lián)回路和其他回路并聯(lián)時,采用后面介紹的orb指令。
or、ori指令緊接在ld、ldi指令后使用,亦即對ld、ldi指令規(guī)定的觸點再并聯(lián)一個觸點,并聯(lián)的次數(shù)無限制,但限于編程器和打印機的幅面限制,盡量做到24行以下。
or、ori指令的使用如圖1-7所示
圖 7 or、ori指令的使用
4 串聯(lián)電路的并聯(lián)( orb )
orb指令的功能、電路表示等如表5所示。
表 5
orb指令是不帶操作元件的指令。兩個以上的觸點串聯(lián)連接的電路為串聯(lián)電路塊,將串聯(lián)電路塊并聯(lián)使用時,用ld、ldi指令表示分支開始,用orb指令表示分支結(jié)束。圖8給出了orb指令的使用情況。若有多條并聯(lián)電路時,在每個電路塊后使用orb指令,對并聯(lián)電路數(shù)沒有限制,但考慮到ld、ldi指令只能連續(xù)使用8次,orb指令的使用次數(shù)也應限制在8次。
圖 8 orb指令的使用
5 并聯(lián)電路塊的串聯(lián)( anb )
anb指令的功能、電路表示等如表6所示。
表 6
anb指令是不帶操作元件編號的指令。兩個或兩個以上觸點并聯(lián)連接的電路稱為并聯(lián)電路塊。當分支電路并聯(lián)電路塊與前面的電路串聯(lián)連接時,使用anb指令。即分支起點用ld、ldi指令,并聯(lián)電路塊結(jié)束后使用anb指令,表示與前面的電路串聯(lián)。anb指令原則上可以無限制使用,但受ld、ldi指令只能連續(xù)使用8次影響,anb指令的使用次數(shù)也應限制在8次。圖9為anb指令使用的梯形圖實例。
圖 9 anb指令的使用
6 多重輸出電路( mps/mrd/mpp )
mps、mrd、mpp指令功能、電路表示等如表6所示。
表 6
指令助記符、名稱
功能
電路表示及操作元件
程序步
mps ( push )
進棧
1
mrd ( read )
讀棧
1
mpp ( pop )
出棧
1
這組指令分別為進棧、讀棧、出棧指令,用于多重輸出電路??蓪⑦B續(xù)點先存儲,用于連接后面的電路。如圖 10所示。在fx2系列可編程序控制器中有11個用來存儲運算的中間結(jié)果的存儲區(qū)域被稱為棧存儲器。使用一次mps指令,便將此刻的運算結(jié)果送入堆棧的第一層,而將原存在第一層的數(shù)據(jù)移到堆棧的下一層。 使用mpp指令,各數(shù)據(jù)順次向上一層移動,最上層的數(shù)據(jù)被讀出。同時該數(shù)據(jù)就從堆棧內(nèi)消失。
圖 10 堆棧示意圖
mrd指令用來讀出最上層的最新數(shù)據(jù),此時堆棧內(nèi)的數(shù)據(jù)不移動。
mps、mrd、mpp指令都是不帶軟元件的指令。
mps、mpp必須成對使用,而且連續(xù)使用應少于11次。
以下給出了幾個堆棧的實例。
[例1] 一層堆棧,見圖 11。
語句步
指令
元素
語句步
指令
元素
0
ld
x000
14
ld
x006
1
and
x001
15
mps
2
mps
16
and
x007
3
and
x002
17
out
y004
4
out
y000
18
mrd
5
mpp
19
and
x010
6
out
y001
20
out
y005
7
ld
x003
21
mrd
8
mps
22
and
x011
9
and
x004
23
out
y006
10
out
y002
24
mpp
11
mpp
25
and
x012
12
and
x005
26
out
y007
13
out
y003
圖 11 一層堆棧
[例3] 二層堆棧,見圖12。
語句步
指令
元素
語句步
指令
元素
0
ld
x000
9
mpp
1
mps
10
and
x004
2
and
x001
11
mps
3
mps
12
and
x005
4
and
x002
13
out
y002
5
out
y000
14
mpp
6
map
15
and
x006
7
and
x003
16
out
y004
8
out
y001
圖 12 二層堆棧
[例4] 四層堆棧,見圖13。
語句步
指令
元素
語句步
指令
元素
0
ld
x000
9
mpp
1
mps
10
and
x004
2
and
x001
11
mps
3
mps
12
and
x005
4
and
x002
13
out
y002
5
mps
14
mpp
6
and
x003
15
and
x006
7
mps
16
out
y004
8
and
x004
17
圖 13 四層堆棧
7 自保持及解除( set/rst )
set、rst指令的功能、電路表示、操作元件等如表7所示。
表 7
符號、名稱
功能
電路表示及操作元件
程序步
set(置位)
元件自保持 on
y、m:1
s、特m:2
rst(復位)
( reset)
清除動作保持寄存器清零
t、c:2
d、v、z、特d:3
語句步
指令
元素
語句步
指令
元素
0
ld
x000
9
set
s0
1
set
y000
11
ld
x005
2
ld
x001
12
rst
s0
3
rst
y000
14
ld
x006
4
ld
x002
15
rst
d0
5
set
m0
16
ld
x000
6
ld
x003
17
out
t250
7
rst
m0
sp
k10
8
ld
x004
20
ld
x007
21
rst
t250
圖 14 set、rst指令的使用
set為置位指令,使操作保持。rst為復位指令,使操作保持復位。set、rst指令的使用如圖14所示。圖中x000接通后,y000被驅(qū)動為on,即使x000再成為off,也不能使y000變?yōu)閛ff的狀態(tài);x001接通后,y000復位為off,即使x001再為off,也不能使y000變?yōu)閛n狀態(tài)。
對同一元件,如例中 y000、m0、s0等,set、rst指令可以多次使用,且不限制使用順序,最后執(zhí)行者有效。
rst指令還可以用于使數(shù)據(jù)寄存器d、變址寄存器v、z的內(nèi)容清零。使積算定時器t246~t255的當前值以及觸點復位。使計數(shù)器c的輸出觸點復位及當前值清零。rst指令對計數(shù)器、定時器的應用如圖15。
圖 15定時器、計數(shù)器中的set、rst指令
8 脈沖輸出指令( pls/plf )
pls、plf指令的功能、操作元件等如表8所示。
表 8
符號、名稱
功能
電路表示及操作元件
程序步
pls(pulse)
上升沿微分輸出
2
plf
( plf)
下降沿微分輸出
2
pls、plf為脈沖輸出指令。pls在輸出信號上升沿產(chǎn)生脈沖輸出,而plf在輸入信號下降沿產(chǎn)生脈沖輸出。圖16是脈沖輸出指令的例子。從時序圖可以看出,使用pls指令y、m僅在驅(qū)動輸入斷開后的一個掃描周期內(nèi)動作(置1)。使用plf指令時,元件y、m僅在驅(qū)動輸入斷開后的一個掃描周期內(nèi)動作。在就是說,pls、plf指令可將脈寬較寬的輸入信號變成脈寬等于可編程序控制器的掃描周期的觸發(fā)脈沖信號,而信號周期不變。
特殊繼電器不能用作 pls或plf的操作元件。
9 空操作指令( nop )
nop指令的功能、程序步如表9所示。
表 9
符號、名稱
功能
電路表示及操作元件
程序步
nop(空操作)
無動作
無元件
1
圖 16 pls、plf指令的使用
空操作指令使該步做空操作。在程序中加入空操作指令,在變更或增加指令時可以減少步序號的變化。用 nop指令替換一些已寫入的指令,可以改變電路。若將ld、ldi、anb、orb等指令換成nop指令,電路組成將發(fā)生很大的變化,亦可能使電路出錯。
舉例如下。
(1)and、ani指令改為nop指令時使相關(guān)觸點短路(如圖18)
(2)anb指令改為nop時使前面的電路全部短路(如圖19)
(3)or指令改為nop時使相關(guān)電路的切斷(如圖20)
(4)orb指令改為nop前面的電路全部切斷(如圖21)
(5)與前面的out電路縱接(如圖22)
圖 18
圖 19
圖 20
圖 21
圖 22
當執(zhí)行程序全部清零操作時,所有指令均變成 nop 。
10 程序結(jié)束( end )
end 指令的功能、電路表示如表 19 所示。
表19
符號、名稱
功能
電路表示及操作元件
程序步
end(結(jié)束)
輸入輸出處理回到第“ 0”步
無元件
1
end為程序結(jié)束指令??删幊绦蚩刂破靼凑蛰斎胩幚怼⒊绦驁?zhí)行、輸出處理循環(huán)工作,若在程序中不寫入end指令,則可編程序控制器從用戶程序的第一步掃描到程序存儲器的最后一步。若在程序中寫入end指令,則end以后的程序步不再掃描,而是直接進行輸出處理。也就是說,使用end指令可以縮短掃描周期。end指令的另一個用處是分段程序調(diào)試。調(diào)試時,可將程序分段后插入end指令,從而依次對各程序段的運算進行檢查。而后,在確認前面電路塊動作正確無誤之后依次刪除end指令。