1. 程式人生 > >應用SuperIO(SIO)和開源跨平臺物聯網框架ServerSuperIO(SSIO)構建系統的整體方案

應用SuperIO(SIO)和開源跨平臺物聯網框架ServerSuperIO(SSIO)構建系統的整體方案

  • SSIO的更新

      在SSIO上增加了UDP通訊方式,可以到Github上下載原始碼。在原來的專案中,遠端的裝置與中心站的資料互動並沒有使用過UDP方式。這種短連線的通訊鏈路,不容易維護,主要體現在:(1)持續的資料互動能力。(2)對現場裝置進行長時間的維護和校準。(3)SSIO要協調裝置、IO和控制方式之間的運作關係,無法即時反應裝置的IO狀態。等等。

      但是,對於一個平臺來講,UDP的通訊方式是應該具有的,根據現場情況選擇是否應用。例如:遠端的裝置定時傳送裝置狀態資訊等,可以使用UDP的通訊方式,在SSIO裡單獨建立一個狀態服務例項。

  • SIO和SSIO應用方案

      根據應用場景,SIO和SSIO可以相互配合部署到不同的地方。SIO可以部署在工業現場或工作站點,採集區域範圍的硬體裝置或感測器的資料,然後打包上傳資料;SSIO可以部署在伺服器端,接收上傳的資料,並與現場進行資料或命令互動。結合圖如下:

 

     SIO本身就是一個WinForm應用程式,只需要繼承MainForm就能夠很快的構建自己的圖形化的通訊平臺,把開發好的裝置驅動、圖形顯示、服務等以外掛的方式掛載到平臺,就可以運行了,可以參見二次開發手冊。一般現場工控機都是Windows作業系統,儘管SIO不支援跨平臺(開發SIO的時候,還沒有Mono呢),但是支援Windows XP sp3所有以上版本的作業系統。

SSIO本身是一個支援多服務例項的命令列程式,更適合部署在伺服器端,負責與SIO或現場裝置、感測器進行資料互動。並且SSIO的各方面的效能更優於SIO,以及支援4種控制模式的應用場景,輪詢模式、自控模式、併發模式和單例模式。

     使用SIO和SSIO二次形式發時不需要關心對裝置、IO和控制方式的排程,只需要繼承介面開發裝置驅動和設定相應的引數就可以了。另外,SIO和SSIO可以作為組態軟體的核心通訊元件。

  • 嵌入式智慧裝置

    SSIO可以支援跨平臺執行,如果智慧裝置內嵌裁剪後的Linux作業系統,SSIO可以跑在智慧裝置中,唯一的缺點就是缺少強大的Web監控服務,現在ASP.NET Core支援跨平臺部署了,到是一個發展的方向。

SSIO也可以作為嵌入式智慧閘道器服務,對採集的資料進行協議轉換、打包、轉發。

  • 其他說明

     SIO和SSIO的裝置驅動,當網路通訊時,都支援Tcp Client工作模式。因為現場環境比較複雜,又是防火牆、路由之類的。有時候做專案,找個熟悉環境的人都困難,所以當前找了一個最簡單的解決方法,就是反向連線,也一直延續至今。

QQ:504547114

QQ群:54256083