PLC自動控制原理應(yīng)用在組態(tài)軟件控制系統(tǒng)中——電力軟件應(yīng)用

2011-5-5 14:39:16


1 前言

眾所周知,PLC自從問世以來就在自動控制的各個行業(yè)發(fā)揮著難以取代的核心控制作用。PLC運行可靠,適用于各種惡劣的工業(yè)環(huán)境。PLC和工控機(IPC)相比,其運行可靠,可擴展性好,便于電氣連接,控制更專業(yè);但是工控機良好的人機界面,方便高級語言都是PLC所不能比擬的。

雖然組態(tài)軟件在很多場合下應(yīng)用于控制,但是整個控制的中心往往還是PLC,組態(tài)軟件(上位機)所起的控制作用是很小的。人機界面一般用于簡單的動作控制,工藝參數(shù)的編制,配方的設(shè)定等等,雖然在概念上屬于控制范疇,但是它并未真正起到核心控制作用,因為真正的長期的自動運行控制是由PLC完成的。我們經(jīng)常不使用工控機作為核心控制部分的原因有兩點:第一是,工控機不適于在很惡略的環(huán)境下運行;第二是,工控機經(jīng)常采用的Windows系統(tǒng)并不能夠讓人放心,其長期運行效果并不好。

盡管PLC、IPC在自動化控制中扮演著不同的角色,但是在許多運行連續(xù)時間較短,環(huán)境相對比較好的地方,人們有時候還是希望使用IPC進行核心控制。

使用IPC進行核心控制有很多種實現(xiàn)方式,當然其中最為簡單的辦法就是使用組態(tài)軟件。

本文針對使用組態(tài)軟件做控制中用戶經(jīng)常遇到的問題進行討論。在許多用戶使用組態(tài)軟件進行控制,尤其是使用串口連接方式進行控制時,發(fā)現(xiàn)組態(tài)軟件自動控制會影響的數(shù)據(jù)的采集速度,本文就著重介紹如何解決此問題,解決此問題的辦法就是,將PLC的控制方式模仿的應(yīng)用的上位機串口控制中。

2 用戶使用組態(tài)軟件控制后,導(dǎo)致數(shù)據(jù)采集慢的原因

本文所遇到述問題是許多組態(tài)軟件用戶在編寫上位機自動控制程序中所遇到的,那么到底是什么原因呢能否有好的辦法來解決此問題呢

我們簡單描述組態(tài)軟件的數(shù)據(jù)采集控制原理。在正常情況下,組態(tài)軟件定時的向下位機發(fā)出讀命令來等待下位機回應(yīng)以截取想要查詢的數(shù)據(jù),如此周而復(fù)始的循環(huán),數(shù)據(jù)便動態(tài)的顯示在上位機上,實現(xiàn)數(shù)據(jù)“實時采集”。那么當我們需要對下位機進行控制的時候,組態(tài)軟件就會將相應(yīng)的寫命令,實現(xiàn)上位機對下位機的“實時控制”。表面上看去一切是合情合理,那么為什么會出現(xiàn)數(shù)據(jù)采集慢這種情況呢原來一切“歸咎于”組態(tài)軟件的讀寫機制。組態(tài)軟件為了實現(xiàn)快速的控制,所以給寫命令最高的優(yōu)先執(zhí)行權(quán),也就是說,當有寫(控制)命令時,組態(tài)軟件首先執(zhí)行寫命令,直到?jīng)]有寫(控制)命令時組態(tài)軟件才恢復(fù)正常的讀(采集)循環(huán)。

由此,我們就不難發(fā)現(xiàn)用戶經(jīng)常出現(xiàn)數(shù)據(jù)采集慢的原因了。如果用戶頻繁的將控制指令發(fā)出,系統(tǒng)將分配很少的時間給數(shù)據(jù)采集,從而導(dǎo)致數(shù)據(jù)采集變慢或者中斷。用戶在循環(huán)指令中重復(fù)給一個變量賦值(如y0=1),就會導(dǎo)致以上問題,所以我們的解決辦法就是需要控制時控制,不需要控制時放手。為了實現(xiàn)這種控制方式,我們可以參考PLC的運行模式。

3 PLC運行原理


在沒有中斷的情況下,PLC采用“順序掃描,不斷循環(huán)”的工作方式

1) 每次掃描過程。集中對輸入信號進行采樣。集中對輸出信號進行刷新。

2) 輸入刷新過程。當輸入端口關(guān)閉時,程序在進行執(zhí)行階段時,輸入端有新狀態(tài),新狀態(tài)不能被讀入。只有程序進行下一次掃描時,新狀態(tài)才被讀入。

3) 一個掃描周期分為輸入采樣,程序執(zhí)行,輸出刷新。

4) 元件映象寄存器的內(nèi)容是隨著程序的執(zhí)行變化而變化的。

5) 掃描周期的長短由三條決定。CPU執(zhí)行指令的速度;指令本身占有的時間;指令條數(shù)

6) 由于采用集中采樣。集中輸出的方式。存在輸入/輸出滯后的現(xiàn)象,即輸入/輸出響應(yīng)延遲。

1 小結(jié)

如上所述,在組態(tài)軟件控制中,我們采用先運算在輸出的方法。即,對IO變量有循環(huán)復(fù)雜運算操作時,我們采用中間變量計算,待計算出結(jié)果時我們再對IO變量賦值,這樣就會解決控制中采集慢的問題。