基于PLC的流量監(jiān)控系統(tǒng)設(shè)計(jì)
上海申弘閥門有限公司
本畢業(yè)設(shè)計(jì)課題來自實(shí)驗(yàn)室建設(shè)。目的是利用PLC來實(shí)現(xiàn)過程控制。目前,PLC使用范圍可覆蓋從替代繼電器的簡(jiǎn)單控制到更復(fù)雜的自動(dòng)化控制。上海申弘閥門有限公司主營(yíng)閥門有:減壓閥(氣體減壓閥,可調(diào)式減壓閥,波紋管減壓閥,活塞式減壓閥,蒸汽減壓閥,先導(dǎo)式減壓閥,空氣減壓閥,氮?dú)鉁p壓閥,水用減壓閥,自力式減壓閥,比例減壓閥)、安全閥、保溫閥、低溫閥、球閥、截止閥、閘閥、止回閥、蝶閥、過濾器、放料閥、隔膜閥、旋塞閥、柱塞閥、平衡閥、調(diào)節(jié)閥、疏水閥、管夾閥、排污閥、排氣閥、排泥閥、氣動(dòng)閥門、電動(dòng)閥門、高壓閥門、中壓閥門、低壓閥門、水力控制閥、真空閥門、襯膠閥門、襯氟閥門。應(yīng)用領(lǐng)域極為廣泛,覆蓋所有與自動(dòng)檢測(cè),自動(dòng)化控制有關(guān)的工業(yè)及民用領(lǐng)域,包括各種機(jī)床、機(jī)械、電力設(shè)施、民用設(shè)施、環(huán)境保護(hù)設(shè)備等等。PLC通過模擬量I/O模塊,實(shí)現(xiàn)模擬量與數(shù)字量之間的 A/D、D/A轉(zhuǎn)換,并對(duì)模擬量進(jìn)行閉環(huán)PID控制。用MCGS組態(tài)軟件組態(tài)配置工業(yè)控制監(jiān)控系統(tǒng),對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控。
本畢業(yè)設(shè)計(jì)原理是利用擴(kuò)展模塊EM235(AI4/AQ1*12位)進(jìn)行數(shù)據(jù)采集,然后把采集到的數(shù)據(jù)利用程序進(jìn)行工程量轉(zhuǎn)換,給定量與輸入量相減得出偏換,送到執(zhí)行器,從而構(gòu)成的是單閉環(huán)控制。
采用增量式PID,具有以下優(yōu)點(diǎn):(1)增量算法控制誤動(dòng)作影響小。(2)增量算法控制易于實(shí)現(xiàn)手動(dòng)/自動(dòng)無擾動(dòng)切換。(3)不產(chǎn)生積分失控,易獲得較好的調(diào)節(jié)品質(zhì)。在實(shí)際應(yīng)用中,在以步進(jìn)電機(jī)或多圈電位器作執(zhí)行器件的系統(tǒng)中,則采用增量式PID算法。
MCGS即"監(jiān)視與控制通用系統(tǒng)",英文全稱為Monitor and Control Generated System。MCGS是為工業(yè)過程控制和實(shí)時(shí)監(jiān)測(cè)領(lǐng)域服務(wù)的通用計(jì)算機(jī)系統(tǒng)軟件,具有功能完善、操作簡(jiǎn)便、可視性好、可維護(hù)性強(qiáng)的突出特點(diǎn)。MCGS工控組態(tài)軟件是一套32位工控組態(tài)軟件,集流程控制、數(shù)據(jù)采集、設(shè)備控制與輸出數(shù)據(jù)與曲線等諸多強(qiáng)大功能于一身,廣泛應(yīng)用于石油、電力、化工、鋼鐵、礦山、冶金、機(jī)械等
3.1 總體分析
學(xué)習(xí)了PLC的硬件系統(tǒng)、指令系統(tǒng)和編程方法以后,對(duì)設(shè)計(jì)一個(gè)較大的PLC系統(tǒng)時(shí),要全面考慮許多因素,不管所設(shè)計(jì)的控制系統(tǒng)的大小,要按照下列設(shè)計(jì)步驟進(jìn)行系統(tǒng)設(shè)計(jì)。如圖1:
3.2 工藝過程
隨著PLC功能的不斷提高和完善,PLC幾乎可以完成工業(yè)控制領(lǐng)域的所有任務(wù),但PLC還有它的應(yīng)用場(chǎng)合:工業(yè)環(huán)境較差,而對(duì)安全性、可靠性要求較高,系統(tǒng)工藝復(fù)雜,輸入/輸出以開關(guān)量為主的工業(yè)自控系統(tǒng)或裝置,它對(duì)模擬量的處理能力也很強(qiáng)。所以在很多情況下,也可取代工業(yè)控制計(jì)算機(jī)作為主控制器,來完成復(fù)雜的工業(yè)自動(dòng)控制任務(wù)。
控制對(duì)象及控制裝置選定后,還要進(jìn)一步確定PLC的控制范圍。一般來說,能夠反映生產(chǎn)過程的運(yùn)行情況,能夠用傳感器進(jìn)行直接測(cè)量的參數(shù),控制邏輯復(fù)雜的部分都由PLC完成。另外,對(duì)主要控制對(duì)象還要加上手動(dòng)控制功能。針對(duì)此次的控制任務(wù),是利用PLC對(duì)液體流量(模擬量)進(jìn)行控制。要求把管道中水流控制在一定的速度,要求用增量式PID控制算法進(jìn)行控制。如圖2所示:
3.3 系統(tǒng)控制要求
1、要求用PLC編寫程序,采用單閉環(huán)控制,來控制電動(dòng)調(diào)節(jié)閥開度,以達(dá)到控制管道內(nèi)液體流量的目的。
2、用PLC編寫程序,采用單回路控制,以采集的流量為反饋信號(hào),與給定值進(jìn)行比較,以達(dá)到控制液體流量的目的。
3、用MCGS組態(tài)軟件對(duì)設(shè)計(jì)系統(tǒng)進(jìn)行組態(tài),對(duì)現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控。
3.4 系統(tǒng)的I/O點(diǎn)及地址分配
輸入/輸出信號(hào)在PLC接線端子上的地址分配是進(jìn)行PLC控制系統(tǒng)設(shè)計(jì)的基礎(chǔ)。對(duì)軟件設(shè)計(jì)來說,I/O地址分配以后才可進(jìn)行編程;對(duì)控制柜及PLC的外圍接線來說,只有I/O地址確定以后,才可以繪制電氣接線圖、裝配圖,分配地址時(shí),要注意負(fù)載類型。
控制系統(tǒng)的輸入/輸出信號(hào)的名稱、代碼及地址編號(hào)如下表所示:
符號(hào) | 地址 | 備注 |
Kz | M0.0 | 控制方式 |
Ee | VD136 | 偏差 |
e_1 | VD140 | 偏差前值 |
e_2 | VD144 | 偏差前前值 |
Mnp | VD148 | 比例值 |
Mni | VD152 | 積分值 |
Mnd | VD156 | 微分值 |
dMn | VD160 | PID增量 |
Mn_1 | VD164 | 輸出前值 |
Mn | VD168 | 輸出值 |
Kc | VD172 | 比例系數(shù) |
Ti | VD176 | 積分時(shí)間常數(shù) |
Td | VD180 | 微分時(shí)間常數(shù) |
Ts | VD184 | 采樣周期 |
Pvn | VD200 | 測(cè)量值 |
Spn | VD208 | 給定值 |
max | VW220 | 測(cè)量值大值 |
表1 地址分配
3.5 PLC系統(tǒng)的選型
選擇PLC一方面要注意容量,另一方面什么公司的。從上面的分析可以知道,系統(tǒng)需要模擬量輸入點(diǎn)一個(gè),模擬量輸出點(diǎn)一個(gè)??梢赃x用西門子公司S7-200 CPU222PLC(8入/6繼電器輸出)一臺(tái),特點(diǎn):體積小巧,全面功能,適應(yīng)于中小機(jī)器設(shè)備的控制,適用于各行各業(yè),各種場(chǎng)合中的檢測(cè)、監(jiān)測(cè)及控制的自動(dòng)化。強(qiáng)大功能使其無論在獨(dú)立運(yùn)行中,或相連成網(wǎng)絡(luò)皆能實(shí)現(xiàn)復(fù)雜控制功能。因此S7-200系列具有*的性能/價(jià)格比,*的可靠性,極豐富的指令集 ,易于掌握,便捷的操作,豐富的內(nèi)置集成功能,強(qiáng)勁的通訊能力,豐富的擴(kuò)展模塊。在加上一臺(tái)擴(kuò)展模塊EM235(4AI/1AO)。這樣的配置。
3.6 需要考慮的其它問題
1、保護(hù)措施;
2、系統(tǒng)保直流電源的容量;
3、電源方面的抗干擾措施;
4、輸出方面的護(hù)措施。
3.7 系統(tǒng)程序設(shè)計(jì)
3.7.1數(shù)字PID控制算法
在連續(xù)-時(shí)間控制系統(tǒng)中,PID控制器應(yīng)用得非常廣泛。其設(shè)計(jì)技術(shù)成熟,以來形成了典型的結(jié)構(gòu),參數(shù)整定方便,結(jié)構(gòu)更改靈活,能滿足一般的控制要求。 數(shù)字PID控制比連續(xù)PID控制更為*,因?yàn)橛?jì)算機(jī)程序的靈活性,很容易克服連續(xù)PID控制中存在的問題,經(jīng)修正而得到更完善的數(shù)字PID算法。連續(xù)一時(shí)間PID控制系統(tǒng)如4所示。圖4中,D(s)為控制器。在PID控制系統(tǒng)中,D(s)完成PID控制規(guī)律,稱為PID控制器。
PID控制器是一種線性控制器,用輸出量y(t)和給定量r(t)之間的誤差的時(shí)間函數(shù)。e(t)=r(t)-y(t) 的比例,積分,微分的線性組合,構(gòu)成控制量u(t),稱為比例(Proportional)積分(Integrating)微分(Differentiation)控制,簡(jiǎn)稱PID控制。實(shí)際應(yīng)用中,可以根據(jù)受控對(duì)象的特性和控制的性能要求,靈活地采用不同的控制組合,構(gòu)成
比例(P)控制器 式中 KP——比例放大系數(shù);TI——積分時(shí)間; TD——微分時(shí)間。
控制作用:比例控制能迅速反應(yīng)誤差,從而減小穩(wěn)態(tài)誤差。但是,比例控制不能消除穩(wěn)態(tài)誤差。比例放大系數(shù)的加大,會(huì)引起系統(tǒng)的不穩(wěn)定。積分控制的作用是,只要系統(tǒng)有誤差存在,積分控制器就不斷地積累,輸出控制量,以消除誤差。因而,只要有足夠的時(shí)間,積分控制將能*消除誤差,使系統(tǒng)誤差為零,從而消除穩(wěn)態(tài)誤差。積分作用太強(qiáng)會(huì)使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)振蕩。微分控制可以減小超調(diào)量,克服振蕩,使系統(tǒng)的穩(wěn)定性提高,同時(shí)加快系統(tǒng)的動(dòng)態(tài)響應(yīng)速度,減小調(diào)整時(shí)間,從而改善系統(tǒng)的動(dòng)態(tài)性能。應(yīng)用PID控制,必須適當(dāng)?shù)卣{(diào)整比例放大系數(shù)KP,積分時(shí)間TI和微分時(shí)間TD,使整個(gè)控制系統(tǒng)得到良好的性能
數(shù)字PID控制算法:在電子數(shù)字計(jì)算機(jī)直接數(shù)字控制系統(tǒng)中,PID控制器是通過計(jì)算機(jī)PID控制算法程序?qū)崿F(xiàn)的。計(jì)算機(jī)直接數(shù)字控制系統(tǒng)大多數(shù)是采樣-數(shù)據(jù)控制系統(tǒng)。進(jìn)入計(jì)算機(jī)的連續(xù)-時(shí)間信號(hào),必須經(jīng)過采樣和整量化后,變成數(shù)字量,方能進(jìn)入計(jì)算機(jī)的存貯器和寄存器,而在數(shù)字計(jì)算機(jī)中的計(jì)算和處理,不論是積分還是微分,只能用數(shù)值計(jì)算去逼近。在數(shù)字計(jì)算機(jī)中,PID控制規(guī)律的實(shí)現(xiàn),也必須用數(shù)值逼近的方法。當(dāng)采樣周期相當(dāng)短時(shí),用求和代替積分,用差商代替微商,使PID算法離散化,將描述連續(xù)-時(shí)間PID算法的微分方程,變?yōu)槊枋鲭x散-時(shí)間PID算法的差分方程。
增量式PID控制算法:當(dāng)執(zhí)行機(jī)構(gòu)需要的不是控制量的值,而是控制量的增量(例如去驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī))時(shí),需要用PID的“增量算法”。
由位置算法求出上式已看不出是PID的表達(dá)式了,也看不出P、I、D作用的直接關(guān)系,只表示了各次誤差量對(duì)控制作用的影響。從式中看出,數(shù)字增量式PID算法,只要貯存近的三個(gè)誤差采樣值e(k)、e(k-1)、e(k-2)就足夠了。
增量式PID控制的優(yōu)點(diǎn)與不足:
優(yōu)點(diǎn): 1、增量算法控制誤動(dòng)作影響小。
2、增量算法控制易于實(shí)現(xiàn)手動(dòng)/自動(dòng)無擾動(dòng)切換。
3、不產(chǎn)生積分失控,易獲得較好的調(diào)節(jié)品質(zhì)。
缺點(diǎn):1、積分截?cái)嘈?yīng)大,有靜態(tài)誤差。
2、溢出影響大在實(shí)際應(yīng)用中,在以步進(jìn)電機(jī)或多圈電位器作執(zhí)行器件的系統(tǒng)中,則采用增量式算法。
圖6 增量式PID控制算法流程圖
3.7.2 回路輸入/輸出量的工程量轉(zhuǎn)換
一個(gè)回路具有兩個(gè)輸入量,即給定值和過程變量。給定值通常為一固定值。過程變量受回路輸出的影響并反映了控制的效果。給定值和過程變量都是實(shí)際的工程量,其幅度、范圍和測(cè)量單位都會(huì)不同。在實(shí)施PID算法之前,必須將這些值轉(zhuǎn)換為歸一化純量、浮點(diǎn)數(shù)的格式,即:將實(shí)數(shù)格式的工程實(shí)際值轉(zhuǎn)換為[0.0,1]間的無量剛相對(duì)值(稱為歸一化格式)。
用下式來將給定值或過程變量歸一化:
Rnorm=(Rraw/Span+E)
式中:Rnom為工程實(shí)際值的歸一化值;Rraw為工程實(shí)際值的實(shí)數(shù)形式,未歸一化處理;E對(duì)于單極性值,取0;對(duì)于雙極性值,取0.5;Span為大允許值減去小允許值,通常取:32000(對(duì)于單極性),64000(對(duì)于雙極性)。
將回路控制輸出轉(zhuǎn)換為按工程量標(biāo)定的整數(shù)值。
回路控制的輸出,相對(duì)于被控對(duì)象來說,為一個(gè)控制量。注意:回路控制輸出為在[0.0,1.0]范圍內(nèi)的歸一化實(shí)數(shù)格式,它必須先轉(zhuǎn)換為16位按工程量標(biāo)定的值后方可用于驅(qū)動(dòng)實(shí)際裝置。這一轉(zhuǎn)換實(shí)際上為歸一過程的逆過程。*步是用下式將回路輸出轉(zhuǎn)換為按工程量標(biāo)定的實(shí)數(shù)格式:
Rscal=(Mn-E)*Span
式中:Rscal為已按工程量標(biāo)定的實(shí)數(shù)格式的回路輸出;Mn為歸一化格式的回路輸出;E對(duì)于單極性模擬量,取為0.0;對(duì)雙極性模擬量,取為0.5;Span為大允許值減去小允許值,通常取:32000(單極性),64000(雙極性)
3.7.3 程序流程圖
本程序分為三部分:主程序、子程序、中斷程序。邏輯運(yùn)算放在主程序。系統(tǒng)初始化的一些工作放在初始化子程序中完成,這樣節(jié)省掃描時(shí)間。利用定時(shí)器中斷實(shí)現(xiàn)PID控制的定時(shí)采樣及輸出部分。
3.8 MCGS組態(tài)軟件對(duì)系統(tǒng)的組態(tài)過程
計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,為工業(yè)自動(dòng)化開辟了廣闊的發(fā)展空間,用戶可以方便快捷地組建的監(jiān)控系統(tǒng),并且通過采用遠(yuǎn)程監(jiān)控及診斷、雙機(jī)熱備等技術(shù),使系統(tǒng)更加安全可靠,在這方面,MCGS工控組態(tài)軟件提供強(qiáng)有力的軟件支持。
MCGS全中文工業(yè)自動(dòng)化控制組態(tài)軟件(以下簡(jiǎn)稱MCGS工控組態(tài)軟件或MCGS)為用戶建立全新的過程測(cè)控系統(tǒng)提供了一整套解決方案。MCGS工控組態(tài)軟件是一套32位工控組態(tài)軟件,集動(dòng)畫顯示、流程控制、數(shù)據(jù)采集、設(shè)備控制與輸出、網(wǎng)絡(luò)數(shù)據(jù)傳輸、雙機(jī)熱備、工程報(bào)表、數(shù)據(jù)與曲線等諸多強(qiáng)大功能于一身,并支持國(guó)內(nèi)外眾多數(shù)據(jù)采集與輸出設(shè)備,廣泛應(yīng)用于石油、電力、化工、鋼鐵、礦山、冶金、機(jī)械、紡織、航天、建筑、材料、制冷、交通、通訊、食品、制造與加工業(yè)、水處理、環(huán)保、智能樓宇、實(shí)驗(yàn)室等多種工程領(lǐng)域。
MCGSWW服務(wù)器版本,集工業(yè)現(xiàn)場(chǎng)的集散控制和各類歷史、實(shí)時(shí)數(shù)據(jù)及相關(guān)曲線的WWW發(fā)布于一體,可以解決整個(gè)企業(yè)的Internet/Intranet方案,也可以非常方便的與您已有的企業(yè)網(wǎng)絡(luò)相銜接,讓您從具體的技術(shù)環(huán)節(jié)和繁雜的數(shù)據(jù)堆中脫身,隨時(shí)隨地掌握工業(yè)現(xiàn)場(chǎng)與企業(yè)運(yùn)營(yíng)狀態(tài),了解所需的各項(xiàng)信息,大幅度提高工作效率,實(shí)現(xiàn)成功決策。
MCGS即"監(jiān)視與控制通用系統(tǒng)",英文全稱為Monitor and Control Generated System。MCGS是為工業(yè)過程控制和實(shí)時(shí)監(jiān)測(cè)領(lǐng)域服務(wù)的通用計(jì)算機(jī)系統(tǒng)軟件,具有功能完善、操作簡(jiǎn)便、可視性好、可維護(hù)性強(qiáng)的突出特點(diǎn)。
3.8.1 MCGS工控組態(tài)軟件的功能和特點(diǎn)
1、概念簡(jiǎn)單,易于理解和使用。普通工程人員經(jīng)過短時(shí)間的培訓(xùn)就能正確掌握、快速完成多數(shù)簡(jiǎn)單工程項(xiàng)目的監(jiān)控程序設(shè)計(jì)和運(yùn)行操作。用戶可避開復(fù)雜的計(jì)算機(jī)軟硬件問題,集中精力解決工程本身的問題,按照系統(tǒng)的規(guī)定,組態(tài)配置出高性能、高可靠性、高度專業(yè)化的上位機(jī)監(jiān)控系統(tǒng)。
2、功能齊全,便于方案設(shè)計(jì)。MCGS為解決工程監(jiān)控問題提供了豐富多樣的手段,從設(shè)備驅(qū)動(dòng)(數(shù)據(jù)采集)到數(shù)據(jù)處理、報(bào)警處理、流程控制、動(dòng)畫顯示、報(bào)表輸出、曲線顯示等各個(gè)環(huán)節(jié),均有豐富的功能組件和常用圖形庫可供選用,用戶只需根據(jù)工程作業(yè)的需要和特點(diǎn),進(jìn)行方案設(shè)計(jì)和組態(tài)配置,即可生成用戶應(yīng)用軟件系統(tǒng)。
3、實(shí)時(shí)性與并行處理。MCGS充分利用了Windows操作平臺(tái)的多任務(wù)、按優(yōu)先級(jí)分時(shí)操作的功能,使PC機(jī)廣泛應(yīng)用于工程測(cè)控領(lǐng)域成為可能。工程作業(yè)中,大量的數(shù)據(jù)和信息需要及時(shí)收集,即時(shí)處理,在計(jì)算機(jī)測(cè)控技術(shù)領(lǐng)域稱其為實(shí)時(shí)性任務(wù)關(guān)鍵任務(wù),如數(shù)據(jù)采集、設(shè)備驅(qū)動(dòng)和異常處理等。另外許多工作則是非實(shí)時(shí)性的,或稱為非時(shí)間關(guān)鍵任務(wù),如畫面顯示,可在主機(jī)運(yùn)行周期時(shí)間內(nèi)插空進(jìn)行。而像打印數(shù)據(jù)一類的工作,可運(yùn)行于后臺(tái),稱為脫機(jī)作業(yè)。MCGS是真正的32位系統(tǒng),可同時(shí)運(yùn)行于Microsoft Windows95,98和Microsoft Windows NT平臺(tái),以線程為單位進(jìn)行分時(shí)并行處理。
4、建立實(shí)時(shí)數(shù)據(jù)庫,便于用戶分步組態(tài),保證系統(tǒng)安全可靠運(yùn)行。MCGS組態(tài)軟件由主控窗口、設(shè)備窗口、用戶窗口、實(shí)時(shí)數(shù)據(jù)庫和運(yùn)行策略五部分構(gòu)成。其中的“實(shí)時(shí)數(shù)據(jù)庫”是整個(gè)系統(tǒng)的核心。在生成用戶應(yīng)用系統(tǒng)時(shí),每一部分均可分別進(jìn)行組態(tài)配置,獨(dú)立建造,互不相干;而在系統(tǒng)運(yùn)行過程中,各個(gè)部分都通過實(shí)時(shí)數(shù)據(jù)庫交換數(shù)據(jù),形成互相關(guān)聯(lián)的整體。實(shí)時(shí)數(shù)據(jù)庫是一個(gè)數(shù)據(jù)處理中心,是系統(tǒng)各個(gè)部分及其各種功能性構(gòu)件的公用數(shù)據(jù)區(qū)。各個(gè)部件獨(dú)立地向?qū)崟r(shí)數(shù)據(jù)庫輸入和輸出數(shù)據(jù),并完成自己的差錯(cuò)控制。
5、設(shè)立“設(shè)備工具箱”,針對(duì)外部設(shè)備的特征,用戶從中選擇某種“構(gòu)件”,設(shè)置于設(shè)備窗口內(nèi),賦予相關(guān)的屬性,建立系統(tǒng)與外部設(shè)備的連接關(guān)系,即可實(shí)現(xiàn)對(duì)該種設(shè)備的驅(qū)動(dòng)和控制。不同的設(shè)備對(duì)應(yīng)于不同的構(gòu)件,所有的設(shè)備構(gòu)件均通過實(shí)時(shí)數(shù)據(jù)庫建立,而建立時(shí)又是相互獨(dú)立的,即對(duì)某一構(gòu)件的操作或改動(dòng),不影響其它構(gòu)件和整個(gè)系統(tǒng)的結(jié)構(gòu),從這一意義上講,MCGS是一個(gè)“設(shè)備無關(guān)”的系統(tǒng),用戶不必因外部設(shè)備局部改動(dòng),而影響整個(gè)系統(tǒng)。
6、“面向窗口”的設(shè)計(jì)方法,增加了可視性和可操作性。以窗口為單位,構(gòu)造用戶運(yùn)行系統(tǒng)的圖形界面,使得MCGS的組態(tài)工作既簡(jiǎn)單直觀,又靈活多變。用戶可以使用系統(tǒng)的缺省構(gòu)架,也可以根據(jù)需要自己組態(tài)配置,生成各種類型和風(fēng)格的圖形界面,包括DOS風(fēng)格的圖形界面、標(biāo)準(zhǔn)Windows風(fēng)格的圖形界面以及帶有動(dòng)畫效果的工具條和狀態(tài)條。
7、利用豐富的“動(dòng)畫組態(tài)”功能,快速構(gòu)造各種復(fù)雜生動(dòng)的動(dòng)態(tài)畫面。以圖象、圖符、數(shù)據(jù)、曲線等多種形式,為操作員及時(shí)提供系統(tǒng)運(yùn)行中的的狀態(tài)、品質(zhì)及異常報(bào)警等有關(guān)信息。用變化大小、改變顏色、明暗閃爍、移動(dòng)翻轉(zhuǎn)等多種手段,增強(qiáng)畫面的動(dòng)態(tài)顯示效果。圖元、圖符對(duì)象定義相應(yīng)的狀態(tài)屬性,即可實(shí)現(xiàn)動(dòng)畫效果。同時(shí),MCGS為用戶提供了豐富的動(dòng)畫構(gòu)件,模擬工程控制與實(shí)時(shí)監(jiān)測(cè)作業(yè)中常用的物理器件的動(dòng)作和功能。每個(gè)動(dòng)畫構(gòu)件都對(duì)應(yīng)一個(gè)特定的動(dòng)畫功能。如:實(shí)時(shí)曲線構(gòu)件、歷史曲線構(gòu)件、報(bào)警顯示構(gòu)件、自由表格構(gòu)件等。
8、引入“運(yùn)行策略”的概念。復(fù)雜的工程作業(yè),運(yùn)行流程都是多分支的。用傳統(tǒng)的編程方法實(shí)現(xiàn),既繁瑣又容易出錯(cuò)。MCGS開辟了“策略窗口”,用戶可以選用系統(tǒng)提供的各種條件和功能的“策略構(gòu)件”,用圖形化的方法構(gòu)造多分支的應(yīng)用程序,實(shí)現(xiàn)自由、地控制運(yùn)行流程,按照設(shè)定的條件和順序,操作外部設(shè)備,控制窗口的打開或關(guān)閉,與實(shí)時(shí)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換。同時(shí),也可以由用戶創(chuàng)建新的策略構(gòu)件,擴(kuò)展系統(tǒng)的功能。
9、MCGS系統(tǒng)由五大功能部件組成,主要的功能部件以構(gòu)件的形式來構(gòu)造。不同的構(gòu)件有著不同的功能,且各自獨(dú)立。三種基本類型的構(gòu)件(設(shè)備構(gòu)件、動(dòng)畫構(gòu)件、策略構(gòu)件)完成了MCGS系統(tǒng)三大部分(設(shè)備驅(qū)動(dòng)、動(dòng)畫顯示和流程控制)的所有工作。用戶也可以根據(jù)需要,定制特定類型構(gòu)件,使MCGS系統(tǒng)的功能得到擴(kuò)充。這種充分利用“面向?qū)ο?rdquo;的技術(shù),大大提高了系統(tǒng)的可維護(hù)性和可擴(kuò)充性。
10、支持OLE Automation技術(shù)。MCGS允許用戶在Visual Basic中操作MCGS中的對(duì)象,提供了一套開放的可擴(kuò)充接口,用戶可根據(jù)自己的需要用VB編制特定的功能構(gòu)件來擴(kuò)充系統(tǒng)的功能。
11、MCGS中數(shù)據(jù)的存儲(chǔ)不再使用普通的文件,而是用數(shù)據(jù)庫來管理一切。組態(tài)時(shí),系統(tǒng)生成的組態(tài)結(jié)果是一個(gè)數(shù)據(jù)庫;運(yùn)行時(shí),數(shù)據(jù)對(duì)象、報(bào)警信息的存儲(chǔ)也是一個(gè)數(shù)據(jù)庫。利用數(shù)據(jù)庫來保存數(shù)據(jù)和處理數(shù)據(jù),提高了系統(tǒng)的可靠性和運(yùn)行效率,同時(shí),也使其它應(yīng)用軟件系統(tǒng)能直接處理數(shù)據(jù)庫中的存盤數(shù)據(jù)。
12、設(shè)立“對(duì)象元件庫”,解決了組態(tài)結(jié)果的積累和重新利用問題。所謂對(duì)象元件庫,實(shí)際上是分類存儲(chǔ)各種組態(tài)對(duì)象的圖庫。組態(tài)時(shí),可把制作完好的對(duì)象(包括圖形對(duì)象,窗口對(duì)象,策略對(duì)象,以至位圖文件等等)以元件的形式存入圖庫中,也可把元件庫中的各種對(duì)象取出,直接為當(dāng)前的工程所用。隨著工作的積累,對(duì)象元件庫將日益擴(kuò)大和豐富,組態(tài)工作將會(huì)變得越來越簡(jiǎn)單方便。
13、提供對(duì)網(wǎng)絡(luò)的支持??紤]到工控系統(tǒng)今后的發(fā)展趨勢(shì),MCGS充分運(yùn)用現(xiàn)今發(fā)展的DCCW(Distributed Computer Cooperator Work)技術(shù),即分布式計(jì)算機(jī)協(xié)同工作方式,來使分散在不同現(xiàn)場(chǎng)之間的采集系統(tǒng)和工作站之間協(xié)同工作。通過MCGS,不同的工作站之間可以實(shí)時(shí)交換數(shù)據(jù),實(shí)現(xiàn)對(duì)工控系統(tǒng)的分布式控制和管理。
MCGS組態(tài)軟件所建立的工程由主控窗口、設(shè)備窗口、用戶窗口、實(shí)時(shí)數(shù)據(jù)庫和運(yùn)行策略五部分構(gòu)成,每一部分分別進(jìn)行組態(tài)操作,完成不同的工作,具有不同的特性。
1、主控窗口:是工程的主窗口或主框架。在主控窗口中可以放置一個(gè)設(shè)備窗口和多個(gè)用戶窗口,負(fù)責(zé)調(diào)度和管理這些窗口的打開或關(guān)閉。主要的組態(tài)操作包括:定義工程的名稱,編制工程菜單,設(shè)計(jì)封面圖形,確定自動(dòng)啟動(dòng)的窗口,設(shè)定動(dòng)畫刷新周期,數(shù)據(jù)庫存盤文件名稱及存盤時(shí)間等。
2、設(shè)備窗口:是連接和驅(qū)動(dòng)外部設(shè)備的工作環(huán)境。在本窗口內(nèi)配置數(shù)據(jù)采集與控制輸出設(shè)備,注冊(cè)設(shè)備驅(qū)動(dòng)程序,定義連接與驅(qū)動(dòng)設(shè)備用的數(shù)據(jù)變量。
3、用戶窗口:本窗口主要用于設(shè)置工程中人機(jī)交互的界面,諸如:生成各種動(dòng)畫顯示畫面、報(bào)警輸出、數(shù)據(jù)與曲線圖表等。
4、實(shí)時(shí)數(shù)據(jù)庫:是工程各個(gè)部分的數(shù)據(jù)交換與處理中心,它將MCGS工程的各個(gè)部分連接成有機(jī)的整體。在本窗口內(nèi)定義不同類型和名稱的變量,作為數(shù)據(jù)采集、處理、輸出控制、動(dòng)畫連接及設(shè)備驅(qū)動(dòng)的對(duì)象。
5、運(yùn)行策略:本窗口主要完成工程運(yùn)行流程的控制。包括編寫控制程序(if…then腳本程序),選用各種功能構(gòu)件,如:數(shù)據(jù)提取、歷史曲線、定時(shí)器、配方操作、多媒體輸出等。
3.8.3 MCGS組態(tài)過程
使用MCGS完成一個(gè)實(shí)際的應(yīng)用系統(tǒng),首先必須在MCGS的組態(tài)環(huán)境下進(jìn)行系統(tǒng)的組態(tài)生成工作,然后將系統(tǒng)放在MCGS的運(yùn)行環(huán)境下運(yùn)行。本章逐步介紹在MCGS組態(tài)環(huán)境下構(gòu)造一個(gè)用戶應(yīng)用系統(tǒng)的過程,以便對(duì)MCGS系統(tǒng)的組態(tài)過程有一個(gè)全面的了解和認(rèn)識(shí)。
在實(shí)際工程項(xiàng)目中,使用MCGS構(gòu)造應(yīng)用系統(tǒng)之前,應(yīng)進(jìn)行工程的整體規(guī)劃,保證項(xiàng)目的順利實(shí)施。
對(duì)工程設(shè)計(jì)人員來說,首先要了解整個(gè)工程的系統(tǒng)構(gòu)成和工藝流程,弄清測(cè)控對(duì)象的特征,明確主要的監(jiān)控要求和技術(shù)要求等問題。在此基礎(chǔ)上,擬定組建工程的總體規(guī)劃和設(shè)想,主要包括系統(tǒng)應(yīng)實(shí)現(xiàn)哪些功能,控制流程如何實(shí)現(xiàn),需要什么樣的用戶窗口界面,實(shí)現(xiàn)何種動(dòng)畫效果以及如何在實(shí)時(shí)數(shù)據(jù)庫中定義數(shù)據(jù)變量等環(huán)節(jié),同時(shí)還要分析工程中設(shè)備的采集及輸出通道與實(shí)時(shí)數(shù)據(jù)庫中定義的變量的對(duì)應(yīng)關(guān)系,分清哪些變量是要求與設(shè)備連接的,哪些變量是軟件內(nèi)部用來傳遞數(shù)據(jù)及用于實(shí)現(xiàn)動(dòng)畫顯示的等問題。作好工程的整體規(guī)劃,在項(xiàng)目的組態(tài)過程中能夠盡量避免一些無謂的勞動(dòng),快速有效地完成工程項(xiàng)目。
MCGS中用“工程”來表示組態(tài)生成的應(yīng)用系統(tǒng),創(chuàng)建一個(gè)新工程就是創(chuàng)建一個(gè)新的用戶應(yīng)用系統(tǒng),打開工程就是打開一個(gè)已經(jīng)存在的應(yīng)用系統(tǒng)。工程文件的命名規(guī)則和Windows系統(tǒng)相同,MCGS自動(dòng)給工程文件名加上后綴“.mcg”。
保存新工程時(shí),可以隨意更換工程文件的名稱。缺省情況下,所有的工程文件都存放在MCGS安裝目錄下的Work子目錄里,用戶也可以根據(jù)自身需要存放工程文件的目錄。
實(shí)時(shí)數(shù)據(jù)庫是MCGS系統(tǒng)的核心,也是應(yīng)用系統(tǒng)的數(shù)據(jù)處理中心,系統(tǒng)各部分均以實(shí)時(shí)數(shù)據(jù)庫為數(shù)據(jù)公用區(qū),進(jìn)行數(shù)據(jù)交換、數(shù)據(jù)處理和實(shí)現(xiàn)數(shù)據(jù)的可視化處理。定義數(shù)據(jù)對(duì)象的過程,就是構(gòu)造實(shí)時(shí)數(shù)據(jù)庫的過程。
MCGS把數(shù)據(jù)對(duì)象的屬性封裝在對(duì)象內(nèi)部,作為一個(gè)整體,由實(shí)時(shí)數(shù)據(jù)庫統(tǒng)一管理。對(duì)象的屬性包括基本屬性、存盤屬性和報(bào)警屬性。基本屬性則包含對(duì)象的名稱、類型、初值、界限(大?。┲?、工程單位和對(duì)象內(nèi)容注釋等項(xiàng)內(nèi)容。
表2 定義變量
符號(hào) | 地址 | 備注 |
Kz | M0.0 | 控制方式 |
Ee | VD136 | 偏差 |
e_1 | VD140 | 偏差前值 |
e_2 | VD144 | 偏差前前值 |
Mnp | VD148 | 比例值 |
Mni | VD152 | 積分值 |
Mnd | VD156 | 微分值 |
dMn | VD160 | PID增量 |
Mn_1 | VD164 | 輸出前值 |
Mn | VD168 | 輸出值 |
Kc | VD172 | 比例系數(shù) |
Ti | VD176 | 積分時(shí)間常數(shù) |
Td | VD180 | 微分時(shí)間常數(shù) |
Ts | VD184 | 采樣周期 |
Pvn | VD200 | 測(cè)量值 |
Spn | VD208 | 給定值 |
max | VW220 | 測(cè)量值大值 |
圖13 實(shí)時(shí)數(shù)據(jù)庫窗口
在“實(shí)時(shí)數(shù)據(jù)庫”窗口頁中,可以象在Windows95的文件操作窗口中一樣,能夠以大圖標(biāo)、小圖標(biāo)、列表、詳細(xì)資料四種方式顯示實(shí)時(shí)數(shù)據(jù)庫中已定義的數(shù)據(jù)對(duì)象,可以選擇按名稱的順序或按類型順序來顯示數(shù)據(jù)對(duì)象,也可以剪切、拷貝、粘貼的數(shù)據(jù)對(duì)象,還可以直接修改數(shù)據(jù)對(duì)象的名稱。
為了快速生成多個(gè)相同類型的數(shù)據(jù)對(duì)象,可以選擇“成組增加”按鈕,彈出“成組增加數(shù)據(jù)對(duì)象”對(duì)話框,一次定義多個(gè)數(shù)據(jù)對(duì)象,如上圖所示。成組增加的數(shù)據(jù)對(duì)象,名稱由主體名稱和索引代碼兩部分組成。其中,“對(duì)象名稱”一欄,代表該組對(duì)象名稱的主體部分,而“起始索引值”則代表*個(gè)成員的索引代碼,其它數(shù)據(jù)對(duì)象的主體名稱相同,索引代碼依次遞增。成組增加的數(shù)據(jù)對(duì)象,其他特性如數(shù)據(jù)類型、工程單位、大小值等都是一致的。
選擇組態(tài)環(huán)境工作臺(tái)中的用戶窗口頁,所有的用戶窗口均位于該窗口頁內(nèi),如圖14所示:
圖14 用戶窗口
按“新建窗口”按鈕,或執(zhí)行菜單中的“插入”→“用戶窗口”命令,即可創(chuàng)建一個(gè)新的用戶窗口,以圖標(biāo)形式顯示。開始時(shí),新建的用戶窗口只是一個(gè)空窗口,用戶可以根據(jù)需要設(shè)置窗口的屬性和在窗口內(nèi)放置圖形對(duì)象。
選擇待定義的用戶窗口圖標(biāo),點(diǎn)鼠標(biāo)右鍵選擇屬性,也可以單擊工作臺(tái)窗口中的“窗口屬性”按鈕,或者單擊工具條中的“顯示屬性”按鈕 ,或者操作快捷鍵“Alt+Enter”,彈出“用戶窗口屬性設(shè)置”對(duì)話框,按所列款項(xiàng)設(shè)置有關(guān)屬性。
用戶窗口的屬性包括基本屬性、擴(kuò)充屬性和腳本控制(啟動(dòng)腳本、循環(huán)腳本、退出腳本),由用戶選擇設(shè)置。窗口的基本屬性包括窗口名稱、顯示標(biāo)題、背景顏色、窗口位置、窗口邊界、窗口內(nèi)容注釋等項(xiàng)內(nèi)容。
窗口的擴(kuò)充屬性包括窗口的外觀、位置坐標(biāo)和視區(qū)大小等項(xiàng)內(nèi)容。窗口的視區(qū)是指實(shí)際可用的區(qū)域,與屏幕上所見的區(qū)域可以不同,當(dāng)選擇視區(qū)大于可見區(qū)時(shí),窗口側(cè)邊附加滾動(dòng)條,操作滾動(dòng)條可以瀏覽窗口內(nèi)所有的圖形對(duì)象。
腳本控制包括啟動(dòng)腳本,循環(huán)腳本和退出腳本,啟動(dòng)腳本在用戶窗口打開時(shí),循環(huán)腳本是在窗口打開期間以的間隔循環(huán)執(zhí)行,退出腳本則是在用戶窗口關(guān)閉時(shí)執(zhí)行。
MCGS提供了三類圖形對(duì)象供用戶選用, 即圖元對(duì)象、圖符對(duì)象和動(dòng)畫構(gòu)件。這些圖形對(duì)象位于常用符號(hào)工具箱和動(dòng)畫工具箱內(nèi),用戶從工具箱中選擇所需要的圖形對(duì)象,配置在用戶窗口內(nèi),可以創(chuàng)建各種復(fù)雜的圖形。
圖形對(duì)象創(chuàng)建完成后,要對(duì)圖形對(duì)象進(jìn)行各種編輯工作,如:改變圖形的顏色和大小,調(diào)整圖形的位置和排列形式,圖形的旋轉(zhuǎn)及組合分解等項(xiàng)操作,MCGS提供了完善的編輯工具,使用戶能快速制作各種復(fù)雜的圖形界面,以圖形方式表示外部物理對(duì)象。
定義動(dòng)畫連接,實(shí)際上是將用戶窗口內(nèi)創(chuàng)建的圖形對(duì)象與實(shí)時(shí)數(shù)據(jù)庫中定義的數(shù)據(jù)對(duì)象建立對(duì)應(yīng)連接關(guān)系,通過對(duì)圖形對(duì)象在不同的數(shù)值區(qū)間內(nèi)設(shè)置不同的狀態(tài)屬性(如顏色、大小、位置移動(dòng)、可見度、閃爍效果等),用數(shù)據(jù)對(duì)象的值的變化來驅(qū)動(dòng)圖形對(duì)象的狀態(tài)改變,使系統(tǒng)在運(yùn)行過程中,產(chǎn)生形象逼真的動(dòng)畫效果。因此,動(dòng)畫連接過程就歸結(jié)為對(duì)圖形對(duì)象的狀態(tài)屬性設(shè)置的過程。
在MCGS中,每個(gè)圖元、圖符對(duì)象都可以實(shí)現(xiàn)11種動(dòng)畫連接方式。可以利用這些圖元、圖符對(duì)象來制作實(shí)際工程所需的圖形對(duì)象,然后再建立起與數(shù)據(jù)對(duì)象的對(duì)應(yīng)關(guān)系,定義圖形對(duì)象的一種或多種動(dòng)畫連接方式,實(shí)現(xiàn)特定的動(dòng)畫功能。
為了簡(jiǎn)化用戶程序設(shè)計(jì)工作量,MCGS將工程控制與實(shí)時(shí)監(jiān)測(cè)作業(yè)中常用的物理器件,如按鈕、操作桿、顯示儀表和曲線表盤等,制成獨(dú)立的圖形存儲(chǔ)于圖庫中,供用戶調(diào)用,這些能實(shí)現(xiàn)不同動(dòng)畫功能的圖形稱為動(dòng)畫構(gòu)件。
在組態(tài)時(shí),只需要建立動(dòng)畫構(gòu)件與實(shí)時(shí)數(shù)據(jù)庫中數(shù)據(jù)對(duì)象的對(duì)應(yīng)關(guān)系,就能完成動(dòng)畫構(gòu)件的連接,如對(duì)實(shí)時(shí)曲線構(gòu)件,需要指明該構(gòu)件運(yùn)行時(shí)記錄哪個(gè)數(shù)據(jù)對(duì)象的變化曲線;對(duì)報(bào)警顯示構(gòu)件,需要指明該構(gòu)件運(yùn)行時(shí)顯示哪個(gè)數(shù)據(jù)對(duì)象的報(bào)警信息。
電動(dòng)閥單閉環(huán)液位控制窗口如圖15:
圖15 電動(dòng)閥單閉環(huán)液位控制窗口
電動(dòng)閥單閉環(huán)液位控制歷史曲線窗口如圖17:
圖17 電動(dòng)閥單閉環(huán)液位控制歷史曲線窗口
電動(dòng)閥單閉環(huán)液位控制歷史數(shù)據(jù)窗口如圖18:
圖18 電動(dòng)閥單閉環(huán)液位控制歷史數(shù)據(jù)窗口
3.8.3.5 組態(tài)主控窗口
主控窗口是用戶應(yīng)用系統(tǒng)的主窗口,也是應(yīng)用系統(tǒng)的主框架,展現(xiàn)工程的總體外觀。主控窗口提供菜單命令,響應(yīng)用戶的操作。主控窗口負(fù)責(zé)調(diào)度設(shè)備窗口的工作、管理用戶窗口的打開和關(guān)閉、驅(qū)動(dòng)動(dòng)畫圖形和調(diào)度用戶策略的運(yùn)行等工作。主控窗口組態(tài)包括菜單設(shè)計(jì)和主控窗口中系統(tǒng)屬性的設(shè)置。
對(duì)于一個(gè)新建的工程,MCGS提供了一套缺省菜單,用戶也可以根據(jù)需要設(shè)計(jì)自己的菜單。
選中“主控窗口”圖標(biāo),鼠標(biāo)單擊“工作臺(tái)”窗口中的“系統(tǒng)屬性”按鈕,或者單擊工具條中的“顯示屬性”按鈕,或者選擇“編輯”菜單中的“屬性”菜單項(xiàng),顯示“主控窗口屬性設(shè)置”對(duì)話框。分為下列五種屬性,按頁設(shè)置。
設(shè)備窗口是MCGS系統(tǒng)與作為測(cè)控對(duì)象的外部設(shè)備建立的后臺(tái)作業(yè)環(huán)境,負(fù)責(zé)驅(qū)動(dòng)外部設(shè)備,控制外部設(shè)備的工作狀態(tài)。系統(tǒng)通過設(shè)備與數(shù)據(jù)之間的通道,把外部設(shè)備的運(yùn)行數(shù)據(jù)采集進(jìn)來,送入實(shí)時(shí)數(shù)據(jù)庫,供系統(tǒng)其它部分調(diào)用,并且把實(shí)時(shí)數(shù)據(jù)庫中的數(shù)據(jù)輸出到外部設(shè)備,實(shí)現(xiàn)對(duì)外部設(shè)備的操作與控制。
MCGS為用戶提供了多種類型的“設(shè)備構(gòu)件”,作為系統(tǒng)與外部設(shè)備進(jìn)行的媒介。進(jìn)入設(shè)備窗口,從設(shè)備構(gòu)件工具箱里選擇相應(yīng)的構(gòu)件,配置到窗口內(nèi),建立接口與通道的連接關(guān)系,設(shè)置相關(guān)的屬性,即完成了設(shè)備窗口的組態(tài)工作。
運(yùn)行時(shí),應(yīng)用系統(tǒng)自動(dòng)裝載設(shè)備窗口及其含有的設(shè)備構(gòu)件,并在后臺(tái)獨(dú)立運(yùn)行。對(duì)用戶來說,設(shè)備窗口是不可見的。
在工作臺(tái)的“設(shè)備窗口”頁中:鼠標(biāo)雙擊設(shè)備窗口圖標(biāo)(或選中窗口圖標(biāo),單擊“設(shè)備組態(tài)”按鈕),彈出設(shè)備組態(tài)窗口;選擇工具條中的“工具箱”按鈕,彈出設(shè)備工具箱;鼠標(biāo)雙擊設(shè)備工具箱里的設(shè)備構(gòu)件,或選中設(shè)備構(gòu)件,鼠標(biāo)移到設(shè)備窗口內(nèi),單擊,則可將其選到窗口內(nèi)。
設(shè)備工具箱內(nèi)包含有MCGS目前支持的所有硬件設(shè)備,對(duì)系統(tǒng)不支持的硬件設(shè)備,需要預(yù)先定制相應(yīng)的設(shè)備構(gòu)件,才能對(duì)其進(jìn)行操作。MCGS將不斷增加新的設(shè)備構(gòu)件,以提供對(duì)更多硬件設(shè)備的支持。
我所選的設(shè)備為:
設(shè)備0[口通訊父設(shè)備]、設(shè)備1[西門子S7-200PPI]
選中設(shè)備構(gòu)件,單擊工具條中的“屬性”按鈕或選擇“編輯”菜單中的“屬性”命令,或者鼠標(biāo)雙擊設(shè)備構(gòu)件,彈出所選設(shè)備構(gòu)件的“屬性設(shè)置”對(duì)話框,進(jìn)入“基本屬性”窗口頁,按所列項(xiàng)目設(shè)定。
不同的設(shè)備構(gòu)件有不同的屬性,一般都包括如下三項(xiàng):設(shè)備名稱、輸入輸出(I/O)端口地址、數(shù)據(jù)采集周期。系統(tǒng)各個(gè)部分對(duì)設(shè)備構(gòu)件的操作是以設(shè)備名為基準(zhǔn)的,因此各個(gè)設(shè)備構(gòu)件不能重名。與硬件相關(guān)的參數(shù)必須正確設(shè)置,否則系統(tǒng)不能正常工作
圖25 設(shè)備0屬性窗口
設(shè)備1屬性設(shè)置:
圖26 設(shè)備1基本屬性窗口
把輸入輸出裝置讀取數(shù)據(jù)和輸出數(shù)據(jù)的通道稱為設(shè)備通道,建立設(shè)備通道和實(shí)時(shí)數(shù)據(jù)庫中數(shù)據(jù)對(duì)象的對(duì)應(yīng)關(guān)系的過程稱為通道連接。建立通道連接的目的是通過設(shè)備構(gòu)件,確定采集進(jìn)來的數(shù)據(jù)送入實(shí)時(shí)數(shù)據(jù)庫的什么地方,或從實(shí)時(shí)數(shù)據(jù)庫中什么地方取用數(shù)據(jù)。
在屬性設(shè)置對(duì)話框內(nèi),選擇“通道連接和設(shè)置”窗口頁,按表中所列款項(xiàng)設(shè)置。
圖27 設(shè)備1通道連接窗口
運(yùn)行策略是指對(duì)監(jiān)控系運(yùn)行流程進(jìn)行控制的方法和條件,它能夠?qū)ο到y(tǒng)執(zhí)行某項(xiàng)操作和實(shí)現(xiàn)某種功能進(jìn)行有條件的約束。運(yùn)行策略由多個(gè)復(fù)雜的功能模塊組成,稱為“策略塊”,用來完成對(duì)系統(tǒng)運(yùn)行流程的自由控制,使系統(tǒng)能按照設(shè)定的順序和條件,進(jìn)行操作實(shí)時(shí)數(shù)據(jù)庫,控制用戶窗口的打開、關(guān)閉以及控制設(shè)備構(gòu)件的工作狀態(tài)等一系列工作,從而實(shí)現(xiàn)對(duì)系統(tǒng)工作過程的控制及有序的調(diào)度管理。
用戶可以根據(jù)需要來創(chuàng)建和組態(tài)運(yùn)行策略。
每建立一個(gè)新工程,系統(tǒng)都自動(dòng)創(chuàng)建三個(gè)固定的策略塊:?jiǎn)?dòng)策略、循環(huán)策略和退出策略,它們分別在啟動(dòng)時(shí)、運(yùn)行過程中和退出前由系統(tǒng)自動(dòng)調(diào)度運(yùn)行。
進(jìn)入運(yùn)行策略窗口頁,選擇某一策略塊,單擊“策略屬性”按鈕,或按工具條中的“顯示屬性”按鈕,即可彈出“策略塊屬性設(shè)置”對(duì)話框,設(shè)置的項(xiàng)目主要是策略名稱和策略內(nèi)容注釋。其中的“循環(huán)時(shí)間”一欄,是專為循環(huán)策略塊設(shè)置循環(huán)時(shí)間用的。
無論是用戶創(chuàng)建的策略塊還是系統(tǒng)固有的三個(gè)策略塊,創(chuàng)建時(shí)只是一個(gè)有名無實(shí)的空架子,要使其成為獨(dú)立的實(shí)體,被系統(tǒng)其他部分調(diào)用,必須對(duì)其進(jìn)行組態(tài)操作,策略塊所要完成的功能。
每一個(gè)策略塊都具有多項(xiàng)功能,每一項(xiàng)功能的實(shí)現(xiàn),都以特定的條件為前提。MCGS把“條件—功能”結(jié)合成一體,構(gòu)成策略塊中的一行,稱為策略行,策略塊由多個(gè)策略行構(gòu)成。策略塊的組態(tài)操作包括:
創(chuàng)建策略行:組態(tài)操作的*步是創(chuàng)建策略行,目的是先為策略塊搭建結(jié)構(gòu)框架。用鼠標(biāo)單擊窗口上端工具條中的“新增策略行”按鈕(),或單擊鼠標(biāo)右鍵在彈出右鍵菜單中選擇“新增策略行菜單”,或直接按下快捷鍵“Ctrl+I”,增加一個(gè)空的策略行。一個(gè)策略塊中多可創(chuàng)建1000個(gè)策略行。
配置策略構(gòu)件:每個(gè)策略行都由兩種類型的構(gòu)件串接而成,前端為條件構(gòu)件,后端為策略構(gòu)件。一個(gè)策略行中只能有一個(gè)策略構(gòu)件,但可以有多個(gè)條件構(gòu)件。在MCGS的“策略工具箱”中,為用戶提供了多種常用的策略構(gòu)件,用戶從工具箱中選擇所需的條件構(gòu)件和策略構(gòu)件,配置在策略行相應(yīng)的位置上。
設(shè)置策略構(gòu)件屬性:鼠標(biāo)雙擊策略構(gòu)件;或者單擊策略構(gòu)件,按工具條中的“屬性按鈕”,彈出該策略構(gòu)件的屬性設(shè)置對(duì)話框。不同的策略構(gòu)件,屬性設(shè)置的內(nèi)容不同。
要保證組態(tài)生成的應(yīng)用系統(tǒng)能夠正確運(yùn)行,必須保證組態(tài)結(jié)果準(zhǔn)確無誤。 MCGS提供了多種措施來檢查組態(tài)結(jié)果的正確性,希望密切注意系統(tǒng)提示的錯(cuò)誤信息,養(yǎng)成及時(shí)發(fā)現(xiàn)問題和解決問題的習(xí)慣。
各種對(duì)象的屬在組態(tài)過程中,不可避免地會(huì)產(chǎn)生各種錯(cuò)誤,錯(cuò)誤的組態(tài)會(huì)導(dǎo)致各種無法預(yù)料的結(jié)果,性設(shè)置,是組態(tài)配置的重要環(huán)節(jié),其正確與否,直接關(guān)系到系統(tǒng)的正常運(yùn)行。為此,MCGS大多數(shù)屬性設(shè)置窗口中都設(shè)有“檢查(C)”按鈕,用于對(duì)組態(tài)結(jié)果的正確性進(jìn)行檢查。每當(dāng)用戶完成一個(gè)對(duì)象的屬性設(shè)置后,可使用該按鈕,及時(shí)進(jìn)行檢查,如有錯(cuò)誤,系統(tǒng)會(huì)提示相關(guān)的信息。這種隨時(shí)檢查措施,使用戶能及時(shí)發(fā)現(xiàn)錯(cuò)誤,并且容易查找出錯(cuò)誤的原因,迅速糾正。
在完成用戶窗口、設(shè)備窗口、運(yùn)行策略和系統(tǒng)菜單的組態(tài)配置后,一般都要對(duì)組態(tài)結(jié)果進(jìn)行存盤處理。存盤時(shí),MCGS自動(dòng)對(duì)組態(tài)的結(jié)果進(jìn)行檢查,發(fā)現(xiàn)錯(cuò)誤,系統(tǒng)會(huì)提示相關(guān)的信息。
全部組態(tài)工作完成后,應(yīng)對(duì)整個(gè)工程文件進(jìn)行統(tǒng)一檢查。關(guān)閉除工作臺(tái)窗口以外的其它窗口,鼠標(biāo)單擊工具條右側(cè)的“組態(tài)檢查”按鈕,或執(zhí)行“文件”菜單中的“組態(tài)結(jié)果檢查”命令,即開始對(duì)整個(gè)工程文件進(jìn)行組態(tài)結(jié)果正確性檢查。
新建工程在MCGS組態(tài)環(huán)境中完成(或部分完成)組態(tài)配置后,應(yīng)當(dāng)轉(zhuǎn)入MCGS運(yùn)行環(huán)境,通過試運(yùn)行,進(jìn)行綜合性測(cè)試檢查。鼠標(biāo)單擊工具條中的“進(jìn)入運(yùn)行環(huán)境”按鈕,或操作快捷鍵F5,或執(zhí)行“文件”菜單中的“進(jìn)入運(yùn)行環(huán)境”命令,即可進(jìn)入MCGS運(yùn)行環(huán)境,啟動(dòng)當(dāng)前正在組態(tài)的工程,對(duì)于要實(shí)現(xiàn)的功能進(jìn)行測(cè)試。在組態(tài)過程中,可隨時(shí)進(jìn)入運(yùn)行環(huán)境,完成一部分測(cè)試一部分,發(fā)現(xiàn)錯(cuò)誤及時(shí)修改。
3.8.3.9 MCGS安全機(jī)制
MCGS系統(tǒng)的操作權(quán)限機(jī)制和Windows NT類似,采用用戶組和用戶的概念來進(jìn)行操作權(quán)限的控制。在MCGS中可以定義多個(gè)用戶組,每個(gè)用戶組中可以包含多個(gè)用戶,同一個(gè)用戶可以隸屬于多個(gè)用戶組。操作權(quán)限的分配是以用戶組為單位來進(jìn)行的,即某種功能的操作哪些用戶組有權(quán)限,而某個(gè)用戶能否對(duì)這個(gè)功能進(jìn)行操作取決于該用戶所在的用戶組是否具備對(duì)應(yīng)的操作權(quán)限。
MCGS系統(tǒng)按用戶組來分配操作權(quán)限的機(jī)制,使用戶能方便地建立各種多層次的安全機(jī)制。如:實(shí)際應(yīng)用中的安全機(jī)制一般要?jiǎng)澐譃椴僮鲉T組、技術(shù)員組、負(fù)責(zé)人組。操作員組的成員一般只能進(jìn)行簡(jiǎn)單的日常操作;技術(shù)員組負(fù)責(zé)工藝參數(shù)等功能的設(shè)置;負(fù)責(zé)人組能對(duì)重要的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析;各組的權(quán)限各自獨(dú)立,但某用戶可能因工作需要,能進(jìn)行所有操作,則只需把該用戶同時(shí)設(shè)為隸屬于三個(gè)用戶組即可。
在MCGS組態(tài)環(huán)境中,選取“工具”菜單中的“用戶權(quán)限管理”菜單項(xiàng),在MCGS中,固定有一個(gè)名為“管理員組”的用戶組和一個(gè)名為“負(fù)責(zé)人”的用戶,它們的名稱不能修改。管理員組中的用戶有權(quán)利在運(yùn)行時(shí)管理所有的權(quán)限分配工作,管理員組的這些特性是由MCGS系統(tǒng)決定的,其它所有用戶組都沒有這些權(quán)利。
在用戶管理器窗口中,上半部分為已建用戶的用戶名列表,下半部分為已建用戶組的列表。當(dāng)用鼠標(biāo)激活用戶名列表時(shí),在窗口底部顯示的按鈕是“新增用戶”、“復(fù)制用戶”、“刪除用戶”等對(duì)用戶操作的按鈕;當(dāng)用鼠標(biāo)激活用戶組名列表時(shí),在窗口底部顯示的按鈕是“新增用戶組”、“刪除用戶組”等對(duì)用戶組操作的按鈕。按新增用戶按鈕,彈出如下用戶屬性設(shè)置窗口,在該窗口中,用戶對(duì)應(yīng)的密碼要輸入兩遍,用戶所隸屬的用戶組在下面的列表框中選擇(注意:一個(gè)用戶可以隸屬于多個(gè)用戶組)。當(dāng)在用戶管理器窗口中按“屬性”按鈕時(shí),彈出同樣的窗口,可以修改用戶密碼和所屬的用戶組,但不能夠修改用戶名。
單擊新增用戶按鈕,可以添加新的用戶名,選中一個(gè)用戶時(shí),點(diǎn)擊屬性或雙擊該用戶,會(huì)出現(xiàn)用戶屬性設(shè)置窗口
為了更好的保證工程運(yùn)行的安全、穩(wěn)定可靠,防止與工程系統(tǒng)無關(guān)的人員進(jìn)入或退出工程系統(tǒng),MCGS系統(tǒng)提供了對(duì)工程運(yùn)行時(shí)進(jìn)入和退出工程的權(quán)限管理。
MCGS操作權(quán)限的組態(tài)非常簡(jiǎn)單,當(dāng)對(duì)應(yīng)的動(dòng)畫功能可以設(shè)置操作權(quán)*,在屬性設(shè)置窗口頁中都有對(duì)應(yīng)的“權(quán)限”按鈕,作為缺省設(shè)置,能對(duì)某項(xiàng)功能進(jìn)行操作的為所有用戶,即:如果不進(jìn)行權(quán)限組態(tài),則權(quán)限機(jī)制不起作用,所有用戶都能對(duì)其進(jìn)行操作。在用戶權(quán)限設(shè)置窗口中,把對(duì)應(yīng)的用戶組選中(方框內(nèi)打勾表示選中),則該組內(nèi)的所有用戶都能對(duì)該項(xiàng)工作進(jìn)行操作。注意:一個(gè)操作權(quán)限可以配置多個(gè)用戶組。
使用MCGS工具菜單中工程安全管理菜單項(xiàng)的功能可以實(shí)現(xiàn)對(duì)工程(組態(tài)所得的結(jié)果)進(jìn)行各種保護(hù)工作。該菜單項(xiàng)包括:工程密碼設(shè)置;鎖定軟件狗;工程運(yùn)行期限設(shè)置。
MCGS工程試用期限的限制是和本系統(tǒng)的軟件狗配合使用的,簡(jiǎn)單地改變計(jì)算機(jī)的時(shí)鐘改變不了本功能的實(shí)現(xiàn)。“設(shè)置密碼”按鈕用來設(shè)置進(jìn)入本窗口的密碼。有時(shí)候,MCGS組態(tài)環(huán)境和工程必須一起交給終用戶,該密碼可用來保護(hù)本窗口中的設(shè)置,卻又不影響終用戶使用MCGS系統(tǒng)。
參考文獻(xiàn)
[1].《MCGS工控組態(tài)軟件》 北京昆侖通態(tài)公司
[2].《可編程序控制器教程》溫照方 主編 北京理工大學(xué)出版社
[3].《可編程序控制器入門教程》鐘肇新 主編華南理工大學(xué)出版社
[4].《過程控制及儀表》 邵裕森 主編 上海交通大學(xué)出版社
[5].《組態(tài)軟件MCGS在鍋爐液位控制中的應(yīng)用》 馬兵智、孫志毅、趙志成
[6].《MCGS組態(tài)軟件在電廠油區(qū)數(shù)據(jù)采集系統(tǒng)中的應(yīng)用》
附錄A
MAIN主程序:
LD SM0.1
CALL initiate
LD SM0.0
CALL sift
LDB= SMB8, 16#19 //檢查EM235擴(kuò)展模塊是否存在
R M0.1, 1
NOT
S M0.1, 1
LDB= SMB9, 16#00 //檢查EM235擴(kuò)展模塊是否錯(cuò)誤
R M0.2, 1
NOT
AB= SMB9, 16#04
S M0.2, 1
LD M0.1
O M0.2
JMP 0
LDW= sy, +1 //單閉環(huán)手動(dòng)輸出
AN kz
DTCH 10
MOVR u1, AC0
/R 100.0, AC0
*R 25600.0, AC0
ROUND AC0, AC0
DTI AC0, AC0
+I +6400, AC0
MOVW AC0, AQW0
LDW= sy, +2 //串級(jí)手動(dòng)輸出
AN kz
DTCH 10
MOVR u2, AC0
/R 100.0, AC0
*R 25600.0, AC0
ROUND AC0, AC0
DTI AC0, AC0
+I +6400, AC0
MOVW AC0, AQW0
LD kz //自動(dòng)控制
ENI
LDW= sy, +0
R kz, 1
LD kz
EU
ATCH INT_0, 10
LD kz
ED
DTCH 10
LBL 0
Initiate初始化子程序:
LD SM0.0 //實(shí)驗(yàn)初始化
MOVW +0, sy
LD SM0.0 //中斷
MOVB 100, SMB34
ATCH INT_0, 10
LD SM0.0 //pv1濾波初始化
MOVW +0, VW0 //計(jì)數(shù)器清零
MOVW +128, VW2 //預(yù)置采樣次數(shù)
MOVD +0, VD10 //當(dāng)前采樣值清零
MOVD +0, VD14 //當(dāng)前采樣和清零
MOVD +0, VD18 //平均值清零
LD SM0.0 ////pv2濾波初始化
MOVW +0, VW30 //計(jì)數(shù)器清零
MOVW +128, VW32 //預(yù)置采樣次數(shù)
MOVD +0, VD40 //當(dāng)前采樣值清零
MOVD +0, VD44 //當(dāng)前采樣和清零
MOVD +0, VD48 //平均值清零
Sift濾波子程序:
LD SM0.0
MOVW AIW0, VW12 //放置模擬量輸入值
LDW>= VW12, +0 //檢查輸入信號(hào)
MOVW +0, VW10 //把輸入值轉(zhuǎn)換為雙字
NOT //VD10=模擬量輸入值(當(dāng)前采樣值)
MOVW 16#FFFF, VW10
LD SM0.0
+D VD10, VD14 //把當(dāng)前采樣值加到采樣和中
INCW VW0 //采樣計(jì)數(shù)器值加一
LDW>= VW0, VW2 //若達(dá)到采樣次數(shù)把采樣和VD1VD18中
MOVD VD14, VD18
ENCO VW2, AC1 //計(jì)算移位數(shù)
SRD VD18, AC1 //用移位數(shù)實(shí)現(xiàn)除法,求采樣平均值
MOVD +0, VD14 //重新初始化,即采樣和清零
MOVW +0, VW0 //采樣計(jì)數(shù)器清零
DTR VD18, VD18 // 模擬量輸入平均值=VW20
-R 6000.0, VD18
/R 26000.0, VD18
MOVR dih1, pv1
*R VD18, pv1
LD SM0.0
MOVW AIW2, VW42 //放置模擬量輸入值
LDW>= VW42, +0 //檢查輸入信號(hào)
MOVW +0, VW40 //把輸入值轉(zhuǎn)換為雙字
NOT //VD40=模擬量輸入值(當(dāng)前采樣值)
MOVW 16#FFFF, VW40
LD SM0.0
+D VD40, VD44 //把當(dāng)前采樣值加到采樣和中
INCW VW30 //采樣計(jì)數(shù)器值加一
LDW>= VW30, VW32 //若達(dá)到采樣次數(shù)把采樣和VD44復(fù)制到VD48中
MOVD VD44, VD48
ENCO VW32, AC1 //計(jì)算移位數(shù)
SRD VD48, AC1 //用移位數(shù)實(shí)現(xiàn)除法,求采樣平均值
MOVD +0, VD44 //重新初始化,即采樣和清零
MOVW +0, VW30 //采樣計(jì)數(shù)器清零
DTR VD48, VD48 // 模擬量輸入平均值=VW50
-R 6000.0, VD48
/R 26000.0, VD48
MOVR dih2, pv2
*R VD48, pv2
pid0單閉環(huán)子程序:
LD SM0.0
MOVR e1_1, e1_2
MOVR e1, e1_1
LD SM0.0 //求e1
MOVR sv1, AC0
-R pv1, AC0
MOVR AC0, e1
LD SM0.0 //求p1
MOVR e1, AC0
-R e1_1, AC0
*R kc1, AC0
MOVR AC0, p1
LD SM0.0 //求i1
MOVR e1, AC0
*R ts, AC0
*R kc1, AC0
/R ti1, AC0
MOVR AC0, i1
LD SM0.0 //求d1
MOVR e1, AC0
-R e1_1, AC0
-R e1_1, AC0
+R e1_2, AC0
*R td1, AC0
*R kc1, AC0
/R ts, AC0
MOVR AC0, d1
LD SM0.0 //求det_u1
MOVR p1, AC0
+R i1, AC0
+R d1, AC0
MOVR AC0, det_u1
LD SM0.0 //求u1
MOVR u1, u1_1
MOVR u1_1, AC0
LDW= sy, +1
+R det_u1, AC0
LDR>= AC0, 100.0
MOVR 100.0, AC0
LDR<= AC0, 0.0
MOVR 0.0, AC0
LD SM0.0
MOVR AC0, u1
LD SM0.0 //轉(zhuǎn)換輸出
MOVR u1, AC0
/R 100.0, AC0
*R 25600.0, AC0
ROUND AC0, AC0
DTI AC0, AC0
+I +6400, AC0
MOVW AC0, AQW0
INT_0中斷子程序:
LD SM0.0
MOVR ts, AC0
*R 10.0, AC0
ROUND AC0, AC0
DTI AC0, AC0
MOVW AC0, tim
LD SM0.0
INCW times
LDW<= times, tim
JMP 0
LDW>= times, tim
MOVW +0, times
LDW= sy, +1 //調(diào)單閉環(huán)子程序
CALL pid0
LDW= sy, +2 //調(diào)串級(jí)子程序
CALL pid1
LBL 0
附錄B
功率損耗 | |
+5V DC(從I/O總線) | 30mA |
從L+ | 60mA(帶輸出20mA) |
L+電壓范圍,第2級(jí)或DC傳感器供電 | 20.4~28.8 |
LED指示器 | 24V DC狀態(tài) |
模擬量輸入特性 | |
模擬量輸入點(diǎn)數(shù) | 4 |
隔離(現(xiàn)場(chǎng)與邏輯電路間) | 無 |
輸入類型 | 差分輸入 |
輸入范圍 |
|
輸入分辨率 |
|
模數(shù)轉(zhuǎn)換時(shí)間 | <250μs |
模擬量輸入響應(yīng) | 1.5ms~95% |
共模抑制 | 40dB,DC to 60Hz |
共模電壓 | 信號(hào)電壓+共模電壓(必須小于等于12V) |
數(shù)據(jù)字格式 |
|
輸入阻抗 | 大于等于10MΩ |
輸入濾波器衰減 | -3db@3.1KHz |
大輸入電壓 | 30V DC |
大輸入電流 | 32mA |
分辨率 | 12位A/D轉(zhuǎn)換器 |
模擬量輸出特性 | |
模擬量輸出點(diǎn)數(shù) | 1 |
隔離(現(xiàn)場(chǎng)側(cè)到邏輯線路) | 無 |
信號(hào)范圍 |
|
數(shù)據(jù)字格式 |
|
分辨率,滿量程 |
|
精度 |
|
典型值,25℃ |
|
設(shè)置時(shí)間 |
|
大驅(qū)動(dòng)@24V用戶電源 |
|
與本文相關(guān)的論文有:五陽煤礦應(yīng)用閥門案例