石 昊
(1.太原理工大學 陽泉學院 信息工程與自動化系,山西 陽泉 045000;2.太原理工大學 信息工程學院,山西 太原 030024)
PLC是適用于工業(yè)環(huán)境而開發(fā)的自動化控制設(shè)備,其使用者多數(shù)為企業(yè)中的電氣技術(shù)人員,為適應(yīng)他們的傳統(tǒng)習慣和掌握能力,通常PLC不采用計算機編程語言,而常常采用面向控制過程、面向問題的“自然語言”編程。實際工作中,梯形圖是使用得最多的圖形編程語言,梯形圖與傳統(tǒng)的繼電器控制系統(tǒng)的電氣圖類似,具有直觀易懂的特點,更容易被電氣技術(shù)人員所掌握。
PLC采用循環(huán)掃描的工作方式,以掃描周期為基本單位,每個掃描周期都會把用戶程序完整地執(zhí)行一遍,而不像常見的計算機程序,只是將程序從頭到尾執(zhí)行一遍。因此,在分析梯形圖程序時不能以程序為單位進行分析,而是以周期為單位進行分析,即每個周期都要從頭到尾完整地分析一遍程序。
PLC的梯形圖語言符合電氣原理圖規(guī)律,易于被人們接受和掌握,因此傳統(tǒng)的電氣技術(shù)人員即使不具備計算機知識也可以方便地使用。從設(shè)計表達形式看,PLC的梯形圖與繼電器控制系統(tǒng)的電氣圖很相似,都采用電氣符號來表示。但是由于PLC本質(zhì)是工業(yè)用計算機,因此分析梯形圖程序時,不能照搬電氣圖的分析方法,還應(yīng)考慮計算機的工作原理。
基于PLC梯形圖程序的特點,因此初學者在分析PLC梯形圖程序時容易陷入一些誤區(qū)。
首先,在繼電器控制系統(tǒng)中,當一些梯級同時滿足導(dǎo)通條件時,這些梯級中的繼電器線圈會同時通電,可見繼電器控制系統(tǒng)是一種并行的工作方式。而PLC采用循環(huán)掃描的工作方式,即程序的執(zhí)行是按語句排列的先后順序進行的,是一種串行的工作方式,不會出現(xiàn)多個線圈同時改變狀態(tài)的情況,這樣有利于避免觸點競爭和時序失配。因此,在分析梯形圖程序時應(yīng)時刻注意各繼應(yīng)器線圈的狀態(tài)是依次改變的,上一條語句賦予了某個繼電器線圈新的狀態(tài),緊接著再用到該繼電器觸點時,就要按新的狀態(tài)來執(zhí)行,即一定要按照書寫順序一條一條來分析,當同時分析幾行梯形圖時,很容易受到分析繼電器電路的思路的影響,進而產(chǎn)生一些錯誤的結(jié)論。
其次,不能以理解計算機程序的思路來理解梯形圖程序,計算機是等待命令的工作方式,程序中即使有循環(huán)有選擇也往往只是整段程序從頭到尾執(zhí)行一遍。而PLC卻是在一遍一遍不停的執(zhí)行程序,每個周期都要把整個程序執(zhí)行一遍,所以本周期某條指令執(zhí)行的結(jié)果,下一周期就可能會對寫在它前面的指令的執(zhí)行發(fā)生影響。因此,在分析梯形圖程序時,應(yīng)排除分析計算機程序時的習慣性思維。
為使初學者在學習PLC時能夠?qū)μ菪螆D程序有更準確的理解,能夠掌握更可靠的梯形圖分析方法,筆者總結(jié)歸納了分析梯形圖程序的入門方法和工具,即“三條依據(jù)+工作波形圖”。
把常用的PLC繼電器歸為4類:輸入繼電器、特殊繼電器、普通繼電器和輸出繼電器。為了使初學者能夠更明確地判斷各繼電器的狀態(tài),總結(jié)以下3點:①輸入繼電器和輸出繼電器的狀態(tài)是由外部設(shè)備或PLC本身來決定的,指令無法隨意改變其狀態(tài);②普通繼電器和輸出繼電器的狀態(tài)是由指令來決定的,指令沒有改變時,其狀態(tài)就保持上一周期延續(xù)下來的狀態(tài)不變;③除一些特殊繼電器外,大部分繼電器的初始狀態(tài)為OFF。
工作波形圖是分析梯形圖程序的一種工具。PLC中的工作波形圖是指繼電器線圈的狀態(tài)隨時間變化的曲線,用處于高位的點表示繼電器線圈狀態(tài)為ON,處于低位的點表示繼電器線圈狀態(tài)為OFF,橫軸為時間軸。通過工作波形圖能夠明確地看出各繼電器之間的關(guān)系,因此可利用畫工作波形圖的方法來分析和理解梯形圖程序的功能。
首先,應(yīng)確定需要畫哪個工作波形圖。程序中各繼電器的狀態(tài)往往是相互制約的,如果只畫某幾個繼電器的工作波形圖,往往會容易混淆他們之間的約束關(guān)系。因此,應(yīng)把梯形圖程序中涉及到的所有繼電器線圈的狀態(tài)畫出來。當每個繼電器的狀態(tài)都以工作波形圖的方式畫出來的時候,輸出繼電器隨輸入繼電器的狀態(tài)變化關(guān)系也就顯而易見了。因此可直觀地看到輸出信號隨著輸入信號的變化而變化,而這種變化關(guān)系正體現(xiàn)出了該梯形圖程序的功能。
其次,以PLC工作的掃描周期為基本單位畫工作波形圖,把每個掃描周期各繼電器的狀態(tài)畫出來,則工作波形圖也就形成了。但是,PLC的掃描周期是以微秒為單位衡量的,一秒鐘會有很多個掃描周期,而分析的程序運行時間較長,因此必須要確定哪些掃描周期是需要分析的。
(1)第一個掃描周期。由于各繼電器狀態(tài)在周期之間具有延續(xù)性,因此確定第一個周期各繼電器的狀態(tài),有助于確定后續(xù)周期各繼電器的狀態(tài)。
(2)有繼電器的狀態(tài)發(fā)生改變的周期。通常是輸入繼電器或者特殊繼電器的狀態(tài)發(fā)生改變從而引起普通繼電器和輸出繼電器狀態(tài)隨之改變。而且往往我們不能只分析一個掃描周期,因為某個繼電器狀態(tài)的改變有可能在下一周期影響到前面程序段中繼電器的狀態(tài)。因此,在分析時應(yīng)從繼電器線圈狀態(tài)發(fā)生改變的周期開始,直到各繼電器的狀態(tài)都穩(wěn)定的周期為止。
除上述兩種特殊情況外,其余周期的各繼電器的狀態(tài)均穩(wěn)定,我們只需順著前續(xù)的狀態(tài)畫出來即可。
由于各繼電器的狀態(tài)特點,因此,在畫工作波形圖時,一般先畫特殊繼電器和輸入繼電器,然后畫普通繼電器和輸出繼電器。圖1為啟保??刂瞥绦虻墓ぷ鞑ㄐ螆D。
圖1 啟保??刂瞥绦虻墓ぷ鞑ㄐ螆D
梯形圖程序分析方法為初學者提供了一種直觀、明確、可操作性強,而且很容易掌握的梯形圖分析方法,讓初學者在對PLC和梯形圖理解還不夠深入的時候,具備能夠分析較簡單的梯形圖程序的能力。
[1] 趙營,嚴義.基于梯形圖復(fù)雜依賴關(guān)系的分解研究[J].機電工程,2012,29(5):605-608.
[2] 何敏佳,張燕.梯形圖與指令表互譯算法的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2011,21(11):208-210.
[3] 張還.常用梯形圖程序設(shè)計方法在PLC實驗中的應(yīng)用[J].機械制造與自動化,2011(3):172-174.
[4] 龐春.深入理解PLC的工作方式[J].數(shù)字技術(shù)與應(yīng)用,2011(7):164-165.
[5] 李會娟.PLC梯形圖編程規(guī)則淺析[J].電氣制造,2009(2):42-43.
[6] 肖麗仙.PLC控制中梯形圖程序的編程方法和技巧[J].自動化技術(shù)與應(yīng)用,2008,27(7):129-131.
[7] 石玉明,李錫輝.PLC梯形圖設(shè)計方法研究[J].現(xiàn)代電子技術(shù),2007,30(12):145-147.
[8] 楊懷林.用PLC改造繼電控制系統(tǒng)的梯形圖設(shè)計與實現(xiàn)[J].機床電器,2006,33(6):27-28,34.
[9] 王成安,關(guān)長偉.PLC的梯形圖語言在實際工程設(shè)計中容易出現(xiàn)的錯誤分析[J].丹東紡專學報,2003,10(4):12-13.
[10]宮淑貞,許世許.可編程控制器原理及應(yīng)用[M].第3版.北京:人民郵電出版社,2012.
[11]許廖,王淑英.電氣控制與PLC應(yīng)用[M].第4版.北京:機械工業(yè)出版社,2009.