溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#的ServerSuperIO有什么特點

發(fā)布時間:2021-11-26 16:19:32 來源:億速云 閱讀:135 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要講解了“C#的ServerSuperIO有什么特點”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C#的ServerSuperIO有什么特點”吧!

一.SSIO的特點

  1. 輕型高性能通信框架,適用于多種應(yīng)用場,輪詢模式、自控模式、并發(fā)模式和單例模式。

  2. 設(shè)備驅(qū)動、IO通道、控制模式場景協(xié)調(diào)統(tǒng)一。

  3. 設(shè)備驅(qū)動內(nèi)軒命令驅(qū)動器、命令緩存器、自定義參數(shù)和實時數(shù)據(jù)元素。

  4. 框架平臺支持按設(shè)備命令優(yōu)先級別進行調(diào)度,保證高級別命令及時發(fā)送。

  5. 一個設(shè)備驅(qū)動同時支持串口和網(wǎng)絡(luò)兩種通訊方式,可以監(jiān)視IO通道數(shù)據(jù)。

  6. 一個設(shè)備驅(qū)動,在網(wǎng)絡(luò)通訊時可以支持TCP Server和TCP Client兩種工作模式。

  7. 內(nèi)置顯示視圖接口,滿足不同顯示需求。

  8. 內(nèi)置服務(wù)組件接口,可以自定義完成OPC服務(wù)、4-20mA輸出、LED大屏顯示、短信服務(wù)、以及多功能網(wǎng)關(guān)服務(wù)。

  9. 可以創(chuàng)建多服務(wù)實例,完成不同業(yè)務(wù)的拆分。

  10. 支持跨平臺部署,可以運行在Linux和Windows系統(tǒng)。

二.SSIO概述

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

  軟硬件之間的數(shù)據(jù)交互,并且面臨著復(fù)雜的現(xiàn)場環(huán)境:

(1)復(fù)雜的、多樣的通訊協(xié)議。有標(biāo)準(zhǔn)的協(xié)議,例如:Modbus等,也有很多根據(jù)標(biāo)準(zhǔn)協(xié)議修改的協(xié)議格式、以及自定義協(xié)議格式,并且千差萬別。對于不好的軟件架構(gòu),疲于應(yīng)對,增加設(shè)備或協(xié)議要對整個軟件進行梳理,往往在此過程中出現(xiàn)新的問題或BUG。

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

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

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

(5)設(shè)備驅(qū)動、IO通道和實際的現(xiàn)場硬件終端之間鏈路復(fù)雜,有可能:一個設(shè)備驅(qū)動對應(yīng)一個IO通道、一個設(shè)備驅(qū)動對應(yīng)多個IO通道、多個設(shè)備驅(qū)動對應(yīng)一個IO通道等情況。

(6)既然設(shè)備與服務(wù)端進行數(shù)據(jù)交互,那么就應(yīng)該對設(shè)備的通訊狀態(tài)、IO狀態(tài)、以及設(shè)備本身的狀態(tài)進行監(jiān)控,這樣設(shè)備才處于可維護狀態(tài)。

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

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

三.SSIO與SIO的區(qū)別

序號

屬性

SSIO

SIO

1

應(yīng)用場景

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

適用于一般性的上位機數(shù)據(jù)采集,例如:局域網(wǎng)內(nèi)的廠級服務(wù)端應(yīng)用。

2

控制模式

輪詢模式、自控模式、并發(fā)模式、單例模式

輪詢模式、自控模式、并發(fā)模式、

3

性能

高性能

性能不如SSIO

4

服務(wù)實例

一個進程可以創(chuàng)建多個服務(wù)實例

一個進程只能創(chuàng)建一個服務(wù)實例

5

跨平臺

支持Linux和Windows

只支持Windows各版本操作系統(tǒng)

6

二次開發(fā)

方便(不包括界面)

只需要繼承就可以創(chuàng)建一個完整的應(yīng)用程序

7

代碼結(jié)構(gòu)

更合適

使用的單例模式較多

8

串口組件

SerialPort

PCOMM

9

網(wǎng)絡(luò)組件

SocketAsyncEventArgs

Socket

10

開源

開源

沒有開源

11

OPC

不支持

支持

12

模擬量

不支持

支持

13

插件

需要自己二次開發(fā)

完全支持插件化部署

四.控制模式

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

 C#的ServerSuperIO有什么特點

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

 C#的ServerSuperIO有什么特點

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

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

 C#的ServerSuperIO有什么特點

(4)單例模式:只有網(wǎng)絡(luò)通訊時可以使用這種控制模式。在一個服務(wù)實例內(nèi)只能有一個設(shè)備驅(qū)動,相當(dāng)于一個設(shè)備驅(qū)動對應(yīng)著N多個硬件設(shè)備終端。更適合通訊的數(shù)據(jù)協(xié)議有固定的標(biāo)準(zhǔn),以命令關(guān)鍵字處理不同的數(shù)據(jù)。適用于高并發(fā)的硬件終端設(shè)備主動上傳數(shù)據(jù),服務(wù)器端根據(jù)數(shù)據(jù)信息進行處理和返回相應(yīng)的數(shù)據(jù)。如下圖:

 C#的ServerSuperIO有什么特點

五.跨平臺Windows和Linux

(1)Windows運行效果

 C#的ServerSuperIO有什么特點

(2)Linux運行效果

C#的ServerSuperIO有什么特點

感謝各位的閱讀,以上就是“C#的ServerSuperIO有什么特點”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C#的ServerSuperIO有什么特點這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI