通訊平臺的交互對象包括兩方面:第一、與硬件產品交互。第二、與軟件產品交互。基本這兩方面考慮,通訊平臺一般會應用在兩個場景:
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
|
新聞熱點
疑難解答