SSIO的特點

1.輕型高性能通信框架,適用于多種應(yīng)用場,輪詢模式、自控模式、并發(fā)模式和單例模式。
2.不光是通訊框架,是設(shè)備驅(qū)動、IO通道、控制模式場景的協(xié)調(diào)機(jī)制。
3.支持協(xié)議驅(qū)動器,可以按規(guī)范寫標(biāo)準(zhǔn)協(xié)議和自定義協(xié)議。
4.支持發(fā)送數(shù)據(jù)緩存器,支持命令緩存重發(fā)和按優(yōu)先級別發(fā)送。
5.支持協(xié)議過濾器,按規(guī)則篩選數(shù)據(jù),并且可以承繼接口,自定義過濾方式。
6.支持接收數(shù)據(jù)緩存器,可以緩存不符合過濾器的數(shù)據(jù),和下次接收數(shù)據(jù)進(jìn)行拼接。
7.支持按設(shè)備命令優(yōu)先級別進(jìn)行調(diào)度設(shè)備,保證有高級別命令的驅(qū)動及時發(fā)送。
8.支持一個設(shè)備驅(qū)動,同時支持串口和網(wǎng)絡(luò)兩種通訊方式,可以監(jiān)視IO通道數(shù)據(jù)。
9.支持一個設(shè)備驅(qū)動,在網(wǎng)絡(luò)通訊時可以支持TCP Server和TCP Client兩種工作模式。
10.支持多設(shè)備共享同一IO通道進(jìn)行通訊。
11.支持定時清理超時的網(wǎng)絡(luò)IO通道。
12.支持顯示視圖接口,滿足不同顯示需求。
13.支持服務(wù)組件接口,可以自定義完成OPC服務(wù)、4-20mA輸出、LED大屏顯示、短信服務(wù)、以及多功能網(wǎng)關(guān)服務(wù)。
14.支持創(chuàng)建多服務(wù)實例,完成不同業(yè)務(wù)的拆分。
15.支持跨平臺部署,可以運行在Linux和Windows系統(tǒng)。
16.設(shè)備驅(qū)動與設(shè)備驅(qū)動,設(shè)備驅(qū)動與服務(wù)器(云端)可以實時雙向交互,上傳數(shù)據(jù)和指令下發(fā)。

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)機(jī)制,各方面之間無縫銜接和運行,也是為了解決現(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é)議要對整個軟件進(jìn)行梳理,往往在此過程中出現(xiàn)新的問題或BUG。
(2)針對不同用戶對軟件界面或功能的要求有很大不同,使之滿足不同用戶的顯示要求,可以自定義數(shù)據(jù)顯示界面。那么就需要提供顯示視圖接口,與設(shè)備驅(qū)動進(jìn)行交互。
(3)既然現(xiàn)場設(shè)備的數(shù)據(jù)被采集上來,那么就需要對其進(jìn)行處理,不僅僅是保存、查詢、報表等,還有:數(shù)據(jù)轉(zhuǎn)發(fā)、數(shù)據(jù)輸出(OPC、模擬量、大屏等)等。那么就需要提供服務(wù)性的接口,與設(shè)備驅(qū)動進(jìn)行交互。
(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ù)端進(jìn)行數(shù)據(jù)交互,那么就應(yīng)該對設(shè)備的通訊狀態(tài)、IO狀態(tài)、以及設(shè)備本身的狀態(tài)進(jìn)行監(jiān)控,這樣設(shè)備才處于可維護(hù)狀態(tài)。
(7)軟件各版本、以及軟件與硬件之間的兼容性很差,管理起來錯綜復(fù)雜。在框架平臺穩(wěn)定的情況下,只需要更新設(shè)備驅(qū)動。
為了解決以上諸多問題,開發(fā)一個軟件框架,支持二次開發(fā)。在不對軟件框架改動的情況下,能夠很方便的接入設(shè)備、維護(hù)設(shè)備、集成設(shè)備、處理設(shè)備業(yè)務(wù)數(shù)據(jù)等。軟件框架相對穩(wěn)定,把容易變化的部分進(jìn)行靈活設(shè)計。

  下載:ServerSuperIO官方下載

  下載:Github下載

萬碼學(xué)堂,電腦培訓(xùn),計算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)


 

連載教程:

1.4種通訊模式機(jī)制
2.服務(wù)實例的配置參數(shù)說明
3.設(shè)備驅(qū)動介紹
4.如開發(fā)一套設(shè)備驅(qū)動,同時支持串口和網(wǎng)絡(luò)通訊
5.輪詢通訊模式開發(fā)及注意事項
6.并發(fā)通訊模式開發(fā)及注意事項
7.自控通訊模式開發(fā)及注意事項
8.單例通訊模式開發(fā)及注意事項
9. 協(xié)議過濾器,解決一包多發(fā)、粘包、冗余數(shù)據(jù)
10.持續(xù)傳輸大塊數(shù)據(jù)流的兩種方式(如:文件)
11.實現(xiàn)設(shè)備(驅(qū)動)與設(shè)備(驅(qū)動)交互和級聯(lián)控制。
12.服務(wù)接口的開發(fā),以及與云端雙向交互
13.自定義視圖顯示接口開發(fā),滿足不同的顯示需求
14.配制工具介紹,以及設(shè)備驅(qū)動、視圖驅(qū)動、服務(wù)實例的掛載

 


 

1.[連載]《C#通訊(串口和網(wǎng)絡(luò))框架的設(shè)計與實現(xiàn)》

2.[開源]C#跨平臺物聯(lián)網(wǎng)通訊框架ServerSuperIO(SSIO)介紹

2.應(yīng)用SuperIO(SIO)和開源跨平臺物聯(lián)網(wǎng)框架ServerSuperIO(SSIO)構(gòu)建系統(tǒng)的整體方案

3.C#工業(yè)物聯(lián)網(wǎng)和集成系統(tǒng)解決方案的技術(shù)路線(數(shù)據(jù)源、數(shù)據(jù)采集、數(shù)據(jù)上傳與接收、ActiveMQ、Mongodb、WebApi、手機(jī)App)