亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于FF總線實現水箱系統動態矩陣控制

基于FF總線實現水箱系統動態矩陣控制

時間:2008-03-21 15:56:00來源:mahaiyan

導語:?本文針對FF現場總線中監控軟件實現DMC算法的困難,提出利用Matlab7.0 OPC工具包實現與OPC服務器間通訊并實現DMC控制的方案,充分發揮了矩陣計算語言簡潔、高效的優勢
摘要:本文針對FF現場總線中監控軟件實現DMC算法的困難,提出利用Matlab7.0 OPC工具包實現與OPC服務器間通訊并實現DMC控制的方案,充分發揮了矩陣計算語言簡潔、高效的優勢。仿真結果表明,該方案能在很大程度上縮短監控程序的開發周期,并達到了預期的控制效果。 引言 FF現場總線系統是連接智能現場設備和自動化系統的數字式、雙向傳輸、多分支結構的通信網絡,與現行控制系統相比,具有如下技術優勢:① 現場總線用數字信號代替傳統的模擬信號,測量精度高,抗干擾能力強;② 基于總線的現場儀表可以對量程和零點進行遠程設定,具有儀表工作狀態自診斷功能,能進行多參數測量和對環境影響的自動補償;③ 現場設備集檢測、轉換、運算和控制功能于一體,既降低了成本,又增加了安全性和可靠性。④ 所有現場設備直接通過一對傳輸線即現場總線連接,減少了連線的數量,易于安裝和維護,節省費用、調試和維修成本。 本實驗測控系統采用JBS2GK03 過程控制實驗裝置,并采用中科院沈陽自動化研究所開發的FF H1 OPC服務器MicroCyber. FFServer.1作為OPC服務器。該服務器符合OPC組織制訂的OPC DA 2.0規范標準。OPC客戶端與服務器之間的通訊符合OPC的自動化接口規范要求,利用Matlab 7.0支持OPC規范的新功能,實現了用戶端與服務器端的通訊。動態矩陣控制算法在客戶端通過Matlab的M語言實現,充分發揮了矩陣計算語言簡潔、高效的優勢。
控制原理 本實驗測控系統采用的JBS2GK03 過程控制實驗裝置,被控參數變量為液位、流量、溫度和壓力。該過程為自衡非振蕩, 具有相互影響的雙容過程,其數學模型可用如下傳遞函數描述:
式中,分別為過程的增益、時間常數和時滯。由上位機的OPC服務器實時獲取FF現場總線采集現場設備數據并動態顯示。 OPC服務器MicroCyber .FFServer.1每秒鐘刷新一次,實現設備的實時數據和歷史數據共享以及報警等功能。OPC客戶端與服務器之間的通訊符合OPC的自動化接口規范要求,利用matlab 7.0支持OPC規范的新功能,實現用戶端與服務器的通訊。動態矩陣控制算法通過Matlab的M語言在監控端實現,利用其強大的計算與動態顯示能力對水箱系統進行動態矩陣控制。并將OPC服務器的歷史數據保存在Matlab的數組中,以實現對歷史數據曲線的實時繪制。本文采用的受控對象為Device1.Flow,組名為 Device1。通過Matlab編寫的客戶端與SQl2000服務器的ODBC連接,實時與數據庫交互。從OPC服務器讀取選項的值,并可以實時將選項的值插入到數據庫服務器中保存為歷史數據。需要時,可以通過選項隨時將歷史數據進行回調,進行查詢、更新、刪除等操作,或者用于算法控制和繪制歷史曲線圖。從而可以實現OPC服務器和歷史數據服務器的分布式管理。本設計中采用的NCS-IF105設備可以接收四個通道0~20mA模擬信號,并轉換成FF現場總線信號。而NCS-LD105現場總線網關則可用于各種采用FF H1現場總線設備的控制系統當中,不僅可將FF H1總線設備無縫集成到以太網網絡中,還可擴展FF H1應用。 程序實現 客戶端與OPC服務器通訊 首先,Matlab客戶端應先生成 OPC服務器支持的 OPC 對象。OPC 數據訪問對象由分層結構構成,即一個 OPC 服務器對象具有一個作為子對象的 OPC組集合對象(OPC Groups)。在這個 OPC組集合對象里可以添加多個OPC組對象。各個OPC組對象都具有一個作為子對象的OPC標簽集合對象,在這個標簽集合對象里可以添加多個 OPC標簽對象。 用Matlab M文件編寫OPC客戶端程序包含以下步驟: (1)添加服務器的引用,創建 OPC 服務器對象,并將客戶程序與服務器相連; (2)連接創建的OPC 服務器對象; (3)通過瀏覽整個服務器中所有的項,添加組對象; (4)添加 OPC項,選擇需要的項,將其添加到規定的組中,并顯示其值和狀態; (5)啟動OPC服務器。 程序和注釋如下: hostInfo = opcserverinfo(遠程/本地服務器名);%連接遠程/本地服務器 allServers = hostInfo.ServerID‘; da = opcda(服務器名, OPC服務器名); connect(da); sawtoothItems = serveritems(da, *受控設備名*); itmIDs = {控設備名}; grp = addgroup(da, DemGroup);%增加組 itm = additem(grp, itmIDs); %增加項目 start(grp); %啟動OPC服務器 客戶端與SQL數據庫服務器通訊 首先,在SQL數據庫中建立一個指定名字的數據庫,并建立一個名為history的表。表中的字段包括選項的值(value)、品質(quality)、時間戳(timestamp)、服務器名(servername)以及設備名(device)。設置ODBC數據源,建立一個和前面數據庫名字相同的數據源,該數據源指向SQL數據庫中的同名數據庫。測試連接成功后,即可在Matlab中通過編寫M文件實現與數據庫的連接,并建立一個工作空間數組存儲來自數據庫的數據,通過執行命令的方式實現選擇、插入數據等操作。關鍵程序及注釋如下所示: 首先,實現建立連接對象,實現與數據庫服務器的連接。 conn = database(數據源名、用戶名、用戶密碼);%連接數據庫 ping(conn);%檢查連接狀態 curs = exec(conn, select country from 表名)%打開游標執行SQL語句 setdbprefs(DataReturnFormat, cellarray)%說明檢索數據的格式 curs = fetch(curs、10)%將數據導入到Matalb columnnames(curs)%獲取列名 A = curs.Data%顯示游標對象里的所有數據元素,data(:,3)為獲取某一字段的元素值 insert(conn、 表名、字段名、 數組名);%將數組的值插入到表的某一字段中 close(curs)%關閉游標 close(conn)%關閉連接對象 改進的DMC控制程序仿真 受控系統數學模型如公式(1)所示。將階躍信號作為控制信號作用于受控系統,通過FF現場總線,實時獲取一段時間內系統某一受控對象(流量)的階躍響應輸出,通過Matlab程序讀取對應時刻的階躍響應值,并將時間和對應值存在一個數組中。通過建立受控對象的數學模型,可辨識受控系統的參數,并得到辨識后系統的輸出。使用Matlab 7.0 的OPC工具包,實現客戶端程序與OPC服務器的通訊,使用get(itm,value)函數來獲取服務器中流量的實時值(其中itm=Device1.Flow),然后進行動態矩陣控制。得到控制量后,通過使用write(itm, setvalue)函數將控制量寫入OPC服務器,從而控制受控系統。 設置模型的時域長度為N=10,優化時域長度為P=3,誤差校正向量為h,其長度為N,控制向量為d,其長度為P,預測向量存儲在數組y1中。不同的模型時域長度和優化長度對系統性能的影響是不同的,仿真曲線如圖1所示。r過大時,預測向量會明顯偏離真實的系統響應,對預測不利。當r=20,P=3時,預測與實際響應值一致。可見,在DMC控制算法中,應該合理選擇模型時域長度和優化長度才能達到理想的控制效果。 結語 FF 現場總線技術與傳統DCS 相比,系統布線投資明顯減少,而網絡功能則大大加強。而且該系統可以充分利用各種軟件的優勢,大大提高軟件編程的效率和靈活性,實際運行結果表明,基于Matlab和OPC技術的FF現場總線的測控系統運行穩定,控制效果良好。

標簽:

點贊

分享到:

上一篇:智能式汽車油量表

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 古丈县| 绥滨县| 遂溪县| 兴宁市| 东海县| 英吉沙县| 甘南县| 五寨县| 岑巩县| 广南县| 竹北市| 临沧市| 都兰县| 新邵县| 清苑县| 沙洋县| 保靖县| 盐边县| 类乌齐县| 闽侯县| 湘潭市| 新乐市| 格尔木市| 林周县| 团风县| 金山区| 克什克腾旗| 葵青区| 潜江市| 富锦市| 南郑县| 宾川县| 梨树县| 甘孜县| 三门峡市| 文昌市| 新丰县| 澄江县| 雷山县| 旬阳县| 南丰县|