范忠奇 朱宏嘉 王婷 徐小軍 譚婷婷 江蘇遠望神州軟件有限公司
船舶電子設備串口數據的軟件共享方法
范忠奇 朱宏嘉 王婷 徐小軍 譚婷婷 江蘇遠望神州軟件有限公司
提出一個技術方案,以解決船舶電子設備串口數據的共享問題。利用自行研發(fā)的軟件,配以成對的虛擬串口,使得多個虛擬串口都能夠接收到一個物理串口傳來的數據。既不用更改已有的軟件系統,也方便了新的軟件系統的開發(fā)。提高了諸多軟件間的協同配合,提升工作效率。
串口 數據共享 串口轉發(fā) 虛擬串口
串口通信在船舶中的計算機設備或是其它外部的電子設備中使用十分廣泛,也是非常常見的一種通信方式。它的優(yōu)勢主要在于使用方式簡單,也很通用,數據傳輸十分可靠。目前在市場上,有各種各樣的計算機編程語言,并且這些軟件做的都已經十分成熟,也基本都能夠支持串口通信,并配有相應的應用程序以及調試軟件。
在現代船舶的中,配備了非常多的采用串口通信的設備,主要包括:導航、自動識別系統,探測儀、各種監(jiān)測器,這些設備多用于導航和安全領域。它們的系統對外接口基本都是一對一的,即同一個應用程序只能訪問和使用一個串口,這在實際操作中會有很多的不便。因為很多時候,船舶上的計算機都會同時運行多個系統軟件,這些軟件需要通過數據共享來實現它們的作用,一般來說,會通過硬件來解決這個問題,比如采用復制電氣信號的方法,但也不是特別的方便。
對此,現提出一種全軟件的共享串口的方案,通過自主開發(fā)的軟件以及虛擬串口來實現數據共享,可以使一臺計算機的多系統實現數據的共享,更可以使多臺計算機之間實現數據的交互。
這種全新的數據共享方法,使用虛擬串口的技術,對軟件系統進行開發(fā),從而將一個串口上的數據發(fā)布到不同的虛擬串口上面。虛擬串口從效果上來講,等同于普通的物理串口,我們所使用的軟件,可以通過常規(guī)的方法讀取虛擬串口上的數據,從而實現計算機系統內部數據的共享。
在一臺計算機上,串口轉發(fā)軟件單獨訪問并且監(jiān)聽物理串口,將從物理串口上讀到的數據實時轉發(fā)給不同的虛擬串口,然后使用應用軟件對與之相配的串口進行監(jiān)聽,從而實現數據的同步。
在兩臺計算機之間,第一臺計算機上的串口轉發(fā)軟件對其物理串口進行監(jiān)聽,將讀取的數據通過以太網的方式轉發(fā)到第二臺計算機的串口轉發(fā)軟件上,從而轉發(fā)到與第二臺計算機配對的串口上,這樣就實現了將第一臺計算機上的數據,在第二臺計算機上面進行多應用的共享。
虛擬串口非常的便捷,可以支持各種軟件工具創(chuàng)建,并且能夠很好的進行連接。常見的軟件有這樣幾種:VSPDSerialNull、VSPM等。當然,串口轉發(fā)軟件需要進行一定程度的自主開發(fā),以便適用于所需的領域。
下面簡單介紹一下單機和雙機模式的流程:
單機:開始——配置串口工作參數——串口轉發(fā)軟件連接物理串口——串口轉發(fā)軟件連接單邊虛擬串口——串口轉發(fā)軟件監(jiān)聽物理串口——串口轉發(fā)軟件轉發(fā)數據到單邊虛擬串口(監(jiān)聽和傳輸的動作始終在循環(huán)進行);
雙機:在單機的模式上增加了兩臺計算機間的聯系,將第一臺計算機所監(jiān)聽的數據,通過網絡傳遞給第二臺計算機,實現兩臺計算機的數據共享。
該系統的實現采用CJHJ語言來進行開發(fā)。需要對本機的轉發(fā)以及雙機的交互進行具體參數的配置,信息的儲存成windows系統中的ini格式的文件。
寫入內容如下:
單機轉發(fā):
其中:監(jiān)聽物理串口是輸入端口,轉發(fā)目標的虛擬端口為輸出端口,供另一臺計算機讀取數據的端口地址為網絡端口,具有物理串口的計算機網址為輸入地址。輸出參數的四個1是指:波特率、停止位、奇偶校驗、數據位。參數的數據是可選擇的,但也是確定的,為了避免輸入別的數值,設定串口參數的時候選擇了數字序號來做。
為了使串口轉發(fā)軟件方便快捷的實現單一計算機和多臺計算機的串口應用數據共享,這里所說的串口轉發(fā)軟件是一種通用的串口數據,并可以實現實時的數據交互和共享。
對于一直存在的船舶串口接入的電子設備數據共享的問題,從技術的角度出發(fā),提出一種解決方案。自行開發(fā)了一種串口轉發(fā)軟件,配以成對的虛擬串口,將一個物理串口上的數據在多個虛擬串口上面共享,然后對共享的數據進行實時的讀取。這種技術不限于一臺計算機,而且可以對多臺計算機的數據實現共享。這種技術,可以有效的避免對已有的軟件系統進行二次開發(fā),同時使船舶計算機不同軟件間的協同有很大的促進作用,讓它們能夠更好的發(fā)揮自己的作用,從而提升船舶數據的共享和船舶本身的運營水平。
[1]代海鵬.船舶導航雷達顯控軟件設計與實現[D].重慶郵電大學,2016.3(5):123-123
[2]王建濤,賈立校.船舶自動識別系統中的模型及數據接口研究[J].艦船科學技術,2016.12(24):1-3