您現(xiàn)在的位置:
中國(guó)傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
技術(shù)百科
>
基于FF總線實(shí)現(xiàn)水箱系統(tǒng)動(dòng)態(tài)矩陣控制
時(shí)間:2008-03-21 15:56:00來(lái)源:mahaiyan


分別為過(guò)程的增益、時(shí)間常數(shù)和時(shí)滯。由上位機(jī)的OPC服務(wù)器實(shí)時(shí)獲取FF現(xiàn)場(chǎng)總線采集現(xiàn)場(chǎng)設(shè)備數(shù)據(jù)并動(dòng)態(tài)顯示。
OPC服務(wù)器MicroCyber .FFServer.1每秒鐘刷新一次,實(shí)現(xiàn)設(shè)備的實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)共享以及報(bào)警等功能。OPC客戶(hù)端與服務(wù)器之間的通訊符合OPC的自動(dòng)化接口規(guī)范要求,利用matlab 7.0支持OPC規(guī)范的新功能,實(shí)現(xiàn)用戶(hù)端與服務(wù)器的通訊。動(dòng)態(tài)矩陣控制算法通過(guò)Matlab的M語(yǔ)言在監(jiān)控端實(shí)現(xiàn),利用其強(qiáng)大的計(jì)算與動(dòng)態(tài)顯示能力對(duì)水箱系統(tǒng)進(jìn)行動(dòng)態(tài)矩陣控制。并將OPC服務(wù)器的歷史數(shù)據(jù)保存在Matlab的數(shù)組中,以實(shí)現(xiàn)對(duì)歷史數(shù)據(jù)曲線的實(shí)時(shí)繪制。本文采用的受控對(duì)象為Device1.Flow,組名為 Device1。通過(guò)Matlab編寫(xiě)的客戶(hù)端與SQl2000服務(wù)器的ODBC連接,實(shí)時(shí)與數(shù)據(jù)庫(kù)交互。從OPC服務(wù)器讀取選項(xiàng)的值,并可以實(shí)時(shí)將選項(xiàng)的值插入到數(shù)據(jù)庫(kù)服務(wù)器中保存為歷史數(shù)據(jù)。需要時(shí),可以通過(guò)選項(xiàng)隨時(shí)將歷史數(shù)據(jù)進(jìn)行回調(diào),進(jìn)行查詢(xún)、更新、刪除等操作,或者用于算法控制和繪制歷史曲線圖。從而可以實(shí)現(xiàn)OPC服務(wù)器和歷史數(shù)據(jù)服務(wù)器的分布式管理。本設(shè)計(jì)中采用的NCS-IF105設(shè)備可以接收四個(gè)通道0~20mA模擬信號(hào),并轉(zhuǎn)換成FF現(xiàn)場(chǎng)總線信號(hào)。而NCS-LD105現(xiàn)場(chǎng)總線網(wǎng)關(guān)則可用于各種采用FF H1現(xiàn)場(chǎng)總線設(shè)備的控制系統(tǒng)當(dāng)中,不僅可將FF H1總線設(shè)備無(wú)縫集成到以太網(wǎng)網(wǎng)絡(luò)中,還可擴(kuò)展FF H1應(yīng)用。
程序?qū)崿F(xiàn)
客戶(hù)端與OPC服務(wù)器通訊
首先,Matlab客戶(hù)端應(yīng)先生成 OPC服務(wù)器支持的 OPC 對(duì)象。OPC 數(shù)據(jù)訪問(wèn)對(duì)象由分層結(jié)構(gòu)構(gòu)成,即一個(gè) OPC 服務(wù)器對(duì)象具有一個(gè)作為子對(duì)象的 OPC組集合對(duì)象(OPC Groups)。在這個(gè) OPC組集合對(duì)象里可以添加多個(gè)OPC組對(duì)象。各個(gè)OPC組對(duì)象都具有一個(gè)作為子對(duì)象的OPC標(biāo)簽集合對(duì)象,在這個(gè)標(biāo)簽集合對(duì)象里可以添加多個(gè) OPC標(biāo)簽對(duì)象。
用Matlab M文件編寫(xiě)OPC客戶(hù)端程序包含以下步驟:
(1)添加服務(wù)器的引用,創(chuàng)建 OPC 服務(wù)器對(duì)象,并將客戶(hù)程序與服務(wù)器相連;
(2)連接創(chuàng)建的OPC 服務(wù)器對(duì)象;
(3)通過(guò)瀏覽整個(gè)服務(wù)器中所有的項(xiàng),添加組對(duì)象;
(4)添加 OPC項(xiàng),選擇需要的項(xiàng),將其添加到規(guī)定的組中,并顯示其值和狀態(tài);
(5)啟動(dòng)OPC服務(wù)器。
程序和注釋如下:
hostInfo = opcserverinfo(遠(yuǎn)程/本地服務(wù)器名);%連接遠(yuǎn)程/本地服務(wù)器
allServers = hostInfo.ServerID‘;
da = opcda(服務(wù)器名, OPC服務(wù)器名);
connect(da);
sawtoothItems = serveritems(da, *受控設(shè)備名*);
itmIDs = {控設(shè)備名};
grp = addgroup(da, DemGroup);%增加組
itm = additem(grp, itmIDs); %增加項(xiàng)目
start(grp); %啟動(dòng)OPC服務(wù)器
客戶(hù)端與SQL數(shù)據(jù)庫(kù)服務(wù)器通訊
首先,在SQL數(shù)據(jù)庫(kù)中建立一個(gè)指定名字的數(shù)據(jù)庫(kù),并建立一個(gè)名為history的表。表中的字段包括選項(xiàng)的值(value)、品質(zhì)(quality)、時(shí)間戳(timestamp)、服務(wù)器名(servername)以及設(shè)備名(device)。設(shè)置ODBC數(shù)據(jù)源,建立一個(gè)和前面數(shù)據(jù)庫(kù)名字相同的數(shù)據(jù)源,該數(shù)據(jù)源指向SQL數(shù)據(jù)庫(kù)中的同名數(shù)據(jù)庫(kù)。測(cè)試連接成功后,即可在Matlab中通過(guò)編寫(xiě)M文件實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接,并建立一個(gè)工作空間數(shù)組存儲(chǔ)來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù),通過(guò)執(zhí)行命令的方式實(shí)現(xiàn)選擇、插入數(shù)據(jù)等操作。關(guān)鍵程序及注釋如下所示:
首先,實(shí)現(xiàn)建立連接對(duì)象,實(shí)現(xiàn)與數(shù)據(jù)庫(kù)服務(wù)器的連接。
conn = database(數(shù)據(jù)源名、用戶(hù)名、用戶(hù)密碼);%連接數(shù)據(jù)庫(kù)
ping(conn);%檢查連接狀態(tài)
curs = exec(conn, select country from 表名)%打開(kāi)游標(biāo)執(zhí)行SQL語(yǔ)句
setdbprefs(DataReturnFormat, cellarray)%說(shuō)明檢索數(shù)據(jù)的格式
curs = fetch(curs、10)%將數(shù)據(jù)導(dǎo)入到Matalb
columnnames(curs)%獲取列名
A = curs.Data%顯示游標(biāo)對(duì)象里的所有數(shù)據(jù)元素,data(:,3)為獲取某一字段的元素值
insert(conn、 表名、字段名、 數(shù)組名);%將數(shù)組的值插入到表的某一字段中
close(curs)%關(guān)閉游標(biāo)
close(conn)%關(guān)閉連接對(duì)象
改進(jìn)的DMC控制程序仿真
受控系統(tǒng)數(shù)學(xué)模型如公式(1)所示。將階躍信號(hào)作為控制信號(hào)作用于受控系統(tǒng),通過(guò)FF現(xiàn)場(chǎng)總線,實(shí)時(shí)獲取一段時(shí)間內(nèi)系統(tǒng)某一受控對(duì)象(流量)的階躍響應(yīng)輸出,通過(guò)Matlab程序讀取對(duì)應(yīng)時(shí)刻的階躍響應(yīng)值,并將時(shí)間和對(duì)應(yīng)值存在一個(gè)數(shù)組中。通過(guò)建立受控對(duì)象的數(shù)學(xué)模型,可辨識(shí)受控系統(tǒng)的參數(shù),并得到辨識(shí)后系統(tǒng)的輸出。使用Matlab 7.0 的OPC工具包,實(shí)現(xiàn)客戶(hù)端程序與OPC服務(wù)器的通訊,使用get(itm,value)函數(shù)來(lái)獲取服務(wù)器中流量的實(shí)時(shí)值(其中itm=Device1.Flow),然后進(jìn)行動(dòng)態(tài)矩陣控制。得到控制量后,通過(guò)使用write(itm, setvalue)函數(shù)將控制量寫(xiě)入OPC服務(wù)器,從而控制受控系統(tǒng)。
設(shè)置模型的時(shí)域長(zhǎng)度為N=10,優(yōu)化時(shí)域長(zhǎng)度為P=3,誤差校正向量為h,其長(zhǎng)度為N,控制向量為d,其長(zhǎng)度為P,預(yù)測(cè)向量存儲(chǔ)在數(shù)組y1中。不同的模型時(shí)域長(zhǎng)度和優(yōu)化長(zhǎng)度對(duì)系統(tǒng)性能的影響是不同的,仿真曲線如圖1所示。r過(guò)大時(shí),預(yù)測(cè)向量會(huì)明顯偏離真實(shí)的系統(tǒng)響應(yīng),對(duì)預(yù)測(cè)不利。當(dāng)r=20,P=3時(shí),預(yù)測(cè)與實(shí)際響應(yīng)值一致。可見(jiàn),在DMC控制算法中,應(yīng)該合理選擇模型時(shí)域長(zhǎng)度和優(yōu)化長(zhǎng)度才能達(dá)到理想的控制效果。
結(jié)語(yǔ)
FF 現(xiàn)場(chǎng)總線技術(shù)與傳統(tǒng)DCS 相比,系統(tǒng)布線投資明顯減少,而網(wǎng)絡(luò)功能則大大加強(qiáng)。而且該系統(tǒng)可以充分利用各種軟件的優(yōu)勢(shì),大大提高軟件編程的效率和靈活性,實(shí)際運(yùn)行結(jié)果表明,基于Matlab和OPC技術(shù)的FF現(xiàn)場(chǎng)總線的測(cè)控系統(tǒng)運(yùn)行穩(wěn)定,控制效果良好。標(biāo)簽:
上一篇:智能式汽車(chē)油量表
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-07-08
2025-06-09
從外觀到內(nèi)核的「超進(jìn)化」!NK550M五軸...
2025-06-06
2025-05-26
推薦專(zhuān)題
更多>