文/張環(huán) 高瑋 歐陽(yáng)明 邱昌耀
PLC控制方式種類繁多,本文以應(yīng)用最廣泛的步進(jìn)及計(jì)時(shí)控制方式作為研究對(duì)象,深入分析其工作原理及研究應(yīng)用。PLC步進(jìn)控制其實(shí)就是大多數(shù)場(chǎng)合所使用到的“啟保?!保锩姘藥讉€(gè)非?;A(chǔ)的指令Set,Reset;而如果需要將步進(jìn)控制方式應(yīng)用得更加廣泛,需要借助計(jì)時(shí)控制指令;PLC步進(jìn)計(jì)時(shí)控制最基本的指令是S_ODT(延時(shí)通計(jì)時(shí)器)和S_OFFDT(延時(shí)斷計(jì)時(shí)器),其他很多復(fù)雜計(jì)時(shí)都是在此基礎(chǔ)之上進(jìn)行擴(kuò)展編程的。
在CPU的存儲(chǔ)器中,為定時(shí)器保留有存儲(chǔ)區(qū)。該存儲(chǔ)區(qū)為每一個(gè)定時(shí)器地址保留一個(gè)16Bit的字。梯形圖邏輯支持256個(gè)定時(shí)器,利用時(shí)鐘計(jì)時(shí)刷新定時(shí)器字,按照系統(tǒng)規(guī)定的時(shí)間間隔為單位減少給定時(shí)間值,一直到時(shí)間值等于“0”。
對(duì)于時(shí)間值:定時(shí)器字的位0至位9包含二進(jìn)制碼的時(shí)間值,時(shí)間值按單位個(gè)數(shù)給出。時(shí)間刷新按時(shí)基規(guī)定的時(shí)間間隔為單位減少時(shí)間值。時(shí)間值逐漸連續(xù)減少,一直到0.時(shí)間值可以以二進(jìn)制,十六進(jìn)制和BCD格式輸入累加器1的低位字。
W#16#wxyz
S5T#aH_bM_cS_dMS
--- 其中:W = 時(shí)基(即時(shí)間間隔或分辨率)
xyz = 二-十進(jìn)制格式的時(shí)間值
H = 小時(shí),M = 分鐘,S = 秒,MS = 毫秒;a,b,c,d由用戶定義,時(shí)基自動(dòng)選擇,時(shí)間值按其所取時(shí)基取整為下一個(gè)較小的數(shù),輸入的最大時(shí)間是9990秒,或者2H_46M_30S.
定時(shí)器單元中的位組態(tài):當(dāng)定時(shí)器啟動(dòng)時(shí),定時(shí)器單元的內(nèi)容用作時(shí)間值。定時(shí)器單元的位0至位11為二-十進(jìn)制格式的時(shí)間值。位12和位13包含二進(jìn)制碼的時(shí)基。定時(shí)器單元的內(nèi)容(如圖1所示),其中定時(shí)器值為127,時(shí)基為1秒。
圖1
很多工業(yè)工廠內(nèi)都存在大型機(jī)械長(zhǎng)鏈條系統(tǒng),既然是大型機(jī)械設(shè)備,就需要潤(rùn)滑,而國(guó)內(nèi)很多都是直接在鏈條控制系統(tǒng)外額外再采購(gòu)一套國(guó)外的自動(dòng)加油系統(tǒng)(應(yīng)用比較廣泛是SKF公司),這種進(jìn)口設(shè)備是通過(guò)一種小型控制器,通過(guò)單片機(jī)算法,得出鏈條的運(yùn)行狀態(tài)進(jìn)行計(jì)時(shí)和計(jì)數(shù)自動(dòng)加油。但是這種設(shè)備核心是一個(gè)黑匣子,不僅價(jià)格昂貴,采購(gòu)周期長(zhǎng),并且維護(hù)成本也很高?;谝陨锨闆r,我們通過(guò)研究其工作模式,計(jì)劃在PLC中,通過(guò)優(yōu)化步進(jìn)計(jì)時(shí)和計(jì)數(shù)功能,自主完成其同樣的功能。
圖2
圖3
圖4
圖5
圖6
一般來(lái)說(shuō),加油機(jī)需要檢測(cè)鏈條運(yùn)行信號(hào),噴油次數(shù),噴油間隔和噴油持續(xù)時(shí)長(zhǎng)。加油機(jī)通過(guò)檢測(cè)到鏈條運(yùn)行信號(hào),對(duì)關(guān)鍵部位進(jìn)行噴油(噴油時(shí)間可調(diào)),一直持續(xù)到設(shè)定的噴油次數(shù)后,會(huì)進(jìn)入間隔等待模式,等待噴油間隔時(shí)間結(jié)束后,再次進(jìn)入噴油模式,這個(gè)是一個(gè)無(wú)限循環(huán)的過(guò)程。在理解其工作模式后,我們研究通過(guò)PLC完成了一個(gè)可以實(shí)現(xiàn)同樣的功能的程序功能塊(如圖2所示),并且實(shí)現(xiàn)了在HMI控制面板上參數(shù)設(shè)定的功能(如圖3所示)。
我們將鏈條運(yùn)行信號(hào),噴油檢測(cè)傳感器信號(hào),噴油次數(shù),間隔時(shí)間作為輸入信號(hào)放到功能塊的輸入引腳,而噴油電磁閥作為功能塊輸出引腳。在功能塊內(nèi)部步進(jìn)算法程序編寫(xiě)(如圖4所示)及算法優(yōu)化(如圖5所示)。
通過(guò)PLC強(qiáng)大的編程運(yùn)算能力,將本來(lái)看起來(lái)神秘?zé)o比的SKF進(jìn)口控制邏輯完全透明化,也是基于PLC本身的步進(jìn)和計(jì)時(shí)功能的深度研究的成果,不僅便捷了設(shè)備人員的操作和維護(hù),更加大大降低了設(shè)備成本的支出。
主機(jī)廠之前設(shè)備都是系統(tǒng)內(nèi)最后一臺(tái)車離開(kāi)系統(tǒng)之后,設(shè)備才開(kāi)始關(guān)機(jī);設(shè)備人員經(jīng)過(guò)研究發(fā)現(xiàn),可以通過(guò)實(shí)時(shí)記錄最后一臺(tái)車的位置,可以提前分段關(guān)機(jī);經(jīng)過(guò)程序改進(jìn),在程序里面實(shí)時(shí)監(jiān)控車輛位置,當(dāng)系統(tǒng)最后一臺(tái)車進(jìn)入時(shí),開(kāi)啟設(shè)備分段關(guān)機(jī)模式,此時(shí)前處理系統(tǒng)就根據(jù)最后那臺(tái)車的實(shí)時(shí)位置,一步一步將系統(tǒng)進(jìn)行分段關(guān)閉,此處我們?cè)诔绦蚋倪M(jìn)上對(duì)于步進(jìn)計(jì)時(shí)也是一個(gè)非常典型的應(yīng)用,不需要花費(fèi)太多的成本,就可以年節(jié)省設(shè)備能源消耗約200萬(wàn)元RMB,同時(shí)也優(yōu)化了設(shè)備運(yùn)行方式(如圖6所示)。
由此可見(jiàn),基于PLC步進(jìn)算法的計(jì)時(shí)控制研究具有很強(qiáng)的實(shí)際應(yīng)用價(jià)值,不僅提供了復(fù)雜的邏輯編程方法,同時(shí)也為企業(yè)帶來(lái)巨大的經(jīng)濟(jì)價(jià)值。