新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MATLAB的遠程信號分析與診斷系統(tǒng)的開發(fā)

基于MATLAB的遠程信號分析與診斷系統(tǒng)的開發(fā)

作者: 時間:2006-05-07 來源:網(wǎng)絡 收藏

摘要:討論了MATLAB通過WWW實現(xiàn)異地信號分析的原理和關鍵技術,設計了基于MATLAB的機械設備遠程信號分析及遠程故障診斷系統(tǒng)。

本文引用地址:http://www.butianyuan.cn/article/242336.htm

關鍵詞:遠程診斷 信號處理 MATLAB軟件 WEB INTERNET

MATLAB語言及其系統(tǒng)是MathWorks公司推出的一套高性能的數(shù)值計算和可視化數(shù)學軟件[1]。它集數(shù)值分析、矩陣運算、信號處理、仿真控制和圖形顯示等于一體,構成了一個方便的、功能強大的、界面友好的用戶環(huán)境和系統(tǒng)開發(fā)平臺,在故障診斷等眾多工程領域有著廣泛的應用[2,3]。

近年來,隨著計算機技術與通信技術的發(fā)展,Internet/Intranet技術已成為遠程信號分析與處理系統(tǒng)開發(fā)的理想平臺,然而,要實現(xiàn)真正意義上的基于WEB的遠程監(jiān)測、分析與診斷,非常困難[4]。本文在基于MATLAB的科學計算與圖形展示功能的Web應用原理討論的基礎上,給出了基于MATLAB實現(xiàn)機械設備遠程信號分析及遠程故障診斷系統(tǒng)的主要功能、實現(xiàn)方式和方法,展示了一種在Iternet/Interanet環(huán)境下實現(xiàn)遠程監(jiān)測、分析與診斷的快速實現(xiàn)方法。

1 MATLAB的WEB應用原理

在MATLAB5.3以上版本的工具箱里,增加了WEB應用工具,通過基于MATLAB的Web應用,能使世界各地的用戶通過Internet將數(shù)據(jù)發(fā)送給MATLAB Web服務器,供助MATLAB強大計算與圖形展示功能,獲得計算結果或相應的圖形結果。

MATLAB的Web應用主要由兩部分組成。一部分是MATLAB Web服務器,負責管理Web應用與MATLAB之間的通訊。它實際上是一個多線程可執(zhí)行的TCP/IP應用程序MATLABserver.exe,是MATLAB應用程序運行的服務器環(huán)境;另一部分是Web服務代理,TCP/IP的MATLAB Web服務器的客戶端,一個可執(zhí)行程序matweb.exe,同時也是Web的CGI擴展,它鈄對MATLAB的請求重新定向到MATLABserver.exe進行處理。其原理結構如圖1所示。

由圖1可知,MATLAB Web應用必須基于某一標準的Web服務環(huán)境。瀏覽器客戶通過TCP/IP協(xié)議請求Web服務器中的文檔,而MATLAB Web服務代理篩選所有的請求,如果是MATLAB Web請求,則將其交由MATLAB Web服務程序處理,否則由標準的Web服務器進行處理。在設備MATLAB Web應用環(huán)境時,MATLAB Web服務代理必須與系統(tǒng)的Web服務器安裝在同一臺機器上,而與MATLAB Web服務程序則可以在同一臺機器中,也可在不同的機器中。

2 建立基于MATLAB的Web應用

建立基于MATLAB的Web應用需要幾個步驟。下面通過實例來說明建立MATLAB Web應用的基本步驟。

2.1 請求MACTLAB Web服務的HTML文檔

請求MATLAB Web服務的HTML文檔主要完成兩方面的功能。一方面是接收瀏覽器用戶的輸入,這與一般的Web應用的處理方法相同,可以通過HTML的表單實現(xiàn);另一方面是設置一個特殊的標志,將該請求重新定向到MATLAB Web服務代理進行處理,它的實現(xiàn)方法與一般的CGI程序調用方法相。下面是其實例代碼片斷:

form action=“/cgi-bin/matweb.exe”mathod=“POST”target=“outputwindow”>

input type=“hidden”name=“mlmfile”value=“functest”>

該片斷中最關鍵的部分是Form標記的Action屬性的設置及隱輸入框mlmfile(參數(shù)名固定),其值為將在MATLAB Web服務程序中運行的m文件的文件名。另外,為了方便使用,一般可以將瀏覽器窗口分為幾個部分,一部分用于輸入?yún)?shù)和控制,一部分用于顯示運行結果或圖形。

2.2 MATLAB Web應用的設置

MATLAB Web應用的設置工作主要分為三個方面。第一是安裝Web服務器和瀏覽器,可以選用Microsoft IIS、Netscape NES或Apache Web服務器和IE或NETSCAPE瀏覽器。第二是對MATLAB Web服務器的設置,即配置matlabserver.conf文件,設定當前MATLAB運行的個數(shù)。第三是對MATLAB Web服務代理的設置,即每增加一個MATLAB Web應用,都需要在代理服務的配置文件matweb.conf中增加一項配置。如在html表單中調用的m文件的文件名為functest,相應地,需要在matweb.conf中增加下面的內(nèi)容:

[functest]

mlserver=210.27.64.1

mldir=e:/inetpub/wwwroot/icons

其中mlserver=210.27.64.1指明MATLAB Web服務程序所在機器的IP地址,而下面一行主要是MATLAB工作目錄的設置。

2.3 MATLAB應用程序的開發(fā)

MATLAB應用程序主要具有以下3個方面的功能:

·接收輸入HTML表單中的輸入值;

·調用MATLAB中內(nèi)置的各種函數(shù)進行科學計算或作圖;

·將計算結果放到一個MATLAB結構中;

·調用Htmlrep文件將計算結果或生成的圖形輸出到HTML模板頁面上,并將這些結果返回給最終用戶。

一個典型的MATLAB應用程序代碼如下:

Function PageString=functest(InputSet,OutFile)

cd(InputSet.mldir);

%清除1個小時以膠的舊圖形

wscleanup('f*.jpeg',1);

Fig=figure('visible','off');

%接收輸入值,并進行轉換

startx=str2double(InputSet.startx);

stepx=str2double(InputSet.stepx);

endx=str2double(InputSet.endx);

x=(startx:stepx:endx);

S=InputSet.funcname;

%計算或作圖

plot(x,eval(S));

ylabel('測試');

title(['**函數(shù):'S'的圖像**']);

pos=get(gcf,'position');

pos(3)=380;

pos(4)=310;

set(gcf,'Position',pos,'PaperPosition',[.25 .25 4 3]);

PlotFile=sprintf('f%s.jpeg',InputSet.mild);

drawnow;

wsprintjpeg(Fig,PlotFile);

close(Fig);

%對輸出模板進行處理,生成輸出HTML文件

templatefile=which('functempate.htm');

if(exist('OutFile','var')= = 1)

s.GraphFileName = [PlotFile];

PageString=htmlrep(s,templatefile,OutFile);

Else

s.GraphFileName=[sprintf ('http://%s/icons/',Input Set.mldir 1)PlotFile];

PageString=htmlrep(s,templatefile);

2.4 顯示運行結果的HTML模板的開發(fā)

在上面的MATLAB應用程序中,最后的結果輸出部分調用了用于輸出的HTML模板functemplate.htm。下面是該文件的部分代碼,其中最重要的部分是標記$......$中包含的變量部分,在MATLAB應用程序中通過函數(shù)htmlrep,使用輸出結構中相應的變量值對這些標記進行替換。

html>body bgcolor=#FFFFFF>

P>nbsp/p>p align=center>

img border=0 src=$GraphFileName$>/p>/body>/html>

3 基于MATLAB的遠程信號分析與診斷系統(tǒng)

MATLAB是信號分析能力很強的開發(fā)平臺,將其與Web服務器結合,經(jīng)過合理的設計,可以比較快地實現(xiàn)遠程信號分析與診斷。圖2是基于MATLAB的遠程信號分析與診斷系統(tǒng)的主頁面,圖3是時頻分析的實例。在開發(fā)該系統(tǒng)時,除上述問題外,主要需要解決以下幾方面的技術問題。

3.1 原始數(shù)據(jù)的提交

用戶原始數(shù)據(jù)的提交主要有兩種方式。一種是專用數(shù)據(jù)的提交,主要是為安裝有本中心開發(fā)的RB21和RB20的用戶服務的。在RB21和RB20中,其監(jiān)測網(wǎng)絡中有專門的監(jiān)測數(shù)據(jù)庫,其數(shù)據(jù)庫結構與遠程分析與處理中心的ORACIE8I數(shù)據(jù)庫基本是一致的,可以使用專用的數(shù)據(jù)提交程序。另一種是通用數(shù)據(jù)的提交,是為普通用戶準備的。這又分為兩種情況,一是已知原始數(shù)據(jù)的提交,它按照遠程分析中心給定的數(shù)據(jù)格式提交;二是未知數(shù)據(jù)格式數(shù)據(jù)的提交,采用時域或頻域機械圖像的方式提交,這主要是為現(xiàn)場數(shù)據(jù)存儲格式不明的測試系統(tǒng)準備的。具體的提交方法采用以下三種方式:

(1)FTP方式:FTP是建立在TCP/IP協(xié)議基礎上的文件傳輸協(xié)議,系統(tǒng)為注冊用戶提供基于FTP的數(shù)據(jù)提交方式,用戶通過登錄遠程診斷中以后FTP服務器,可以用類似資源管理器的方式直接提交監(jiān)測數(shù)據(jù)。

(2)Email方式:Email是目前應用比較廣泛的郵件協(xié)議,用戶可以通過中心的Email提交原始數(shù)據(jù),不過通過這種方式提交數(shù)據(jù)需要一定的時間延滯。

(3)Socket方式:Socket是建立在傳輸層協(xié)議(主要是TCP和UDP)上的一種套接字規(guī)范,可以通過Delphi的Internet控件,即服務器端組件TserverSocket和客戶端組件TclientSocket進行編程,實現(xiàn)基于TCP/IP的Socket網(wǎng)絡接口的數(shù)據(jù)傳輸。

3.2 安全問題的解決

由于Internet網(wǎng)絡的開放性與共享性導致了遠程監(jiān)測與診斷系統(tǒng)的安全性受到嚴重影響。如何保證網(wǎng)上傳輸?shù)臄?shù)據(jù)的安全,服務雙方職責的明確和身份確認是遠程診斷研究必須解決的課題。遠程監(jiān)測與診斷服務中的安全性需求可以分為以下幾個方面:

(1)數(shù)據(jù)的保密性 用于防止非法用戶進入系統(tǒng)及合法用戶對系統(tǒng)資源的非法使用;通過對一些敏感的數(shù)據(jù)文件進行加密來保護系統(tǒng)之間的數(shù)據(jù)交換,防止除接收方之外的第三方截獲數(shù)據(jù)及即使獲取文件也無法得到其內(nèi)容;

(2)數(shù)據(jù)的完整性 防止非法用戶對進行交換的數(shù)據(jù)進行無意或惡意的修改、插入,防止交換的數(shù)據(jù)丟失等;

(3)數(shù)據(jù)的不可否認性 對數(shù)據(jù)和信息的來源進行驗證,以確保數(shù)據(jù)由合法的用戶發(fā)出;防止數(shù)據(jù)發(fā)送方在發(fā)出數(shù)據(jù)后又加以否認;同時防止接收方在收到數(shù)據(jù)后又否認曾收到過此數(shù)據(jù)及篡改數(shù)據(jù);

(4)數(shù)據(jù)的公正性 用具有獨立法律地位的認證機構或合同確認服務雙方職責和義務。

目前遠程診斷中心解決安全性問題主要采用兩方面的措施。一方面采用用戶注冊的方法,將用戶分為五個安全等級,為他們分配特定的權限和口令;另一方面采用數(shù)字簽名技術,用戶提交的數(shù)據(jù)和申請,中心生成的診斷報告,均經(jīng)過數(shù)字簽名。

3.3 遠程分析與診斷功能的設計

作為遠程信號分析與故障診斷中心,系統(tǒng)的功能應盡可能豐富和強大,應該比現(xiàn)場監(jiān)測與分析系統(tǒng)提供更為先進和新穎的功能。因此本中心提供頻譜分析、相關分析、時序分析、小波分析、小波包分析、時頻分析、機械圖像分析以及遠程智能診斷系統(tǒng),系統(tǒng)的主頁面如圖2所示。此外,對于委托的遠程信號分析與診斷,遠程信號分析與診斷中心必須生成正式的分析報告,經(jīng)過數(shù)字簽名后,送達委托人。

從上面的論述中不難知道,基于Matlab的遠程信號分析與診斷是一種比較簡快速的遠程分析與診斷系統(tǒng)的開發(fā)方法,它能充分利用Matlab強大的信號分析和工程計算能力,開發(fā)出功能強大的遠程信號分析與診斷系統(tǒng)。同時,它還能充分發(fā)揮Matlab平臺良好的擴展性,以及對硬件和數(shù)據(jù)庫的操作性,實現(xiàn)更高級的功能。



評論


相關推薦

技術專區(qū)

關閉