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.裝置驅動與裝置驅動,裝置驅動與伺服器(雲端)可以實時雙向互動,上傳資料和指令下發。
https://github.com/wxzz/ServerSuperIO#ssio%E6%A6%82%E8%BF%B0 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)軟體各版本、以及軟體與硬體之間的相容性很差,管理起來錯綜複雜。在架構平台穩定的情況下,隻需要更新裝置驅動。
為了解決以上諸多問題,開發一個軟體架構,支援二次開發。在不對軟體架構改動的情況下,能夠很友善的接入裝置、維護裝置、內建裝置、處理裝置業務資料等。軟體架構相對穩定,把容易變化的部分進行靈活設計。
下載下傳:
ServerSuperIO官方下載下傳 Github下載下傳
連載教程:
1.4種通訊模式機制 2.服務執行個體的配置參數說明 3.裝置驅動介紹 4.如開發一套裝置驅動,同時支援序列槽和網絡通訊 5.輪詢通訊模式開發及注意事項 6.并發通訊模式開發及注意事項 7.自控通訊模式開發及注意事項 8.單例通訊模式開發及注意事項 9. 協定過濾器,解決一包多發、粘包、備援資料 10.持續傳輸大塊資料流的兩種方式(如:檔案) 11.實作裝置(驅動)與裝置(驅動)互動和級聯控制。 12.服務接口的開發,以及與雲端雙向互動 13.自定義視圖顯示接口開發,滿足不同的顯示需求 14.配制工具介紹,以及裝置驅動、視圖驅動、服務執行個體的挂載1.
[連載]《C#通訊(序列槽和網絡)架構的設計與實作》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