在工業(yè)物聯(lián)網(wǎng)(IIoT)的時代,網(wǎng)絡管理者從串口設備所提供的信息中獲取價值,了解設備狀態(tài)和工作數(shù)據(jù),這使得串口這種相對古老的連接方式得以延續(xù)。一種方法是將設備通過串口服務器連接到以太網(wǎng)。
串口服務器可用于將傳統(tǒng)串口設備連接到以太網(wǎng)。串口設備服務器有兩個接口:一側(cè)是串口接口,另一側(cè)是以太網(wǎng)接口。串口服務器使用虛擬COM端口概念,允許來自串口設備的數(shù)據(jù)通過網(wǎng)絡傳輸?shù)浆F(xiàn)有的SCADA系統(tǒng)。此外,串口服務器還支持原始套接字模式,它將串口數(shù)據(jù)透明地打包到TCP或UDP數(shù)據(jù)包中。大多數(shù)SCADA系統(tǒng)和OPC服務器都支持以太網(wǎng)封裝驅(qū)動程序,它們與串口設備服務器一起使用以接收專有協(xié)議。您仍然需要像以前一樣手動處理協(xié)議,但串口服務器可以幫助您輕松地將數(shù)據(jù)傳輸?shù)揭蕴W(wǎng)。
使用串口服務器支持物聯(lián)網(wǎng)云應用時需要考慮三個關(guān)鍵點:(1)多輪詢,(2)專有協(xié)議,(3)帶寬。
1. 多個輪詢
SCADA系統(tǒng)和遠程云應用程序可能同時向同一串口設備服務器發(fā)送多個命令。因此,串口設備服務器需要支持FIFO(先入先出)隊列來處理所有查詢。隊列中的第一個查詢將首先發(fā)送到串口設備,而其余查詢將在設備服務器內(nèi)的FIFO隊列中等待。一旦串口設備服務器接收到來自串口設備的響應,它將把響應發(fā)送到相關(guān)的SCADA系統(tǒng)或云應用程序,并處理FIFO隊列中的下一個查詢。這種逐命令處理在物聯(lián)網(wǎng)多輪詢應用程序中非常重要,因為大量的串口設備支持專有協(xié)議。如果沒有這種設計,就需要一個額外的支持多個輪詢的物聯(lián)網(wǎng)網(wǎng)關(guān)。
2. 專有協(xié)議(數(shù)據(jù)打包)
由于許多串口設備使用專有協(xié)議,因此串口服務器必須能夠正確地將串口數(shù)據(jù)轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)包。許多串口服務器支持原始套接字和TCP服務器模式,它們可以處理這些類型的轉(zhuǎn)換。然而,問題是串口服務器可能不知道將串口數(shù)據(jù)劃分為單獨的TCP數(shù)據(jù)包的最佳方法。串口設備服務器不理解專有的串口數(shù)據(jù)格式,因此它們可能將串口設備的單個響應分解為兩個或多個TCP數(shù)據(jù)包。當SCADA系統(tǒng)或云應用程序解包時,它們將被拒絕,因為單個包提供的串口數(shù)據(jù)不遵循預期的格式。SCADA系統(tǒng)或云應用程序通常希望將單個串口設備服務器響應打包到單個TCP包中。為了確保正確處理,串口服務器需要支持靈活的數(shù)據(jù)打包選項,因為不同的專有協(xié)議具有不同的數(shù)據(jù)格式。例如,可以使用固定的數(shù)據(jù)長度或特殊的分隔符字符來標識單個串口設備響應。在這種情況下,串口服務器將繼續(xù)從串口設備接收數(shù)據(jù),直到它接收到預期的數(shù)據(jù)量或預先配置的分隔符,然后才通過以太網(wǎng)傳輸數(shù)據(jù)。如果串口設備服務器不支持數(shù)據(jù)打包選項,則必須開發(fā)復雜的SCADA軟件應用程序來正確處理TCP數(shù)據(jù)包。開發(fā)這種特殊用途的軟件會浪費寶貴的時間和金錢,還可能在系統(tǒng)中產(chǎn)生錯誤。
3.帶寬
串口服務器需要先打開遠程連接,然后才能傳輸串口數(shù)據(jù)。如果大量串口設備連接到同一網(wǎng)絡,則連接將需要控制室或云應用程序中的許多寬帶資源。要正確處理這些大量的遠程連接,串口服務器應支持靈活的連接控制。執(zhí)行此操作的最佳方法是僅在從設備接收串口數(shù)據(jù)時打開連接。傳輸完成后,串口服務器應立即關(guān)閉連接。如果不支持靈活的連接控制,則需要花費額外的時間來處理中央站點或云應用程序的連接。