日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

ABB
關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
CAIAC 2025
2025工業(yè)安全大會(huì)
OICT公益講堂
當(dāng)前位置:首頁 >> 案例 >> 案例首頁

案例頻道

基于OPC的工控系統(tǒng)報(bào)表自動(dòng)生成的實(shí)現(xiàn)
  • 企業(yè):《自動(dòng)化博覽》     領(lǐng)域:PLC /PAC/PCC/RTU     行業(yè):網(wǎng)絡(luò)通訊    
  • 點(diǎn)擊數(shù):2047     發(fā)布時(shí)間:2014-07-13 15:31:49
  • 分享到:

    摘要:針對(duì)工控系統(tǒng)報(bào)表生成問題,本文介紹了一種以VB、ACCESS數(shù)據(jù)庫及EXCEL電子表格為平臺(tái)進(jìn)行自動(dòng)報(bào)表系統(tǒng)開發(fā)的OPC客戶端解決方案。

    關(guān)鍵詞:OPC;VB;ACCESS;EXCEL;自動(dòng)報(bào)表;工控系統(tǒng)

    Abstract: In respects of the problems on generating the statistical tables and reports of industrial control system, this paper introduces a solution applied for the OPC Client which is developed by automatic generation system with the VB, ACCESS database and EXCELelectric .vvvvvvvKey words: OPC; VB;ACCESS; EXCEL; Automatic generation; Industrial control system

    1 引言

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

    OPC客戶端軟件的開發(fā)所應(yīng)用的核心技術(shù)就是OPC技術(shù)(O:OLE,對(duì)象鏈接和嵌入;P:process,過程;C:control,控制),OPC意為“在過程控制領(lǐng)域的對(duì)象鏈接和嵌入技術(shù)”,它是一個(gè)用于解決不同結(jié)構(gòu)的工控系統(tǒng)之間進(jìn)行數(shù)據(jù)交換的、世界通用的工業(yè)技術(shù)標(biāo)準(zhǔn),也是開發(fā)通用型報(bào)表系統(tǒng)的必要條件。

    2 系統(tǒng)開發(fā)

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

    2.1 程序設(shè)計(jì)

    2.1.1 工作流程設(shè)計(jì)

    本系統(tǒng)主要的任務(wù)就是周期性地從OPC服務(wù)器中讀取所需的在線工藝參數(shù),并定期存入后臺(tái)數(shù)據(jù)庫及報(bào)表模板中完成自動(dòng)采集、自動(dòng)生成報(bào)表的工作,因此系統(tǒng)的流程設(shè)計(jì)如圖1所示。

                       
                         圖1 “自動(dòng)報(bào)表系統(tǒng)”工作流程圖

    2.1.2 定義OPC對(duì)象及相關(guān)變量

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

    該部分關(guān)鍵的程序代碼:

    •  定義OPC服務(wù)器對(duì)象:Dim WithEvents myopcserver As OPCServer;
    •  定義OPC組對(duì)象:Dim Wi thEvents myopcgroup As OPCGroup;
    •  定義客戶端句柄數(shù)組:Dim clienth() As Long;
    •  定義服務(wù)器端句柄數(shù)組:Dim serverh() As Long;
    •  定義錯(cuò)誤句柄數(shù)組:Dim errors() As Long;
    •  定義標(biāo)簽數(shù)組:Dim itemids() As String;
    •  定義標(biāo)簽值數(shù)組:Dim values()。

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

    該部分關(guān)鍵的程序代碼:

     •  定義OPC服務(wù)器的程序ID:progid = "OPCServer.WinCC";
    •  生成新的OPC對(duì)象:Set myopcserver = New OPCServer;
     •  建立與OPC服務(wù)器的連接:myopc s e rve r.Conne c t progid。

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

     2.1.4 建立OPC組及OPC標(biāo)簽變量

     一旦與OPC服務(wù)器連接成功,即可建立OPC組對(duì)象并由組對(duì)象生成標(biāo)簽變量,該部分的關(guān)鍵代碼:

      •  建立OPC組對(duì)象:Set myopcgroup = myopcserver.OPCGroups.Add("ABC");
      •  給標(biāo)簽數(shù)組及客戶端句柄數(shù)組賦值:clienth(i) =i(i為順序編號(hào));itemids(i) =“xxx”(xxx為具體的標(biāo)簽名);
      •  建立OPC標(biāo)簽變量:myopcgroup.OPCItems.AddItems   m, itemids, clienth, serverh, errors (m為標(biāo)簽變量個(gè)數(shù))。

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

     2.1.5 讀取OPC變量值,存入數(shù)據(jù)庫及電子表格

     當(dāng)所有的OPC變量都建立成功之后便可開始OPC變量的訪問工作,根據(jù)需要本系統(tǒng)采用定時(shí)訪問方式,每隔一分鐘采集一次變量數(shù)據(jù),一份保存于ACCESS數(shù)據(jù)庫中用于歷史數(shù)據(jù)的查詢,另一份則根據(jù)當(dāng)前時(shí)間是否處于報(bào)表規(guī)定的記錄時(shí)間而確定是否直接寫入EXCEL電子表格中,生成這一報(bào)表記錄時(shí)間點(diǎn)的數(shù)據(jù)。為此,須事先設(shè)計(jì)好對(duì)應(yīng)的ACCESS數(shù)據(jù)庫結(jié)構(gòu)及EXCEL電子表格模板,為數(shù)據(jù)保存和報(bào)表記錄做好準(zhǔn)備。數(shù)據(jù)保存之后,系統(tǒng)將進(jìn)入下一個(gè)工作循環(huán)中。

      2.2 界面設(shè)計(jì)

     本系統(tǒng)的界面設(shè)計(jì)以簡(jiǎn)潔、友好、易學(xué)易用并能滿足生產(chǎn)需要為原則,按功能的劃分把界面設(shè)計(jì)為如圖2所示的單窗口、多頁面樣式。                  

                                
                                           圖2 “自動(dòng)報(bào)表系統(tǒng)”操作界面

     界面上共有三個(gè)選項(xiàng)卡如圖2所示:“報(bào)表查詢”用于打開、查詢?nèi)我馊掌诘脑诰€報(bào)表和報(bào)表數(shù)據(jù)歷史記錄,只要選擇好“日期”和“報(bào)表”兩項(xiàng)內(nèi)容,點(diǎn)擊“打開報(bào)表”按鈕即可打開相應(yīng)日期的EXCEL格式報(bào)表,點(diǎn)擊“生成報(bào)表”按鈕即可重新生成對(duì)應(yīng)日期的報(bào)表;“超標(biāo)記錄”用于查詢?nèi)我鈺r(shí)間段的所有被監(jiān)控參數(shù)的超標(biāo)情況,可查詢到超標(biāo)參數(shù)的工序名稱、參數(shù)名稱、參數(shù)位號(hào)、超標(biāo)開始時(shí)間、開始值、結(jié)束時(shí)間、結(jié)束值、總超標(biāo)時(shí)間及在超標(biāo)期間出現(xiàn)的最大值、最小值、最大正偏差、最大負(fù)偏差信息,選擇好“日期”和“工序”后點(diǎn)擊“確定”按鈕即可,點(diǎn)擊“導(dǎo)出EXCEL”按鈕則可將查詢結(jié)果導(dǎo)出到EXCEL電子表格文件中,供其他應(yīng)用;“報(bào)警記錄”用于對(duì)參數(shù)超標(biāo)狀態(tài)實(shí)時(shí)發(fā)出警示,僅有一個(gè)“刷新”按鈕,用于強(qiáng)制執(zhí)行超標(biāo)狀態(tài)的窗口更新操作。

      2.3 系統(tǒng)的啟動(dòng)與關(guān)閉

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

      3 結(jié)語

     本系統(tǒng)的開發(fā)巧妙地利用了OPC技術(shù)解決不同工控系統(tǒng)的數(shù)據(jù)通訊問題和報(bào)表的通用性問題,巧妙地利用EXCEL電子表格在報(bào)表制作方面的強(qiáng)大功能解決了復(fù)雜報(bào)表的需求問題,使系統(tǒng)具有通用性和靈活性。

     參考文獻(xiàn):
      [1] 蘇昆哲, 深入淺出西門子WinCC V6[M]. 北京: 北京航空航天大學(xué)出版社, 2004, 162 – 164, 221 – 225.

     作者簡(jiǎn)介
     李朝光(1970-),男,工程師,本科,現(xiàn)就職于廣西柳州鋼鐵股份有限公司焦化廠,主要從事自動(dòng)化系統(tǒng)維護(hù)管理方面的工作。

熱點(diǎn)新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 亚洲 日韩 色 图网站-亚洲 图片 另类 综合 小说-亚洲 无码 欧美 经典-亚洲 校园 春色 另类 图片-亚洲 校园 欧美 国产 另类-亚洲 在线 成 人色色 | 波多野结衣在线中文-波多野结衣在线影视免费观看-波多野结衣在线影视-波多野结衣在线一区二区-波多野结衣在线一区-波多野结衣在线网址 | www五月天,国产精品视频网站你懂得,精品国产你懂的在线观看,久久伊人成人,国产精品黄页网站在线播放免费,国产va在线 | 一个人看的www观看免费-一个人看的www高清在线观看-一个人看的www高清视频-一个人看的www高清免费资源-久久999-久久996热精品xxxx | 你懂的在线观看视频-你懂的日韩-你懂的国产精品-你懂的福利视频-夜夜操网-夜夜操天天爽 | 欧美成人精品动漫在线专区-欧美成人精品区综合A片-欧美成人精品三区综合A片-欧美成人精品一区二区综合A片-欧美成人另类-欧美成人猛片AAAAAAA | 日本b站一卡二不卡三卡四卡-日本a在线天堂-人与动性行为高清在线播放-人体自拍亚洲综合图区-avav456-avaiai114 | 7788理论片在线观看-7788av-777午夜精品免费播放-777奇米影视一区二区三区-蜜桃传媒在线-蜜桃成熟时1997在线看免费看 | 日韩在线黄色-日韩在线观看精品-日韩在线观-日韩在线高清视频-日韩在线不卡视频-日韩在线播放中文字幕 | 99久久中文字幕,五月天激激婷婷大综合丁香,欧美老女人性视频,精品午夜一区二区三区在线观看,99成人免费视频,2020国产精品永久在线观看 | 黑人性xxxⅹxxbbbbb-黑人性xxx-黑人同学征服教师麻麻-黑人双渗透-亚洲精品国产成人中文-亚洲精品国产成人99久久 | 五月婷六月婷婷,97九色,成年人国产,精品久久久久久久,久久久久久久国产精品电影,国产在线观看青草视频 | 欧美精品综合-欧美精品自拍-欧美精品专区免费观看-欧美精品在线一区二区三区-欧美精品在线一区-欧美精品在线视频观看 | 亚洲欧美日韩在线播放,国产成人综合久久,精品国产91,婷婷综合久久中文字幕蜜桃三电影,国产一区精品在线观看,福利一区三区 | 五月婷六月婷婷,97九色,成年人国产,精品久久久久久久,久久久久久久国产精品电影,国产在线观看青草视频 | 一区二区三区欧美日韩-一区二区三区欧美-一区二区三区免费在线视频-一区二区三区免费在线观看-久久精品店-久久精品第一页 | 日本在线一区二区三区-日本中出视频-日本中文不卡-日本中文视频-日本中文在线-日本中文在线播放 国产欧美日韩精品一区二区三区-国产欧美日韩精品一区二-国产欧美日韩精品高清二区综合区-国产欧美日韩精品第三区-天天舔天天操天天干-天天添天天干 | 人人狠狠综合久久亚洲,超大乳首授乳一区二区,五月天视频网,久久综合成人网,久草视频免费播放,漂亮的保姆4-bd国语在线观看 | 欧美在线观看一区,免费看日产一区二区三区,欧美一区二区三区在线,精品1区2区3区,亚洲国产一成人久久精品,久久国产精品最新一区 | 尤物tv-呦导航福利精品-永久在线视频-永久在线免费-欧美精品在线看-欧美精品在线观看视频 | 一道本在线,国产成人综合精品一区,亚洲v日韩v欧美在线观看,欧美精品国产综合久久,精品日本一区二区三区在线观看,久久精品一区二区三区不卡牛牛 | 日本成人一区,欧美日韩亚洲无线码在线观看,交换伦交,在线观看国产视频,日韩欧美视频一区,国产精品欧美一区二区三区不卡 | 一个人看的www观看免费-一个人看的www高清在线观看-一个人看的www高清视频-一个人看的www高清免费资源-久久999-久久996热精品xxxx | 免费色黄网站-免费人成在线看-免费人成在线观看网站视频-免费人成在线观看网站-伊人蕉久中文字幕无码专区-伊人蕉久影院 | 91精品国产综合久久久久-91精品国产综合久久久久久-91精品国产综合久久青草-91精品国产综合久久婷婷-91精品国产综合久久香蕉-91精品国产综合久久消防器材 | 欧美在线日韩-欧美在线区-欧美在线看欧美视频免费网站-欧美在线精品一区二区在线观看-www..com黄-vr专区日韩精品中文字幕 | 第一区免费在线观看-无码国产精品一区二区免费网曝-AV熟妇导航网-日韩欧美一区二区三区在线观看 -欧美乱人伦视频-啪啪视频一区 | 精品国产在线亚洲欧美-精品国产在线手机在线-精品国产在线国语视频-精品国产在线观看福利-亚洲色噜噜狠狠站欲八-亚洲色噜噜狠狠网站 | 久久久久久久久国产-久久久久久久久97-久久久久久久国产视频-久久久久久久国产精品影院-午夜精-午夜寂寞院 | 麻豆高潮AV久久久久久久-麻豆高清免费国产一区-麻豆国产13p-麻豆国产96在线日韩麻豆-麻豆国产AV尤物网站尤物-麻豆国产精品AV色拍综合 | 人人狠狠综合久久亚洲,超大乳首授乳一区二区,五月天视频网,久久综合成人网,久草视频免费播放,漂亮的保姆4-bd国语在线观看 | 免费黄色在线观看视频-免费黄色在线观看-免费黄色在线电影-免费黄色在线-成人精品一区二区三区电影-成人精品一区二区三区 | 国产黄色片在线播放-国产黄色片一级-国产黄色片网站-国产黄色片免费看-青草社-青草热视频 | 欧美日韩亚洲无线码在线观看,国产成人亚洲综合91精品555,欧美成人国产,国产成人青青热久免费精品,亚洲欧美日韩色图,国产三级网站在线观看 | 莜田优在线观看-尤物最新网址-尤物综合-尤物自拍-久久久久久网址-久久久久久网站 | 国产一区二区高清-国产一区二区福利久久-国产一区二区成人-国产一区二区不卡视频-亚洲高清网站-亚洲高清视频在线观看 | 亚洲色图网站-亚洲色图图片专区-亚洲色图图片区-亚洲色图图片-精品久久久中文字幕一区-精品久久久中文字幕二区 | 亚洲黄色网页-亚洲黄色三级视频-亚洲黄色片免费看-亚洲黄色免费在线观看-国产中文字幕免费观看-国产中文字幕乱码一区 | 莜田优在线观看-尤物最新网址-尤物综合-尤物自拍-久久久久久网址-久久久久久网站 | 亚洲日本中文字幕在线-亚洲日本中文字幕区-亚洲日本中文字幕-亚洲日本中文-免费jizz在在线播放国产-免费jizz在线播放视频 | 国产精品亚洲日韩欧美色窝窝-国产精品亚洲日韩欧美色窝窝色-国产精品亚洲色婷婷-国产精品亚洲色婷婷99久久精品-国产精品亚洲色婷婷久久99精品-国产精品亚洲色图在线观看 |