一、跳步與循環(huán)
復(fù)雜的控制系統(tǒng)不僅i/o點(diǎn)數(shù)多,功能表圖也相當(dāng)復(fù)雜,除包括前面介紹的功能表圖的基本結(jié)構(gòu)外,還包括跳步與循環(huán)控制,而且系統(tǒng)往往還要求設(shè)置多種工作方式,如手動(dòng)和自動(dòng)(包括連續(xù)、單周期、單步等)工作方式。手動(dòng)程序比較簡(jiǎn)單,一般用經(jīng)驗(yàn)法設(shè)計(jì),自動(dòng)程序的設(shè)計(jì)一般用順序控制設(shè)計(jì)法。
1.跳步
如圖1所示用狀態(tài)器來(lái)代表各步,當(dāng)步s31是活動(dòng)步,并且x5變?yōu)椤?”時(shí),將跳過(guò)步s32,由步s31進(jìn)展到步s33。這種跳步與s31
s32
s33等組成的“主序列”中有向連線的方向相同,稱為正向跳步。當(dāng)步s34是活動(dòng)步,并且轉(zhuǎn)換條件
時(shí),將從步s34返回到步s33,這種跳步與“主序列”中有向連線的方向相反,稱為逆向跳步。顯然,跳步屬于選擇序列的一種特殊情況。

圖1含有跳步和循環(huán)的功能表圖
2.循環(huán)
在設(shè)計(jì)梯形圖程序時(shí),經(jīng)常遇到一些需要多次重復(fù)的操作,如果一次一次地編程,顯然是非常繁瑣的。我們常常采用循環(huán)的方式來(lái)設(shè)計(jì)功能表圖和梯形圖,如圖1所示,假設(shè)要求重復(fù)執(zhí)行10次由步s33和步s34組成的工藝過(guò)程,用c0控制循環(huán)次數(shù),它的設(shè)定值等于循環(huán)次數(shù)10。每執(zhí)行一次循環(huán),在步s34中使c0的當(dāng)前值減1,這一操作是將s34的常開(kāi)觸點(diǎn)接在c0的計(jì)數(shù)脈沖輸入端來(lái)實(shí)現(xiàn)的,當(dāng)步s34變?yōu)榛顒?dòng)步時(shí),s34的常開(kāi)觸點(diǎn)由斷開(kāi)變?yōu)榻油?,使c0的當(dāng)前值減1。每次執(zhí)行循環(huán)的最后一步,都根據(jù)c0的當(dāng)前值是否為零來(lái)判別是否應(yīng)結(jié)束循環(huán),圖中用步s34之后選擇序列的分支來(lái)實(shí)現(xiàn)的。假設(shè)x4為“1”,如果循環(huán)未結(jié)束,c0的常閉觸點(diǎn)閉合,轉(zhuǎn)換條件
滿足并返回步s33;當(dāng)c0的當(dāng)前值減為0,其常開(kāi)觸點(diǎn)接通,轉(zhuǎn)換條件
滿足,將由步s34進(jìn)展到步s35。
在循環(huán)程序執(zhí)行之前或執(zhí)行完后,應(yīng)將控制循環(huán)的計(jì)數(shù)器復(fù)位,才能保證下次循環(huán)時(shí)循環(huán)計(jì)數(shù)。復(fù)位操作應(yīng)放在循環(huán)之外,圖1中計(jì)數(shù)器復(fù)位在步s0和步s25顯然比較方便。
二、選擇序列和并行序列的編程
循環(huán)和跳步都屬于選擇序列的特殊情況。對(duì)選擇序列和并行序列編程的關(guān)鍵在于對(duì)它們的分支和合并的處理,轉(zhuǎn)換實(shí)現(xiàn)的基本規(guī)則是設(shè)計(jì)復(fù)雜系統(tǒng)梯形圖的基本準(zhǔn)則。與單序列不同的是,在選擇序列和并行序列的分支、合并處,某一步或某一轉(zhuǎn)換可能有幾個(gè)前級(jí)步或幾個(gè)后續(xù)步,在編程時(shí)應(yīng)注意這個(gè)問(wèn)題。
1.選擇序列的編程
(1)使用stl指令的編程
如圖2所示,步s0之后有一個(gè)選擇序列的分支,當(dāng)步s0是活動(dòng)步,且轉(zhuǎn)換條件x0為“1”時(shí),將執(zhí)行左邊的序列,如果轉(zhuǎn)換條件x3為“1”狀態(tài),將執(zhí)行右邊的序列。步s32之前有一個(gè)由兩條支路組成的選擇序列的合并,當(dāng)s31為活動(dòng)步,轉(zhuǎn)換條件x1得到滿足,或者s33為活動(dòng)步,轉(zhuǎn)換條件x4得到滿足,都將使步s32變?yōu)榛顒?dòng)步,同時(shí)系統(tǒng)程序使原來(lái)的活動(dòng)步變?yōu)椴换顒?dòng)步。

圖2選擇序列的功能表圖一
如圖3所示為對(duì)圖2采用stl指令編寫(xiě)的梯形圖,對(duì)于選擇序列的分支,步s0之后的轉(zhuǎn)換條件為x0和x3,可能分別進(jìn)展到步s31和s33,所以在s0的stl觸點(diǎn)開(kāi)始的電路塊中,有分別由x0和x3作為置位條件的兩條支路。對(duì)于選擇序列的合并,由s31和s33的stl觸點(diǎn)驅(qū)動(dòng)的電路塊中的轉(zhuǎn)換目標(biāo)均為s32。

圖3選擇序列的梯形圖一
在設(shè)計(jì)梯形圖時(shí),其實(shí)沒(méi)有必要特別留意選擇序列的如何處理,只要正確地確定每一步的轉(zhuǎn)換條件和轉(zhuǎn)換目標(biāo)即可。
(2)使用通用指令的編程
如圖5所示對(duì)圖4功能表圖使用通用指令編寫(xiě)的梯形圖,對(duì)于選擇序列的分支,當(dāng)后續(xù)步m301或m303變?yōu)榛顒?dòng)步時(shí),都應(yīng)使m300變?yōu)椴换顒?dòng)步,所以應(yīng)將m301和m303的常閉觸點(diǎn)與m300線圈串聯(lián)。對(duì)于選擇序列的合并,當(dāng)步m301為活動(dòng)步,并且轉(zhuǎn)換條件x1滿足,或者步m303為活動(dòng)步,并且轉(zhuǎn)換條件x4滿足,步m302都應(yīng)變?yōu)榛顒?dòng)步,m302的起動(dòng)條件應(yīng)為:
,對(duì)應(yīng)的起動(dòng)電路由兩條并聯(lián)支路組成,每條支路分別由m301、x1和m303、x4的常開(kāi)觸點(diǎn)串聯(lián)而成。

圖4選擇序列功能表圖二

圖5選擇序列的梯形圖二
(3)以轉(zhuǎn)換為中心的編程
如圖6所示是對(duì)圖4采用以轉(zhuǎn)換為中心的編程方法設(shè)計(jì)的梯形圖。用仿stl指令的編程方式來(lái)設(shè)計(jì)選擇序列的梯形圖,請(qǐng)讀者自己編寫(xiě)。

圖6選擇序列的梯形圖三
2.并行序列的編程
(1)使用stl指令的編程
如圖7所示為包含并行序列的功能表圖,由s31、s32和s34、s35組成的兩個(gè)序列是并行工作的,設(shè)計(jì)梯形圖時(shí)應(yīng)保證這兩個(gè)序列同時(shí)開(kāi)始和同時(shí)結(jié)束,即兩個(gè)序列的第一步s31和s34應(yīng)同時(shí)變?yōu)榛顒?dòng)步,兩個(gè)序列的最后一步s32和s35應(yīng)同時(shí)變?yōu)椴换顒?dòng)步。并行序列的分支的處理是很簡(jiǎn)單的,當(dāng)步s0是活動(dòng)步,并且轉(zhuǎn)換條件x0=1,步s31和s34同時(shí)變?yōu)榛顒?dòng)步,兩個(gè)序列開(kāi)始同時(shí)工作。當(dāng)兩個(gè)前級(jí)步s32和s35均為活動(dòng)步且轉(zhuǎn)換條件滿足,將實(shí)現(xiàn)并行序列的合并,即轉(zhuǎn)換的后續(xù)步s33變?yōu)榛顒?dòng)步,轉(zhuǎn)換的前級(jí)步s32和s35同時(shí)變?yōu)椴换顒?dòng)步。

圖7并行序列的功能表圖
如圖8所示是對(duì)圖7功能表圖采用stl指令編寫(xiě)的梯形圖。對(duì)于并行序列的分支,當(dāng)s0的stl觸點(diǎn)和x0的常開(kāi)觸點(diǎn)均接通時(shí),s31和s34被同時(shí)置位,系統(tǒng)程序?qū)⑶凹?jí)步s0變?yōu)椴换顒?dòng)步;對(duì)于并行序列的合并,用s32、s35的stl觸點(diǎn)和x2的常開(kāi)觸點(diǎn)組成的串聯(lián)電路使s33置位。在圖8中,s32和s35的stl觸點(diǎn)出現(xiàn)了兩次,如果不涉及并行序列的合并,同一狀態(tài)器的stl觸點(diǎn)只能在梯形圖中使用一次,當(dāng)梯形圖中再次使用該狀態(tài)器時(shí),只能使用該狀態(tài)器的一般的常開(kāi)觸點(diǎn)和ld指令。另外,fx系列規(guī)定串聯(lián)的stl觸點(diǎn)的個(gè)數(shù)不能超過(guò)8個(gè),換句話說(shuō),一個(gè)并行序列中的序列數(shù)不能超過(guò)8個(gè)。

圖8并行序列的梯形圖
(2)使用通用指令的編程
如圖9所示的功能表圖包含了跳步、循環(huán)、選擇序列和并行序列等基本環(huán)節(jié)。

圖9復(fù)雜的功能表圖
如圖10所示是對(duì)圖9的功能表圖采用通用指令編寫(xiě)的梯形圖。步m301之前有一個(gè)選擇序列的合并,有兩個(gè)前級(jí)步m300和m313,m301的起動(dòng)電路由兩條串聯(lián)支路并聯(lián)而成。m313與m301之間的轉(zhuǎn)換條件為
,相應(yīng)的起動(dòng)電路的邏輯表達(dá)式為
,該串聯(lián)支路由m313、x13的常開(kāi)觸點(diǎn)和c0的常閉觸點(diǎn)串聯(lián)而成,另一條起動(dòng)電路則由m300和x0的常開(kāi)觸點(diǎn)串聯(lián)而成。步m301之后有一個(gè)并行序列的分支,當(dāng)步m301是活動(dòng)步,并且滿足轉(zhuǎn)換條件x1,步m302與步m306應(yīng)同時(shí)變?yōu)榛顒?dòng)步,這是用m301和xl的常開(kāi)觸點(diǎn)組成的串聯(lián)電路分別作為m302和m306的起動(dòng)電路來(lái)實(shí)現(xiàn)的,與此同時(shí),步m301應(yīng)變?yōu)椴换顒?dòng)步。步m302和m306是同時(shí)變?yōu)榛顒?dòng)步的,因此只需要將m302的常閉觸點(diǎn)與m301的線圈串聯(lián)就行了。

圖10使用通用指令編寫(xiě)的梯形圖
步m313之前有一個(gè)并行序列的合并,該轉(zhuǎn)換實(shí)現(xiàn)的條件是所有的前級(jí)步(即步m305和m311)都是活動(dòng)步和轉(zhuǎn)換條件x12滿足。由此可知,應(yīng)將m305,m311和x12的常開(kāi)觸點(diǎn)串聯(lián),作為控制m313的起動(dòng)電路。m313的后續(xù)步為步m314和m301,m313的停止電路由m314和m301的常閉觸點(diǎn)串聯(lián)而成。
編程時(shí)應(yīng)該注意以下幾個(gè)問(wèn)題:
1)不允許出現(xiàn)雙線圈現(xiàn)象。
2)當(dāng)m314變?yōu)椤?”狀態(tài)后,c0被復(fù)位(見(jiàn)圖10),其常閉觸點(diǎn)閉合。下一次掃描開(kāi)始時(shí)m313仍為“1”狀態(tài)(因?yàn)樵谔菪螆D中m313的控制電路放在m314的上面),使m301的控制電路中最上面的一條起動(dòng)電路接通,m301的線圈被錯(cuò)誤地接通,出現(xiàn)了m314和m301同時(shí)為“1”狀態(tài)的異常情況。為了解決這一問(wèn)題,將m314的常閉觸點(diǎn)與m301的線圈串聯(lián)。
3)如果在功能表圖中僅有由兩步組成的小閉環(huán),如圖11a所示,則相應(yīng)的輔助的線圈將不能“通電”。例如在m202和x2均為“1”狀態(tài)時(shí),m203的起動(dòng)電路接通,但是這時(shí)與它串聯(lián)的m202的常閉觸點(diǎn)卻是斷開(kāi)的,因此m203的線圈將不能“通電”。出現(xiàn)上述問(wèn)題的根本原因是步m202既是步m203的前級(jí)步,又是它的后序步。如圖11b所示在小閉環(huán)中增設(shè)一步就可以解決這一問(wèn)題,這一步只起延時(shí)作用,延時(shí)時(shí)間可以取得很短,對(duì)系統(tǒng)的運(yùn)行不會(huì)有什么影響。

圖11僅有兩步的小閉環(huán)的處理
(3)使用以轉(zhuǎn)換為中心的編程
與選擇序列的編程基本相同,只是要注意并行序列分支與合并處的處理。
(4)使用仿stl指令的編程
如圖12所示是對(duì)圖9功能表圖采用仿stl指令編寫(xiě)的梯形圖。在編程時(shí)用接在左側(cè)母線上與各步對(duì)應(yīng)的輔助繼電器的常開(kāi)觸點(diǎn),分別驅(qū)動(dòng)一個(gè)并聯(lián)電路塊。這個(gè)并聯(lián)電路塊的功能如下:驅(qū)動(dòng)只在該步為“1”狀態(tài)的負(fù)載的線圈;將該步所有的前級(jí)步對(duì)應(yīng)的輔助繼電器復(fù)位;指明該步之后的一個(gè)轉(zhuǎn)換條件和相應(yīng)的轉(zhuǎn)換目標(biāo)。以m301的常開(kāi)觸點(diǎn)開(kāi)始的電路塊為例,當(dāng)m301為“1”狀態(tài)時(shí),僅在該步為“1”狀態(tài)的負(fù)載y0被驅(qū)動(dòng),前級(jí)步對(duì)應(yīng)的輔助繼電器m300和m313被復(fù)位。當(dāng)該步之后的轉(zhuǎn)換條件x1為“1”狀態(tài)時(shí),后續(xù)步對(duì)應(yīng)的m302和m306被置位。

圖12采用仿stl指令編寫(xiě)的梯形圖
如果某步之后有多個(gè)轉(zhuǎn)換條件,可將它們分開(kāi)處理,例如步m302之后有兩個(gè)轉(zhuǎn)換,其中轉(zhuǎn)換條件t0對(duì)應(yīng)的串聯(lián)電路放在電路塊內(nèi),接在左側(cè)母線上的m302的另一個(gè)常開(kāi)觸點(diǎn)和轉(zhuǎn)換條件x2的常開(kāi)觸點(diǎn)串聯(lián),作為m305置位的條件。某一負(fù)載如果在不同的步為“1”狀態(tài),它的線圈不能放在各對(duì)應(yīng)步的電路塊內(nèi),而應(yīng)該用相應(yīng)輔助繼電器的常開(kāi)觸點(diǎn)的并聯(lián)電路來(lái)驅(qū)動(dòng)它。










