| 注冊| 產(chǎn)品展廳| 收藏該商鋪

行業(yè)產(chǎn)品

當前位置:
湖南嶸晟時代自動化科技有限公司>>技術(shù)文章>>遠程通信技術(shù)在計算機監(jiān)控系統(tǒng)中的應(yīng)用

遠程通信技術(shù)在計算機監(jiān)控系統(tǒng)中的應(yīng)用

閱讀:482        發(fā)布時間:2021-4-12

      遠程通信技術(shù)在計算機監(jiān)控系統(tǒng)中的應(yīng)用

在工業(yè)生產(chǎn)過程中,通常要求計算機控制系統(tǒng)完成數(shù)據(jù)的采集、遠程傳輸、處理及儲存等工作。然而,目前有些工業(yè)控制機系統(tǒng)或集散型計算機控制系統(tǒng)不具備遠程通信的功能。因此,對于遠在幾十公里以外的生產(chǎn)現(xiàn)場(如油田采油、集輸過程),難于達到領(lǐng)導管理層可視現(xiàn)場生產(chǎn)狀況進行決策的現(xiàn)代化生產(chǎn)水平。其主要原因有:①從生產(chǎn)現(xiàn)場鋪設(shè)電纜至信息管理中心,造價太高;②由于遠程通信涉及到上、下位機通信協(xié)議的設(shè)置、傳輸線路的連接及故障的檢測、實時數(shù)據(jù)文件的產(chǎn)生與傳送及保存、刪除等,要求計算機監(jiān)控系統(tǒng)管理軟件具有高可靠性和堅固性,否則在數(shù)據(jù)傳輸過程中主機易出故障而導致整個系統(tǒng)崩潰。

一、遠程通信的基本內(nèi)容

基于上述原因,本文利用調(diào)制解調(diào)器和電話線構(gòu)成撥號網(wǎng)絡(luò),以實現(xiàn)遠程通信功能的基本硬件條件(如圖1所示)。然而,在遠程數(shù)據(jù)傳送與處理過程中,應(yīng)該考慮到以下幾個方面:

圖1 上、下微機遠程通信示意圖

(1)下位機(生產(chǎn)現(xiàn)場的計算機)需定時產(chǎn)生1個檢測、控制系統(tǒng)動態(tài)參數(shù)的數(shù)據(jù)文本文件,并經(jīng)過一段時間(如30s)將用新產(chǎn)生的數(shù)據(jù)文件覆蓋舊的文件;

(2)遠程數(shù)據(jù)傳送軟件應(yīng)根據(jù)要求定時累加和保存下位機產(chǎn)生的數(shù)據(jù)文件,在確定傳輸成功后,刪除舊文件,以避免數(shù)據(jù)丟失、重疊或占用大量的存儲空間;

(3)上位機(廠部信息中心的計算機)與下位機都安裝調(diào)制解調(diào)器,通過調(diào)制解調(diào)器將累加的數(shù)據(jù)文件定時地從下位機上載至上位機。上位機是管理層局域網(wǎng)的1個服務(wù)器,裝有Windows NT Server網(wǎng)絡(luò)操作系統(tǒng);

(4)文件傳送到上位機時,能自動累加在上次傳送的文件之后,以供數(shù)據(jù)庫管理軟件讀取和處理;

(5)在文件傳輸過程中,能檢測傳送線路連接是否正常,并將檢測信息顯示在主窗體的界面上。如果出現(xiàn)問題必須能馬上斷開連接,準備累加文件和等待下一次撥號連接;

(6)文件傳輸軟件與系統(tǒng)監(jiān)控軟件同時在Windows95下運行。因此,在文件傳輸過程中,不能影響系統(tǒng)監(jiān)控程序的正常運行;

(7)上位機數(shù)據(jù)庫(遠程數(shù)據(jù)庫)應(yīng)能自動打開傳送文件,輸入并保存數(shù)據(jù)文件,以供工程師和管理人員隨時查閱;

(8)上位機管理系統(tǒng)應(yīng)能對遠程數(shù)據(jù)進行實時處理并維護數(shù)據(jù)庫各種功能的實現(xiàn)。

根據(jù)以上對文件傳輸軟件的要求,本文采用Visual Basic可視化編程語言進行程序設(shè)計,并利用VB中的ActiveX控件,通過撥號網(wǎng)絡(luò)與遠程主機實現(xiàn)連接,由FTP文件傳輸協(xié)議進行文件的上載。對上位機數(shù)據(jù)庫管理軟件,采用可視化編程語言Delphi4.0編寫,實現(xiàn)了遠程數(shù)據(jù)傳送及數(shù)據(jù)庫建立與管理技術(shù)的應(yīng)用。

二、文件傳輸軟件設(shè)計方案的確定

1、程序設(shè)計的基本思想

利用VB下的Internet Transfer控件進行文件傳輸。在程序中,通過撥號網(wǎng)絡(luò)服務(wù)撥號連接到上位機服務(wù)器并登錄網(wǎng)絡(luò)。在上位機的Windows NT操作系統(tǒng)中安裝FTP網(wǎng)絡(luò)服務(wù)器程序來接收下位機的FTP服務(wù)請求,由下位機控制上載整個文件,文件的傳送是在相關(guān)的FTP協(xié)議控制下實現(xiàn)的,安全性、準確性比較高。用FTP的SEND命令,當文件傳送到服務(wù)器時會自動累加到文件結(jié)尾處。因此,程序設(shè)計的基本思路是:

(1)利用VB的集成開發(fā)環(huán)境與其豐富的“可視化”控件完成應(yīng)用程序中Windows風格的界面;

(2)利用Mscomm控件進行撥號連接;

(3)利用Internet Transfer控件進行文件傳輸;

(4)定時傳送、定時累加文件的功能用VB的定時器Timer控件實現(xiàn)。

2、建立FTP文件傳輸協(xié)議的連接

在使用FTP協(xié)議時,首先要建立起控制連接。這就要用到服務(wù)器的*端口號21,客戶控制進程在本地申請得到1個隨機分配的本地端口,用此端口號就可以和服務(wù)器的*端口號21建立一個相關(guān)(一個相關(guān)包括5項內(nèi)容:協(xié)議、本地地址、本地端口、遠地地址、遠地端口)。這樣就建立了控制連接。由于建立數(shù)據(jù)連接要由服務(wù)器提出申請,但是在控制連接的條件下客戶機發(fā)出數(shù)據(jù)請求的命令時服務(wù)器才會發(fā)出這個申請。服務(wù)器收到來自客戶機控制進程的數(shù)據(jù)請求命令后,首先生成1個傳輸子程序。傳輸子程序再去申請1個端口號形成自己的半相關(guān),這個端口號一般使用保留斷口號20。此外,因為還需要客戶機的半相關(guān)才能形成一個相關(guān),而客戶機的半相關(guān)還是服務(wù)器傳輸進程要申請建立數(shù)據(jù)連接的對象。這個半相關(guān)是從客戶控制進程那里得來的。這是由于服務(wù)器數(shù)據(jù)傳輸子程序已經(jīng)申請了1個新端口,客戶機傳輸進程就不需要申請新的端口了。服務(wù)器傳輸進程就利用由控制進程轉(zhuǎn)過來的客戶地址和端口建立起一個相關(guān),從而具備了向客戶機申請數(shù)據(jù)連接的條件。因此,客戶機的“協(xié)議、地址、端口號”這一半相關(guān),分別和服務(wù)器的控制端口、傳輸形成的二個半相關(guān)成了二個*不同的相關(guān),用以建立控制連接和數(shù)據(jù)連接。這個過程和相關(guān)的形成如圖2所示。

圖2 FTP二個連接及二個半相關(guān)

三、遠程文件傳輸程序的設(shè)計

1、創(chuàng)建應(yīng)用程序的窗體

窗體是VB應(yīng)用程序的1個基本平臺,幾乎所有的控件都要添加在窗體上,而大多數(shù)的應(yīng)用程序也是從窗體開始的。本程序由3個窗體組成:主窗體(mainform)、屬性設(shè)置窗體(frmproperties)和傳送過程窗體(frmcancel)。在創(chuàng)建VB的新工程時,系統(tǒng)自動在工程中添加1個窗體Form1。改變Form1的“名稱”屬性為“mainform”,將它作為程序的主窗體。利用窗體編輯器和屬性編輯器對窗體的屬性進行更改以確定窗體的狀態(tài)與行為。

為實現(xiàn)應(yīng)用程序的各種功能,要在窗體上添加各種控件。主窗體如圖3所示。

圖3 主窗體界面

添加的主要控件有:SSTab控件:命令按鈕控件(CommandButton)、文本框控件(TextBox)、選擇鈕控件(OptionButton)、狀態(tài)條控件(StatusBar)、定時器控件(Timer)、串行通信控件(Mscomm)、網(wǎng)絡(luò)傳輸控件(Internet Transfer)。

傳輸過程窗體較簡單,只有1個文本控件來顯示提示,還有1個用來中斷本次傳輸過程的按鈕。

2、程序中主要控件的使用

(1)定時器的應(yīng)用

每個定時器都必須依附在窗體上,但是它在運行時是不可見的。定時器最主要的二個屬性是Enabled和Interval。在“遠程文件傳輸程序”中,由于要完成“自動文件傳輸”的功能,總共用了6個定時器。它們在程序中的作用如下:

定時器StandardTimer被設(shè)置成1個標準的計時器,Interval屬性設(shè)置為60000ms,即標準的1min。由于定時器的時間間隔最多為65535ms,而程序中文件的累加、自動撥號、自動登錄傳送等功能均在分鐘級以上,所以在StandardTimer的Timer事件中再設(shè)置1個分鐘計數(shù)器——全局變量Minutes。每次StandardTimer產(chǎn)生Timer事件時,處理Minutes自加,并根據(jù)要求啟動文件的累加、自動撥號、自動登錄傳送等定時開始的工作。

(2)Mscomm控件

Mscomm控件提供了一系列標準通信命令的使用界面。使用它可以建立與串行端口的連接,通過串行端口連接到其它通信設(shè)備(例如調(diào)制解調(diào)器),發(fā)出命令,交換數(shù)據(jù),并監(jiān)視和響應(yīng)串行連接中發(fā)生的事件和錯誤。利用Mscomm控件控制調(diào)制解調(diào)器撥號連接上位機進行通信。

正確地設(shè)置屬性之后,編寫OnComm事件的處理代碼是至關(guān)重要的。CommEvent屬性返回最近發(fā)生的通信事件和錯誤的代碼值。依據(jù)不同的CommEvent屬性值進行不同的處理。主要的處理如下:

  • 當發(fā)生錯誤時,無論是手動還是自動傳送狀態(tài),都要進行以下幾步操作:①顯示錯誤信息;②斷開Internet控件的FTP連接(Intel.Close);③向端口輸出掛線命令“ATH0”(Mscomm1.OutPut=“ATH0”);④設(shè)PortOpen屬性為False,關(guān)閉端口(Mscomm1.PortOpen=“False”);⑤等待下一次的撥號。

  • 當自動撥號成功連接時(在接收的字符中檢測到連接成功的回報碼),啟動自動傳送定時器AutoSendTimer,準備建立網(wǎng)絡(luò)的FTP連接。

(3)Internet Transfer控件

Internet Transfer控件支持超文本傳輸協(xié)議(HTTP)和文件傳輸協(xié)議(FTP),它們是Internet網(wǎng)上使用二種協(xié)議。使用HTTP協(xié)議,可以連接信息網(wǎng)(World Wide Web)服務(wù)器,以檢索HTML文檔。使用FTP協(xié)議可以在FTP服務(wù)器上登錄,以下載和加載文件。在此,利用文件傳輸協(xié)議FTP 來上載文件,并完成以下幾方面的工作:①設(shè)置控件的屬性;②在程序中用Execute方法來執(zhí)行對遠程服務(wù)器的請求;③在StateChanged事件中,處理連接中的狀態(tài)和錯誤,當返回值為12時,說明文件上載成功,在自動和手動傳送二種不同情況下,各自進行不同的處理,也存在相同的任務(wù),如刪除下位機上用于傳送的舊文件,準備累加新的數(shù)據(jù)文件;關(guān)閉FTP文件服務(wù)的連接和串行接口。

3、遠程文件傳輸軟件的主要功能

(1)該軟件在Windows95下,與系統(tǒng)監(jiān)控軟件同時運行,定時自動撥號連接和自動傳送文件。

(2)可進行自動和手動二種方式的文件傳輸。在數(shù)據(jù)文件的傳送過程中,從主窗體上可顯示狀態(tài)信息;

(3)單擊主窗體的“端口設(shè)置”按鈕會彈出“屬性”窗體,用戶可以對串行端口的參數(shù)進行設(shè)置;

(4)可按用戶的要求定時進行數(shù)據(jù)文件的累加和傳送;

(5)主窗體上,用戶可以對如下內(nèi)容進行輸入設(shè)置,即:①自動和手動的選擇;②服務(wù)器IP地址;③被傳送的文件路徑;④傳送時間間隔(用1個全局變量來保存)

(6)對上述用戶的設(shè)置(包括對串行端口的設(shè)置),每當用戶重新設(shè)置時,程序都用注冊表操作函數(shù)SaveSetting將它們保存在Windows操作系統(tǒng)的注冊表中。在下一次使用應(yīng)用程序時,主窗體載入引發(fā)的Form_load事件中,用注冊表操作函數(shù)GetSetting將存儲的值取回,恢復用戶上次結(jié)束應(yīng)用程序前的設(shè)置值。

四、Delphi數(shù)據(jù)庫應(yīng)用程序的設(shè)計

利用Delphi的客戶/服務(wù)器功能,可以在本地數(shù)據(jù)庫上或遠程數(shù)據(jù)庫服務(wù)器上開發(fā)客戶/服務(wù)器模式的應(yīng)用程序。Delphi的一個強有力的功能是可以將基于本地桌面數(shù)據(jù)庫系統(tǒng)的應(yīng)用程序很容易地修改成客戶/服務(wù)器模式的應(yīng)用。1個Delphi數(shù)據(jù)庫應(yīng)用程序訪問的是本地數(shù)據(jù)庫還是遠程SQL數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)庫,這對于最終用戶是*透明的,即數(shù)據(jù)庫的物理位置對最終用戶是透明的。當數(shù)據(jù)庫的物理位置發(fā)生變化時,用戶界面不必隨之變化。

1、遠程數(shù)據(jù)庫的程序設(shè)計

程序要求建立服務(wù)器端數(shù)據(jù)庫,自動輸入現(xiàn)場上傳的數(shù)據(jù),實現(xiàn)數(shù)據(jù)的處理、保存、修改及查詢功能。程序調(diào)用Delphi4.0中的可視組件,并使用Object Pascal編寫程序代碼。

程序分為3個模塊:程序主窗體、數(shù)據(jù)的自動插入及文件刪除和數(shù)據(jù)查詢。主窗體(mainform)起到樞紐的作用,既可以觀察數(shù)據(jù)庫的狀態(tài),又可以調(diào)用另2個模塊。數(shù)據(jù)的自動輸入及文件刪除模塊(form3)為最主要的模塊,它實現(xiàn)了文本文件的自動打開和輸入、多組數(shù)據(jù)的輸入、文本文件的刪除和數(shù)據(jù)庫的編輯與儲存。查詢模塊(Form1)提供了查詢功能,在編輯框內(nèi)輸入格式的日期就可以顯示該時間所存儲的數(shù)據(jù)。程序流程圖如圖4所示。

圖4 遠程數(shù)據(jù)庫程序框圖

2、數(shù)據(jù)庫應(yīng)用程序主窗體

程序的主窗體實現(xiàn)數(shù)據(jù)庫的顯示以及調(diào)用數(shù)據(jù)輸入和查詢模塊。它是由3個TSpeedButton、TDatasource、TTable和TDBGrid組成,如圖5所示。

圖5 數(shù)據(jù)庫應(yīng)用程序主窗體

3、讀入文本文件中的數(shù)據(jù)及舊文件的刪除

為了實現(xiàn)對文本文件中數(shù)據(jù)的讀入功能,使用Dialogs標簽頁中的TOpendialog組件,并設(shè)置它的默認目錄為C:\bishe。同時,在窗體中放上2個TMemo組件和幾個TSpeedButton組件,把TMemo的屬性“lines”設(shè)置為空。

(1)數(shù)據(jù)的插入、修改及刪除

在窗體上放上TDBNavigator及19個TDBEdit控件,并設(shè)置TDBNavigator和TDBEidt的Datasource屬性為MainForm.Datasourcel,設(shè)置TDBEidt的DataField屬性為相應(yīng)的字段名。其功能實現(xiàn)如圖6所示。

圖6 數(shù)據(jù)讀入、保存及文件刪除示意圖

(2)查詢功能的實現(xiàn)

由于數(shù)據(jù)庫預(yù)設(shè)的主鍵為“時間”,所以,通過輸入對比主鍵(時間)的值,聯(lián)合使用Findkey和Gotonearest方法,可以實現(xiàn)查詢功能。程序運行過程如圖7所示。

圖7 數(shù)據(jù)查詢功能示意圖

(3)程序的擴充修改

首先,在Delphi的Object Inspector中打開Bishe工程。修改所有Database Name、Table Name屬性為空,且Active屬性為false。然后,打開Database Desktop,打開名為Bishe的表格。使用Restructure修改表格,添加字段名、數(shù)據(jù)類型、數(shù)據(jù)長度。存儲后退出。

在Form1和Form3中添加相應(yīng)數(shù)目的TDBEidt,并仿照原來的屬性修改,同時,修改所有Database Name的屬性為DefaultDD,Table Name屬性為Bishe,且Active屬性為true。在Form3的原代碼中添入代碼:DBEidti.text=Memol.lines[1];

五、結(jié)束語

在工業(yè)生產(chǎn)過程中,對于生產(chǎn)現(xiàn)場與管理層之間相距較遠的情況,遠程數(shù)據(jù)傳送技術(shù)的應(yīng)用具有十分重要的意義。本文對上、下位機進行相應(yīng)參數(shù)的設(shè)定并配置調(diào)制解調(diào)器,利用電話線構(gòu)成計算機遠程自動撥號網(wǎng)絡(luò)。采用VB語言編制傳輸軟件,實現(xiàn)了遠程數(shù)據(jù)傳送。上位機采用DELPHI4.0語言編程,數(shù)據(jù)庫采用PARADOX格式,具有可修改、可擴充功能。該軟件實現(xiàn)了文本文件中的多組數(shù)據(jù)自動讀入、數(shù)據(jù)格式化、數(shù)據(jù)自動寫入數(shù)據(jù)庫的功能,并可對數(shù)據(jù)庫中的數(shù)據(jù)自動查詢以及對舊文本文件進行刪除。由于考慮到現(xiàn)場的實際應(yīng)用情況,該軟件具有較高的可靠性和堅固性。本文將其應(yīng)用在油田聯(lián)合站計算機監(jiān)控系統(tǒng)中,將現(xiàn)場生產(chǎn)過程的檢測數(shù)據(jù)及時地上報管理層,使廠部領(lǐng)導迅速掌握生產(chǎn)情況并進行合理的決策,為實現(xiàn)油田生產(chǎn)自動化管理做了必要的準備。

該軟件可適用于奔騰以上的PC機及服務(wù)器,操作系統(tǒng)為Windows95/98/NT的環(huán)境。

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復您~
二維碼 意見反饋
在線留言