更新內容,v4.2.2版本:
1.增長Modbus協議讀取多個寄存器,而且按多種數據類型解析數據。
2.Modbus Serial和Modbus TCP兩個驅動合併成一個驅動。
3.修改數據庫結構,保存配置信息。
4.優化ServerSuperIO核心代碼,應用過程當中的潛在問題。htmlv4.2.2 下載地址:官方下載git
目 錄github
3. Modbus協議,讀取多個寄存器,實現多種數據類型解析... 2數據庫
3.1 概述... 2瀏覽器
3.2 Modbus基礎知識... 2安全
3.3 讀取多個寄存器,多種數據類型解析... 4網絡
3.4 實現效果展現... 6框架
3.5 將來驅動的規劃... 7post
在發佈《標準Modbus和非標準協議的使用、測試以及驅動開發》以後,有些網友反饋在Modbus協議驅動方面是否能夠實現讀多個寄存器和按多種數據類型解析數據。一是平時工做比較忙,二是有些犯懶。在傳感器及儀器儀表行業用到Modbus協議的狀況比較多,可是大部分使用都比較簡單,可能每每只須要一個命令讀取數據,對返回數據進行解析。我認爲針對這種狀況開發一個簡單的驅動很是簡單,加之網友的水平良莠不齊,也沒有針對網友的反饋進行積極的迴應。可是從一個產品的角度考慮,確實應該進行完善,也確實有市場方面的需求,有不少公司是借鑑Modbus協議形式進行自定義協議,狀況比較複雜。因此,利用出差的這段時間,針對Modbus驅動實現讀取多個寄存器和按多種數據類型解析數據,以知足不一樣應用現場的需求。測試
Modbus採用的通信機制爲呼叫應答方式,或叫主從方式(master/slave)。主機發送請求命令,從機接到命令後進行校驗數據的完整性,以及肯定是否發給本身的命令,校驗成功後,返回指定的數據信息,完成一次完整的通信。呼叫應答通信機制以下圖:
Modbus協議依靠網絡傳輸層定義了一個簡單的數據傳輸協議,串口通信(Modbus Serial)的RTU和ASCII模式以及網絡通信(Modbus TCP)模式在協議編碼和操做方面有所區別。基本協議格式以下圖:
下位機地址和功能碼,示意圖:
白皮書介紹:下載地址。
主要針對【寄存器個數】和【解析數據方式】兩個選擇進行升級,在設備驅動中增長監測點的時候,能夠選擇這兩項內容。以下圖:
1個寄存器個數代碼2個字節,轉換成字節數的公式爲:讀取數據字節數=寄存器個數*2,根據實際狀況設置。
解析數據方式爲24種,主要針對short、ushort、int、uint、float和double數據類型進行解析,因爲傳感器與電腦的高低位排序有所差別,因此針對同一種數據類型分不一樣的解析方式。解析數據方式,以下圖:
使用Modbus TCP進行演示,鏈接Modbus Slave,127.0.0.1:502,讀取1個數據點,按「short,2字節,順序:先高後低」解析數據,以下圖:
ServerSuperIO至關於系統建設中數據交互的中樞,未來對下鏈接各類PLC及傳感器,也在積極規劃開發基於各類PLC的驅動;對上鍊接WEB組態以及管理系統。全部都經過配置完成,爲中小企業提供一站式的項目解決方案,下降成本、提升效率。
最近國產自主安全可控的redcore browser瀏覽器融資2.5個億,實際上使用是的Google的開源內核,假設有「創新」的成分,估計也只是皮毛。儘管ServerSuperIO算不上高大上,可是也算是積累了10年的工做經驗,算是真正的自主安全可控。哈哈……。
2.[開源]C#跨平臺物聯網通信框架ServerSuperIO(SSIO)介紹
2.應用SuperIO(SIO)和開源跨平臺物聯網框架ServerSuperIO(SSIO)構建系統的總體方案
3.C#工業物聯網和集成系統解決方案的技術路線(數據源、數據採集、數據上傳與接收、ActiveMQ、Mongodb、WebApi、手機App)
5.github地址:https://github.com/wxzz/ServerSuperIO
6.助力中小企業級連雲端,促進工業互聯網平臺蓬勃發展,全套解決方案。
物聯網&集成技術 QQ羣:54256083