楊思國,陳遠(yuǎn)龍
(1.滁州職業(yè)技術(shù)學(xué)院 機(jī)電系,安徽滁州239000;2.合肥工業(yè)大學(xué) 機(jī)械與汽車工程學(xué)院,安徽合肥230003)
可編程控制器(簡稱PLC)控制系統(tǒng)替代繼電接觸器控制系統(tǒng),成為工業(yè)控制領(lǐng)域的主打產(chǎn)品。由于PLC采用循環(huán)掃描工作方式(串行工作方式),任何時間只能做一件事。因此,當(dāng)輸入信號發(fā)生變化,PLC采集到輸入信號,經(jīng)過一系列運(yùn)算、處理,最終到PLC的輸出端對該輸入變化做出反應(yīng),需要一段時間。這段時間稱為滯后響應(yīng)時間。滯后響應(yīng)現(xiàn)象是PLC輸出隨輸入變化而變化在時間上的延遲,它影響了控制的實(shí)時性[1]。PLC運(yùn)行速度極快,一個掃描周期一般不超過100ms,就普通的工業(yè)控制裝置而言,機(jī)械動作相對緩慢。因此,這種滯后響應(yīng)是完全允許的[2]。但是,對于某些控制系統(tǒng),如:自動控制領(lǐng)域中的隨動系統(tǒng),當(dāng)控制對象的運(yùn)行速度較高時,滯后響應(yīng)會產(chǎn)生較大的誤差;若用PLC的脈沖輸出作為觸發(fā)信號控制晶閘管的導(dǎo)通和截止,滯后響應(yīng)可能會導(dǎo)致系統(tǒng)失控。像這些需要快速響應(yīng)的系統(tǒng)就必須考慮滯后響應(yīng)現(xiàn)象的影響。
決定滯后響應(yīng)時間的長短的因素有兩個方面:一是必然性因素,二是偶然性因素。必然性因素與系統(tǒng)性能指標(biāo)相關(guān)聯(lián),間接影響到成本。如:輸入延時、輸出延時、指令執(zhí)行的速度等。偶然性因素包括輸入信號的時刻、程序的優(yōu)化等。
PLC的輸入濾波器是一個積分環(huán)節(jié),因此,當(dāng)現(xiàn)場實(shí)際輸入元件的信號變化時,輸入濾波器有一段時間延遲,輸出電壓產(chǎn)生相應(yīng)變化。這就導(dǎo)致了實(shí)際輸入信號在進(jìn)入映像寄存器前就有一個滯后時間[3]。另外,如果輸入導(dǎo)線很長,由于分布參數(shù)的影響,也會產(chǎn)生一個“隱形”濾波器效果。輸入延時Ti一般在2ms以上,在對實(shí)時性要求很高的情況下,可以考慮采用快速響應(yīng)輸入模板。
PLC的數(shù)字量輸出方式有三種:繼電器輸出型、雙向晶閘管輸出型和晶體管輸出型。繼電器輸出型是有觸點(diǎn)控制,觸點(diǎn)動作的固有時間較長,導(dǎo)致繼電器線圈的輸入電壓變化到實(shí)際動作產(chǎn)生滯后效應(yīng)[4]。繼電器輸出延時為10ms左右。雙向晶閘管輸出平均延時約為5ms,晶體管輸出延時小于1ms。
PLC采用循環(huán)掃描工作方式,一個掃描周期分為四個掃描階段:公共處理階段、輸入采樣階段、執(zhí)行程序階段和輸出刷新階段[5]。公共處理階段瞬間完成用時極短,當(dāng)PLC工作在RUN模式下,一個掃描周期主要包含輸入采樣階段、執(zhí)行程序階段和輸出刷新階段,因而有:
式中TS——掃描周期(μs)
T1——輸入采樣時間(μs)
T2——輸出刷新時間(μs)
n——用戶程序指令數(shù)(條)
St——執(zhí)行1條指令所需時間(μs/條)
圖1 最短滯后響應(yīng)時間
如圖1所示,在忽略公共處理階段占用時間的情況下,滯后響應(yīng)時間TZ可以表示為:
由于PLC采用循環(huán)掃描工作方式,因此滯后響應(yīng)時間與收到輸入信號的時刻有關(guān)[6]。假如PLC輸入采樣、執(zhí)行用戶程序和輸出刷新三個階段采用集中批處理方式,下面分析一下最短響應(yīng)時間和最長響應(yīng)時間與輸入信號時刻的關(guān)系。
若在上一個掃描周期即將結(jié)束前收到某輸入信號的變化,而在下一個掃描周期一開始該信號變化被采樣,使輸入更新,這時的滯后響應(yīng)時間是最短滯后響應(yīng)時間。如圖1和公式(2)所示。
若在本掃描周期剛開始收到某輸入信號的變化,由于存在輸入延時,而該信號變化被采樣到,則在當(dāng)前掃描該信號變化對輸出不起作用,必須要等到下一個掃描周期被采樣,對輸出起到控制作用。這時的滯后響應(yīng)時間是最長滯后響應(yīng)時間[7]。如圖2和公式(3)所示。
圖2 最長滯后響應(yīng)時間
原則上講,根據(jù)設(shè)計任務(wù)要求,只要控制系統(tǒng)能夠?qū)崿F(xiàn)全部系統(tǒng)功能,就是正確的[8]。但由于電氣工程師專業(yè)修為、編程技巧和編程習(xí)慣不同,對同一控制系統(tǒng),編寫程序的長短不一。冗長的程序執(zhí)行時間長,增加滯后響應(yīng)時間。反之,簡短的程序執(zhí)行時間短,減少滯后響應(yīng)時間。
由于PLC采用串行工作方式使得用戶程序中指令安排的順序很重要[9]。是安排不當(dāng)?shù)那闆r:在本周期假設(shè)I0.1有輸入信號并被采集到,但Q0.1、Q0.2要等到下一周期才會有輸出。圖3b)是安排得當(dāng)?shù)那闆r:在本周期假設(shè)I0.1有輸入信號并被采集到,在本周期Q0.1、Q0.2就有輸出。很顯然圖3b)的滯后響應(yīng)時間比圖3a)少了一個掃描周期。
圖3 指令順序?qū)箜憫?yīng)時間的影響
綜上所述,即使編寫的程序是正確的,也存在程序優(yōu)化的問題,程序簡短,指令安排順序得當(dāng)?shù)挠脩舫绦蚴亲顑?yōu)的。
設(shè)計PLC控制系統(tǒng)時,一旦硬件組態(tài)完成,輸入延時Ti和輸出延時To就是定值[10]。根據(jù)公式(2)判斷,滯后響應(yīng)時間TZ主要由掃描周期TS決定。下面通過實(shí)驗(yàn)和比較分析來研究影響TS大小的因素及作用。
為了比較分析方便,選取日本OMRON公司的三個產(chǎn)品作為實(shí)驗(yàn)設(shè)備:C40P-EDR-A、CPM1A-40CDR-A、CP1H-XA40DR-A。它們I/O點(diǎn)數(shù)都是40點(diǎn),執(zhí)行一條基本指令的平均時間分別是12μs、1.7μs和0.1μs。
圖4 實(shí)驗(yàn)設(shè)備
測試方法是輸入一定條數(shù)的基本指令,應(yīng)用PLC自帶的監(jiān)控功能測量出對應(yīng)的掃描周期。測試數(shù)據(jù)如下表1所示:
表1 實(shí)驗(yàn)數(shù)據(jù)
以程序長度(指令條數(shù))為橫軸,以掃描周期為縱軸畫出關(guān)系曲線,如圖5所示。
從圖5可以看出,程序長度與掃描周期關(guān)系曲線是近似直線。直線的截距就是輸入/輸出刷新時間。這是因?yàn)檩斎氤绦虻闹噶钍腔局噶?,而?zhí)行一條基本指令的時間基本相同。關(guān)系圖中出現(xiàn)的微小非線性是計量精度誤差造成的。實(shí)驗(yàn)結(jié)果與公式(1)相符。如果輸入的程序中大量存在功能指令,程序長度與掃描周期關(guān)系曲線就不是直線,且掃描周期將明顯變長。
從圖5可以看出,像CP1H這類執(zhí)行指令速度快的PLC,它的輸入/輸出刷新時間占掃描周期比值較大,指令多少TS影響很小。而像C40P這類執(zhí)行指令速度慢的PLC,它的TS主要由程序的指令多少決定。
圖5 掃描周期與程序長度關(guān)系曲線
綜上所述,可得出如下結(jié)論:
(1)輸入延時和輸出延時在滯后響應(yīng)時間中占比較大,對響應(yīng)速度要求高的場合,考慮選擇快速響應(yīng)輸入/輸出模塊。
(2)掃描周期與程序長度成單調(diào)遞增關(guān)系。實(shí)現(xiàn)相同的控制功能,程序編寫得越簡短越好。特別是對于執(zhí)行指令速度慢的PLC,優(yōu)化編程,可以顯著減小滯后響應(yīng)時間。
(3)由于輸入時刻偶然因素的影響,滯后響應(yīng)的掃描時間最短大于1個掃描周期,最長大于2個掃描周期。對于重要的輸入信號和輸出信號采用立即輸入/輸出指令,立即輸入/輸出指令不受掃描周期限制,可以將滯后響應(yīng)的掃描時間限制在1個周期之內(nèi)。但是大量使用立即輸入/輸出指令會加長掃描周期的時間,欲速則不達(dá)[11]。因?yàn)椋话阒噶钍窃L問輸入/輸出映像寄存器,占用CPU時間較短;而立即輸入/輸出指令是直接訪問物理輸入/輸出點(diǎn)占用CPU時間較長。
(4)采用線性化編程,執(zhí)行用戶程序時順序執(zhí)行每條指令,掃描周期長。而采用模塊化編程和結(jié)構(gòu)化編程只執(zhí)行符合條件的部分指令,因而可以減小掃描周期[12]。
(5)在編程中采用跳轉(zhuǎn)、中斷等程序控制類指令也可以減小掃描周期。