《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 基于C/S結(jié)構(gòu)的數(shù)據(jù)協(xié)議轉(zhuǎn)發(fā)系統(tǒng)服務(wù)器的實現(xiàn)

基于C/S結(jié)構(gòu)的數(shù)據(jù)協(xié)議轉(zhuǎn)發(fā)系統(tǒng)服務(wù)器的實現(xiàn)

2009-05-19
作者:朱其慎1,,楊軍霞2,,田 巍2

??? 摘 要:根據(jù)電力企業(yè)現(xiàn)場總線的特點以及企業(yè)對設(shè)備運(yùn)行數(shù)據(jù)進(jìn)行遠(yuǎn)程采集管理的需求,,實現(xiàn)了一種在嵌入式軟硬件平臺下開發(fā)的系統(tǒng)——數(shù)據(jù)采集協(xié)議轉(zhuǎn)發(fā)管理系統(tǒng),。
??? 關(guān)鍵詞:總線協(xié)議,;數(shù)據(jù)轉(zhuǎn)發(fā),;服務(wù)器

?

??? 嵌入式系統(tǒng)技術(shù)是目前電子設(shè)計領(lǐng)域最為熱門的技術(shù)之一,目前已經(jīng)廣泛地應(yīng)用于軍事國防,、消費(fèi)電子,、網(wǎng)絡(luò)通信,、工業(yè)控制等各個領(lǐng)域,。根據(jù)對電力工業(yè)現(xiàn)場總線控制信息數(shù)據(jù)交互系統(tǒng)的研究,其現(xiàn)場總線非常多,,如RS485,、CAN和工業(yè)以太網(wǎng)等,總線上的數(shù)據(jù)協(xié)議也很多,,最常見的有RS232,、Modbus、CAN,、TCP/IP等等,,但這些協(xié)議數(shù)據(jù)之間不能進(jìn)行直接的交互,而且隨著工業(yè)控制服務(wù)器以及企業(yè)管理信息系統(tǒng)的發(fā)展,,需要將這些數(shù)據(jù)進(jìn)行遠(yuǎn)程傳輸,,并能進(jìn)行遠(yuǎn)程控制,這就需要能夠完成這種任務(wù)需求的設(shè)備,。本設(shè)計就是針對上述情況,,滿足企業(yè)的數(shù)據(jù)控制需求而進(jìn)行設(shè)計開發(fā)的嵌入式網(wǎng)關(guān)設(shè)備。該嵌入式網(wǎng)關(guān)能夠接收RS232,、RS485總線協(xié)議的數(shù)據(jù)并能實現(xiàn)對TCP/IP協(xié)議的數(shù)據(jù)包的轉(zhuǎn)發(fā),,實現(xiàn)數(shù)據(jù)的雙向傳輸。
1 系統(tǒng)方案
??? 根據(jù)數(shù)據(jù)采集協(xié)議轉(zhuǎn)發(fā)管理系統(tǒng)所要實現(xiàn)的不同總線協(xié)議之間進(jìn)行數(shù)據(jù)轉(zhuǎn)換的任務(wù),需要實現(xiàn)如下的幾個功能:
??? (1) 串行通信接口RS232的通信功能,;
??? (2) RS485接口的通信功能,;
??? (3) TCP/IP協(xié)議網(wǎng)絡(luò)接口的通信功能;
??? (4) 串口和TCP/IP協(xié)議數(shù)據(jù)協(xié)議轉(zhuǎn)發(fā)功能,。
2 實現(xiàn)原理
??? 嵌入式系統(tǒng)處理器采用ARM處理器—S3C2410,,嵌入式操作系統(tǒng)為Linux。其硬件組成如圖1所示,。

?


??? 該協(xié)議轉(zhuǎn)換管理系統(tǒng)能夠接收RS232,、RS485總線協(xié)議的數(shù)據(jù)和TCP/IP協(xié)議的數(shù)據(jù)包,實現(xiàn)RS232,、RS485和TCP/IP的雙向數(shù)據(jù)轉(zhuǎn)換,。當(dāng)接收到來自于以太網(wǎng)的控制信息時,協(xié)議轉(zhuǎn)換器對其解包提取原始信息,,并以RS232,、RS485總線可以接收的格式發(fā)出;當(dāng)接收到來自于RS232,、RS485總線的1報文時,,提取信息后加上IP幀頭,以以太網(wǎng)幀格式發(fā)出,,其系統(tǒng)模型如圖2所示,。

?


3 軟件系統(tǒng)設(shè)計
3.1 串口通信編程

??? Linux中對于每一個串行端口,內(nèi)核有一個設(shè)備驅(qū)動程序來負(fù)責(zé)端口的輸入輸出,。該串口的驅(qū)動在Linux內(nèi)核中已經(jīng)完成,,因此,對串口的操作是通過對串口設(shè)備文件的操作來實現(xiàn)的,。訪問串口只需要打開相應(yīng)的設(shè)備文件,。在Linux下,,串行口COM1和COM2對應(yīng)的設(shè)備文件分別為/dev/ttyS0和/dev/ttyS1,。串口編程的一般步驟如圖3所示。

?

?

??? RS485接口通信通過RS232轉(zhuǎn)RS485通信接口硬件實現(xiàn),,其程序開發(fā)流程與上文所述類似,,這里不再贅述,。
3.2 網(wǎng)絡(luò)通信編程
??? 網(wǎng)絡(luò)通信程序設(shè)計分為服務(wù)器端和客戶端,,本文利用面向連接的TCP/IP協(xié)議進(jìn)行程序設(shè)計,完成數(shù)據(jù)交互,。服務(wù)器/客戶機(jī)模式是網(wǎng)絡(luò)通信交互的最常用模式,,基于TCP/IP數(shù)據(jù)流的socket網(wǎng)絡(luò)編程流程如圖4所示。

?


3.3 系統(tǒng)完成功能
??? 客戶端通過以太網(wǎng)與數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器連接,現(xiàn)場Modbus,、CAN,、DNP總線協(xié)議儀表通過接口與數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器連接,用戶通過客戶端發(fā)送儀表報文,,報文經(jīng)過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器轉(zhuǎn)發(fā)給儀表,,儀表接收到報文后,進(jìn)行相應(yīng)處理,,并把數(shù)據(jù)通過數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器轉(zhuǎn)發(fā)給客戶端,,其結(jié)構(gòu)如圖5所示。

?

?

4 系統(tǒng)測試
??? 數(shù)據(jù)發(fā)送測試:在客戶機(jī)A上通過青云ComMax通信調(diào)試軟件,,設(shè)定系統(tǒng)數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù)器參數(shù),,連接服務(wù)器,并發(fā)送正確Modbus報文,,如圖6所示,。

?

?

??? 發(fā)送的報文通過轉(zhuǎn)發(fā)服務(wù)器轉(zhuǎn)發(fā)到現(xiàn)場儀表中,現(xiàn)場儀表根據(jù)報文中的指令,,返回遠(yuǎn)程Modbus儀表數(shù)據(jù)報文,,如圖7所示。

?


??? 返回的Modbus報文中包含了儀表采集的現(xiàn)場數(shù)據(jù),,可以根據(jù)這些數(shù)據(jù)進(jìn)行分析,,也可以把數(shù)據(jù)保存在企業(yè)現(xiàn)場儀表數(shù)據(jù)庫中,滿足企業(yè)運(yùn)行的分析,、決策,。
??? 通過以上對數(shù)據(jù)交互管理平臺Modbus協(xié)議的嚴(yán)格測試表明:數(shù)據(jù)交互管理對Modbus協(xié)議能夠及時快速地響應(yīng),能夠響應(yīng)多客戶機(jī)的訪問,,響應(yīng)時間能夠在項目要求的范圍內(nèi),,響應(yīng)數(shù)據(jù)無錯誤。多臺客戶機(jī)可以同時對數(shù)據(jù)交互管理平臺進(jìn)行訪問,,數(shù)據(jù)交互管理平臺能夠及時響應(yīng)多臺客戶機(jī)的訪問,。
參考文獻(xiàn)
[1]?劉震,徐學(xué)洲.一種基于多級分布式管理的數(shù)據(jù)采集軟件模型[J].現(xiàn)代電子技術(shù),,2003,,26(19):75-77,80.
[2]?汪奇,,朱煜華.基于B/S結(jié)構(gòu)的數(shù)字視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)工程,,2006,32(19):251-252,,272.
[3]?李善平,,劉文峰,,王煥龍.Linux與嵌入式系統(tǒng)[M].北京:清華大學(xué)出版社,2003.
[4]?陳賾.ARM9嵌入式技術(shù)及Linux高級實踐教程[M].北京:北京航空航天大學(xué)出版社,,2005.
[5]?鄒思軼.嵌入式Linux設(shè)計與應(yīng)用[M].北京:清華大學(xué)出版社,,2002.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。