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