0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

采用JBS2GK03裝置和OPC服務器實現(xiàn)水箱系統(tǒng)的動態(tài)矩陣控制

牽手一起夢 ? 來源:電子設計應用 ? 作者:周以琳;張文霞; ? 2020-03-28 09:54 ? 次閱讀

引言

FF現(xiàn)場總線系統(tǒng)是連接智能現(xiàn)場設備和自動化系統(tǒng)的數(shù)字式、雙向傳輸、多分支結構的通信網(wǎng)絡,與現(xiàn)行控制系統(tǒng)相比,具有如下技術優(yōu)勢:① 現(xiàn)場總線用數(shù)字信號代替?zhèn)鹘y(tǒng)的模擬信號,測量精度高,抗干擾能力強;② 基于總線的現(xiàn)場儀表可以對量程和零點進行遠程設定,具有儀表工作狀態(tài)自診斷功能,能進行多參數(shù)測量和對環(huán)境影響的自動補償;③ 現(xiàn)場設備集檢測、轉換、運算和控制功能于一體,既降低了成本,又增加了安全性和可靠性。④ 所有現(xiàn)場設備直接通過一對傳輸線即現(xiàn)場總線連接,減少了連線的數(shù)量,易于安裝和維護,節(jié)省費用、調(diào)試和維修成本。

本實驗測控系統(tǒng)采用JBS2GK03過程控制實驗裝置,并采用中科院沈陽自動化研究所開發(fā)的FF H1 OPC服務器MicroCyber. FFServer.1作為OPC服務器。該服務器符合OPC組織制訂的OPC DA 2.0規(guī)范標準。OPC客戶端與服務器之間的通訊符合OPC的自動化接口規(guī)范要求,利用Matlab 7.0支持OPC規(guī)范的新功能,實現(xiàn)了用戶端與服務器端的通訊。動態(tài)矩陣控制算法在客戶端通過Matlab的M語言實現(xiàn),充分發(fā)揮了矩陣計算語言簡潔、高效的優(yōu)勢。

控制原理

本實驗測控系統(tǒng)采用的JBS2GK03過程控制實驗裝置,被控參數(shù)變量為液位、流量、溫度和壓力。該過程為自衡非振蕩, 具有相互影響的雙容過程,其數(shù)學模型可用如下傳遞函數(shù)描述:

采用JBS2GK03裝置和OPC服務器實現(xiàn)水箱系統(tǒng)的動態(tài)矩陣控制

式中,Kp, Tp,τ分別為過程的增益、時間常數(shù)和時滯。由上位機的OPC服務器實時獲取FF現(xiàn)場總線采集現(xiàn)場設備數(shù)據(jù)并動態(tài)顯示。

OPC服務器MicroCyber .FFServer.1每秒鐘刷新一次,實現(xiàn)設備的實時數(shù)據(jù)和歷史數(shù)據(jù)共享以及報警等功能。OPC客戶端與服務器之間的通訊符合OPC的自動化接口規(guī)范要求,利用matlab 7.0支持OPC規(guī)范的新功能,實現(xiàn)用戶端與服務器的通訊。動態(tài)矩陣控制算法通過Matlab的M語言在監(jiān)控端實現(xiàn),利用其強大的計算與動態(tài)顯示能力對水箱系統(tǒng)進行動態(tài)矩陣控制。并將OPC服務器的歷史數(shù)據(jù)保存在Matlab的數(shù)組中,以實現(xiàn)對歷史數(shù)據(jù)曲線的實時繪制。本文采用的受控對象為Device1.Flow,組名為 Device1。通過Matlab編寫的客戶端與SQl2000服務器的ODBC連接,實時與數(shù)據(jù)庫交互。從OPC服務器讀取選項的值,并可以實時將選項的值插入到數(shù)據(jù)庫服務器中保存為歷史數(shù)據(jù)。需要時,可以通過選項隨時將歷史數(shù)據(jù)進行回調(diào),進行查詢、更新、刪除等操作,或者用于算法控制和繪制歷史曲線圖。從而可以實現(xiàn)OPC服務器和歷史數(shù)據(jù)服務器的分布式管理。本設計中采用的NCS-IF105設備可以接收四個通道0~20mA模擬信號,并轉換成FF現(xiàn)場總線信號。而NCS-LD105現(xiàn)場總線網(wǎng)關則可用于各種采用FF H1現(xiàn)場總線設備的控制系統(tǒng)當中,不僅可將FF H1總線設備無縫集成到以太網(wǎng)網(wǎng)絡中,還可擴展FF H1應用。

采用JBS2GK03裝置和OPC服務器實現(xiàn)水箱系統(tǒng)的動態(tài)矩陣控制

程序?qū)崿F(xiàn)

客戶端與OPC服務器通訊

首先,Matlab客戶端應先生成 OPC服務器支持的 OPC 對象。OPC 數(shù)據(jù)訪問對象由分層結構構成,即一個 OPC 服務器對象具有一個作為子對象的 OPC組集合對象(OPC Groups)。在這個 OPC組集合對象里可以添加多個OPC組對象。各個OPC組對象都具有一個作為子對象的OPC標簽集合對象,在這個標簽集合對象里可以添加多個 OPC標簽對象。

用Matlab M文件編寫OPC客戶端程序包含以下步驟:

(1)添加服務器的引用,創(chuàng)建 OPC 服務器對象,并將客戶程序與服務器相連;

(2)連接創(chuàng)建的OPC 服務器對象;

(3)通過瀏覽整個服務器中所有的項,添加組對象;

(4)添加 OPC項,選擇需要的項,將其添加到規(guī)定的組中,并顯示其值和狀態(tài);

(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數(shù)據(jù)庫服務器通訊

首先,在SQL數(shù)據(jù)庫中建立一個指定名字的數(shù)據(jù)庫,并建立一個名為history的表。表中的字段包括選項的值(value)、品質(zhì)(quality)、時間戳(timestamp)、服務器名(servername)以及設備名(device)。設置ODBC數(shù)據(jù)源,建立一個和前面數(shù)據(jù)庫名字相同的數(shù)據(jù)源,該數(shù)據(jù)源指向SQL數(shù)據(jù)庫中的同名數(shù)據(jù)庫。測試連接成功后,即可在Matlab中通過編寫M文件實現(xiàn)與數(shù)據(jù)庫的連接,并建立一個工作空間數(shù)組存儲來自數(shù)據(jù)庫的數(shù)據(jù),通過執(zhí)行命令的方式實現(xiàn)選擇、插入數(shù)據(jù)等操作。關鍵程序及注釋如下所示:

首先,實現(xiàn)建立連接對象,實現(xiàn)與數(shù)據(jù)庫服務器的連接。

conn = database(數(shù)據(jù)源名、用戶名、用戶密碼);%連接數(shù)據(jù)庫

ping(conn);%檢查連接狀態(tài)

curs = exec(conn, select country from 表名)%打開游標執(zhí)行SQL語句

setdbprefs(DataReturnFormat, cellarray)%說明檢索數(shù)據(jù)的格式

curs = fetch(curs、10)%將數(shù)據(jù)導入到Matalb

columnnames(curs)%獲取列名

A = curs.Data%顯示游標對象里的所有數(shù)據(jù)元素,data(:,3)為獲取某一字段的元素值

insert(conn、 表名、字段名、 數(shù)組名);%將數(shù)組的值插入到表的某一字段中

close(curs)%關閉游標

close(conn)%關閉連接對象

改進的DMC控制程序仿真

受控系統(tǒng)數(shù)學模型如公式(1)所示。將階躍信號作為控制信號作用于受控系統(tǒng),通過FF現(xiàn)場總線,實時獲取一段時間內(nèi)系統(tǒng)某一受控對象(流量)的階躍響應輸出,通過Matlab程序讀取對應時刻的階躍響應值,并將時間和對應值存在一個數(shù)組中。通過建立受控對象的數(shù)學模型,可辨識受控系統(tǒng)的參數(shù),并得到辨識后系統(tǒng)的輸出。使用Matlab 7.0 的OPC工具包,實現(xiàn)客戶端程序與OPC服務器的通訊,使用get(itm,value)函數(shù)來獲取服務器中流量的實時值(其中itm=Device1.Flow),然后進行動態(tài)矩陣控制。得到控制量后,通過使用write(itm, setvalue)函數(shù)將控制量寫入OPC服務器,從而控制受控系統(tǒng)。

設置模型的時域長度為N=10,優(yōu)化時域長度為P=3,誤差校正向量為h,其長度為N,控制向量為d,其長度為P,預測向量存儲在數(shù)組y1中。不同的模型時域長度和優(yōu)化長度對系統(tǒng)性能的影響是不同的,仿真曲線如圖1所示。r過大時,預測向量會明顯偏離真實的系統(tǒng)響應,對預測不利。當r=20,P=3時,預測與實際響應值一致。可見,在DMC控制算法中,應該合理選擇模型時域長度和優(yōu)化長度才能達到理想的控制效果。

結語

FF 現(xiàn)場總線技術與傳統(tǒng)DCS 相比,系統(tǒng)布線投資明顯減少,而網(wǎng)絡功能則大大加強。而且該系統(tǒng)可以充分利用各種軟件的優(yōu)勢,大大提高軟件編程的效率和靈活性,實際運行結果表明,基于Matlab和OPC技術的FF現(xiàn)場總線的測控系統(tǒng)運行穩(wěn)定,控制效果良好。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    8843

    瀏覽量

    84946
  • 自動化
    +關注

    關注

    28

    文章

    5431

    瀏覽量

    78896
  • 現(xiàn)場總線

    關注

    3

    文章

    518

    瀏覽量

    38514
收藏 人收藏

    評論

    相關推薦

    OPC服務器實現(xiàn)通信有哪些需求?

    溝通  讓我們假設我們有兩個編程邏輯控制器-PLC。如果兩個plc供應商的通信協(xié)議是不同的。為了連接這兩個控制器并使用SCADA軟件監(jiān)控數(shù)據(jù),需要一個OPC服務器。這減少了將專有協(xié)議轉
    發(fā)表于 09-01 17:53

    OPC服務器開發(fā)淺談 — 服務器模型

    的開發(fā),主要包括兩大部分的工作:OPC接口的實現(xiàn)和設備驅(qū)動部分的開發(fā)。OPC接口的實現(xiàn),實質(zhì)上就是按照OPC標準進行COM接口開發(fā),對于大多
    發(fā)表于 07-02 08:29

    基于FF現(xiàn)場總線實現(xiàn)水箱系統(tǒng)動態(tài)矩陣控制

    基于FF現(xiàn)場總線實現(xiàn)水箱系統(tǒng)動態(tài)矩陣控制 Implementing Dynamic Matri
    發(fā)表于 03-16 16:32 ?9次下載

    OPCOPC服務器的設計與實現(xiàn)

    簡要介紹了OPC原理,OPC規(guī)范以及小型DCS控制系統(tǒng)OPC服務器的設計與實現(xiàn)。關鍵詞:
    發(fā)表于 03-18 14:03 ?54次下載

    現(xiàn)代控制系統(tǒng)信息集成與OPC服務器的開發(fā)Modern Con

    本文探討了基于OPC中間件的現(xiàn)代控制系統(tǒng)信息集成解決方案,并闡述了OPC技術的核心思想和服務器開發(fā)模式,結合一種數(shù)據(jù)采集與控制卡,給出了
    發(fā)表于 05-27 13:54 ?35次下載

    OPC 服務器的研究及其在CAN 總線系統(tǒng)中的實現(xiàn)

    在簡要介紹OPC 技術的基礎上,描述了OPC 服務器的結構及開發(fā)步驟,詳細講述了OPC 技術在CAN 總線系統(tǒng)中的
    發(fā)表于 06-10 13:43 ?10次下載

    基于FF現(xiàn)場總線實現(xiàn)水箱系統(tǒng)動態(tài)矩陣控制

    針對FF現(xiàn)場總線中監(jiān)控軟件實現(xiàn)DMC算法的困難,提出利用Matlab7.0 OPC工具包實現(xiàn)OPC服務器間通訊并
    發(fā)表于 06-30 17:24 ?13次下載

    OPC DA服務器的設計與實現(xiàn)

    本文對OPC技術做了詳細的分析,在OPC DA標準的基礎上,給出了一個OPC數(shù)據(jù)存取訪問服務器框架的設計方案,并介紹了實現(xiàn)的主要步驟。在設計
    發(fā)表于 02-21 15:00 ?11次下載

    OPC DA服務器的設計與實現(xiàn)

    本文對OPC技術做了詳細的分析,在OPC DA標準的基礎上,給出了一個OPC數(shù)據(jù)存取訪問服務器框架的設計方案,并介紹了實現(xiàn)的主要步驟。在設計
    發(fā)表于 07-22 17:27 ?17次下載

    OPC技術透析及服務器軟件開發(fā)

    本文探討了基于OPC中間件的現(xiàn)代控制系統(tǒng)信息集成解決方案,并闡述了OPC技術的核心思想和服務器開發(fā)模式,結合一種數(shù)據(jù)采集與控制卡,給出了
    發(fā)表于 05-23 15:41 ?0次下載
    <b class='flag-5'>OPC</b>技術透析及<b class='flag-5'>服務器</b>軟件開發(fā)

    基于OPC的數(shù)據(jù)訪問服務器開發(fā)

    基于OPC的數(shù)據(jù)訪問服務器開發(fā)一文以針對一種PCI總線CAN通信卡設計的 OPC 數(shù)據(jù)訪問服務器為編程實例,詳細介紹了OPC數(shù)據(jù)訪問
    發(fā)表于 07-18 16:39 ?35次下載
    基于<b class='flag-5'>OPC</b>的數(shù)據(jù)訪問<b class='flag-5'>服務器</b>開發(fā)

    信息集成與OPC服務器的開發(fā)

    本文探討了基于OPC中間件的現(xiàn)代控制系統(tǒng)信息集成解決方案,并闡述了OPC技術的核心思想和 服務器 開發(fā)模式,結合一種數(shù)據(jù)采集與控制卡,給出了
    發(fā)表于 07-22 16:43 ?34次下載
    信息集成與<b class='flag-5'>OPC</b><b class='flag-5'>服務器</b>的開發(fā)

    OPC DA服務器的設計與實現(xiàn)

    OPC服務器的功能就是與下位機進行數(shù)據(jù)的交換,其中包含了大量的通訊程序和數(shù)據(jù)存貯程序。然后提供標準的OPC接口,供其它軟件使用。程序標準化以后,其他的軟件商只需開發(fā)面對服務器的程序即可
    發(fā)表于 12-06 09:57 ?5551次閱讀
    <b class='flag-5'>OPC</b> DA<b class='flag-5'>服務器</b>的設計與<b class='flag-5'>實現(xiàn)</b>

    工業(yè)控制系統(tǒng)OPC服務器

    OPC代表OLE(對象鏈接和嵌入)過程控制OPC是最流行的數(shù)據(jù)連接標準,用于在控制器,設備,應用程序和其他基于服務器
    發(fā)表于 06-13 17:20 ?1467次閱讀
    工業(yè)<b class='flag-5'>控制系統(tǒng)</b>中<b class='flag-5'>OPC</b><b class='flag-5'>服務器</b>

    關于工業(yè)控制系統(tǒng)中的OPC服務器

    OPC代表OLE(對象鏈接和嵌入)過程控制。OPC是最流行的數(shù)據(jù)連接標準,用于在控制器,設備,應用程序和其他基于服務器
    發(fā)表于 09-30 17:44 ?1150次閱讀