3.0版本主要更新內容:
1.增加跨平台能力:Win&Win10 Iot&Ubuntu&Ubuntu Mate
2.統一設備驅動接口:可以一套設備驅動,跨平台掛載運行,降低人力成本,提高開發效率。
3.增加二次開發套件:支持控制台和UI界面兩種方式。
4.增加配置工具:參數配置、設備驅動掛載、視圖掛載、服務實例的掛載。
5.修復BUG,優化代碼。
SSIO的特點
1.輕型高性能通信框架,適用於多種應用場,輪詢模式、自控模式、並發模式和單例模式。
2.不光是通訊框架,是設備驅動、IO通道、控制模式場景的協調機制。
3.支持協議驅動器,可以按規范寫標准協議和自定義協議。
4.支持發送數據緩存器,支持命令緩存重發和按優先級別發送。
5.支持協議過濾器,按規則篩選數據,並且可以承繼接口,自定義過濾方式。
6.支持接收數據緩存器,可以緩存不符合過濾器的數據,和下次接收數據進行拼接。
7.支持按設備命令優先級別進行調度設備,保證有高級別命令的驅動及時發送。
8.支持一個設備驅動,同時支持串口和網絡兩種通訊方式,可以監視IO通道數據。
9.支持一個設備驅動,在網絡通訊時可以支持TCP Server和TCP Client兩種工作模式。
10.支持多設備共享同一IO通道進行通訊。
11.支持定時清理超時的網絡IO通道。
12.支持顯示視圖接口,滿足不同顯示需求。
13.支持服務組件接口,可以自定義完成OPC服務、4-20mA輸出、LED大屏顯示、短信服務、以及多功能網關服務。
14.支持創建多服務實例,完成不同業務的拆分。
15.支持跨平台部署,可以運行在Linux和Windows系統。
16.設備驅動與設備驅動,設備驅動與服務器(雲端)可以實時雙向交互,上傳數據和指令下發。
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)軟件各版本、以及軟件與硬件之間的兼容性很差,管理起來錯綜復雜。在框架平台穩定的情況下,只需要更新設備驅動。
為了解決以上諸多問題,開發一個軟件框架,支持二次開發。在不對軟件框架改動的情況下,能夠很方便的接入設備、維護設備、集成設備、處理設備業務數據等。軟件框架相對穩定,把容易變化的部分進行靈活設計。
下載:Github下載
連載教程:
1.4種通訊模式機制
2.服務實例的配置參數說明
3.設備驅動介紹
4.如開發一套設備驅動,同時支持串口和網絡通訊
5.輪詢通訊模式開發及注意事項
6.並發通訊模式開發及注意事項
7.自控通訊模式開發及注意事項
8.單例通訊模式開發及注意事項
9. 協議過濾器,解決一包多發、粘包、冗余數據
10.持續傳輸大塊數據流的兩種方式(如:文件)
11.實現設備(驅動)與設備(驅動)交互和級聯控制。
12.服務接口的開發,以及與雲端雙向交互
13.自定義視圖顯示接口開發,滿足不同的顯示需求
14.配制工具介紹,以及設備驅動、視圖驅動、服務實例的掛載
2.[開源]C#跨平台物聯網通訊框架ServerSuperIO(SSIO)介紹
2.應用SuperIO(SIO)和開源跨平台物聯網框架ServerSuperIO(SSIO)構建系統的整體方案
3.C#工業物聯網和集成系統解決方案的技術路線(數據源、數據采集、數據上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)
5.ServerSuperIO開源地址:https://github.com/wxzz/ServerSuperIO
物聯網&集成技術(.NET) QQ群:54256083