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

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

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

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

?

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

?


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

?


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

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

?

?

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

?


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

?

?

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

?

?

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

?


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

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