一種節(jié)省組態(tài)軟件I/O點(diǎn)數(shù)的方法及實(shí)現(xiàn)
一、前言
人—機(jī)界面(HMI)是各種控制系統(tǒng)中重要的一環(huán),在Windows環(huán)境下運(yùn)行的工控組態(tài)軟件提供的圖形界面形象、直觀,深受操作者與工程技術(shù)開發(fā)人員的喜愛,在國內(nèi)自動(dòng)控制系統(tǒng)的上位機(jī)中得到了廣泛應(yīng)用。但出于銷售策略上的考慮,幾乎所有的工控組態(tài)軟件在銷售時(shí)都按不同的輸入、輸出(I/O)點(diǎn)數(shù)劃分定價(jià),例32點(diǎn)學(xué)習(xí)版,64點(diǎn)、128點(diǎn)、256點(diǎn)、512點(diǎn)、1024點(diǎn)、不限點(diǎn)工程版等,價(jià)格相差較大,并且不同的組態(tài)軟件在定義I/O點(diǎn)數(shù)時(shí)略有不同,有的定義為數(shù)據(jù)采集點(diǎn)與中間動(dòng)畫控制變量之和,有的定義為上位機(jī)數(shù)據(jù)庫中與下位機(jī)通訊的變量之和等,在多級(jí)分布式控制系統(tǒng)中,一般認(rèn)為I/O點(diǎn)數(shù)為上位機(jī)組態(tài)軟件與下位機(jī)(PLC、數(shù)據(jù)采集插卡、智能儀表等)通訊的數(shù)據(jù)變量之和。
很顯然,降低所使用的組態(tài)軟件I/O點(diǎn)數(shù),可降低整個(gè)工程成本,有很大的現(xiàn)實(shí)意義。在對(duì)某啤酒廠發(fā)酵車間實(shí)施DCS控制系統(tǒng)過程中,上位機(jī)組態(tài)軟件使用美國Iconics公司GenesisFor Windows 3.0版(簡稱GFW3.0),下位機(jī)使用英國歐陸公司T103系列T921 CPU PLC,通過對(duì)系統(tǒng)構(gòu)成、組態(tài)軟件、通訊協(xié)議、信號(hào)特點(diǎn)等進(jìn)行綜合分析,通過編寫少量的上、下位機(jī)通訊程序,降低了所使用組態(tài)軟件的I/O點(diǎn)數(shù),達(dá)到了節(jié)省工程費(fèi)用目的。
二、控制系統(tǒng)構(gòu)成
發(fā)酵車間控制系統(tǒng)由兩臺(tái)上位機(jī)組成(見圖2—1),一臺(tái)為LIN上位機(jī)(上位機(jī)2),通過S9565卡與下位機(jī)構(gòu)成LIN網(wǎng),下位機(jī)程序通過此臺(tái)計(jì)算機(jī)下載到下位機(jī)中,同時(shí)計(jì)算機(jī)中插有Modicon公司的SA85卡,運(yùn)行自編的在DOS下運(yùn)行的控制軟件;上位機(jī)1運(yùn)行工控組態(tài)軟件GFW30開發(fā)版,計(jì)算機(jī)中插有Modicon公司的SA85卡;兩臺(tái)宿主計(jì)算機(jī)1與2通過SA85卡與Modicon公司的BM85網(wǎng)橋構(gòu)成發(fā)酵車間上位計(jì)算機(jī)網(wǎng)絡(luò)Modbus Plus網(wǎng)中的3個(gè)網(wǎng)點(diǎn)(地址6、8、9),上位機(jī)網(wǎng)絡(luò)通訊速率為1Mbps。Modbus Plus網(wǎng)通過BM85網(wǎng)橋從下位機(jī)獲得數(shù)據(jù),網(wǎng)橋同下位機(jī)以Modbus網(wǎng)絡(luò)協(xié)議交換數(shù)據(jù)。其它車間上位機(jī)也可通過Modbus plus網(wǎng)獲取發(fā)酵車間下位機(jī)數(shù)據(jù)。
下位機(jī)采用英國歐陸公司的T103(單CPU,T921),它在底板上集成了Modbus及LIN網(wǎng)絡(luò)接口,它的Modbus最高通訊速率為38 400bps。有兩臺(tái)下位機(jī),其間的數(shù)據(jù)可通過LIN網(wǎng)共享。
三、I/O點(diǎn)數(shù)分析與統(tǒng)計(jì)
文中發(fā)酵車間的主要控制目標(biāo)為24只發(fā)酵罐,每個(gè)發(fā)酵罐的輸入、輸出點(diǎn)數(shù)與性質(zhì)如下:
1、上、中、下3個(gè)冷媒開關(guān)電磁閥(3 DO);
2、上、中、下3個(gè)溫度(3 AI);
3、發(fā)酵罐料位信號(hào)(1 AI);
4、發(fā)酵罐壓力信號(hào)(1 AI);
5、一個(gè)罐頂壓力釋放電磁閥(1 DO);
6、每個(gè)發(fā)酵罐共計(jì)9路:4路DO,5路AI;
24只發(fā)酵罐“硬”I/O點(diǎn)數(shù)為:24×9=216點(diǎn),理論上選購256點(diǎn)的組態(tài)軟件即可滿足要求。GFW 3.0軟件的I/O點(diǎn)數(shù)定義為上、下位機(jī)通訊參數(shù)點(diǎn)數(shù)之和,因此要購買的上位機(jī)組態(tài)軟件GFW3.0的I/O點(diǎn)數(shù)為:下位機(jī)PLC“硬”I/O點(diǎn)數(shù)(216)+上、下位機(jī)其它通訊參數(shù)點(diǎn)數(shù),在本例中上、下位機(jī)其它通訊參數(shù)點(diǎn)數(shù)主要為模擬信號(hào)的定標(biāo)與校正參數(shù),簡要分析如下:
發(fā)酵罐中溫度傳感器使用Pt100鉑測溫電阻,變送器測溫范圍-50℃~130℃,實(shí)際使用中發(fā)現(xiàn)存在如下問題:
(1)理論上Pt100鉑測溫電阻在0℃時(shí)電阻值為100Ω,但實(shí)際上存在一定的阻值偏差,例為99.5Ω,從而給溫度測量帶來誤差,稱為鉑電阻0℃偏差,不同廠家、同一廠家不同批次的鉑電阻,偏差大小不盡相同,有必要在下位機(jī)中校正,按傳統(tǒng)做法,相當(dāng)于增加了一個(gè)上、下位機(jī)的通訊參數(shù),應(yīng)計(jì)入上位機(jī)組態(tài)軟件的I/O點(diǎn)數(shù);
(2)溫度變送器偏差。在冰水混合物中測量出Pt100測溫電阻的阻值,記下鉑電阻0℃偏差(轉(zhuǎn)換成溫度數(shù)值),然后通過溫度變送器測量出此時(shí)溫度,兩個(gè)溫度間的差值即為溫度變送器0℃偏差。同理在下位機(jī)中校正這一偏差,相當(dāng)于增加了一個(gè)上、下位機(jī)的通訊參數(shù),應(yīng)計(jì)入上位機(jī)組態(tài)軟件的I/O點(diǎn)數(shù);
(3)非線性校正參數(shù)。在-50℃~130℃溫度范圍內(nèi),如果對(duì)溫度測量精度要求不高,可近似認(rèn)為鉑測溫電阻特性為線性,但發(fā)酵罐為大慣性緩變系統(tǒng),在降溫期溫度變化速率為0.1~0.2℃/h,對(duì)溫測精度要求非常高,因此引入3個(gè)校正系數(shù),校正非線性的影響,相當(dāng)于增加了3個(gè)上、下位機(jī)的通訊參數(shù),應(yīng)計(jì)入上位機(jī)組態(tài)軟件的I/O點(diǎn)數(shù)。
從上面可以看出,即使不計(jì)入非線性校正的3個(gè)系數(shù),每個(gè)發(fā)酵罐的I/O通訊參數(shù)為:9(硬I/O)+3×(1+1)(軟I/O)=15,上位機(jī)組態(tài)軟件的I/O點(diǎn)數(shù)為15×24=360點(diǎn),大大超 出256點(diǎn)。
通過進(jìn)一步的分析,可以發(fā)現(xiàn)“硬”I/O與“軟”I/O之間存在的差異。
• “硬”I/O點(diǎn)數(shù)為下位機(jī)PLC實(shí)際輸入輸出I/O點(diǎn)數(shù)。例本例中溫度、壓力、料位、開關(guān)閥等,這類I/O點(diǎn)數(shù)的數(shù)值與狀態(tài)要經(jīng)常發(fā)生變化,有必要放入上位機(jī)實(shí)時(shí)數(shù)據(jù)庫中,實(shí)時(shí)地與下位機(jī)交換數(shù)據(jù);
• “軟”I/O點(diǎn)數(shù)為各類控制策略、校正、定標(biāo)等輔助上、下位機(jī)通訊參數(shù)。這類I/O點(diǎn)數(shù)的數(shù)值與狀態(tài)平時(shí)很少發(fā)生變化,有的只是在硬件更換情況下才有必要調(diào)整,例文中更換Pt100測溫電阻。
從控制角度看沒有必要將這類I/O點(diǎn)放入上位機(jī)實(shí)時(shí)數(shù)據(jù)庫,但這類數(shù)據(jù)也存在變化的可能,需要提供修改手段。一般可通過如下方法修改:
1、購買較多I/O點(diǎn)數(shù)的上位機(jī)軟件。將“軟”I/O點(diǎn)放入上位機(jī)實(shí)時(shí)數(shù)據(jù)庫,由于這類數(shù)據(jù)較重要,有必要建立一定的安全保護(hù)措施;缺點(diǎn)為成本較高;
2、停機(jī)啟動(dòng)另一數(shù)據(jù)庫。要修改這類參數(shù)時(shí),退出正常運(yùn)行程序,通過另一數(shù)據(jù)庫啟動(dòng)組態(tài)軟件,修改參數(shù);缺點(diǎn)為要停機(jī)(上位機(jī))處理,有時(shí)實(shí)際情況不允許;
3、直接修改下位機(jī)程序。這是最全面的解決手段,缺點(diǎn)為對(duì)操作人員有較高素質(zhì)要求,存在一定的風(fēng)險(xiǎn),不滿足程序保密需要,同時(shí)需要停機(jī)(上、下位機(jī))處理;
4、自編程序處理。
正是基于上面的分析,筆者針對(duì)文中控制系統(tǒng)網(wǎng)絡(luò)的構(gòu)成與特點(diǎn),開發(fā)了上、下位機(jī)的通訊程序,不僅降低了上位機(jī)軟件的I/O通訊點(diǎn)數(shù),節(jié)省了工程費(fèi)用,同時(shí)還可作為上位機(jī)組態(tài)軟件故障時(shí)應(yīng)急處理程序。
四、網(wǎng)絡(luò)尋址
控制系統(tǒng)上位機(jī)網(wǎng)絡(luò)為Modbus Plus,通過BM85網(wǎng)橋與下位機(jī)用Modbus協(xié)議交換數(shù)據(jù),各裝置在網(wǎng)絡(luò)中地址分配見圖2-1。
Modbus Plus網(wǎng)絡(luò)尋址路由路徑由5個(gè)字節(jié)構(gòu)成,通過BP85網(wǎng)橋可以聯(lián)接多個(gè)Modubs Plus網(wǎng),構(gòu)成復(fù)雜的網(wǎng)絡(luò)尋址方式,從其它車間可得到發(fā)酵車間下位機(jī)數(shù)據(jù)。本例中從上位機(jī)2尋址下位機(jī)1數(shù)據(jù)的尋址字節(jié)見圖4—1,表示為91100,同理,91200為上位機(jī)1或2尋址下位機(jī)2中數(shù)據(jù)的尋址字節(jié)表示。
每個(gè)下位機(jī)PLC作為一個(gè)Modbus Slave裝置,有一個(gè)Slave號(hào),在每一個(gè)下位機(jī)中,還相應(yīng)定義了通訊速率、奇偶位、停止位、超時(shí)時(shí)間等參數(shù)。本文下位機(jī)中有3種類型的Modbus表:①Register類型,為16 bit的模擬量;②Digital類型,為1 bit的開關(guān)量;③Diagnostic類型,用來診斷下位機(jī)Database在運(yùn)行過程中的狀況,為16 bit的模擬量。下位機(jī)最多支持16個(gè)Modbus表,表中的地址用戶可定義。在同一個(gè)Modbus表中不能混用這3種類型。
知道了怎樣在網(wǎng)絡(luò)中尋址及下位機(jī)Modbus表,就可以編寫通訊程序。
五、結(jié)束語
上位機(jī)組態(tài)軟件的I/O點(diǎn)數(shù)可分為“硬”I/O點(diǎn)數(shù)與“軟”I/O點(diǎn)數(shù)兩大類,上、下位機(jī)通訊總I/O點(diǎn)數(shù)為兩者之和,在工程中可通過多種方法降低上位機(jī)組態(tài)軟件的I/O點(diǎn)數(shù),既可節(jié)省工程費(fèi)用,又可方便用戶使用。用文中介紹的方法和方案開發(fā)的程序經(jīng)過較長時(shí)間運(yùn)行,證明其穩(wěn)定、可靠,達(dá)到了預(yù)期目的。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。