1 引言
控製係統是集計算機技術、控製技術、網絡技術為一體的產品,具有控製功能強、操cao作zuo簡jian便bian和he可ke靠kao性xing高gao等deng特te點dian,它ta可ke以yi方fang便bian地di用yong於yu工gong業ye裝zhuang置zhi的de生sheng產chan控kong製zhi和he經jing營ying管guan理li。結jie合he網wang絡luo技ji術shu的de發fa展zhan,各ge種zhong先xian進jin的de技ji術shu不bu斷duan湧yong現xian,例li如ru遠yuan程cheng控kong製zhi、遠程製造等。本文以實驗室遠程控製技術為基礎應用於工業現場,設計了一種基於網絡的工業遠程控製係統。
2 係統構成框圖
本工業遠程控製係統的總體框圖如1所示。
圖1 係統框圖
3 遠程控製網絡結構的具體實現
3.1 現場控製設備
本文的設備層主要包括:THJ-2型高級過程控製係統、SIEMENS變頻器、智能數顯表、各種傳感器、SIEMENS PLC S7-200以及智能采集模塊等。在這些設備中SIEMENS PLC S7-200充當下位機作為控製器,它是現場設備層與現場控製計算機層的橋梁。SIEMENS PLC S7-200通過PC/PPI電纜與工控機的RS-485相連。S7-200 CPU將一個微處理器、一個集成電源和數字量I/O點集成在一個緊湊的封裝中,從而形成了一個功能強大的微型PLC,當下載程序後,S7-200就可以按照邏輯關係控製I/O設備從而實現應用要求。還可利用多種類型的擴展模塊來完善其CPU的功能。該係統中膨化罐的溫度、重量、壓力均用模擬量輸入/輸出模塊EM235來控製。
3.2 現場控製計算機
本係統的現場控製計算機使用的是研華工控機,在硬件方麵它本身帶有RS-485接口,同時支持ISA、PCI類型的數據采集板卡,很方便就能與現場設備連接。本機在軟件方麵裝有設備專用的編程軟件,進行開發、編輯和控製自己的應用程序來控製可編程控製器。例如STEP 7-Micro/WIN編程軟件來編輯應用程序,控製S7-200數字量/模擬量輸入輸出控製,還裝有組態軟件-MCGS 6.0網絡版完成控製畫麵以及SQL Server 2000完成數據存儲。
1、工業控製計算機與THJ-2高級型過程控製裝置的通訊
本實驗裝置與工業控製計算機的通訊采用RS485串口通訊協議,通過在工控機上安裝RS232/485轉換板卡把工控機RS232通訊協議下的信號轉換成RS485通訊協議下的信號,利用儀表控製台側部的RS485串行接口同所有儀表進行通訊。采用二線製雙絞線進行通訊。
工控機上裝有MCGS組態軟件,在組態軟件的設備窗口中,在設備工具箱中加入AI係列智能儀表的驅動程序,首先雙擊設備工具箱中的通用串口設備,然後再雙擊不同型號的AI係(xi)列(lie)智(zhi)能(neng)儀(yi)表(biao)驅(qu)動(dong),使(shi)它(ta)們(men)掛(gua)接(jie)在(zai)通(tong)用(yong)串(chuan)口(kou)設(she)備(bei)下(xia),通(tong)用(yong)串(chuan)口(kou)設(she)備(bei)的(de)參(can)數(shu)設(she)置(zhi)應(ying)當(dang)和(he)智(zhi)能(neng)儀(yi)表(biao)的(de)參(can)數(shu)設(she)置(zhi)相(xiang)一(yi)致(zhi),包(bao)括(kuo)最(zui)小(xiao)采(cai)集(ji)周(zhou)期(qi),通(tong)訊(xun)波(bo)特(te)率(lv)等(deng),通(tong)用(yong)串(chuan)口(kou)設(she)備(bei)的(de)參(can)數(shu)設(she)置(zhi)應(ying)當(dang)和(he)智(zhi)能(neng)儀(yi)表(biao)的(de)參(can)數(shu)設(she)置(zhi)相(xiang)一(yi)致(zhi),包(bao)括(kuo)最(zui)小(xiao)采(cai)集(ji)周(zhou)期(qi),通(tong)訊(xun)波(bo)特(te)率(lv)等(deng)。
2、數據庫服務器
zaixiandaihuadegongyeshengchanxianchang,youyudaliangshiyonggezhongleixingdekongzhishebei,yinci,tongchanghuichanshengdaliangdeshengchanshuju。zhejiuyaoqiugouchengkongzhixitonghexindezutairuanjianjubeiqiangdadeshujuchulinengli,congeryouxiao、合理地將這些生產數據加以處理,一方麵,為現場操作員提供實時、可靠的圖象、曲線等,以反映現場運行的狀況並方便其進行相應的控製操作;同時,也需要為企業的管理人員提供各種類型的數據報表,為企業管理提供切實可靠的第一手資料。通過MCGS組態軟件可以完成數據的初步處理,該組態軟件將數據處理過程分為三個階段,即:數據前處理、實時數據處理以及數據後處理,以滿足各種類型的需要,如下圖2所示:
圖2 數據處理流程
1) 數據前處理。在實際應用中,從硬件設備中輸入或輸出的數據一般是特定範圍內的電壓、電流等物理意義的值,通常要對這些數據進行相應的轉換,才能得到真正具有實際意義的工程數據。例如,從AD通道采集進來的數據一般都為電壓mV值,需要進行量程轉換或查表、計算等處理才能得到所需的工程物理量。MCGS係統對設備采集通道的數據可以進行八種形式的數據處理。各種處理可單獨進行也可組合進行。MCGS的數據前處理與設備是緊密相關的,在MCGS設備窗口下,打開設備構件,設置其數據處理屬性頁即可進行MCGS的數據前處理組態。
2) 實時數據處理。MCGS缺省使用Microsoft Accessshujukuzuoweilishicunpanshujuku,yongshujukujishulaiguanliheweihucunpandeshuju,cunpanshujukudewenjianminghelujingzaizhukongchuangkoushuxingzhongsheding,xitongyunxingguochengzhong,MCGS自動進行數據存貯操作。這對用戶數據的開放式管理是一種非常有效的方式。但是,使用Access數據庫也受到該數據庫本身特性的製約,特別地,當用戶工程的存盤數據量很大或需要存貯很長時間內的數據時,使用Access數據庫就會因數據庫文件過大而導致性能的下降。
針對上述情況,MCGS提供了數據存盤備份機製,將曆史數據以多個平麵文件的形式存貯在硬盤的指定位置或者通過ODBC連接於其它數據庫。在膨化係統裏使用的是SQL Server 2000數據庫。MCGS可以自動把采集到的數據存入到數據庫SQL Server 2000中。隻需在數據庫服務器上安裝Microsoft SQL Server 2000服務器端組件,用SQL Server 2000提供的SQL Enterprise Manager(企業管理器)gongjulaiwanchengshujukudechuangjian。zaipenghuazhayaoshujukuli。shujukudebiaogenjukongzhicengdexuyaohesheding,zidongzaizhidingshujukuzhongshengcheng。shiyongdezhuyaoshujukubiaoru“膨化炸藥”數據庫中“真空度”。
注意:對(dui)於(yu)非(fei)組(zu)對(dui)象(xiang)類(lei)型(xing)的(de)數(shu)據(ju)對(dui)象(xiang),作(zuo)為(wei)獨(du)立(li)的(de)對(dui)象(xiang)按(an)變(bian)化(hua)量(liang)存(cun)盤(pan),與(yu)作(zuo)為(wei)組(zu)對(dui)象(xiang)的(de)成(cheng)員(yuan)定(ding)時(shi)存(cun)盤(pan),同(tong)一(yi)對(dui)象(xiang)采(cai)用(yong)兩(liang)種(zhong)不(bu)同(tong)的(de)存(cun)儲(chu)方(fang)式(shi),在(zai)存(cun)盤(pan)數(shu)據(ju)文(wen)件(jian)內(nei)是(shi)存(cun)儲(chu)在(zai)不(bu)同(tong)的(de)地(di)方(fang)。單(dan)個(ge)數(shu)據(ju)對(dui)象(xiang)存(cun)盤(pan)時(shi),數(shu)據(ju)值(zhi)主(zhu)要(yao)反(fan)映(ying)該(gai)對(dui)象(xiang)的(de)值(zhi)隨(sui)時(shi)間(jian)變(bian)化(hua)的(de)情(qing)況(kuang),而(er)組(zu)對(dui)象(xiang)對(dui)應(ying)的(de)存(cun)盤(pan)數(shu)據(ju)重(zhong)點(dian)在(zai)於(yu)記(ji)錄(lu)其(qi)所(suo)有(you)成(cheng)員(yuan)在(zai)同(tong)一(yi)時(shi)刻(ke)的(de)值(zhi)。一(yi)個(ge)非(fei)組(zu)對(dui)象(xiang)類(lei)型(xing)的(de)數(shu)據(ju)對(dui)象(xiang)可(ke)能(neng)同(tong)時(shi)是(shi)多(duo)個(ge)組(zu)對(dui)象(xiang)的(de)成(cheng)員(yuan),在(zai)幾(ji)個(ge)地(di)方(fang)都(dou)可(ke)能(neng)對(dui)其(qi)進(jin)行(xing)了(le)存(cun)盤(pan)處(chu)理(li),每(mei)一(yi)部(bu)分(fen)的(de)存(cun)盤(pan)數(shu)據(ju)都(dou)是(shi)各(ge)自(zi)獨(du)立(li)的(de)。
yibanqingkuangxiacaiyongzuduixiangcunpan,yinweizuduixiangcunpanshishijiangzuduixiangdesuoyouchengyuandoutongshicunpan,zailishicunpanshujukuzhong,meigezuduixiangduiyingyigeshujubiao,qichengyuanduiyingxiangyingdeziduanyu。ruguodangebianliangdingyicunpan,zezailishishujukuzhonggaibianliangduiyingyigebiaoheziduanyu,ruguobianliangjiaoduoshi,zeshujukuzhongdebiaohuihenduo。zaishijigongchengyingyongzhong,duogegongchengwuliliangzhijianyoulianxi,zailishibaobiao、曆(li)史(shi)曲(qu)線(xian)中(zhong)需(xu)要(yao)把(ba)多(duo)個(ge)變(bian)量(liang)對(dui)應(ying)的(de)曆(li)史(shi)數(shu)據(ju)同(tong)時(shi)顯(xian)示(shi)出(chu)來(lai),此(ci)時(shi)用(yong)組(zu)對(dui)象(xiang)存(cun)盤(pan)保(bao)證(zheng)存(cun)盤(pan)數(shu)據(ju)的(de)同(tong)時(shi)性(xing),對(dui)多(duo)個(ge)變(bian)量(liang)的(de)曆(li)史(shi)數(shu)據(ju)進(jin)行(xing)比(bi)較(jiao)才(cai)具(ju)有(you)物(wu)理(li)意(yi)義(yi)。
3) 數shu據ju的de後hou處chu理li。組zu態tai軟ruan件jian中zhong的de數shu據ju的de後hou處chu理li,其qi本ben質zhi上shang是shi對dui曆li史shi存cun盤pan數shu據ju庫ku的de處chu理li。將jiang存cun盤pan數shu據ju庫ku中zhong的de曆li史shi數shu據ju加jia以yi提ti煉lian,得de到dao對dui用yong戶hu真zhen正zheng有you用yong的de數shu據ju和he信xin息xi,然ran後hou,通tong過guo曆li史shi曲qu線xian、曆史表格、Excel報表輸出以及存盤數據瀏覽等功能將這些數據和信息形象地顯示或打印出來。本文中係統使用的就是ASP.NET裏的ADO.NET構件訪問存盤數據,通過ADO.NET讀取SQL Servers數據庫表,以膨化真空度數據為例說明ADO.NET讀取SQL Servers數據的實現。
3.3 Web服務器的實現
Web服務器是整個係統的關鍵,起中轉作用其中主要包括五個進程:登錄界麵,實驗參數設置界,實驗結果顯示界麵,Socket服務器和Socket客戶端程序,其結構見圖3所示。
圖3 Web服務器結構圖
登錄界麵,實驗參數設置界麵和實驗結果顯示界麵都是用ASP.NET建立的動態網頁Socket客戶端程序和Socket服務器程序是用VB.NET編寫,在Web服務器中同時設置Socket的(de)服(fu)務(wu)器(qi)程(cheng)序(xu)和(he)客(ke)戶(hu)端(duan)程(cheng)序(xu)是(shi)為(wei)了(le)將(jiang)修(xiu)改(gai)後(hou)的(de)實(shi)驗(yan)參(can)數(shu)及(ji)時(shi)的(de)送(song)給(gei)工(gong)控(kong)機(ji),實(shi)現(xian)在(zai)線(xian)實(shi)時(shi)調(tiao)節(jie)參(can)數(shu)的(de)功(gong)能(neng)。同(tong)時(shi)工(gong)控(kong)機(ji)送(song)回(hui)的(de)采(cai)樣(yang)值(zhi)被(bei)寫(xie)入(ru)XML文件,實驗參數從參數設置界麵傳給Socket客戶端程序,它們之間采用微軟消息隊列進行通信,是並發執行的。Socket服務器程序將工控機送回的采樣值寫入XML文件,實驗結果顯示界麵同時讀這個文件,並將其中的數據轉換成圖形的形式展現給用戶。
1、使用ASP.NET建立動態頁麵
登錄界麵、實驗參數設置界麵、實驗結果顯示界麵和組態演示界麵都使用ASP.NET來實現的。在實現登錄,參數設置和實驗結果顯示時它們分別使用不同的數據庫而組態演示界麵調用的是ActiveX構件完成。下麵介紹把MCGS組態界麵通過ActiveX構件嵌入到網頁的方法:首先打開VB,創建一個新工程,在ActiveX工具箱中,添加對瀏覽器組件的索引,在窗體上創建一個瀏覽器組件,調整其大小。
2、消息隊列-MSMQ
從cong體ti係xi結jie構gou中zhong可ke知zhi,本ben係xi統tong采cai用yong的de是shi多duo模mo塊kuai,多duo進jin程cheng的de模mo式shi。為wei了le提ti高gao係xi統tong的de速su度du,進jin程cheng間jian需xu要yao並bing發fa執zhi行xing。為wei了le使shi進jin程cheng間jian相xiang互hu協xie調tiao的de工gong作zuo,必bi須xu要yao有you相xiang應ying的de機ji製zhi來lai保bao證zheng。這zhe種zhong機ji製zhi應ying該gai具ju有you低di耦ou合he性xing,高gao可ke靠kao性xing的de特te點dian。
微軟消息隊列――MSMQ正是能夠滿足上述條件的一種通信機製,它提供了可靠的異步和鬆散耦合的通信機製。MSMQ實現原理:消息的發送者把自己想要發送的信息放入一個容器中(稱之為message),並將它保存至一個係統公用空間的消息隊列(Message Queue)中;本地或異地的消息接收程序再從該隊列中取出發給它的消息進行處理。由於MSMQ是異步通信,無論是發送方還是接收方都不用等待對方返回成功消息,就可以執行餘下的代碼,這樣就能實現進程的並發執行:消息的格式是用戶自定義的,可以進行簡單的加密:由於MSMQ代表已包裝的服務請求,當要求產生日誌時,隻需自動為相關的日誌隊列產生每個消息的拷貝即可,因此有利於係統的恢複和安全性。
3、DDE方式建立數據交換的過程
本文中的係統使用的是DDE熱鏈接的方式,同時用Excel作為MCGS的數據與瀏覽器數據的中間緩存單元。在MCGS的“實時數據庫”窗口中定義的變量Dat01-Dat100,根據工程的要求部分變量需DDE輸出的,其餘的是DDE輸入的。在MCGS組態環境的“工具”菜單中選取“DDE連接管理”菜單項。
3.4 代理服務器
本係統使用的代理服務器軟件是Sygate,它是一個網關服務器設置軟件,比Wingate設定更容易更好用的軟件。Sygate是一套允許使用者在局域網中,通過國際互聯網連接,分享給整個局域網的使用者,讓兩台以上的電腦,同時上網的好軟件,支持Modem、ISDN、Cable Modem、ASDL等等多種接入,隻需要在局域網中有Modem的電腦上安裝即可,是解決多計算機Internet共享的好軟件。
代理服務除了擁有共享Internet連接的作用外,還可以通過本地計算機硬盤中所保留的緩存來提高訪問速度、節約帶寬的作用。
本文作者創新點:
遠程控製技術是一門綜合性技術,涉及控製、網絡、計算機、數據庫等多個領域。本文從係統集成的角度深入研究設計了基於網絡的工業遠程控製係統,實現了遠程客戶端和Web服務器的設計。
參考文獻:
[1] 薛立,範福玲,劉麗萍.基於Web的遠程控製技術的研究與應用[J].中原工學院學報,2005,6(14):18-23
[2] 李洪寶,曾文方.基於Web的實時信息發布係統的設計與實現[J].計算機應用,2005,19(12):P55-P58
[3] Tony Bain, Denise Gosnell.VB.NET和SQL Server 2000高級編程[M].北京:清華大學出版社,2005:150-192
[4] 劉忠超,何東健,範靈燕. 基於嵌入式Web服務器的溫室遠程監控的研究[J]. 微計算機信息, 2006, 10-2: 141-142