您好,登錄后才能下訂單哦!
這篇文章主要講解了“C#的ServerSuperIO有什么特點”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C#的ServerSuperIO有什么特點”吧!
一.SSIO的特點
輕型高性能通信框架,適用于多種應(yīng)用場,輪詢模式、自控模式、并發(fā)模式和單例模式。
設(shè)備驅(qū)動、IO通道、控制模式場景協(xié)調(diào)統(tǒng)一。
設(shè)備驅(qū)動內(nèi)軒命令驅(qū)動器、命令緩存器、自定義參數(shù)和實時數(shù)據(jù)元素。
框架平臺支持按設(shè)備命令優(yōu)先級別進行調(diào)度,保證高級別命令及時發(fā)送。
一個設(shè)備驅(qū)動同時支持串口和網(wǎng)絡(luò)兩種通訊方式,可以監(jiān)視IO通道數(shù)據(jù)。
一個設(shè)備驅(qū)動,在網(wǎng)絡(luò)通訊時可以支持TCP Server和TCP Client兩種工作模式。
內(nèi)置顯示視圖接口,滿足不同顯示需求。
內(nèi)置服務(wù)組件接口,可以自定義完成OPC服務(wù)、4-20mA輸出、LED大屏顯示、短信服務(wù)、以及多功能網(wǎng)關(guān)服務(wù)。
可以創(chuàng)建多服務(wù)實例,完成不同業(yè)務(wù)的拆分。
支持跨平臺部署,可以運行在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è)備。如下圖:
(2)并發(fā)模式:只有網(wǎng)絡(luò)通訊時可以使用這種控制模式。并發(fā)通訊模式是集中發(fā)送所有設(shè)備的請求指令,框架是采用循環(huán)同步方式發(fā)送請求命令。還有進一步提高的機會,采用并行異步方式集中發(fā)送請求命令。硬件設(shè)備接收到指令后進行校驗,校驗成功后返回對應(yīng)指令的數(shù)據(jù),通訊平臺異步監(jiān)聽到數(shù)據(jù)信息后,進行接收操作,然后再進行數(shù)據(jù)的分發(fā)、處理等。如下圖:
(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通道的話,時間控制會有偏差。如下圖:
(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ù)。如下圖:
五.跨平臺Windows和Linux
(1)Windows運行效果
(2)Linux運行效果
感謝各位的閱讀,以上就是“C#的ServerSuperIO有什么特點”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C#的ServerSuperIO有什么特點這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(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)容。