串列埠伺服器設計指南

2021-07-23 16:21:00 字數 1655 閱讀 5100

圖0:串列埠伺服器 - 系統資訊

串列埠伺服器是一種將串列埠資料轉換為網口資料的裝置,它在工業方面使用較多。這類裝置需要非常高的穩定性,但是穩定性跟設計人員的硬體水平、軟體水平以及測試等關係密切,這個範圍太大,這裡只是談串列埠伺服器軟體如何設計。

1.1 串列埠資料結構

1.2 網口資料結構

串列埠資料結構中,串列埠引數、操作模式、協議型別以及與串列埠打包有關的資料需要儲存在非易失性儲存器中;

網口資料結構需要儲存在非易失性儲存器中。

在設計引數儲存程式時,應考慮易擴充套件性。因為將來串列埠的個數可能會比當前設計的個數增加,新增加的串列埠,不應該再去考慮引數儲存的事情。

串列埠接收的資料和網口接收的資料應該分別儲存,環形佇列這種資料結構能很好的滿足我們的需求。它用兩個指標分別管理讀和寫入口,一般寫佇列的優先順序都會大於或等於讀佇列優先順序,這樣就可以不用設定臨界區。

在我們這個應用中,環形佇列每次寫入和讀出的資料都不一定相同,所以我們需要改造通用的環形佇列實現方法,將每一幀的長度欄位和資料一起存入到環形佇列中去。

資料打包一般只針對串列埠,這是因為串列埠在硬體層面上是不支援"資料幀"的,它是乙個位元組乙個位元組傳送和接收(即使有fifo,但通常不會超過16位元組)。網口與串列埠不同,它會將資料打包,在一包資料前面和後面各增加一些位形成資料幀,可以說網口硬體已經將資料打包好了,串列埠沒有這種硬體功能,需要軟體打包。

一般可以根據設定的引數來打包,比如根據打包時間引數、打包長度引數、分隔符等等。如果沒有使能這些引數,或者打包時間引數和打包長度引數設定為0,就需要程式預設乙個打包時間。

打包時間這個引數很容易被誤解,它並不是說這個時間內的資料打成一包資料,而是當接收乙個位元組資料之後,超過打包時間也沒有接收到下乙個位元組資料,我們就會把這之前接收的資料打包。

打包長度這個引數是指接收到的資料個數等於打包長度時,這些資料打成一包。需要注意的是程式中隱藏著另外乙個固定的打包長度,並且這個打包長度優先順序最高,只要接收到的資料長度等於這個打包長度,會忽略掉其它所有打包引數,立刻將資料打包。這個隱含打包長度就是串列埠接收緩衝區長度。

分隔符可以有1個也可以有多個,當接收的資料流中包含了分隔符後,資料立刻被打包,它會忽略打包時間引數。

如果支援軟體協議,要根據軟體協議規定的打包策略執行。

新增自定義協議層,可以實現資料過濾、更詳細的資料統計功能等等;可以將串列埠伺服器用作modbus閘道器,用於將modbus tcp轉換成modbus rtu;可以實現其它協議轉換。

如果隔個半年,還得讓你記得某個串列埠伺服器的ip位址,那麼這樣的產品是相當沒有人性化設計的。所以我們必須設計一種功能,通過乙個上位機軟體,去發現當前區域網下的所有串列埠伺服器ip位址、mac位址等資訊。這一功能,叫做ip發現。

一般是利用udp廣播功能,向特定埠傳送乙個特定資料報,串列埠伺服器收到資料報後,將自己的ip位址等資訊上傳給上位機。圖6-1顯示上位機軟體獲取到的乙個串列埠伺服器資訊。

圖6-1:ip發現示意圖

主要用來修改引數和顯示統計資訊。需要注意的是要具有非法引數檢查功能。圖0、圖7-1和圖7-2顯示了部分網頁伺服器一般內容。

圖7-1:網路設定

圖7-2:串列埠設定

串列埠伺服器

串列埠伺服器 為rs 232 485 422到tcp ip 之間完成資料轉換的通訊介面轉換器。提供串列埠轉網路功能 可以讓串列埠裝置聯接網路 工作模式 測試硬體連線 電源供電 使用配套電源介面卡給串列埠伺服器供電 串列埠連線 通過usb轉rs232 rs485轉接線,連線pc和串列埠伺服器 485線...

無線串列埠伺服器

卓嵐wifi轉串列埠產品,包括wifi核心模組 rs232 rs485 rs422轉wifi 以及帶外殼的rs232 rs485無線串列埠伺服器。可以方便地實現各類串列埠裝置連線入wifi ieee802.11g b n 無線網路。另外卓嵐wifi產品支援使用zlvircom虛擬串列埠,串列埠公升級...

兩串口伺服器

兩串口伺服器zlan5243a是上海卓嵐資訊科技 開發的一款2串列埠rs232 485 422和tcp ip之間協議轉化器。zlan5243a支援2個rs232串列埠 2個rs422 485串列埠,通過一根網線連線到zlan5243a,實現2個串列埠同時全雙工工作。其中rs485介面是綠色接線端子介...