999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OPC的工控系統報表自動生成的實現

2014-05-29 09:40:10廣西柳州鋼鐵股份有限公司焦化廠李朝光
自動化博覽 2014年5期
關鍵詞:定義系統

廣西柳州鋼鐵股份有限公司焦化廠 李朝光

1 引言

目前國內外常見的PLC、DCS系統其在線監控軟件都存在一個普遍性的缺陷,即監控功能強大而報表生成功能弱小,無法滿足各類工業企業在報表方面的特殊要求,比如,各種結構復雜的表頭、表體,數據查詢、統計、備份、打印、交接班記事、正點或非正點時間記錄等要求,因此必須開發專門的報表系統軟件解決這一問題。另一方面,面對不同廠家、不同軟硬件結構的PLC、DCS系統,由于相互之間互不兼容,也需要找到一種普遍適用的報表解決方案。針對這些問題,本文以西門子PLC系統的在線報表開發為例,介紹一種采用VB+ACCESS數據庫+EXCEL電子表格為平臺進行在線自動報表開發的OPC客戶端解決方案。

OPC客戶端軟件的開發所應用的核心技術就是OPC技術(O:OLE,對象鏈接和嵌入;P:process,過程;C:control,控制),OPC意為“在過程控制領域的對象鏈接和嵌入技術”,它是一個用于解決不同結構的工控系統之間進行數據交換的、世界通用的工業技術標準,也是開發通用型報表系統的必要條件。

2 系統開發

作為OPC客戶端,本系統的運行需要OPC服務器在后臺的支持,而OPC服務器實際上是一種軟件,它既可以獨立存在也可以是與監控軟件集成在一起。西門子PLC系統提供的OPC服務器就是以組件形式集成在其上位機監控軟件WinCC(WINDOWS CONTROL CENTER,視窗控制中心)中,并隨著WinCC的安裝、運行而自動安裝、運行,因此系統開發時不需要對OPC服務器做任何操作,只需與OPC服務器建立通訊連接即可,以下為系統開發的關鍵技術。

2.1 程序設計

2.1.1 工作流程設計

本系統主要的任務就是周期性地從OPC服務器中讀取所需的在線工藝參數,并定期存入后臺數據庫及報表模板中完成自動采集、自動生成報表的工作,因此系統的流程設計如圖1所示。

圖1 “自動報表系統”工作流程圖

2.1.2 定義OPC對象及相關變量

在VB編程中,為了定義OPC對象首先必須在所建工程中引用OPC控件,具體操作是在打開工程進入VB編程窗口后,通過“工程”→“引用”菜單將西門子提供的Siemens OPC DAAutomation 2.0控件加入即可。OPC控件引用之后即可定義與OPC客戶端相關的各種OPC對象全局變量,包括OPC服務器對象OPCServer、OPC組對象OPCGroup、客戶端句柄數組clienth()、服務器端句柄數組serverh()、錯誤句柄數組errors()、標簽數組itemids()、標簽值數組values()這幾個關鍵的全局變量,其中,標簽值數組values()必須設為變體型Variant數據類型。

該部分關鍵的程序代碼:

? 定義OPC服務器對象:Dim WithEvents myopcserver As OPCServer;

學生通過平臺提出問題,教師不能每時每刻在線回答,否則工作量太大,因此互動可能會有延遲性,這也需要網教平臺在這方面能更智能化,教師把各種可能出現的問題盡可能多的先設計好,這樣平臺就可以像機器人一樣智能回答學生提出的問題。

? 定義OPC組對象:Dim WithEvents myopcgroup As OPCGroup;

? 定義客戶端句柄數組:Dim clienth() As Long;

? 定義服務器端句柄數組:Dim serverh() As Long;

? 定義錯誤句柄數組:Dim errors() As Long;

? 定義標簽數組:Dim itemids() As String;

? 定義標簽值數組:Dim values()。

2.1.3 建立與OPC服務器的連接

在相關對象與全局變量定義之后即可建立與OPC服務器的通訊連接,這一步的關鍵是必須首先獲得所連接OPC服務器的“程序ID(progid)”及OPC服務器所在計算機的“節點名稱(Node)”,這些信息可從PLC系統生產廠家的OPC服務器的技術說明中獲得。對西門子而言,其OPC服務器的程序ID為“OPCServer.WinCC”,而OPC服務器的節點名稱其實就是運行OPC服務器軟件所在的計算機名稱,建立連接時如果客戶端運行所在的計算機就是服務器,那么節點名稱可以省略。

該部分關鍵的程序代碼:

? 定義OPC服務器的程序ID:progid = "OPCServer.WinCC";

? 生成新的OPC對象:Set myopcserver = New OPCServer;

? 建立與OPC服務器的連接:myopcserver.Connect progid。

執行連接指令之后,連接過程是否成功需要進行狀態判斷,可利用OPC服務器的運行狀態(ServerState)屬性來進行判斷,如果ServerState值等于“1”則表示OPC正在運行并且連接成功,其它值則表示連接失敗,需要再次進行連接操作直到成功為止,否則后續工作將無法進行。

2.1.4 建立OPC組及OPC標簽變量

一旦與OPC服務器連接成功,即可建立OPC組對象并由組對象生成標簽變量,該部分的關鍵代碼:

? 建立OPC組對象:Set myopcgroup = myopcserver.OPCGroups.Add("ABC");

? 給標簽數組及客戶端句柄數組賦值:clienth(i) =i(i為順序編號);itemids(i) =“xxx”(xxx為具體的標簽名);

? 建立OPC標簽變量:myopcgroup.OPCItems.AddItems m, itemids, clienth, serverh, errors (m為標簽變量個數)。

該指令為一次性成批建立OPC變量的指令,執行之后,所有的標簽變量是否全部建立成功需要逐一進行判斷,判斷的依據是執行該指令后生成的錯誤句柄即errors()數組的返回值,若成功建立第i個變量則errors(i)的值為零,否則為非零。在建立標簽指令執行之后需要對每一個變量進行判斷,確保所有變量都建立成功,如發現存在失敗,須終止程序運行并進行排查,直到全部成功為止方可進行后續工作。

2.1.5 讀取OPC變量值,存入數據庫及電子表格

當所有的OPC變量都建立成功之后便可開始OPC變量的訪問工作,根據需要本系統采用定時訪問方式,每隔一分鐘采集一次變量數據,一份保存于ACCESS數據庫中用于歷史數據的查詢,另一份則根據當前時間是否處于報表規定的記錄時間而確定是否直接寫入EXCEL電子表格中,生成這一報表記錄時間點的數據。為此,須事先設計好對應的ACCESS數據庫結構及EXCEL電子表格模板,為數據保存和報表記錄做好準備。數據保存之后,系統將進入下一個工作循環中。

2.2 界面設計

本系統的界面設計以簡潔、友好、易學易用并能滿足生產需要為原則,按功能的劃分把界面設計為如圖2所示的單窗口、多頁面樣式。

圖2 “自動報表系統”操作界面

界面上共有三個選項卡如圖2所示:“報表查詢”用于打開、查詢任意日期的在線報表和報表數據歷史記錄,只要選擇好“日期”和“報表”兩項內容,點擊“打開報表”按鈕即可打開相應日期的EXCEL格式報表,點擊“生成報表”按鈕即可重新生成對應日期的報表;“超標記錄”用于查詢任意時間段的所有被監控參數的超標情況,可查詢到超標參數的工序名稱、參數名稱、參數位號、超標開始時間、開始值、結束時間、結束值、總超標時間及在超標期間出現的最大值、最小值、最大正偏差、最大負偏差信息,選擇好“日期”和“工序”后點擊“確定”按鈕即可,點擊“導出EXCEL”按鈕則可將查詢結果導出到EXCEL電子表格文件中,供其他應用;“報警記錄”用于對參數超標狀態實時發出警示,僅有一個“刷新”按鈕,用于強制執行超標狀態的窗口更新操作。

2.3 系統的啟動與關閉

本報表系統是一個獨立于工控系統之外的客戶端軟件,它的啟動與關閉的時機和方式問題也是需要考慮的重要問題,最佳的啟停方式應該是與OPC服務器的啟停實現同步。因此,有兩種解決方法:第一種是通過設置監控軟件啟動時的附加任務來實現,如西門子的WinCC即可通過此方式實現;第二種是對那些無附加啟動任務功能的監控軟件而言,可通過設置操作系統的自動啟動任務實現報表系統的自動啟動。對于關閉的問題則相當簡單,只需在OPC服務器關閉時所觸發的“服務器關閉(ServerShutDown)”事件中添加一條程序關閉指令,即可實現與OPC服務器的同步關閉操作。

3 結語

本系統的開發巧妙地利用了OPC技術解決不同工控系統的數據通訊問題和報表的通用性問題,巧妙地利用EXCEL電子表格在報表制作方面的強大功能解決了復雜報表的需求問題,使系統具有通用性和靈活性。

[1] 蘇昆哲, 深入淺出西門子WinCC V6[M]. 北京: 北京航空航天大學出版社,2004, 162 – 164, 221 – 225.

猜你喜歡
定義系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
定義“風格”
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 亚洲精品第一在线观看视频| 国产综合在线观看视频| 国产a v无码专区亚洲av| 日韩福利视频导航| 米奇精品一区二区三区| 日本少妇又色又爽又高潮| 深爱婷婷激情网| 伊人久久久久久久| 91精品国产综合久久香蕉922| 日韩在线第三页| 欧美啪啪精品| 国产精品黄色片| 亚洲精品天堂自在久久77| 日本国产精品| 国产精品无码久久久久AV| 久久亚洲美女精品国产精品| 欧美高清国产| 久久不卡国产精品无码| 亚洲美女高潮久久久久久久| 亚洲性日韩精品一区二区| 精品久久久久久久久久久| 亚洲欧美日韩综合二区三区| 亚洲精品无码久久久久苍井空| 国内毛片视频| 亚洲日韩精品无码专区97| 亚洲第一在线播放| 亚洲综合在线最大成人| 在线精品亚洲一区二区古装| 97人妻精品专区久久久久| 亚洲午夜久久久精品电影院| 中文成人无码国产亚洲| 亚洲码在线中文在线观看| 波多野结衣久久高清免费| 看你懂的巨臀中文字幕一区二区 | 深爱婷婷激情网| 人妻无码AⅤ中文字| 91最新精品视频发布页| 久久午夜影院| 青青草原国产一区二区| 久久久精品国产亚洲AV日韩| 少妇被粗大的猛烈进出免费视频| 国产麻豆va精品视频| 国产成人精品男人的天堂下载 | 国产91小视频在线观看| 无码丝袜人妻| 中文国产成人精品久久| 免费在线不卡视频| 日本一区中文字幕最新在线| 91视频日本| 午夜国产精品视频| 免费观看亚洲人成网站| 最新国产网站| 在线免费无码视频| 国产精品私拍在线爆乳| 天堂网亚洲系列亚洲系列| 日本AⅤ精品一区二区三区日| 国产理论最新国产精品视频| 在线无码av一区二区三区| 日本国产精品一区久久久| 91视频99| 亚洲一区二区三区国产精华液| 国产在线欧美| 国产黄色片在线看| 久久黄色视频影| 成人欧美日韩| 99热这里只有精品免费国产| 中文字幕在线欧美| 伊人成人在线| 老司机午夜精品网站在线观看| 九九热精品在线视频| 成人中文在线| 国产一级α片| 无码福利日韩神码福利片| 免费日韩在线视频| 中文字幕在线永久在线视频2020| 制服丝袜一区| 99视频国产精品| 亚洲精品国产综合99| 亚洲AV无码久久天堂| 狠狠色丁香婷婷综合| 国产亚洲欧美在线中文bt天堂| 免费国产小视频在线观看|