文 董翠翠
PLC技術(shù)在學(xué)習(xí)了基本的編程指令之后,基本上可以完成簡單的應(yīng)用程序的編寫。但是在稍微復(fù)雜的控制要求下,如果沒有清晰的編程思路和固定的編程套路和方法,往往很難下手。對(duì)于順序控制流程來說,最簡單的編程方法就是借助順序功能圖來編制梯形圖。由順序功能圖轉(zhuǎn)化為梯形圖一般有三種方法,包括起保停電路法、S/R法和SCR指令法。對(duì)于初學(xué)者來說,這三種方法都簡單容易學(xué),為順序控制編程提供了方便。
根據(jù)控制要求,如果能把工作流程劃分出若干工作階段,這樣的系統(tǒng)適合采用順序功能圖來編程。首先把整個(gè)工作過程分為有序的幾個(gè)工序,這些工序稱為狀態(tài)或者步驟,用方框表示。當(dāng)滿足一定條件時(shí),實(shí)現(xiàn)狀態(tài)之間的轉(zhuǎn)移,轉(zhuǎn)移的方向用有向線段連接,有向線段上用小短線表示轉(zhuǎn)移條件。狀態(tài)右側(cè)用短線連接當(dāng)前狀態(tài)要執(zhí)行的動(dòng)作。各個(gè)輸出量的狀態(tài)在步轉(zhuǎn)移之前保持不變,只有狀態(tài)轉(zhuǎn)移后,后續(xù)步對(duì)應(yīng)的狀態(tài)變?yōu)?,輸出量為ON,同時(shí)當(dāng)前活動(dòng)步對(duì)應(yīng)的狀態(tài)復(fù)位為0,變?yōu)榉腔顒?dòng)步,輸出量變?yōu)镺FF。每一個(gè)工作狀態(tài)用編程元件中間繼電器M或者狀態(tài)繼電器S來表示。
用順序功能圖編寫程序,關(guān)鍵是把一個(gè)工作周期根據(jù)輸出量的變化劃分為若干步,一旦步劃分完成,編程就按照固定的套路進(jìn)行。步劃分的依據(jù)就是輸出量的狀態(tài)變化,有些輸出量在多步中始終保持接通,仍需分在多步進(jìn)行。復(fù)雜的控制流程通過劃分步,逐一解決每一步內(nèi)要執(zhí)行的操作,減少了編程出錯(cuò)的可能。
PLC的基本指令中包含線圈指令和S/R(置位復(fù)位)指令。 線圈指令基本結(jié)構(gòu)為起保停電路,在此不做說明。本文重點(diǎn)介紹使用置位、復(fù)位指令編寫順序控制流程的方法。
繪制好順序功能圖后,利用特殊狀態(tài)位SM0.1首次掃描時(shí)為1執(zhí)行一次置位指令,激活初始狀態(tài)中間繼電器M0.0,當(dāng)滿足狀態(tài)轉(zhuǎn)移條件時(shí),利用置位指令S激活后續(xù)狀態(tài)繼電器M0.1,同時(shí)用復(fù)位指令R將當(dāng)前的中間繼電器M0.0狀態(tài)清零,后續(xù)程序依次類推。這種編程方法思路清晰,轉(zhuǎn)換關(guān)系明確,易于學(xué)習(xí)。但是,在使用該方法編程時(shí)需要注意以下三點(diǎn):
1.S/R指令是對(duì)中間繼電器置位和復(fù)位,中間繼電器代表各個(gè)工作狀態(tài),是對(duì)下一狀態(tài)置位以及把當(dāng)前狀態(tài)復(fù)位。
2.為避免出錯(cuò),不能將輸出線圈和置位/復(fù)位指令并聯(lián),而應(yīng)該在置位/復(fù)位指令之后用中間繼電器的常開觸點(diǎn)驅(qū)動(dòng)線圈輸出。
3.如果在多個(gè)狀態(tài)同時(shí)有同一線圈輸出,可以用代表各狀態(tài)的中間繼電器的常開觸點(diǎn)并聯(lián)后驅(qū)動(dòng)線圈輸出。
西門子S-200 PLC的編程指令中有專門用于編寫順序控制流程的指令,包括狀態(tài)開始指令、狀態(tài)轉(zhuǎn)移指令、當(dāng)前狀態(tài)結(jié)束指令,表示狀態(tài)的步也用專門的狀態(tài)繼電器S0∽Sn表示,而不能用中間繼電器表示。每個(gè)狀態(tài)程序段都由三個(gè)要素構(gòu)成:
1.驅(qū)動(dòng)有關(guān)負(fù)載,也就是在該狀態(tài)下要執(zhí)行什么動(dòng)作。例如,驅(qū)動(dòng)輸出繼電器,或者時(shí)間繼電器等。狀態(tài)后的驅(qū)動(dòng)可以用=控制,也可以用置位/復(fù)位指令實(shí)現(xiàn)。需要注意的是,在當(dāng)前步為非活動(dòng)步時(shí),如果是S指令驅(qū)動(dòng)輸出,該輸出狀態(tài)仍然保持,直到執(zhí)行復(fù)位指令使其復(fù)位。
2.指定轉(zhuǎn)移條件,使用順序控制指令編程時(shí),相鄰兩個(gè)狀態(tài)之間在滿足一定的轉(zhuǎn)移條件時(shí)實(shí)現(xiàn)狀態(tài)轉(zhuǎn)移。
3.狀態(tài)轉(zhuǎn)移方向,即激活下一個(gè)狀態(tài)繼電器。順序控制功能圖編程有三種形式,包括有單序列流程、選擇序列流程、并行序列流程。在單序列編程方法中,滿足轉(zhuǎn)移條件時(shí)只能指定一個(gè)轉(zhuǎn)移方向;選擇序列在不同的轉(zhuǎn)移條件下向不同的狀態(tài)轉(zhuǎn)移;并行序列在滿足轉(zhuǎn)移條件時(shí),并列的多個(gè)狀態(tài)同時(shí)被激活。
使用順序控制功能圖編程時(shí)應(yīng)注意以下幾點(diǎn):
1.不同的工作狀態(tài)需要用不同的S位表示,不能在不同的程序中重復(fù)出現(xiàn)相同的S位。
2.不能在程序中出現(xiàn)雙線圈。
3.不能在一個(gè)工作步中出現(xiàn)跳轉(zhuǎn)、循環(huán)等指令。
4.一般用SM0.0的常開觸點(diǎn)激活初始狀態(tài)。
PLC的編程關(guān)鍵在于有規(guī)律可循,一旦掌握了編程規(guī)律,有模板可以套用,再復(fù)雜的程序都能輕松完成。對(duì)于復(fù)雜的順序類控制要求都可以利用順序控制編程法實(shí)現(xiàn)。在程序設(shè)計(jì)過程中,只需要?jiǎng)澐殖霾?,先畫出工序圖和順序功能圖,然后利用S/R指令或者順序控制指令套用以上介紹的編程方法,就可以使復(fù)雜問題變得簡單,提高編程效率。