通訊平台的交互對象包括兩方面:第一、與硬件產品交互。第二、與軟件產品交互。基本這兩方面考慮,通訊平台一般會應用在兩個場景:
1)通訊平台應用在PC機上
主要應用在自動站的工控機上,通過RS485/RS232、RJ45、4-20mA等方式采集硬件設備的數據信息。同時,通訊平台與服務器端的軟件進行交互,負責上傳數據信息,以及接收控制命令等。
2)通訊平台應用在服務器端上
終端設備以3G/4G、有線專網、衛星等與通訊平台連接,進行數據交互,終端設備包括:PC機、移動終端(手機)、監測設備等。
對於通訊平台來說,通訊部分始終是軟件的核心,要求高實時性、高穩定性。軟件架構決定了軟件運行的穩定性,以及以後的擴展性,所以需要對通訊機制、控制方式進行良好的設計。
一般采用的通訊機制為呼叫應答方式,或叫主從方式。主機發送請求命令,從機接到命令後進行校驗數據的完整性,以及確定是否發給自己的命令,校驗成功後,返回指定的數據信息,完成一次完整的通訊。
呼叫應答通訊機制如下圖:
在開發設備驅動或協議驅動的時候,對於同一個驅動模塊要同時支持RS485/RS232和RJ45通訊方式,避免因為協議的不同或是通訊方式的不同進行多次重復性的開發。保證業務邏輯統一的情況下,盡量減少工作量。所以,在通訊方式方面要在邏輯上統一接口,以保證整個通訊平台的通用性。
接口設計如下圖:
由於串口通訊的特性限制,避免多個硬件設備連接到串口總線出現數據混亂現象,主要采用輪詢模式的呼叫應答通迅機制。
當有多個設備連接到通訊平台時,通訊平台會輪詢調度設備進行通訊任務。某一時刻只能有一個設備進行發送請求命令、等待接收返回數據,這個設備完成發送、接收後,下一個設備才進行通訊任務,依次輪詢設備。如下圖:
輪詢通訊機制是保證數據有序的發送、接收,避免並發數據在總線上出現混亂,但是這種通訊機制是以降低性能為代價的,適用於串口通訊,在以太網通訊中顯然無法充分利用網絡通訊的優勢。
以太網是獨立信道、可以全雙工通訊。為了充分發揮以太網的優勢,在輪詢通訊機制的基礎上增加了並發通訊模式、自控通訊模式通迅機制。一是為了提高通訊的性能,二是為了二次開發有更多自主控制權。
以太網輪詢通訊模式與串口通訊模式一致,如下圖:
並發通訊模式是集中發送所有設備的請求指令,硬件設備接收到指令後進行校驗,校驗成功後返回對應指令的數據,通訊平台監聽到數據信息後,進行接收操作,然後再進行數據的分發、處理等。如下圖:
自控通訊模式與並發通訊模式類似,區別在於發送指令操作交給設備本身,或者說交給二次開發者,二次開發者可以自主通過事件驅動發送指令。硬件設備接收到指令後進行校驗,校驗成功後返回對應指令的數據,通訊平台監聽到數據信息後,進行接收操作,然後再進行數據的分發、處理等。
自控通訊模式可以為二次開發者提供精確的定時請求實時數據機制,使通訊機制更靈活。也可以利用自控通訊模式,在不發送任何數據的情況下,進行被動接收數據。如下圖:
作者QQ:504547114
交流QQ群:54256083
源網址:http://www.bmpj.net/index.php?m=article&f=view&id=1