官术网_书友最值得收藏!

2.5 標志值法編程

關鍵詞:記憶、比較、標志、設定值、實際值

以上討論的邏輯處理比較精確,但都是基于與、或、非運算實現(xiàn)的,用的主要是PLC的基本邏輯處理指令,類似計算機用匯編語言編程那樣,太“底層“了。其實,PLC有很多功能很強的指令,完全可用它較簡單地處理一些較復雜的邏輯問題。本節(jié)討論的標志值法以及下一節(jié)討論的多位邏輯設計也許是其中較好的方法。這些方法也稱為高級邏輯設計法。

2.5.1 基本思路

基于與、或、非運算的邏輯處理,只是人們思考邏輯問題方法的一種數(shù)學抽象。它的優(yōu)點是PLC的基本邏輯處理指令(與、或、非)就夠用了。

其實人們思考問題用到的方法很多,其中一個最基本方法是“記憶”加“比較”。顯然,人們努力學習,追求的不就是要能記更多的事,有更強的比較判斷力,從而提高自身的思考力嗎?相反,如果一個人沒有記憶力、記的事情少,不會比較、沒有什么判斷能力,那這個人就如同嬰兒,就不能思考任何問題的。

對人們這種“記憶”加“比較”的思考方法,是否也可加以抽象,作為PLC邏輯處理的一種算法呢?

答案是肯定的,這就是這里即將介紹的標志值法。

標志值法基本思路有兩點:

“記憶”——設定好并記住標志的設置值,同時,不斷監(jiān)視標志的實際值。

“比較”——對標志的實際值與標志的設置值不斷地進行比較,并依不同的比較結果產(chǎn)生相應的控制輸出。

由于PLC有很豐富的、與這個“記憶”、“比較”相對應的指令,所以實現(xiàn)這個算法是不難的。而且這種算法更接近人們的思維方法,類似于用高級語言編程一樣,人們更易理解。

2.5.2 實現(xiàn)方法

“記憶”的實現(xiàn)方法:

最常用的辦法是用傳送指令、MOV,用它傳送標志的設定值,用它傳送與輸入信號對應的標志實際值。此外,也可用計數(shù)器計入標定的實際值。當然,其他數(shù)據(jù)處理指令(如算術運算、數(shù)據(jù)轉(zhuǎn)換等指令)也可用。

“比較”的實現(xiàn)方法:

最常用的辦法是用基本的比較指令,用它對標志值與預期值進行比較,依不同的比較結果(大、大等、等、小等、小)產(chǎn)生不同的控制輸出。由于PLC技術的發(fā)展,它的指令系統(tǒng)越來越豐富。目前多數(shù)PLC,除了這個基本的比較指令外,還有表比較、范圍比較等功能更強的比較指令。這類指令可設定很多預期值,比較后可得到很多不同的結果。

2.5.3 實際應用

1.起、保、停邏輯

傳統(tǒng)的起保停邏輯都是用與、或、非的算法實現(xiàn)的,很簡單。其實,也可用標志值法實現(xiàn)。只是這么簡單的邏輯問題,沒有必要用它就是了。但為了讀者能具體地了解標志值法,以下介紹兩個簡單起、保、停邏輯例子。

(1)兩個按鈕實現(xiàn)起、保、停。

圖2-52所示為OMRON PLC程序,輸出觸點為10.05。輸入有兩個按鈕,接202.00、202.01。標志字為LR0。預期值為1。標志值兩個,0與1。從圖可知,202.00 ON、202.01OFF,則LR0的內(nèi)容為1。P_ON為常ON觸點,故每掃描周期都要執(zhí)行比較指令。經(jīng)比較,相等標志P_EQ ON,故10.05 ON,實現(xiàn)起動。這之后即使202.00 OFF,但由于LR0沒有新的數(shù)傳入,仍為1,比較結果仍可使10.05 ON。而202.00 OFF、202.01 ON,則LR0的內(nèi)容為0,經(jīng)比較P_EQ OFF,故10.05 OFF,實現(xiàn)停止。這之后即使202.01 OFF,但由于LR0沒有新的數(shù)傳入,仍為0,比較結果仍可使10.05 OFF。如202.00、202.01全ON,由與202.01 ON后起作用,LR0為0,故仍停止,也是停止優(yōu)先。

可見,它完全可實現(xiàn)基于與、或、非的起、保、停算法的。

(2)一個按鈕實現(xiàn)起停。

978-7-111-39745-8-Chapter03-129.jpg

圖2-52 兩個按鈕實現(xiàn)起、保、停梯形圖程序

978-7-111-39745-8-Chapter03-130.jpg

圖2-53 單按鈕實現(xiàn)起、保、停梯形圖程序

圖2-53所示為OMRON PLC程序,輸出觸點為10.06。輸入有一個按鈕,接202.05。標志字為計數(shù)器,CNT 001。預期值為1。標志值為CNT的計數(shù)值是2與1。從圖可知,202.05 ON一次,則CNT 001的內(nèi)容減1。減到0,計數(shù)器將復位,其內(nèi)容又變?yōu)樵O定值2。

如CNT 001初值為設定值2,減1后即為1,經(jīng)比較P_EQ ON,故10.06 ON,實現(xiàn)起動。這時再按按鈕,CNT 001,再減1,為0,復位,其內(nèi)容又變?yōu)樵O定值2。這時,經(jīng)比較P_EQOFF,故10.06 OFF,實現(xiàn)停止。

再按按鈕,又重復以上循環(huán)。可見,它完全可實現(xiàn)基于與、或、非的一個按鈕實現(xiàn)起、保、停算法的。

2.刀架轉(zhuǎn)位及位置顯示

圖2-1或圖2-2關于刀架轉(zhuǎn)位顯示程序,僅3個位置就相當復雜了。如果位置多了怎么辦?用“標志值法”邏輯編程就簡單了。可用計數(shù)功能塊“記錄”及顯示,還可用“比較”進行控制。

圖2-54所示為有8個位置的刀架工作示意圖。轉(zhuǎn)位用控制信號Zz控制,位置用數(shù)碼管xsh顯示。其控制過程是,每次Zz ON,先使上抬控制信號Up ON,刀架松開、抬起。抬到上限位置時,XK1開關ON,使刀架開始轉(zhuǎn)動,保持上抬,但被限位(機構或液壓控制)。刀架轉(zhuǎn)動后,XK1松開。到新位置時又合上XK1,轉(zhuǎn)動停止。并使上抬控制信號UpOFF,刀架落下、夾緊。這時,XK1又松開。同時,顯示刀架新位置。

978-7-111-39745-8-Chapter03-131.jpg

圖2-54 8個位置刀架工作示意圖

這里,反饋信號只有一個(XK1),從工作過程說明看,如果每當XK1從OFF到ON兩次,做一次計數(shù),則計數(shù)功能塊的現(xiàn)值可反映刀架的位置。控制信號也只有一個(Zz)。要求它長時間ON、短時間ON,都只能使刀架轉(zhuǎn)一個位置。

圖2-54b為它的工作狀態(tài)圖。它有3個狀態(tài),用變量Up1及Tun1的取值表示。原始狀態(tài)為00,即處下壓位置、刀架不轉(zhuǎn)。

這時,pZz作用,使刀架上升,但不轉(zhuǎn),處于10狀態(tài)。pXK1作用,使刀架保持上升(有機械限位),但轉(zhuǎn),處于11狀態(tài)。XK1松后又合,又有pXK1作用,使刀架停轉(zhuǎn),并下壓,返回00狀態(tài)。

根據(jù)上述分析,所編寫的和利時或ABB PLC梯形圖程序如圖2-55所示。圖中的節(jié)1、2、3、4產(chǎn)生脈沖信號pZz及pXK1。節(jié)5表示,處于下壓位置時,輸入脈沖pZz。Up置位、刀架上升。節(jié)6表示,上升到pXK1脈沖入,Tun置位,保持刀架上升,并轉(zhuǎn)位。節(jié)7、8表示,轉(zhuǎn)到位,又有pXK1脈沖入,Up、Tun復位,刀架停轉(zhuǎn)、下壓。節(jié)9表示,在TunON時,接到pXK1脈沖時計數(shù)。即轉(zhuǎn)一個位才計一次數(shù)。正是用這個計數(shù)值表示刀架的位置。節(jié)10、11狀態(tài)的內(nèi)部記錄,以實現(xiàn)同步時序編程。

3.電梯控制電路之一

第三節(jié)中設計舉例之二與電梯電路類似。在該例中,小車僅5個位置,但邏輯關系就已相當復雜了。若有10個、20個位置怎么辦?不僅關系復雜,而且指令將以階乘關系增長。這將出現(xiàn)所謂“組合爆炸”(Combine Explosion)。

978-7-111-39745-8-Chapter03-132.jpg

圖2-55 和利時或ABB PLC 8個位置刀架工作控制程序

這類控制的順序是不確定的。到底向上或向下,依其所處位置及要前往的位置隨機確定。處理這類問題有兩種辦法:

一是考慮所有可能,逐一列出它的邏輯關系,再確定其輸出。第三節(jié)中設計舉例之二用的也是這個辦法。可能性不多時,用這個辦法是可行的,不少也是這么處理的。

二是置標志(“記憶”),再判標志(“判斷”),以確定輸出。如電梯,電梯的工作總是處在停、上升、下降三個狀態(tài)之一。其所處的位置可置一個標志(如層數(shù)),要去的位置也置一個層數(shù)標志。這可用傳送指令實現(xiàn)。判標志,則可用比較指令,如要求去的比現(xiàn)處的標志大,則向上;否則向下;相等則停。可從三個可能的輸出中,按條件選取其中一個。

這么處理后,不確定順序控制問題,也成了有確定的處理步驟控制問題。即隨機控制確定化了。這比僅就邏輯條件的可能去組合,要簡單得多。

過去,用繼電器實現(xiàn)控制,只能用第一種辦法,靠邏輯條件的組合去實現(xiàn)。而PLC則不同,可用數(shù)字量作標志,對數(shù)字量作比較,所以,可采用第二種辦法。

圖2-56就是用標志值法設計的,本章第3節(jié)例2已討論過的小車控制邏輯。該圖分別是多家PLC的有關程序。如圖所示,它按順序給每一選擇按鈕指定一個編號,如PS1為#1,PS2為#2……也按順序,對應地給每一行程開關指定一個編號,如LS1為#1,LS2為#2……哪個按鈕ON或哪個開關ON,就通過傳送指令,把這個編號作為標志值,傳送到“要位置”或“現(xiàn)位置”的字中。

執(zhí)行傳送指令之后,按起動按鈕(QQ ON)。如選擇標志值不為#0(說明已做了選擇),則YY ON,并自保持。YY ON,比較指令執(zhí)行,比較“要通道”與“現(xiàn)通道”的內(nèi)容(值)。如果“要通道”存的數(shù)比與“現(xiàn)通道”的大,說明行程開關ON的編號比按鈕ON的編號小,則比較大標志P_GT ON,進而使UP ON,使小車向右運動。

運動過程中與“現(xiàn)位置”的內(nèi)容將隨行程開關動作而變化。當“要位置”與“現(xiàn)位置”的內(nèi)容相等,即達到所要求的位置時,則比較相等標志P_EQ ON,進而EQ ON。這將使YY OFF,UP OFF,運動停止。同時,用#0傳送給“要位置”,為新的選擇做了準備。

如果“要位置”比“現(xiàn)位置”的值小,即與上述情況相反。

把YY常閉觸點串入,“要位置”傳數(shù)的邏輯條件中,目的是一旦小車起動,就不再接受選擇按鈕送來的命令。待執(zhí)行完命令后,即小車停止運動后,才可接受新的命令。

提示:歐姆龍PLC比較結果標志是用特殊繼電器,而三菱PLC是用戶程序指定的。這里用M10、M11及M12,相當于OMRON的P-GT、P-EQ及P-LT(圖2-56d為GT、EQ、LT函數(shù))。西門子PLC則用大、等及小數(shù)學符號。前兩家PLC目前也有此數(shù)學符號指令,只是本例未使用。

提示:本例用了傳送指令“記憶”,其實很多PLC都有16位或256位到字或雙字的,或相反的譯碼指令。用它比用MOV指令提高程序效率,有時效果更好。

4.電梯控制電路之二

以上用了傳送指令“記憶”,這里用DMPX指令“記憶”。

DMPX或ENCO與MLPX或DECO配對的譯碼指令,是很常用的PLC指令。幾乎所有廠商的PLC都有這兩條指令。用它比用MOV指令有時效果更好。

圖2-57所示就是用DMPX作標志值設置(“記憶”)。它可控制16個位置(對電梯講就是16層)。“實際通道”用以記錄電梯實際所處層號。它的00~15位,對應第0~15層。“要位置”用以設要求到的層號,它的00~15位,對應要求到第0~15層。

從圖2-57可知,它的標志值比較處理與圖2-56完全相同。但標志值設定大為簡化了。“現(xiàn)位置”、“要位置”的內(nèi)容原為十六進制數(shù),經(jīng)DMPX、ENCO譯碼后,得出的為通道中哪一最高位ON。對應的就是值1~15。這正好就是圖2-56要設的標志值。

978-7-111-39745-8-Chapter03-133.jpg

圖2-56 電梯控制梯形圖程序之一

978-7-111-39745-8-Chapter03-134.jpg

圖2-57 電梯控制邏輯之二

提示:圖2-57比圖2-56簡單,而它控制的功能卻比后者強。歐姆龍新型的PLC的DMPX指令及三菱PLC的ENCO指令,可實現(xiàn)256位的譯碼。用它可實現(xiàn)256層的電梯控制。即使世界上最高的建筑,也足夠用了。

5.電梯電路之三

上例只有一個要位置,實際可能有多個要位置。圖2-58所示的就是和利時或ABB PLC這樣的程序。它可控制16個位置(對電梯講就是16層,如要控制32層,可用雙字)。而且可作選擇控制。

電梯狀態(tài)用UP、DW表示。UP OFF、DW OFF,為停;UP ON、DW OFF,為上升;UP OFF、DW ON,為下降。

電梯輸入有要去位置及實際位置。分別用雙字變量“yweizhi”和“weizhi”的各個位代表。第0位為1層,1位為2層,2位為3層。其余依次類推(實際I/O也應按此要求接線)。為了記住要去的位置,這里用“yweizhiB”對“yweizhi”進行記憶。

電梯的實際位置只能是一個,而要去的位置,可以多個。而且隨時可添加。該程序的節(jié)1、2就是要實現(xiàn)這個功能。它不斷進行“yweizhiBa”和“yweizhi”比較。如不等則在節(jié)2,把“yweizhi”賦值給“yweizhiBa”,并進行“yweizhiB”和“yweizhi”“或”運算。結果存于“yweizhiB”中。目的是可隨時實現(xiàn)多個位置選擇。

提示:這里引入變量“yweizhiBa”,目的是只有“yweizhi”變化才改變“yweizhiB”值。

程序的節(jié)3不斷進行“yweizhiB”和“weizhi”(實際位置)比較。如前者大,則pGT ON。同時,還進行“yweizhiB”和“yweizhi”“與”運算。結果存于“pAND”中。接著,還把pAND這個“雙字類型”的變量轉(zhuǎn)換為BOOL類型,并存于pA中。最后還進行“yweizhiB”0比較。如相等,則pEQ0 ON,說明沒有指定要去的位置。最后進行“模運算”。只要“yweizhi”中有小于“weizhi”的,“yushu”必不等于0。否則經(jīng)比較“pEQy”必ON。該程序的節(jié)4、5、6為工作控制邏輯。如“yweizhiB”為80(即要求去5及7層),“weizhi”為4(即處于3層,實際位置只能一個)。經(jīng)執(zhí)行節(jié)3指令,則pGT ON、pEQ0、pA OFF。這時,如按下按鈕QQ(按后即松開),則UP ON,并自保持,電梯上升。

而到了第5層,則pA ON。故UP OFF,電梯停止。這時,經(jīng)執(zhí)行節(jié)7“的異或”指令,將使“yweizhiB”的值改為64,即要求去第7層。故仍只是pGT ON。故再按下按鈕QQ,仍使電梯上行。直到第7層,UP OFF,電梯停止。而這時節(jié)7的“異或”,將使“yweizhiB”的值改為0。

程序中增加bUP變量,目的是上行時,向下的選擇無效。同樣,下行時,向上的選擇也無效。待此方向運行完成之后,才可作更改方向的選擇。這也就是所謂“順向接車,逆向不接車”。

從分析可知,該程序不大復雜,但可實現(xiàn)的功能很強,體現(xiàn)了高級邏輯設計法的威力。當然,電梯工作還有一些實際問題需要處理。但有了這個算法,則有助于設計出高效、實用的電梯控制程序。

978-7-111-39745-8-Chapter03-135.jpg

圖2-58 電梯控制邏輯之三

主站蜘蛛池模板: 木兰县| 承德县| 雷波县| 常德市| 衡东县| 介休市| 兴国县| 五莲县| 榆林市| 延津县| 阳山县| 泗洪县| 大冶市| 麻栗坡县| 无极县| 桐庐县| 舟山市| 辉南县| 洛隆县| 东港市| 白银市| 汪清县| 含山县| 永寿县| 华宁县| 元谋县| 澎湖县| 广南县| 平昌县| 山东| 新兴县| 高淳县| 临湘市| 察雅县| 石嘴山市| 沙坪坝区| 巨鹿县| 汉寿县| 曲周县| 馆陶县| 衡水市|