邢潔林
(江蘇省陶都中等專(zhuān)業(yè)學(xué)校,無(wú)錫 214221)
可編程邏輯控制器(Programmable Logic Controller,PLC)是針對(duì)工業(yè)環(huán)境提出的數(shù)字運(yùn)算操控系統(tǒng),具有成本低、穩(wěn)定性強(qiáng)以及功能多樣等優(yōu)點(diǎn),能夠依靠可編程存儲(chǔ)器存儲(chǔ)系列控制程序,通過(guò)輸入輸出數(shù)字模擬信號(hào)實(shí)現(xiàn)操控機(jī)械設(shè)備的目的。在PLC控制功能實(shí)現(xiàn)過(guò)程中,除了做好硬件配備,還需完成系統(tǒng)編程。相較而言,PLC程序設(shè)計(jì)更加復(fù)雜,因此應(yīng)加強(qiáng)設(shè)計(jì)技巧研究,確保高效開(kāi)展控制系統(tǒng)開(kāi)發(fā)等工作。
在PLC程序設(shè)計(jì)上,根據(jù)需要控制的設(shè)備或系統(tǒng)展開(kāi)分析,確定輸入輸出點(diǎn)符合PLC點(diǎn)數(shù)要求,且根據(jù)控制功能實(shí)現(xiàn)的復(fù)雜程度判斷PLC內(nèi)存容量是否足夠。在硬件條件滿(mǎn)足的基礎(chǔ)上,可以對(duì)輸入、輸出信號(hào)賦值,確保與PLC輸入、輸出編號(hào)對(duì)應(yīng),得到系統(tǒng)控制原理圖和完成控制程序編寫(xiě)。整個(gè)過(guò)程中,梯形圖作為形象化編程語(yǔ)言,為決定PLC程序設(shè)計(jì)效果的關(guān)鍵要素。目前,主要采取順序控制和經(jīng)驗(yàn)編程兩種設(shè)計(jì)方法[1]。采用順序控制法需要對(duì)系統(tǒng)邏輯進(jìn)行綜合分析,將一個(gè)工作周期劃分為多個(gè)順序相連的步驟,對(duì)應(yīng)各自操作狀態(tài),然后根據(jù)狀態(tài)轉(zhuǎn)換條件進(jìn)行功能圖繪制,之后轉(zhuǎn)化為梯形圖。該種方法結(jié)構(gòu)清晰和可讀性較強(qiáng),但容易導(dǎo)致梯形圖復(fù)雜、煩瑣,系統(tǒng)程序運(yùn)行時(shí)間過(guò)長(zhǎng),而采用經(jīng)驗(yàn)編程法不存在固定設(shè)計(jì)步驟。面向不同的控制系統(tǒng)時(shí),它要求設(shè)計(jì)者可以深入掌握PLC的各種指令功能,結(jié)合控制功能進(jìn)行指令修改和程序完善來(lái)實(shí)現(xiàn)相關(guān)需求。由于該方法帶有較強(qiáng)的主觀性,運(yùn)用難度較大,造成設(shè)計(jì)結(jié)果存在較大差異,可能出現(xiàn)冗長(zhǎng)、復(fù)雜等問(wèn)題。
在PLC系統(tǒng)設(shè)計(jì)實(shí)踐中,需要結(jié)合PLC程序應(yīng)用場(chǎng)合靈活運(yùn)用不同的設(shè)計(jì)方法,因此應(yīng)加強(qiáng)程序設(shè)計(jì)技巧分析,增強(qiáng)程序的可讀性、可靠性和高效性。
PLC程序設(shè)計(jì)之初,在邏輯表達(dá)上,按照電路邏輯關(guān)系能夠劃分為組合和時(shí)序兩類(lèi)。如果控制結(jié)果僅與輸入變量相關(guān),可以通過(guò)布爾代數(shù)進(jìn)行梯形圖計(jì)算,生成關(guān)系簡(jiǎn)明且可讀性強(qiáng)的程序圖[2]。例如,在照明控制程序設(shè)計(jì)上,利用I0.0開(kāi)關(guān)1、I0.1開(kāi)關(guān)2、I0.2開(kāi)關(guān)3總計(jì)3處開(kāi)關(guān)對(duì)一處照明燈Q4.0進(jìn)行控制,要求任意開(kāi)關(guān)能夠控制燈亮滅。對(duì)變量控制邏輯展開(kāi)分析可知,任一開(kāi)關(guān)閉合時(shí)照明燈亮,任一開(kāi)關(guān)閉合時(shí)照明燈滅掉,最終得到奇數(shù)開(kāi)關(guān)閉合時(shí)照明燈亮,偶數(shù)開(kāi)關(guān)閉合時(shí)照明燈滅的邏輯關(guān)系。根據(jù)控制過(guò)程繪制邏輯真值表,可以得到邏輯表達(dá)式,完成PLC內(nèi)部指令設(shè)計(jì),得到如圖1所示的PLC程序梯形圖。觀察程序圖中邏輯關(guān)系可知,它為基本的位邏輯指令,僅需要生成一段程序。如果采用經(jīng)驗(yàn)編程方法,需要選擇位邏輯指令、計(jì)數(shù)器指令以及比較指令等多條指令生成多段程序,最終通過(guò)反復(fù)試驗(yàn)確認(rèn)滿(mǎn)足控制要求。因此,在簡(jiǎn)單控制系統(tǒng)中,多通過(guò)簡(jiǎn)化邏輯表達(dá)的順序控制法進(jìn)行PLC程序設(shè)計(jì)。
圖1 照明控制PLC程序圖
工業(yè)場(chǎng)景中,常見(jiàn)PLC控制對(duì)象為啟??刂?,即在啟動(dòng)信號(hào)有效時(shí)使設(shè)備通電,在停止信號(hào)有效時(shí)斷開(kāi)電源。如圖2所示,以按鈕這種復(fù)歸型啟動(dòng)元件為例,連接PLC輸出點(diǎn)Q0.0和輸入點(diǎn)I0.0、I0.1后可知,按下按鈕為觸點(diǎn)動(dòng)作,松開(kāi)時(shí)將自動(dòng)復(fù)位。對(duì)輸出、輸出元件的常開(kāi)觸點(diǎn)進(jìn)行并聯(lián)可知,按鈕被按下后I0.0觸點(diǎn)閉合,輸出Q0.0閉合且線圈得電,按鈕松開(kāi)后斷開(kāi)且維持得電。利用置位指令實(shí)現(xiàn)得電保持功能,可以完成自鎖程序設(shè)計(jì),如圖2所示。在開(kāi)關(guān)閉合后,輸入點(diǎn)接通,線圈得電,開(kāi)關(guān)不再發(fā)揮控制作用。
圖2 按鈕啟動(dòng)PLC程序圖
在按鈕停止控制上,一是按下即刻停止,二是按下后直至當(dāng)前任務(wù)周期結(jié)束后停止。實(shí)現(xiàn)第一種方式較為簡(jiǎn)單,只需要在上述程序中增加停止控制指令,在輸出點(diǎn)Q0.0工作時(shí)按下按鈕,I0.1觸點(diǎn)分?jǐn)?,線圈復(fù)位進(jìn)入自鎖狀態(tài)。實(shí)現(xiàn)第二種停止功能,則需要鎖住停止信號(hào),以免在松開(kāi)按鈕后停止信號(hào)消失,導(dǎo)致無(wú)法在工作周期結(jié)束后實(shí)現(xiàn)控制指令。利用輔助繼電器元件實(shí)現(xiàn)自??刂?,可以使線圈得電后自鎖[3]。以感應(yīng)自動(dòng)門(mén)控制為例,對(duì)上述控制邏輯展開(kāi)分析。人在自動(dòng)門(mén)內(nèi)、外時(shí),依靠位置傳感器K1或K2進(jìn)行門(mén)開(kāi)啟控制,在達(dá)到上限位SQ1后應(yīng)停留5 s后再關(guān)門(mén),確保人身安全。檢測(cè)到有人進(jìn)出時(shí),需要重新等待5 s,關(guān)閉時(shí)確認(rèn)達(dá)到SQ2下限位停止。在PLC的 輸 入/輸 出(Input/Output,I/O)分 配 上,K1、K2、SQ1、SQ2分別對(duì)應(yīng)I0.0、I0.1、I0.2、I0.3,驅(qū)動(dòng)門(mén)開(kāi)啟和關(guān)閉的接觸器輸出模塊分別對(duì)應(yīng)Q4.1和Q4.2,可知能夠通過(guò)繼電器元件M0.0、M0.1、M0.2和M0.3分別構(gòu)成一個(gè)單閉環(huán),如圖3所示。其中,M0.0、M0.1和M0.3能夠直接套用置位復(fù)位指令,而M0.2不僅為前級(jí)步,也為后級(jí)步,同時(shí)執(zhí)行置位和復(fù)位指令容易出現(xiàn)矛盾,需要將復(fù)位條件設(shè)定為(I0.0+I0.0)×I0.2。通過(guò)在復(fù)位指令左邊添加上升沿增設(shè)檢測(cè)指令,使M0.2復(fù)位一個(gè)短暫掃描周期形成時(shí)間差,確保同時(shí)實(shí)現(xiàn)置位和復(fù)位功能。
圖3 感應(yīng)門(mén)啟停控制PLC程序圖
在機(jī)械自動(dòng)化生產(chǎn)中,許多裝置需要周期性運(yùn)行,重復(fù)執(zhí)行一個(gè)周期動(dòng)作,實(shí)現(xiàn)循環(huán)控制。在PLC程序設(shè)計(jì)上,需要按照設(shè)定工藝流程確定時(shí)間順序或條件順序,確保各機(jī)構(gòu)有序工作。
按照時(shí)間順序進(jìn)行控制,編程時(shí)需確認(rèn)定時(shí)器編號(hào)和計(jì)數(shù)值等。采用多個(gè)定時(shí)器,用常開(kāi)觸點(diǎn)啟動(dòng),并利用常閉觸點(diǎn)停止[4]。運(yùn)用一個(gè)定時(shí)器可以簡(jiǎn)化程序,在當(dāng)前值大于起始值時(shí),啟動(dòng)定時(shí)器輸出。當(dāng)前值小于起始值時(shí),定時(shí)器停止。以流水燈控制為例,共計(jì)8個(gè)燈,輸出點(diǎn)對(duì)應(yīng)Q0.0~Q0.7。按照控制要求,在首個(gè)燈亮起后,隔1 s再點(diǎn)亮下一個(gè)燈,整個(gè)工作周期為8 s。利用8個(gè)定時(shí)器T51~T58控制,可知M0.0為狀態(tài)位,工作時(shí)觸點(diǎn)閉合,如圖4所示。在一個(gè)周期結(jié)束后,對(duì)全部定時(shí)器和輸出端進(jìn)行復(fù)位,能夠重啟下個(gè)周期。在程序設(shè)計(jì)上,可直接將T58延時(shí)設(shè)定為8 s,通過(guò)常閉觸點(diǎn)復(fù)位全部點(diǎn)位,簡(jiǎn)化控制程序。
圖4 感應(yīng)門(mén)啟停控制PLC程序圖
按照條件順序進(jìn)行循環(huán)控制,可以使用比較指令簡(jiǎn)化PLC程序。該指令可以看成是常開(kāi)觸點(diǎn),通過(guò)數(shù)值比較確定是否達(dá)到指定條件,滿(mǎn)足則閉合觸點(diǎn),使右邊指令被執(zhí)行。利用該指令代替邏輯塊,能夠利用一個(gè)定時(shí)器實(shí)現(xiàn)多個(gè)定時(shí)器的功能[5]。例如,對(duì)3條傳送帶進(jìn)行依次啟動(dòng)時(shí),各設(shè)備啟動(dòng)時(shí)間間隔為10 s,但最終需要同時(shí)停車(chē)。利用置位復(fù)位指令進(jìn)行編程,在繪制梯形圖時(shí)進(jìn)行電路初始化,可以在順序功能圖中插入起動(dòng)組織塊OB100,將初始步M0.0置為1,轉(zhuǎn)換為活動(dòng)步,剩余步清零。根據(jù)設(shè)計(jì)經(jīng)驗(yàn),利用1個(gè)定時(shí)器和比較指令可以實(shí)現(xiàn)2個(gè)定時(shí)器的控制功能,如圖5所示。T0時(shí)基為100 ms,MW0為0~100的剩余時(shí)間值。通過(guò)比較指令拆分為50~100和0~50,相當(dāng)于形成2個(gè)定時(shí)器。在需要控制的設(shè)備逐漸增多的情況下,采取該種技巧實(shí)現(xiàn)設(shè)備的循環(huán)啟動(dòng)控制,能夠節(jié)省大量定時(shí)器。
圖5 傳送帶順序啟動(dòng)控制PLC程序圖
應(yīng)用PLC技術(shù)實(shí)現(xiàn)自動(dòng)化生產(chǎn)控制時(shí),程序設(shè)計(jì)為系統(tǒng)控制功能實(shí)現(xiàn)的關(guān)鍵,需要利用梯形圖等各種編程語(yǔ)言實(shí)現(xiàn)控制對(duì)象的邏輯控制。設(shè)計(jì)實(shí)踐中,掌握邏輯控制、啟??刂频雀鞣N程序設(shè)計(jì)技巧,可以結(jié)合控制對(duì)象特點(diǎn)靈活進(jìn)行不同控制程序設(shè)計(jì),確保形成結(jié)構(gòu)清晰、簡(jiǎn)潔的控制流程,為系統(tǒng)各種功能的高效、可靠實(shí)現(xiàn)提供保障。