專利名稱:一種多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置及轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
本發(fā)明屬于一種計(jì)算機(jī)通訊中多串口轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置及方法,具體涉及一種應(yīng)用嵌入式技術(shù),編程結(jié)構(gòu)采用模塊化結(jié)構(gòu)和多線程技術(shù)相結(jié)合,將多種串口通訊協(xié)議格式數(shù)據(jù)轉(zhuǎn)換為以太網(wǎng)通訊協(xié)議格式數(shù)據(jù),同時(shí)實(shí)現(xiàn)多串口轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置及轉(zhuǎn)換方法。
背景技術(shù):
在工控領(lǐng)域,監(jiān)控系統(tǒng)一般需要與多種監(jiān)控設(shè)備進(jìn)行通訊,采集監(jiān)控設(shè)備數(shù)據(jù)并對(duì)其實(shí)現(xiàn)控制。目前,以太網(wǎng)通訊技術(shù)獲得廣泛應(yīng)用,有較高實(shí)時(shí)性能要求的監(jiān)控系統(tǒng)的數(shù)據(jù)通訊方式很多采用以太網(wǎng)通訊方式。而工業(yè)系統(tǒng)中很多設(shè)備只具有串行通訊接口,要以以太網(wǎng)通訊方式進(jìn)行實(shí)時(shí)監(jiān)控,需要實(shí)現(xiàn)串口設(shè)備聯(lián)網(wǎng)。一般采用“串口設(shè)備服務(wù)器”實(shí)現(xiàn)串口設(shè)備聯(lián)網(wǎng),但是,由于串口設(shè)備服務(wù)器只做“數(shù)據(jù)透?jìng)鳌?,即在外觀形式上實(shí)現(xiàn)了串口轉(zhuǎn)以太網(wǎng)的通訊功能,而在本質(zhì)上計(jì)算機(jī)仍然按照串口通訊方式進(jìn)行通訊處理。對(duì)于結(jié)構(gòu)復(fù)雜、串口設(shè)備種類多、通訊協(xié)議多及實(shí)時(shí)性要求高的復(fù)雜監(jiān)控系統(tǒng),采用此種方法不能滿足高實(shí)時(shí)性能等技術(shù)要求。
發(fā)明內(nèi)容
本發(fā)明是為了克服現(xiàn)有技術(shù)中存在的缺點(diǎn)而提出的,其目的是提供一種能夠準(zhǔn)確、實(shí)時(shí)、穩(wěn)定、同時(shí)實(shí)現(xiàn)多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置及轉(zhuǎn)換方法。本發(fā)明的技術(shù)方案是:一種多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置,包括串口通訊設(shè)備、嵌入式設(shè)備、計(jì)算機(jī)監(jiān)控軟件、串行通訊數(shù)據(jù)線、以太網(wǎng)通訊數(shù)據(jù)線。所述的串口通訊設(shè)備包括8種串口設(shè)備,嵌入式設(shè)備包括串口 Pl P8接口、網(wǎng)口 LANl和LAN2接口、CPU、FLASH (程序存儲(chǔ)器)、SDRAM (數(shù)據(jù)存儲(chǔ)器),其中Pl P8接口可以設(shè)置成RS-232/RS-422/RS-485任意格式的串行通訊口,8種串口設(shè)備通過(guò)串口通訊數(shù)據(jù)線分別與串口 Pl P8連通,串口 Pl P8與CPU連通,CPU分別與FLASH和LANl、LAN2接口連通,LANl、LAN2接口通過(guò)以太網(wǎng)通訊數(shù)據(jù)線與計(jì)算機(jī)監(jiān)控軟件連通。所述的嵌入式設(shè)備選用嵌入式工業(yè)計(jì)算機(jī)UC-7420。所述的計(jì)算機(jī)監(jiān)控軟件選用組態(tài)王監(jiān)控軟件?!N多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊轉(zhuǎn)換裝置的轉(zhuǎn)換方法,該轉(zhuǎn)換方法的軟件編程包括:開(kāi)始模塊、以太網(wǎng)口數(shù)據(jù)處理線程模塊、串口數(shù)據(jù)處理線程模塊、結(jié)束模塊;其流程包括以下步驟:
開(kāi)始模塊包括下列步驟:開(kāi)始S1、初始化S2、向所有設(shè)備發(fā)送請(qǐng)求S3。以太網(wǎng)口數(shù)據(jù)處理線程模塊包括下列步驟:網(wǎng)口接到TCP數(shù)據(jù)包S4、解析TCP數(shù)據(jù)包S5、讀取SDRAM數(shù)據(jù)S6、組成TCP數(shù)據(jù)包S7、發(fā)送到以太網(wǎng)口 S8。串口數(shù)據(jù)處理線程模塊包括下列步驟:串口接到RTU數(shù)據(jù)包S9、校驗(yàn)正確? S10、如果是則進(jìn)入解析RTU數(shù)據(jù)包SI 1、取出數(shù)據(jù)S12、存儲(chǔ)到SDRAM S13 ;如果不是則返回到串口接到RTU數(shù)據(jù)包S9。最后,程序結(jié)束S14。本發(fā)明的有益效果
本發(fā)明實(shí)現(xiàn)了同時(shí)將多種串口設(shè)備聯(lián)網(wǎng)的功能,具有實(shí)時(shí)性高、穩(wěn)定性強(qiáng)、內(nèi)核開(kāi)放和擴(kuò)展性強(qiáng)等特性,滿足許多領(lǐng)域的應(yīng)用,易于實(shí)現(xiàn)系統(tǒng)集成。
圖1是本發(fā)明多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置框 圖2是本發(fā)明多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換方法流程圖。其中:
I串口通訊設(shè)備2嵌入式設(shè)備
3計(jì)算機(jī)監(jiān)控軟件4串口通訊數(shù)據(jù)線
5以太網(wǎng)通訊數(shù)據(jù)線6開(kāi)始模塊
7以太網(wǎng)口數(shù)據(jù)處理線程模塊 8串口數(shù)據(jù)處理線程模塊 9結(jié)束模塊。
具體實(shí)施例方式下面,參照附圖和實(shí)施例對(duì)本發(fā)明一種多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置及轉(zhuǎn)換方法進(jìn)行詳細(xì)說(shuō)明:
如圖1所示,一種多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置包括:串口通訊設(shè)備1、嵌入式設(shè)備2、計(jì)算機(jī)監(jiān)控軟件3、串行通訊數(shù)據(jù)線4、以太網(wǎng)通訊數(shù)據(jù)線5。其中,串口通訊設(shè)備I包括串口設(shè)備I 串口設(shè)備8共8種串口設(shè)備,嵌入式設(shè)備2包括串口 Pl P8接口、網(wǎng)口LANK LAN2接口、CPU、FLASH (程序存儲(chǔ)器)、SDRAM (數(shù)據(jù)存儲(chǔ)器),其中Pl P8接口可以設(shè)置成RS-232/RS-422/RS-485任意格式的串行通訊口。串口設(shè)備I 串口設(shè)備8通過(guò)串口通訊數(shù)據(jù)線4分別與串口 Pl P8連通,串口Pl P8與CPU連通,CPU分別與FLASH和LANl、LAN2接口連通,LANl、LAN2接口通過(guò)以太網(wǎng)通訊數(shù)據(jù)線5與計(jì)算機(jī)監(jiān)控軟件3連通。其中,嵌入式設(shè)備2選用MOXA公司的嵌入式工業(yè)計(jì)算機(jī)UC-7420,計(jì)算機(jī)監(jiān)控軟件3選用北京亞控公司的組態(tài)王監(jiān)控軟件。如圖2所示,本發(fā)明多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換方法的編程實(shí)現(xiàn)流程包括:開(kāi)始模塊6、以太網(wǎng)口數(shù)據(jù)處理線程模塊7、串口數(shù)據(jù)處理線程模塊8、結(jié)束模塊9。其中,開(kāi)始模塊6包括下列步驟:開(kāi)始S1、初始化S2、向所有設(shè)備發(fā)送請(qǐng)求S3。以太網(wǎng)口數(shù)據(jù)處理線程模塊7包括下列步驟:網(wǎng)口接到TCP數(shù)據(jù)包S4、解析TCP數(shù)據(jù)包S5、讀取SDRAM數(shù)據(jù)S6、組成TCP數(shù)據(jù)包S7、發(fā)送到以太網(wǎng)口 S8。串口數(shù)據(jù)處理線程模塊8包括下列步驟:串口接到RTU數(shù)據(jù)包S9、校驗(yàn)S10、如果校驗(yàn)正確則進(jìn)入解析RTU數(shù)據(jù)包SI 1、取出數(shù)據(jù)S12、存儲(chǔ)到SDRAM S13 ;如果不正確則返回到串口接到RTU數(shù)據(jù)包S9。最后,程序結(jié)束S14。本發(fā)明的工作過(guò)程是: 程序運(yùn)行后,首先執(zhí)行開(kāi)始模塊6,開(kāi)始SI啟動(dòng)通訊轉(zhuǎn)換程序后,初始化S2進(jìn)行初始化變量、分配數(shù)據(jù)存儲(chǔ)器,然后向所有設(shè)備發(fā)送請(qǐng)求S3發(fā)送所有設(shè)備的數(shù)據(jù)請(qǐng)求命令;當(dāng)串口數(shù)據(jù)處理線程模塊8接收到串口 RTU數(shù)據(jù)包S9時(shí),將接收到的串口 RTU數(shù)據(jù)包根據(jù)其通訊協(xié)議進(jìn)行校驗(yàn)S10,如果校驗(yàn)不正確將丟棄掉此數(shù)據(jù)包,如果校驗(yàn)正確將解析RTU數(shù)據(jù)包S11,取出數(shù)據(jù)S12將參數(shù)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器SDRAM S13中;同時(shí),以太網(wǎng)口數(shù)據(jù)處理線程模塊7也在執(zhí)行其功能,當(dāng)以太網(wǎng)口數(shù)據(jù)處理線程模塊7接收到網(wǎng)口 TCP數(shù)據(jù)包S4時(shí),根據(jù)TCP協(xié)議解析TCP數(shù)據(jù)包S5,然后讀取SDRAM數(shù)據(jù)S6將TCP數(shù)據(jù)包中所請(qǐng)求的數(shù)據(jù)取出,組成TCP數(shù)據(jù)包S7將所請(qǐng)求的數(shù)據(jù)打包成TCP格式數(shù)據(jù)包,發(fā)送到以太網(wǎng)口 S8。
這樣實(shí)現(xiàn)了多串口轉(zhuǎn)以太網(wǎng)通訊轉(zhuǎn)換功能,在程序結(jié)束以前,串口數(shù)據(jù)處理線程模塊8與以太網(wǎng)網(wǎng)口數(shù)據(jù)處理線程模塊7 —直運(yùn)行,進(jìn)行連續(xù)、穩(wěn)定的通訊轉(zhuǎn)換。當(dāng)停止通訊轉(zhuǎn)換功能時(shí),執(zhí)行結(jié)束模塊4,結(jié)束S14釋放內(nèi)存,終止程序。
本發(fā)明實(shí)現(xiàn)了多串口轉(zhuǎn)以太網(wǎng)通訊功能,具有實(shí)時(shí)性高、穩(wěn)定性強(qiáng)、內(nèi)核開(kāi)放和擴(kuò)展性強(qiáng)等特性。適用于構(gòu)成復(fù)雜、串口設(shè)備種類多、通訊協(xié)議種類多、穩(wěn)定性、實(shí)時(shí)性及擴(kuò)展性要求很高的監(jiān)控系統(tǒng),可以方便管理多種不同通訊設(shè)備和協(xié)議,易于實(shí)現(xiàn)系統(tǒng)集成。
權(quán)利要求
1.一種多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置,包括串口通訊設(shè)備(I)、嵌入式設(shè)備(2)、計(jì)算機(jī)監(jiān)控軟件(3)、串行通訊數(shù)據(jù)線(4)、以太網(wǎng)通訊數(shù)據(jù)線(5),其特征在于:所述的串口通訊設(shè)備(I)包括串口設(shè)備I 串口設(shè)備8共八種串口設(shè)備,嵌入式設(shè)備(2 )包括串口 Pl P8 接口、網(wǎng)口 LANl、LAN2 接 口、CPU、FLASH (程序存儲(chǔ)器)、SDRAM,其中 Pl P8接口可以設(shè)置成RS-232/RS-422/RS-485任意格式的串行通訊口,串口設(shè)備I 串口設(shè)備8通過(guò)串口通訊數(shù)據(jù)線(4)分別與串口 Pl P8連通,串口 Pl P8與CPU連通,CPU分別與FLASH和LANl、LAN2接口連通,LANl、LAN2接口通過(guò)以太網(wǎng)通訊數(shù)據(jù)線(5)與計(jì)算機(jī)監(jiān)控軟件(3)連通。
2.根據(jù)權(quán)利要求1所述的一種多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置,其特征在于:所述的嵌入式設(shè)備(2 )選用嵌入式工業(yè)計(jì)算機(jī)UC-7420。
3.根據(jù)權(quán)利要求1所述的一種多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置,其特征在于:所述的計(jì)算機(jī)監(jiān)控軟件3選用組態(tài)王監(jiān)控軟件。
4.根據(jù)多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置的轉(zhuǎn)換方法,其特征在于:該轉(zhuǎn)換方法的軟件編程包括:開(kāi)始模塊(6)、以太網(wǎng)口數(shù)據(jù)處理線程模塊(7)、串口數(shù)據(jù)處理線程模塊(8)、結(jié)束模塊(9);其流程包括以下步驟:開(kāi)始模塊(6)包括下列步驟:開(kāi)始S1、初始化S2、向所有設(shè)備發(fā)送請(qǐng)求S3 ; 以太網(wǎng)口數(shù)據(jù)處理線程模塊(7)包括下列步驟:網(wǎng)口接到TCP數(shù)據(jù)包S4、解析TCP數(shù)據(jù)包S5、讀取SDRAM數(shù)據(jù)S6、組成TCP數(shù)據(jù)包S7、發(fā)送到以太網(wǎng)口 S8 ; 串口數(shù)據(jù)處理線程模塊(8)包括下列步驟:串口接到RTU數(shù)據(jù)包S9、校驗(yàn)正確? S10、如果是則進(jìn)入解析RTU數(shù)據(jù)包SI 1、取出數(shù)據(jù)S12、存儲(chǔ)到SDRAM S13 ;如果不是則返回到串口接到RTU數(shù)據(jù)包S9 ; 最后,程序結(jié)束S14。
全文摘要
本發(fā)明公開(kāi)了一種多串行協(xié)議轉(zhuǎn)以太網(wǎng)通訊的轉(zhuǎn)換裝置及轉(zhuǎn)換方法,其裝置包括串口通訊設(shè)備、嵌入式設(shè)備、計(jì)算機(jī)監(jiān)控軟件、串行通訊數(shù)據(jù)線、以太網(wǎng)通訊數(shù)據(jù)線。其方法包括以下步驟開(kāi)始S1、初始化S2、向所有設(shè)備發(fā)送請(qǐng)求S3;網(wǎng)口接到TCP數(shù)據(jù)包S4、解析TCP數(shù)據(jù)包S5、讀取SDRAM數(shù)據(jù)S6、組成TCP數(shù)據(jù)包S7、發(fā)送到以太網(wǎng)口S8;串口接到RTU數(shù)據(jù)包S9、校驗(yàn)正確?S10、如果是則進(jìn)入解析RTU數(shù)據(jù)包S11、取出數(shù)據(jù)S12、存儲(chǔ)到SDRAMS13;如果不是則返回到串口接到RTU數(shù)據(jù)包S9。最后,程序結(jié)束S14。本發(fā)明所實(shí)現(xiàn)了同時(shí)將多種串口設(shè)備聯(lián)網(wǎng)的功能,具有實(shí)時(shí)性高、穩(wěn)定性強(qiáng)、內(nèi)核開(kāi)放和擴(kuò)展性強(qiáng)等特性,滿足許多領(lǐng)域的應(yīng)用,易于實(shí)現(xiàn)系統(tǒng)集成。
文檔編號(hào)H04L12/28GK103200195SQ20131010785
公開(kāi)日2013年7月10日 申請(qǐng)日期2013年3月29日 優(yōu)先權(quán)日2013年3月29日
發(fā)明者劉蓮花, 楊文喜, 但勇軍 申請(qǐng)人:核工業(yè)理化工程研究院