將PLC自動(dòng)控制原理應(yīng)用在組態(tài)軟件控制系統(tǒng)中
1 前言
眾所周知,PLC自從問(wèn)世以來(lái)就在自動(dòng)控制各個(gè)行業(yè)發(fā)揮著難以取代的核心控制作用。PLC運(yùn)行可靠,適用于各種惡劣的工業(yè)環(huán)境,PLC和工控機(jī)(IPC)相比,其運(yùn)行可靠、可擴(kuò)展性好、便于電氣連接、控制更專業(yè),但是工控機(jī)良好的人機(jī)界面,方便高級(jí)語(yǔ)言都是PLC所不能比擬的。
組態(tài)軟件在很多場(chǎng)合應(yīng)用于控制,可整個(gè)控制的中心往往還是PLC,組態(tài)軟件(上位機(jī))所起的控制作用很小。人機(jī)界面一般用于簡(jiǎn)單的動(dòng)作控制,工藝參數(shù)的編制,配方的設(shè)定等等,雖然在概念上屬于控制范疇,但它并未真正起到核心控制作用,因?yàn)檎嬲L(zhǎng)期的自動(dòng)運(yùn)行控制是由PLC完成。我們不經(jīng)常使用工控機(jī)作為核心控制部分的原因有兩點(diǎn):第一,工控機(jī)不適于在很惡略的環(huán)境下運(yùn)行;第二,工控機(jī)經(jīng)常采用的Windows系統(tǒng)并不能夠讓人放心,其長(zhǎng)期運(yùn)行效果并不好。
盡管PLC、IPC在自動(dòng)化控制中扮演不同角色,在許多運(yùn)行連續(xù)時(shí)間較短,環(huán)境相對(duì)比較好的地方,人們還是希望使用IPC進(jìn)行核心控制。使用IPC進(jìn)行核心控制有很多種實(shí)現(xiàn)方式,當(dāng)然其中最為簡(jiǎn)單的辦法就是使用組態(tài)軟件。
本文針對(duì)使用組態(tài)軟件做控制中用戶經(jīng)常遇到的問(wèn)題進(jìn)行討論。在許多用戶使用組態(tài)軟件進(jìn)行控制,尤其是使用串口連接方式進(jìn)行控制時(shí),發(fā)現(xiàn)組態(tài)軟件自動(dòng)控制會(huì)影響的數(shù)據(jù)的采集速度,本文著重介紹如何解決此問(wèn)題,解決此辦法就是——將PLC的控制方式模仿的應(yīng)用到上位機(jī)串口控制中。
2 用戶使用組態(tài)軟件控制后,導(dǎo)致數(shù)據(jù)采集慢的原因
這是許多組態(tài)軟件用戶在編寫上位機(jī)自動(dòng)控制程序中所遇到的問(wèn)題,到底是什么原因?能否有好的辦法來(lái)解決?
我們先簡(jiǎn)單描述組態(tài)軟件數(shù)據(jù)采集控制的原理。在正常情況下,組態(tài)軟件定時(shí)向下位機(jī)發(fā)出讀命令來(lái)等待下位機(jī)回應(yīng)以截取想要查詢的數(shù)據(jù),周而復(fù)始的循環(huán),數(shù)據(jù)便動(dòng)態(tài)的顯示在上位機(jī)上,實(shí)現(xiàn)數(shù)據(jù)“實(shí)時(shí)采集”。那么當(dāng)我們需要對(duì)下位機(jī)進(jìn)行控制時(shí),組態(tài)軟件就會(huì)相應(yīng)寫命令,實(shí)現(xiàn)上位機(jī)對(duì)下位機(jī)的“實(shí)時(shí)控制”。
表面上看去合情合理,可為什么會(huì)出現(xiàn)數(shù)據(jù)采集慢這種情況?原來(lái)一切“歸咎于”組態(tài)軟件的讀寫機(jī)制。組態(tài)軟件為實(shí)現(xiàn)快速的控制,所以給寫命令最高的優(yōu)先執(zhí)行權(quán),也就是說(shuō),當(dāng)有寫(控制)命令時(shí),組態(tài)軟件首先執(zhí)行寫命令,直到?jīng)]有寫(控制)命令時(shí)組態(tài)軟件才恢復(fù)正常的讀(采集)循環(huán)。
由此,我們不難發(fā)現(xiàn)用戶經(jīng)常出現(xiàn)數(shù)據(jù)采集慢的原因。如果用戶頻繁將控制指令發(fā)出,系統(tǒng)將分配很少的時(shí)間給數(shù)據(jù)采集,從而導(dǎo)致數(shù)據(jù)采集變慢或者中斷。用戶在循環(huán)指令中重復(fù)給一個(gè)變量賦值(如y0=1),就會(huì)導(dǎo)致以上問(wèn)題,所以我們的解決辦法就是需要控制時(shí)控制,不需要控制時(shí)放手。為了實(shí)現(xiàn)這種控制方式,我們可以參考PLC的運(yùn)行模式。
3 PLC運(yùn)行原理
在沒(méi)有中斷的情況下,PLC采用“順序掃描,不斷循環(huán)”的工作方式。
1) 每次掃描過(guò)程。集中對(duì)輸入信號(hào)進(jìn)行采樣,集中對(duì)輸出信號(hào)進(jìn)行刷新。
2) 輸入刷新過(guò)程。當(dāng)輸入端口關(guān)閉時(shí),程序在進(jìn)行執(zhí)行階段時(shí),輸入端有新?tīng)顟B(tài),新?tīng)顟B(tài)不能被讀入。只有程序進(jìn)行下一次掃描時(shí),新?tīng)顟B(tài)才被讀入。
3) 一個(gè)掃描周期分為輸入采樣,程序執(zhí)行,輸出刷新。
4) 元件映象寄存器的內(nèi)容是隨著程序的執(zhí)行變化而變化。
5) 掃描周期的長(zhǎng)短由三條決定:1>CPU執(zhí)行指令的速度;2>指令本身占有的時(shí)間;3>指令條數(shù)。
6) 由于采用集中采樣。集中輸出的方式,存在輸入/輸出滯后的現(xiàn)象,即輸入/輸出響應(yīng)延遲。
4 小結(jié)
如上所述,在組態(tài)軟件控制中,我們采用先運(yùn)算再輸出的方法,即,對(duì)IO變量有循環(huán)復(fù)雜運(yùn)算操作時(shí),我們采用中間變量計(jì)算,待計(jì)算出結(jié)果時(shí)我們?cè)賹?duì)IO變量賦值,這樣就會(huì)解決控制中采集慢的問(wèn)題。
評(píng)論