程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 一.SuperIO通訊機制,.SuperIO通訊機制

一.SuperIO通訊機制,.SuperIO通訊機制

編輯:C#入門知識

一.SuperIO通訊機制,.SuperIO通訊機制


1.1    應用場景

   通訊平台的交互對象包括兩方面:第一、與硬件產品交互。第二、與軟件產品交互。基本這兩方面考慮,通訊平台一般會應用在兩個場景:

1)通訊平台應用在PC機上

   主要應用在自動站的工控機上,通過RS485/RS232、RJ45、4-20mA等方式采集硬件設備的數據信息。同時,通訊平台與服務器端的軟件進行交互,負責上傳數據信息,以及接收控制命令等。

2)通訊平台應用在服務器端上

   終端設備以3G/4G、有線專網、衛星等與通訊平台連接,進行數據交互,終端設備包括:PC機、移動終端(手機)、監測設備等。

 



1.2    通訊機制概述

   對於通訊平台來說,通訊部分始終是軟件的核心,要求高實時性、高穩定性。軟件架構決定了軟件運行的穩定性,以及以後的擴展性,所以需要對通訊機制、控制方式進行良好的設計。

   一般采用的通訊機制為呼叫應答方式,或叫主從方式。主機發送請求命令,從機接到命令後進行校驗數據的完整性,以及確定是否發給自己的命令,校驗成功後,返回指定的數據信息,完成一次完整的通訊。

   呼叫應答通訊機制如下圖:




1.3   串口、網絡的整合

    在開發設備驅動或協議驅動的時候,對於同一個驅動模塊要同時支持RS485/RS232和RJ45通訊方式,避免因為協議的不同或是通訊方式的不同進行多次重復性的開發。保證業務邏輯統一的情況下,盡量減少工作量。所以,在通訊方式方面要在邏輯上統一接口,以保證整個通訊平台的通用性。

    接口設計如下圖:


 

1.4   串口通訊機制

    由於串口通訊的特性限制,避免多個硬件設備連接到串口總線出現數據混亂現象,主要采用輪詢模式的呼叫應答通迅機制。

(1)  輪詢模式

   當有多個設備連接到通訊平台時,通訊平台會輪詢調度設備進行通訊任務。某一時刻只能有一個設備進行發送請求命令、等待接收返回數據,這個設備完成發送、接收後,下一個設備才進行通訊任務,依次輪詢設備。如下圖:


1.5   網絡通訊機制

    輪詢通訊機制是保證數據有序的發送、接收,避免並發數據在總線上出現混亂,但是這種通訊機制是以降低性能為代價的,適用於串口通訊,在以太網通訊中顯然無法充分利用網絡通訊的優勢。

    以太網是獨立信道、可以全雙工通訊。為了充分發揮以太網的優勢,在輪詢通訊機制的基礎上增加了並發通訊模式、自控通訊模式通迅機制。一是為了提高通訊的性能,二是為了二次開發有更多自主控制權。

(1)  輪詢模式

    以太網輪詢通訊模式與串口通訊模式一致,如下圖:

(2) 並發模式

    並發通訊模式是集中發送所有設備的請求指令,硬件設備接收到指令後進行校驗,校驗成功後返回對應指令的數據,通訊平台監聽到數據信息後,進行接收操作,然後再進行數據的分發、處理等。如下圖:


(3)  自控模式

    自控通訊模式與並發通訊模式類似,區別在於發送指令操作交給設備本身,或者說交給二次開發者,二次開發者可以自主通過事件驅動發送指令。硬件設備接收到指令後進行校驗,校驗成功後返回對應指令的數據,通訊平台監聽到數據信息後,進行接收操作,然後再進行數據的分發、處理等。

    自控通訊模式可以為二次開發者提供精確的定時請求實時數據機制,使通訊機制更靈活。也可以利用自控通訊模式,在不發送任何數據的情況下,進行被動接收數據。如下圖:

 

作者QQ:504547114

交流QQ群:54256083

官方網址:http://www.bmpj.net

源網址:http://www.bmpj.net/index.php?m=article&f=view&id=1

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved