• <strike id="aymay"></strike>
    <strike id="aymay"></strike>
    <ul id="aymay"><dfn id="aymay"></dfn></ul>
    <ul id="aymay"><sup id="aymay"></sup></ul>
  • <del id="aymay"></del>

    基于客戶機/服務(wù)器模型的嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計

    2013-10-23 17:10 來源:互聯(lián)網(wǎng) 作者:洛小辰

    引言

    目前,嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)以其本身體積小、功能多、支持以太網(wǎng)技術(shù)等優(yōu)點,已成為工控領(lǐng)域中的新熱點。網(wǎng)絡(luò)監(jiān)控系統(tǒng)的方式可分為B/S(瀏覽器/服務(wù)器)和C/S(客戶機/服務(wù)器)兩種。對于B/S形式,要求嵌入式服務(wù)器的存儲器容量足夠大,而且對于監(jiān)控設(shè)備結(jié)構(gòu)調(diào)整或?qū)ΡO(jiān)控內(nèi)容更改頻繁的應(yīng)用場合,就必須對嵌入式服務(wù)器中的網(wǎng)頁和CGI程序進行更改,這無疑會使普通用戶在對服務(wù)器進行維護和二次開發(fā)時遇到很大的困難。本文介紹的一種采用C/S結(jié)構(gòu)的系統(tǒng)設(shè)計可以克服以上問題。由于監(jiān)控對象和監(jiān)控頁面的設(shè)置都由客戶機完成,服務(wù)器只需進行數(shù)據(jù)采集、響應(yīng)客戶請求、利用TCP/IP網(wǎng)絡(luò)發(fā)送客戶請求數(shù)據(jù)等工作,同時客戶機的監(jiān)控頁面采用通用的微軟Windows風格,降低了對操作人員的要求,利于二次開發(fā)。

    嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)的總體框架

    以工廠生產(chǎn)自動化中監(jiān)控PLC和CAN總線設(shè)備為例,為了實現(xiàn)工廠生產(chǎn)透明化,希望在任何地方都能通過網(wǎng)絡(luò)監(jiān)控生產(chǎn)情況,并能夠隨著工廠生產(chǎn)內(nèi)容的調(diào)整更換監(jiān)控內(nèi)容,因此,可采用C/S形式使監(jiān)控對象及監(jiān)控頁面由客戶自己根據(jù)具體要求定義。服務(wù)器由32位Freescale Coldfire系列中支持網(wǎng)絡(luò)通信的MCF5272芯片和專用于微控制的mClinux操作系統(tǒng)構(gòu)成。

    。由客戶機發(fā)出對設(shè)備的監(jiān)控命令,嵌入式服務(wù)器接收并處理信息,根據(jù)客戶機請求對監(jiān)控對象發(fā)出控制命令,或通過串口和CAN接口獲得客戶機感興趣的狀態(tài),并將此信息通過網(wǎng)絡(luò)協(xié)議經(jīng)過網(wǎng)絡(luò)連接返回客戶端,由客戶端分析并與設(shè)計的監(jiān)控界面建立動畫連接或?qū)F(xiàn)場設(shè)備的運行狀態(tài)顯示在界面上,并將此信息存儲到客戶端歷史數(shù)據(jù)庫供用戶打印輸出或統(tǒng)計。

    客戶端軟件設(shè)計

    客戶端系統(tǒng)要完成的任務(wù)是監(jiān)控界面的制定和監(jiān)控任務(wù)的執(zhí)行,所以客戶端軟件有兩個功能模塊:界面開發(fā)環(huán)境和界面運行環(huán)境。本系統(tǒng)使用的是由VC6.0開發(fā)的組態(tài)軟件,客戶可以自定義監(jiān)控界面風格,也可與國內(nèi)生產(chǎn)組態(tài)軟件廠商合作設(shè)計通用的客戶端界面軟件。

    其中界面開發(fā)環(huán)境的任務(wù)是生成監(jiān)控的人機界面,開發(fā)環(huán)境應(yīng)提供構(gòu)成現(xiàn)場畫面所需要的對象,如線、填充圖形、文本及可直接調(diào)用的圖庫,對于有實際意義的圖形運行界面,還將提供會話式的對話框來使這些圖形與現(xiàn)場的控制單元建立動畫連接。當用戶通過開發(fā)環(huán)境自定義監(jiān)控界面后,開發(fā)環(huán)境會根據(jù)此界面建立一系列數(shù)據(jù)文件,并生成最終的圖形目標應(yīng)用文件,供運行環(huán)境使用。運行環(huán)境將開發(fā)環(huán)境生成的目標應(yīng)用文件裝入內(nèi)存并投入實時運行,一般由多個線程來完成。界面運行線程接收用戶請求事件,將用戶的請求按一定的數(shù)據(jù)格式發(fā)送到運行與內(nèi)存的上行/ 下行消息隊列,實時消息管理線程將對消息隊列進行管理并收發(fā)數(shù)據(jù)。為了滿足監(jiān)控對象的多樣性,消息收發(fā)線程在將用戶消息發(fā)送到服務(wù)器時,就會根據(jù)開發(fā)環(huán)境提供的監(jiān)控PLC類型,在監(jiān)控設(shè)備協(xié)議解釋層將發(fā)送消息根據(jù)此設(shè)備的通信協(xié)議進行組織。利用此方式可以方便地監(jiān)控各種設(shè)備。同時,驅(qū)動程序用動態(tài)連接庫的形式給出,方便系統(tǒng)升級。

    嵌入式服務(wù)器端系統(tǒng)設(shè)計

    嵌入式服務(wù)器采用32位Freescale Coldfire 系列的MCF5272加mClinux微操作系統(tǒng)的方案,硬件結(jié)構(gòu)如圖3所示。5272是Freescale生產(chǎn)的基于68K第二代Coldfire內(nèi)核、可用于工業(yè)場合的嵌入式芯片,它集成以太網(wǎng)接口,運算速度66MIPS。ColdFire 微處理器上可以運行很多操作系統(tǒng),但是mClinux 可以說是最合適,性價比最高的操作系統(tǒng)。

    本系統(tǒng)中服務(wù)器端運行的mClinux系統(tǒng)的主要模塊有TCP/IP協(xié)議棧、PPPD模塊、以太網(wǎng)口、CAN驅(qū)動和串口驅(qū)動,應(yīng)用程序有PPP撥號服務(wù)器模塊和經(jīng)過網(wǎng)絡(luò)通信響應(yīng)客戶機請求及與被控對象通信的服務(wù)程序。在編譯mClinux內(nèi)核時要加入所需組件,應(yīng)用程序編譯采用交叉編譯的方式,在運行REDHAT9.0的PC機上用Freescale Coldfire系列 專用編譯器編譯后下載到服務(wù)器的FLASH中。在以太網(wǎng)接收及與PLC的通信驅(qū)動程序中,服務(wù)器不斷監(jiān)聽網(wǎng)絡(luò)端口,將客戶機發(fā)來的消息通過網(wǎng)絡(luò)通信得到,并將其轉(zhuǎn)發(fā)到連接PLC的串口。定義客戶機端發(fā)向服務(wù)器的請求消息就是符合該監(jiān)控對象通信協(xié)議的請求消息,這樣服務(wù)器可連接任意系統(tǒng)支持的設(shè)備而不必設(shè)置監(jiān)控對象的類型,因為該任務(wù)已經(jīng)由客戶機在設(shè)計界面時完成。PPP服務(wù)器守護進程主要在客戶機通過modem經(jīng)電話網(wǎng)撥入建立網(wǎng)絡(luò)連接時使用。

    網(wǎng)絡(luò)通信及冗余技術(shù)

    在監(jiān)控系統(tǒng)的客戶機上運行的Windows操作系統(tǒng)中的客戶機監(jiān)控界面與嵌入式服務(wù)器之間的TCP/IP網(wǎng)絡(luò)通信編程方法是使用BSD Socket (套接口)界面編程。通過它,網(wǎng)絡(luò)端點 (IP地址和端口地址)以套接口的形式出現(xiàn)。這種套接IPC(進程間通訊)方式的設(shè)計是為了能讓網(wǎng)絡(luò)程序的設(shè)計獨立于不同的底層通信設(shè)施。本系統(tǒng)中客戶機和服務(wù)器之間的Socket通信是在異構(gòu)環(huán)境中進行的,客戶機采用WinSocket,服務(wù)器采用Linux下的Socket。

    為了保證通信暢通,在利用以太網(wǎng)端口進行通信的基礎(chǔ)上,同時提供利用串口和modem撥號的方式作為與遠端服務(wù)器建立通信鏈路的冗余。為了實現(xiàn)modem撥號連接,必須在客戶機端運行撥號軟件,在服務(wù)器端運行撥號服務(wù)器程序。客戶機可以使用Windows自帶的撥號軟件,而在服務(wù)器端就必須在后臺運行撥號服務(wù)監(jiān)控程序。撥號通信采用的是PPP點對點協(xié)議,mClinux中帶有這個協(xié)議組件,同時通過PPPD協(xié)議例程來提供PPP連接時的LCP(鏈路控制協(xié)議)、用戶認證、和IPCP(網(wǎng)絡(luò)協(xié)議配置)。

    運行在嵌入式服務(wù)器端的撥號服務(wù)器守護進程的工作機理如下:對串口進行設(shè)置并打開串口 ,發(fā)送AT指令檢查外部modem的存在;如modem正常,用標準AT指令設(shè)置自動應(yīng)答模式,之后進入檢測串口輸入循環(huán);當有遠程modem撥入的鈴流,即串口有RING字符收到后,軟件將強制摘機,進入物理鏈路建立連接階段;連接成功后,串口出現(xiàn)CONNECT字符,此時程序?qū)fork一個進程,啟動PPPD進入PPP連接階段與撥入客戶機進行握手協(xié)商協(xié)議,用戶認證、配置遠程計算機IP,成功后將建立PPP連接;PPPD在連接成功后,將更改mClinux系統(tǒng)的路由表添加新的直接到達的路由路徑,這樣就可以在客戶端和嵌入式服務(wù)器端通過串口收發(fā)IP包進行網(wǎng)絡(luò)通信了。

    結(jié)語

    本文介紹的監(jiān)控系統(tǒng)的服務(wù)器端采用32位CPU加mClinux操作系統(tǒng)的嵌入式方案,利于設(shè)備的小型化,采用C/S形式將監(jiān)控界面交由客戶端設(shè)計,并且系統(tǒng)對監(jiān)控對象無依賴性,可通過升級客戶機軟件來增加驅(qū)動以滿足新的監(jiān)控任務(wù),這樣的設(shè)計模式增加了該系統(tǒng)的通用性、靈活性和產(chǎn)品生命周期,利于用戶的二次開發(fā)。在嵌入式網(wǎng)絡(luò)設(shè)備日益滲透到工業(yè)生產(chǎn)和各種監(jiān)控應(yīng)用中的趨勢下,這種系統(tǒng)將會有很好的利用前景。■

    嵌入式 PLC

    相關(guān)閱讀

    暫無數(shù)據(jù)

    一周熱門

    主站蜘蛛池模板: 国产麻豆一精品一AV一免费 | 999精品在线| 99精品欧美一区二区三区| 色久综合网精品一区二区| 国产三级精品三级| 国内精品在线视频| 久久99精品久久久久子伦| 亚洲精品色婷婷在线影院| www.精品| 2022国产精品不卡a| 人妻精品久久久久中文字幕69| 久久99精品久久久久久秒播| 久久精品国产99国产电影网 | 成人亚洲日韩精品免费视频| 国产精品一区二区久久不卡| 无码国模国产在线无码精品国产自在久国产 | 欧洲精品久久久av无码电影| 欧美国产精品久久高清| 国产成人精品在线观看| 国产成人亚洲合集青青草原精品| 麻豆成人久久精品二区三区免费| 亚洲AV蜜桃永久无码精品| 黑巨人与欧美精品一区 | 国产精品美脚玉足脚交欧美| 亚洲精品成人片在线播放| 久久久99精品成人片中文字幕 | 欧美精品在线一区| 99久久精品国内| 精品国际久久久久999波多野| 亚洲无码精品浪潮| 国产午夜精品一区二区三区小说| 久久精品国产69国产精品亚洲 | 欧美性videos高清精品| 中文字幕一精品亚洲无线一区 | 无码人妻精品一区二区三区99仓本 | 四虎国产精品永久在线观看| 自拍偷自拍亚洲精品第1页 | 国产精品伦一区二区三级视频| 久久亚洲私人国产精品| 无码精品人妻一区二区三区中| 日韩AV无码精品人妻系列|