基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法
【專利摘要】本發(fā)明提供一種基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法,在PC機側(cè)通過虛擬串口驅(qū)動程序,將串口橋接器的多路串口映射成PC機的本地COM口,PC機的虛擬串口驅(qū)動程序?qū)⒂脩舸诔绦蚨糃OM口的收發(fā)報文轉(zhuǎn)換成以太網(wǎng)TCP報文與串口橋接器進行透明傳輸,在串口橋接器端,將以太網(wǎng)TCP報文轉(zhuǎn)換成串口報文通過串口橋接器的串口發(fā)往相應(yīng)的串口設(shè)備,從而使串口設(shè)備很方便地接入到網(wǎng)絡(luò)中,實現(xiàn)信息共享。本發(fā)明可以節(jié)省大量的通信電纜,廣泛應(yīng)用于物聯(lián)網(wǎng)。
【專利說明】基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及串口聯(lián)網(wǎng)實現(xiàn)方法,具體涉及一種基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法。
【背景技術(shù)】
[0002]在工業(yè)自動化及電力自動化系統(tǒng)中,存在著各種各樣的串口通信設(shè)備,傳統(tǒng)的連接方式是通過多條串行總線與上位機進行通信,實現(xiàn)信息共享。而PC機的串口數(shù)通常很少,有的甚至沒有串口,所以對于需要連接大量串口通信設(shè)備的場合,傳統(tǒng)的連接方式已經(jīng)無法適應(yīng)新的技術(shù)要求,所以需要有一種簡單有效方法實現(xiàn)PC機的串行通信口的網(wǎng)絡(luò)化延伸和擴展。而使用網(wǎng)絡(luò)化傳輸方式,只要PC機提供一根網(wǎng)線接入網(wǎng)絡(luò),外加一個串口橋接器即可使大量串口設(shè)備輕松聯(lián)網(wǎng)。
【發(fā)明內(nèi)容】
[0003]本發(fā)明針對上述現(xiàn)有技術(shù)存在的問題作出改進,即本發(fā)明要解決的技術(shù)問題是提供一種基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法,只要PC機提供一根網(wǎng)線接入網(wǎng)絡(luò),外加一個串口橋接器即可使大量串口設(shè)備輕松聯(lián)網(wǎng)。
[0004]為了解決上述技術(shù)問題,本發(fā)明提供了如下的技術(shù)方案:
[0005]一種基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法,在PC機側(cè)通過虛擬串口軟件,將串口橋接器的多路串口映射成PC機的本地COM 口,PC機的虛擬串口軟件將用戶串口程序的COM 口的收發(fā)報文轉(zhuǎn)換成以太網(wǎng)TCP報文與串口橋接器進行透明傳輸,在串口橋接器端,將以太網(wǎng)TCP報文轉(zhuǎn)換成串口報文,通過串口橋接器的串口發(fā)往相應(yīng)的串口設(shè)備,從而使串口設(shè)備接入到網(wǎng)絡(luò)中,實現(xiàn)信息共享。
[0006]所述串口橋接器,將上位機虛擬串口發(fā)送的TCP/IP協(xié)議報文轉(zhuǎn)換成對應(yīng)串口所需的報文,并通過串口橋接器的串口與串口設(shè)備進行通信轉(zhuǎn)發(fā),以達到串口聯(lián)網(wǎng)的目的。
[0007]所述虛擬串口軟件,為應(yīng)用層提供與串口設(shè)備一樣的系統(tǒng)調(diào)用接口,以兼容原本使用本地串口的應(yīng)用軟件的虛擬設(shè)備。
[0008]所述虛擬串口軟件包括虛擬串口驅(qū)動程序、網(wǎng)絡(luò)服務(wù)程序和虛擬串口管理軟件;
[0009]所述虛擬串口驅(qū)動程序,將用戶串口應(yīng)用程序發(fā)出的串口調(diào)用進行轉(zhuǎn)換,然后傳遞給應(yīng)用程序?qū)拥木W(wǎng)絡(luò)服務(wù)程序,并從網(wǎng)絡(luò)服務(wù)程序接收以太網(wǎng)上的信息,將其轉(zhuǎn)換后送給其他串口應(yīng)用程序;
[0010]所述網(wǎng)絡(luò)服務(wù)程序,負責(zé)虛擬串口驅(qū)動程序和網(wǎng)絡(luò)之間的聯(lián)系;
[0011]所述虛擬串口管理軟件,為系統(tǒng)添加和刪除虛擬串口設(shè)備,用于建立以太網(wǎng)TCP端口號與虛擬串口設(shè)備號的對應(yīng)關(guān)系。
[0012]本發(fā)明的有益效果是:給出了一種在Windows平臺上實現(xiàn)虛擬串口軟件的方法及串口橋接器的實現(xiàn)方法,由此實現(xiàn)的虛擬串口具有與真實串口完全相同的系統(tǒng)調(diào)用接口,解決上位機串口資源缺乏的局限性,實現(xiàn)了上位機的串口的網(wǎng)絡(luò)化延伸和擴展。
[0013]本發(fā)明適用于任何運行windows操作系統(tǒng)的上位機,可廣泛應(yīng)用于物聯(lián)網(wǎng),使Windows上位機可通過以太網(wǎng)輕松訪問現(xiàn)場串口設(shè)備,串口橋接器就近安裝于串口設(shè)備附近,可以節(jié)省大量的通信電纜,只需一根網(wǎng)線即可使大量串口設(shè)備輕松聯(lián)網(wǎng)。
【專利附圖】
【附圖說明】
[0014]附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0015]圖1是本發(fā)明檢測視頻鏡頭切換的運行總圖;
[0016]圖1是本發(fā)明通信原理圖;
[0017]圖2是本發(fā)明一個較佳實施例的串口橋接器的原理框圖;
[0018]圖3是本發(fā)明一個較佳實施例的虛擬串口驅(qū)動軟件原理框圖;
[0019]圖4是本發(fā)明一個較佳實施例的串口橋接器軟件流程圖。
【具體實施方式】
[0020]如圖1-4所示,本發(fā)明公開一種基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法,通過網(wǎng)絡(luò)傳輸?shù)姆绞綄崿F(xiàn)上位機的串行通信口的延伸和擴展,使原本不具備網(wǎng)絡(luò)功能的設(shè)備可快速連接到網(wǎng)絡(luò)中。
[0021]如圖1所示,本發(fā)明包括串口橋接器和虛擬串口軟件,上位機的虛擬串口軟件與串口橋接器通過以太網(wǎng)TCP/IP協(xié)議進行通信,將上位機的串口應(yīng)用程序的收發(fā)報文轉(zhuǎn)換成以太網(wǎng)報文發(fā)給串口橋接器,串口橋接器將收到的以太網(wǎng)報文快速轉(zhuǎn)換為相應(yīng)的串口報文發(fā)送至相應(yīng)的串口設(shè)備,整個過程采用透明化傳輸模式,串口橋接器不做任何報文協(xié)議的解釋。具體技術(shù)方案如下:
[0022]串口橋接器主要負責(zé)將上位機虛擬串口發(fā)送的TCP/IP協(xié)議報文轉(zhuǎn)換成對應(yīng)串口所需的報文,并通過串口橋接器的串口與串口設(shè)備進行通信轉(zhuǎn)發(fā),以達到串口聯(lián)網(wǎng)的目的。串口橋接器的主要工作就是實時監(jiān)視以太網(wǎng)端口的報文與串行端口的報文,進行實時轉(zhuǎn)發(fā)。
[0023]虛擬串口軟件的作用是在windows上位機中安裝特定的軟件虛擬出與計算機自帶串口完全一樣的虛擬串口設(shè)備,虛擬串口軟件為應(yīng)用層提供與串口設(shè)備一樣的系統(tǒng)調(diào)用接口,以兼容原本使用本地串口的應(yīng)用軟件的“虛”設(shè)備。
[0024]本發(fā)明給出了一種在Windows平臺上實現(xiàn)虛擬串口的方法,由此實現(xiàn)的虛擬串口具有與真實串口完全相同的系統(tǒng)調(diào)用接口,采用虛擬串口軟件,可以實現(xiàn)上位機串口設(shè)備的網(wǎng)絡(luò)化擴展和延伸。
[0025]下面結(jié)合具體實施例做進一步說明:
[0026]如圖2所示,串口橋接器采用32位高性能ARM9CPU,自帶2路UART串口和一路以太網(wǎng)接口,無需外擴外圍通信芯片。串口橋接器運行ucosll實時操作系統(tǒng),串口橋接器上電后創(chuàng)建TCP socket,等待上位機虛擬串口軟件發(fā)起連接,當(dāng)連接成功后,啟動報文實時交互任務(wù),對以太網(wǎng)接收緩沖區(qū)的報文與串口接收緩沖區(qū)的報文進行實時轉(zhuǎn)發(fā),以達到串口硬件橋接的作用,轉(zhuǎn)發(fā)的頻率不能太快,也不能太慢,太快了會嚴重影響CPU占用率,太慢了會造成斷幀現(xiàn)象。串口橋接器根據(jù)串口波特率來實時計算每兩個字符間的間隔時間,按照這個時間間隔來判斷串口接收緩沖區(qū)是否有報文存在,如果有則立即轉(zhuǎn)發(fā)。
[0027]虛擬串口軟件位于串口通信的管理軟件與現(xiàn)場總線網(wǎng)絡(luò)驅(qū)動層之間,它實際上是一個虛擬串口驅(qū)動程序,負責(zé)管理軟件和現(xiàn)場總線之間的信息轉(zhuǎn)換工作,在作用上非常類似于硬件意義上的橋接器。
[0028]虛擬串口軟件向串口通信的管理軟件提供一個虛擬出來的串口設(shè)備(COM1-COM255),管理軟件對虛擬串口的操作和真實的串口一模一樣,虛擬串口獲得管理軟件的信息后,將其轉(zhuǎn)換成現(xiàn)場總線的網(wǎng)絡(luò)報文,發(fā)往串口橋接器,橋接器再經(jīng)過一次逆向轉(zhuǎn)換,將網(wǎng)絡(luò)報文轉(zhuǎn)化為串口報文,發(fā)往現(xiàn)場串口設(shè)備。反之,從現(xiàn)場設(shè)備發(fā)往管理軟件的信息同樣也需要經(jīng)過這兩次轉(zhuǎn)換。
[0029]這樣通過虛擬串口和串口橋接器的作用,串口管理軟件和現(xiàn)場串口設(shè)備都感知不到中間存在有現(xiàn)場總線。完全實現(xiàn)了原有的基于串口通信的儀表設(shè)備平滑移動到現(xiàn)場總線的體系中來。
[0030]虛擬串口軟件的整體框架包含了以下三個獨立程序,如圖3所示:
[0031]虛擬串口驅(qū)動程序(Ethcomm.sys),這是一個標準的WDM設(shè)備驅(qū)動程序,它的作用是將用戶串口應(yīng)用程序發(fā)出的串口調(diào)用進行轉(zhuǎn)換,然后傳遞給應(yīng)用程序?qū)拥腟ervice程序,并從Service網(wǎng)絡(luò)服務(wù)程序接收以太網(wǎng)上的信息,將其轉(zhuǎn)換后送給其他串口應(yīng)用程序。該驅(qū)動程序的系統(tǒng)1調(diào)用接口以及讀寫控制完全仿照標準的串口驅(qū)動程序制作,所以從用戶角度看,虛擬串口的使用與普通串口沒有任何區(qū)別。
[0032]網(wǎng)絡(luò)服務(wù)程序(Service, exe),該程序是一個Windows服務(wù)程序,它主要負責(zé)虛擬串口驅(qū)動程序和網(wǎng)絡(luò)之間的聯(lián)系。Service, exe在應(yīng)用層實現(xiàn)以太網(wǎng)通信與虛擬串口驅(qū)動程序之間的轉(zhuǎn)發(fā)功能,不直接在驅(qū)動程序?qū)诱{(diào)用TCP/IP協(xié)議棧,這樣可以消除在比極端流量情況下造成系統(tǒng)崩潰的隱患。
[0033]虛擬串口管理軟件(ComManager.exe),該程序負責(zé)為系統(tǒng)添加和刪除虛擬串口設(shè)備,用于建立以太網(wǎng)TCP端口號與虛擬串口設(shè)備號的對應(yīng)關(guān)系,只有建立了這種對應(yīng)關(guān)系,才能實現(xiàn)串口橋接器的指定串口與上位機虛擬串口軟件的通信。
[0034]如圖4所示的串口橋接器軟件流程,展示了串口交接器軟件的工作過程。
[0035]綜上,本發(fā)明給出了一種在Windows平臺上實現(xiàn)虛擬串口軟件的方法及串口橋接器的實現(xiàn)方法,由此實現(xiàn)的虛擬串口具有與真實串口完全相同的系統(tǒng)調(diào)用接口,解決上位機串口資源缺乏的局限性,實現(xiàn)了上位機的串口的網(wǎng)絡(luò)化延伸和擴展。
[0036]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進行了詳細的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法,其特征在于:在PC機側(cè)通過虛擬串口軟件,將串口橋接器的多路串口映射成PC機的本地COM 口,PC機的虛擬串口軟件將用戶串口程序的COM 口的收發(fā)報文轉(zhuǎn)換成以太網(wǎng)TCP報文與串口橋接器進行透明傳輸,在串口橋接器端,將以太網(wǎng)TCP報文轉(zhuǎn)換成串口報文,通過串口橋接器的串口發(fā)往相應(yīng)的串口設(shè)備,從而使串口設(shè)備接入到網(wǎng)絡(luò)中,實現(xiàn)信息共享。
2.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法,其特征在于:所述串口橋接器,將上位機虛擬串口發(fā)送的TCP/IP協(xié)議報文轉(zhuǎn)換成對應(yīng)串口所需的報文,并通過串口橋接器的串口與串口設(shè)備進行通信轉(zhuǎn)發(fā),以達到串口聯(lián)網(wǎng)的目的。
3.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法,其特征在于:所述虛擬串口軟件,為應(yīng)用層提供與串口設(shè)備一樣的系統(tǒng)調(diào)用接口,以兼容原本使用本地串口的應(yīng)用軟件的虛擬設(shè)備。
4.根據(jù)權(quán)利要求3所述的基于網(wǎng)絡(luò)傳輸?shù)拇诼?lián)網(wǎng)實現(xiàn)方法,其特征在于: 所述虛擬串口軟件包括虛擬串口驅(qū)動程序、網(wǎng)絡(luò)服務(wù)程序和虛擬串口管理軟件; 所述虛擬串口驅(qū)動程序,將用戶串口應(yīng)用程序發(fā)出的串口調(diào)用進行轉(zhuǎn)換,然后傳遞給應(yīng)用程序?qū)拥木W(wǎng)絡(luò)服務(wù)程序,并從網(wǎng)絡(luò)服務(wù)程序接收以太網(wǎng)上的信息,將其轉(zhuǎn)換后送給其他串口應(yīng)用程序; 所述網(wǎng)絡(luò)服務(wù)程序,負責(zé)虛擬串口驅(qū)動程序和網(wǎng)絡(luò)之間的聯(lián)系; 所述虛擬串口管理軟件,為系統(tǒng)添加和刪除虛擬串口設(shè)備,用于建立以太網(wǎng)TCP端口號與虛擬串口設(shè)備號的對應(yīng)關(guān)系。
【文檔編號】H04L29/06GK104506407SQ201410827853
【公開日】2015年4月8日 申請日期:2014年12月25日 優(yōu)先權(quán)日:2014年12月25日
【發(fā)明者】張杭, 趙新明 申請人:南京因泰萊電器股份有限公司