技術頻道

      一種基于VB和InTouch 的通信軟件實現

      1、 前言
        本文是以筆者參與的某啤酒廠的監控系統實現的項目為背景。由于現場的PLC或單片機控制系統的資源、功能有限,不能長期保存數據

      ,人機界面差,因此一般采用工控機作為上位機,把現場數據通過數據采集站送入上位機,這樣組成一個測控系統。上位機豐富的資源可以對

      采集到的數據進行分析,存盤,運算、打印、報警并進行各種相應顯示。上位機形象的人機界面可使操作員更直觀,全面的了解現場的情況。

      采用Intouch、VB來實現上、下兩層的通信,簡單、明了。
        2、 系統結構
        筆者參與的監控系統呈兩層分布式體系結構:數據采集層和監控層。數據采集層主要采用數據通信標準接口;監控層屬于局域網,遵循局

      域網的協議標準。數采層進行數據的采集、處理將數據傳遞到上一層;監控層共享數采層傳來的數據。
        該系統的數采層由多臺測控裝置組成。這些測控裝置采用RS-485標準總線與數采管理站通信。在軟件方面采用VB來實現測控裝置

      數采程序,它主要完成上位機與測控裝置之間的數據通信和所采集數據的DDE(動態數據交換)轉換功能。
        在工控機上的人機界面則采用監控平臺軟件來實現。目前較為流行的監控平臺軟件有Heuristics公司的ONSPEC、Int

      ellution公司的FIX和Wonderare公司的InTouch等。InTouch監控軟件作為一個實時的人機界面實用程序

      生成器,可以產生在管理級別上的監控和數據采集程序。它具有開發周期短、可以生成復雜的、友好的交互式圖形界面,組態靈活的優點,是

      目前工業控制領域中簡便易用的“快速應用程序生成器”。但它必須采用DDE的數據交換方式與DDE服務器連接來獲得數據。此時用戶編

      制的運行于數采站上的VB應用程序充當DDE服務器,如圖一所示。將VB和Intouch結合起來,協同工作,可以發揮各自優點。
        3、 系統DDE實現
        該啤酒長系統在Windows環境下以動態數據交換機制實現系統的實時數據共享。如圖2所示:
        首先,數采層采集處理后的數據送到數采管理站,轉換成DDE型數據;然后,借助于NETDDE機制,數采管理站把實時數據送至工

      程師站。工程師站作為NT域控制器,再借助于NETDDE機制實現與其他各監視站之間的動態數據交換。由于各站之間建立了“熱連接”

      鏈路,作為服務器一方總是在數據變化時主動發送數據給客戶方。即當數采管理站采集的數據發生變化時自動反應到工程師站。在現場實時數

      據的傳送上,工程師站既作為數采管理站的客戶,又作為其它各監視站的服務器。

      系統的動態數據交換實現分為三個方面:
        ① 采管理站的DDE數據類型的數據產生。
        ② 監控層應用程序的DDE組態。
        ③ 構造NETDDE應用程序。
        3、1 用VB 編制DDE程序VB 是開發Windows應用程序的一種面向對象程序設計語言,他支持Windows環境下的DDE通信機制。VB提供了動態數據交換的Link Topic連接主題,Link Item連接項,Link Timeout連接等待時間和Linkmode(連接模式)四項屬性。在應用程序編制時,根據DDE原理,把應用程序的可執行文件名去掉EXE后綴,則成為DDE中的Topic。Linkmode有Manual手工,Notify通知,和Automatic自動三種方式。在這個系統中我們采用Automatic自動方式。數采管理站的巡測數采程序的流程圖如下:

        測控裝置采用RS-485接口標準,因此某一時刻只能有一個站發送數據,其余站只能接口。在該測控裝置的通信協議中,由主機以召喚方式向測控裝置發送送數命令和相應機號,只有與主機發送的機號一致的測控裝置才允許發送數據。
        此VB程序作為DDE服務器,在VB中只有窗體可以作為服務器,在程序的初始化部分應進行DDE設置,程序段如下:
        form1.linkmode=1
        form1.linktopic=form1
        在窗體上放置了mscomm控件用于控制串行端口傳輸和接受數據,為應用程序提供串行通信功能。
        Mscomm1.comport=2
        Mscomm1.settings='9600n81''設定該通信口的波特率、奇偶校驗、數據位、停止位
        Mscomm1.inputlen=0 '使用Input將使Mscomm控件讀取接收緩'沖區中全部的內容
        Mscomm1.Portopen
        窗體上的定時器控件timer1,用于定時兩秒,當定時到時,發送FE命令,要求測控裝置發送數據。其程序實現如下:
        mscomm1.output=″fe″+chr$13 '輸出FE命令
        mscomm1.output=″tank″ 'tank為機號
        當數據由測控裝置送到數采站時將觸發mscomm控件的oncomm事件,在此事件處理句柄中完成讀入數據的功能。
        Bufferstring=mscomm1.input '讀入緩沖區內容
        If Bufferstring<>'ff' then
        Text2.text= Bufferstring+text2.text
        這樣讀入的數據就顯示在Text2文本框中。
        3.2監控層應用程序的DDE組態
        監控層應用程序主要執行InTouch中的WonderViewer,而InTouch正是借助DDE與其它軟件聯合工作。
        InTouch是用于建立人機接口的一種軟件包。它包括WonderViewer和WonderMaker兩大部分。使用InTouch軟件只需建立一個標記名字典,再利用WonderMaker的圖形功能把被控對象形象的畫出來,在PC機上就可以把整個對象描繪出來。InTouch只需在標記名字典中指明標記名為DDE特性,同時指定應用程序的服務名和話題名,WonderViewer可自動執行獲取數據點的全部操作。
        InTouch既可以作為客戶又可以作為服務器。通過NETBIOS DDE的網絡接口,可使機制建立起3個層次,因此監控層應用程序的DDE組態分為兩大部分:
        ① 工程師站的DDE組態
        DDE用項名、主題名、應用程序名三個層次來標識客戶與服務器之間傳遞的數據單位,通常表示為:應用程序名|主題名!項名;對于客戶,應按三個層次去連接相應的數據。工程師站作為數采站的DDE客戶。在InTouch的標簽庫中,提供了DDE設置框,使得DDE組態簡便、易行。
        工程師站中的層次標識為:\\shucai\dde1|form1text2.text 數采站的節點,dde1為數采站上的VB應用程序名。
        ② 其它各監視站的DDE組態
        這主要是建立各監視站與工程師站的DDE 連接。此時工程師站作為DDE服務器,其它各監視站作為客戶從工程師站上取數據。建立DDE連接的過程與上述類似。
        4、 結論
        VB是一種優秀的面向對象程序設計語言,采用它編制Windows環境下的上位機串行通信軟件,程序實現簡單,減輕了軟件開發的工作。用InTouch監控程序軟件完成復雜的圖形截面,方便快捷。VB應用程序一方面作為DDE服務器同InTouch進行數據交換,另一方面通過Windows提供的串行通信設備驅動程序與低層的測控裝置進行串行通信。對于用戶只與InTouch友好人機界面打交道。實際運行證明該通信軟件可靠,操作方便。
        參考文獻
        1、 瞿坦,數據通信及網絡通信, 華中理工大學
        2、 張鑫,計算機散控制系統,水利電力出版社

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 美女毛片一区二区三区四区| 秋霞电影网一区二区三区| 无码人妻久久一区二区三区免费丨 | 黄桃AV无码免费一区二区三区| 亚洲字幕AV一区二区三区四区| 久久久久久人妻一区精品| 一区二区福利视频| 无码人妻一区二区三区免费视频| 国产电影一区二区| 色噜噜狠狠一区二区| 奇米精品视频一区二区三区| 97精品国产福利一区二区三区| 国产传媒一区二区三区呀| 波多野结衣一区视频在线| 精品一区高潮喷吹在线播放| 亚欧在线精品免费观看一区| 久久精品午夜一区二区福利| 色欲AV蜜臀一区二区三区| 一区二区三区四区免费视频| 亚洲一区免费观看| 国产福利微拍精品一区二区| 亚洲一区二区三区深夜天堂| 亚洲高清一区二区三区| 亚洲Av永久无码精品一区二区| 无码少妇A片一区二区三区| 国产成人欧美一区二区三区| 国产精品一区不卡| 福利视频一区二区牛牛| 国产福利电影一区二区三区久久久久成人精品综合 | 国产一区二区好的精华液| 人妻体内射精一区二区三四 | 亚州国产AV一区二区三区伊在| 日本一区二区三区日本免费| 国产免费私拍一区二区三区| 亚洲AⅤ无码一区二区三区在线| 久久国产精品免费一区二区三区| 国产麻豆精品一区二区三区v视界| 日本免费电影一区二区| 精品无人区一区二区三区在线| 麻豆国产在线不卡一区二区| 波多野结衣一区二区三区高清av |