- 艾寶物聯IOBOV? ─ 工業無線測控專家
如果用TX表示在設備的端口上數據發送(數據離開功能塊)的端子,用RX表示在設備的端口上數據接收(數據進入功能塊)的端子,則設備A與設備B之間的串口連接如下圖1所示。
如果將串口連線也看成一個兩端口的設備并把這兩個端口的端子做標注,則兩設備通過綠框內的連線進行串口通訊的連接如下圖2所示:
如果用無線數傳模塊替代串口連接線,則設備A與設備B之間的通信連接如下圖3所示。
對比圖2與圖3可以看出如果將兩個無線模塊組成的無線信道也看成是一個兩端口的設備,則對設備A與設備B而言,串口通訊時有線連接與無線連接的端子對應關系是一樣的。
用無線信道替代有線連接后的通信程序與有線連接下的通信程序的編制基本相同,不同點只有如下三點。在注意以下三點的基礎上使用無線數傳模塊時我們可以把兩個無線模塊組成的系統看做是一段連線。 不同點1:
有線連接的通訊程序中串口幀格式、串口速率可任意設置。連接線本身對上述兩個參數無任何限制。
數傳模塊的串口幀格式、串口速率為一固定值,串口幀格式可設置成(1,8,1)或(1,9,1)。串口速率為固定的如F49P的速率是9600bit/s、D21DM模塊的速率是1200 bit/s。使用無線模塊的通信程序在這兩個參數上應與模塊一致。
不同點2:如果是設備A發出數據,設備B接收數據。有線連接時發端發出數據的時刻與收端收到數據的時刻無時間間隔。示意圖如下:
因為無線模塊在發送數據時要進行收發轉換及時鐘同步,無線通信時設備A發出數據的時刻與設備收到數據的時刻有時間間隔。這個時間間隔就叫延時時間記為T。如F49P的T為8ms,D21DM的T為138ms。示意圖如下所示:
若用戶的通信程序是自己編制的并且程序中有等待判斷是否超時的程序操作,請在上述程序中將延時時間計算在內。例如下圖A、B兩點間需進行通信,通信的過程如下:A向B發三字節命令,B收到命令后向A發三字節應答數據,若A發命令后在TS時間內沒有收到B發的應答數據則A顯示通信故障信息。通信過程框圖見下圖?,F以F49P模塊為例量化一下以上概念。已知B處理命令的時間為1ms、三字節數據通信時間為3.2ms數據延時時間為8ms。求TS。
TS應大于等于:20.2 ms =8 ms(A發后B收到的延時)+1ms(B處理命令的時間)+8 ms(B發后A收到的延時)+3.2ms(三字節數據通信時間)+2 ms(時間的余量)
若用戶使用的上位機是有固定通信程序的設備,則要看通信程序中等待時間的余量是否超過T=16ms。若超過則不用更改通信程序。若不超過則要更改通信程序使等待時間的余量超過T=16ms。絕大多數的有固定通信程序的設備的等待時間的余量都超過T=16ms。
不同點3:有線連接時串口通信是全雙工的
無線模塊的通信是半雙工的。既無線模塊發射數據時模塊不能接收數據,接收數據時模塊不能發射數據。因此在通信編程時應將收發的時間錯開。
一般問答式的通信程序收發的時間均是錯開的。
通常自動化控制系統采用點對多點的通信方式,在點對多點的通信方式中若用有線連接所有從設備連接在通信總線上。連接示意圖如下:
若用無線數傳模塊替代有線連接示意圖如下,所有從設備與主設備的連接關系與有線連接一樣均為總線連接關系。
使用模塊串口與使用有線連接相比應注意以下幾點: