日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#跨平台物联网通讯框架ServerSuperIO(SSIO)

發布時間:2023/12/4 C# 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#跨平台物联网通讯框架ServerSuperIO(SSIO) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.SSIO的特點

  • 輕型高性能通信框架,適用于多種應用場,輪詢模式、自控模式、并發模式和單例模式。

  • 設備驅動、IO通道、控制模式場景協調統一。

  • 設備驅動內軒命令驅動器、命令緩存器、自定義參數和實時數據元素。

  • 框架平臺支持按設備命令優先級別進行調度,保證高級別命令及時發送。

  • 一個設備驅動同時支持串口和網絡兩種通訊方式,可以監視IO通道數據。

  • 一個設備驅動,在網絡通訊時可以支持TCP Server和TCP Client兩種工作模式。

  • 內置顯示視圖接口,滿足不同顯示需求。

  • 內置服務組件接口,可以自定義完成OPC服務、4-20mA輸出、LED大屏顯示、短信服務、以及多功能網關服務。

  • 可以創建多服務實例,完成不同業務的拆分。

  • 支持跨平臺部署,可以運行在Linux和Windows系統。

  • ?

    二.SSIO概述

    ?? SSIO通信框架的設計思想是在SuperIO(SIO)基礎上發展而來,并沒有高大上的技術,主要是工作經驗的積累,適合于不同應用場景的物聯網的數據采集與交互。SSIO和SIO并不是簡單的對IO高性能的操作,而是設備驅動、IO通道、控制模式和實際硬件設備之間的協調機制,各方面之間無縫銜接和運行,也是為了解決現實工作和應用場景的一些痛點。

    ? 軟硬件之間的數據交互,并且面臨著復雜的現場環境:

    (1)復雜的、多樣的通訊協議。有標準的協議,例如:Modbus等,也有很多根據標準協議修改的協議格式、以及自定義協議格式,并且千差萬別。對于不好的軟件架構,疲于應對,增加設備或協議要對整個軟件進行梳理,往往在此過程中出現新的問題或BUG。

    (2)針對不同用戶對軟件界面或功能的要求有很大不同,使之滿足不同用戶的顯示要求,可以自定義數據顯示界面。那么就需要提供顯示視圖接口,與設備驅動進行交互。

    (3)既然現場設備的數據被采集上來,那么就需要對其進行處理,不僅僅是保存、查詢、報表等,還有:數據轉發、數據輸出(OPC、模擬量、大屏等)等。那么就需要提供服務性的接口,與設備驅動進行交互。

    (4)通訊鏈路的多種性,對于同一個設備可能要支持RS232/RS485/RS422、RJ45、3G/4G等通訊方式,所以對于一個設備要對應多種通訊方式(串口和網絡),也給我們的開發造成很大的障礙。

    (5)設備驅動、IO通道和實際的現場硬件終端之間鏈路復雜,有可能:一個設備驅動對應一個IO通道、一個設備驅動對應多個IO通道、多個設備驅動對應一個IO通道等情況。

    (6)既然設備與服務端進行數據交互,那么就應該對設備的通訊狀態、IO狀態、以及設備本身的狀態進行監控,這樣設備才處于可維護狀態。

    (7)軟件各版本、以及軟件與硬件之間的兼容性很差,管理起來錯綜復雜。在框架平臺穩定的情況下,只需要更新設備驅動。

    ?? 為了解決以上諸多問題,開發一個軟件框架,支持二次開發。在不對軟件框架改動的情況下,能夠很方便的接入設備、維護設備、集成設備、處理設備業務數據等。軟件框架相對穩定,把容易變化的部分進行靈活設計。

    ?

    三.SSIO與SIO的區別

    序號

    屬性

    SSIO

    SIO

    1

    應用場景

    適用于高頻的數據采集與控制,可以部署在服務器端。

    適用于一般性的上位機數據采集,例如:局域網內的廠級服務端應用。

    2

    控制模式

    輪詢模式、自控模式、并發模式、單例模式

    輪詢模式、自控模式、并發模式、

    3

    性能

    高性能

    性能不如SSIO

    4

    服務實例

    一個進程可以創建多個服務實例

    一個進程只能創建一個服務實例

    5

    跨平臺

    支持Linux和Windows

    只支持Windows各版本操作系統

    6

    二次開發

    方便(不包括界面)

    只需要繼承就可以創建一個完整的應用程序

    7

    代碼結構

    更合適

    使用的單例模式較多

    8

    串口組件

    SerialPort

    PCOMM

    9

    網絡組件

    SocketAsyncEventArgs

    Socket

    10

    開源

    開源

    沒有開源

    11

    OPC

    不支持

    支持

    12

    模擬量

    不支持

    支持

    13

    插件

    需要自己二次開發

    完全支持插件化部署

    ?

    四.控制模式

    (1)輪詢模式:當串口和網絡通訊時都可以使用這種控制模式。當有多個設備連接到通訊平臺時,通訊平臺會輪詢調度設備進行通訊任務。某一時刻只能有一個設備發送請求命令、等待接收返回數據,這個設備完成發送、接收(如果遇到超時情況,則自動返回)后,下一個設備才進行通訊任務,依次輪詢設備。如下圖:

    ?

    (2)并發模式:只有網絡通訊時可以使用這種控制模式。并發通訊模式是集中發送所有設備的請求指令,框架是采用循環同步方式發送請求命令。還有進一步提高的機會,采用并行異步方式集中發送請求命令。硬件設備接收到指令后進行校驗,校驗成功后返回對應指令的數據,通訊平臺異步監聽到數據信息后,進行接收操作,然后再進行數據的分發、處理等。如下圖:

    ?

    (3)自控模式:只有網絡通訊時可以使用這種控制模式。自控通訊模式與并發通訊模式類似,區別在于發送指令操作交給設備驅動本身進行控制,或者說交給二次開發者,二次開發者可以通過時鐘定時用事件驅動的方式發送指令數據。硬件設備接收到指令后進行校驗,校驗成功后返回對應指令的數據,通訊平臺異步監聽到數據信息后,進行接收操作,然后再進行數據的分發、處理等。

    ?? 自控通訊模式可以為二次開發者提供精確的定時請求實時數據機制,使通訊機制更靈活、自主,如果多個設備驅動使用同一個IO通道的話,時間控制會有偏差。如下圖:

    ?

    (4)單例模式:只有網絡通訊時可以使用這種控制模式。在一個服務實例內只能有一個設備驅動,相當于一個設備驅動對應著N多個硬件設備終端。更適合通訊的數據協議有固定的標準,以命令關鍵字處理不同的數據。適用于高并發的硬件終端設備主動上傳數據,服務器端根據數據信息進行處理和返回相應的數據。如下圖:

    ?

    ?

    五.跨平臺Windows和Linux

    (1)Windows運行效果

    ?

    (2)Linux運行效果

    ?

    開源地址:https://github.com/wxzz/ServerSuperIO

    原文地址:http://www.cnblogs.com/lsjwq/p/5316577.html


    .NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

    贊賞

    人贊賞

    總結

    以上是生活随笔為你收集整理的C#跨平台物联网通讯框架ServerSuperIO(SSIO)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。