下載地址:https://blog.csdn.net/zhoutanliang/article/details/106459315
1 概述
現有MODBUS調測軟件種類豐富,基本可以滿足日常調測需求,但是面對用戶羣體對高效靈活友好的進一步需求都存在着差距。
MThings是一款全新的標準化MODBUS調測工具,提供主從機一體化操作。它主要解決如下問題:
@同時支持MODBUS主機和從機功能,以多設備併發視角管理通信對象,快捷且持久化數據配置、無菜單設計,操作友好。
@支持MODBUS-RTU、MODBUS-ASCII、MODBUS-TCP(客戶端或服務器)、MODBUS-UDP。
@無設備個數限制。
@多通道並行,串口、TCP、UDP設備可以同時在一個軟件內運行。
@支持MODBUS數據配置模板導入導出。
@支持報文監控存儲、報文分析。
@從機模式下支持多種變化數據模擬方法。
@支持豐富的鏈路丟包統計方法。
@數據可視化,支持曲線化長期監視MODBUS數據點變化,支持數據顯示類型和協議類型的靈活轉換。
@完全免費,綠色版。
2 數據
MODBUS協議是一份相對簡單的總線協議,交互流程和報文約定在《Modbus Application Protocol V1_1b3》中可以得到明確的解答。這裏對經常引起歧義的數據塊和數據定義闡述個人理解。
2.1 數據塊
協議中定義4種數據塊,基於數據類型可分爲兩類:BIT數據和寄存器數據,結合讀寫屬性,數據塊之間的關係如下圖:
2.2 數據
數據是數據塊中具體信息的詳細定義,不同數據塊中的數據定義是相互獨立的。一條數據定義可以包含多個連續BIT/REG數據點。
描述數據的屬性主要包括:
@隸屬數據塊
@數據名稱
@數據地址
@數據量
@數據類型(協議類型)
@數據係數(浮點數據被整形傳輸時涉及)
@字節序(寄存器數據涉及)
@字序(寄存器數據量≥2Word涉及)
@同一數據塊中,不同的數據定義的數據地址+數據量不能出現重疊;
@任何數據塊的數據在從機側都是可讀可寫的;
@不同數據塊中的數據在從機側可以指向同一數據對象,其擁有兩個不同數據塊地址,區別在於通過這種差異開放不同的讀寫權限;
@REG數據的數據量最小爲1,最大值不得超過上限(輸入寄存器:125,保持寄存器123);
@BIT數據的數據量固定爲1,代表佔用1Bit,同時數據係數屬性失效;
2.3 數據塊與數據的關係
@同一數據塊中,不同的數據定義的數據地址+數據量不能出現重疊;
@任何數據塊的數據在從機側都是可讀可寫的;
@不同數據塊中的數據在從機側可以指向同一數據對象,其擁有兩個不同數據塊地址,區別在於通過這種差異開放不同的讀寫權限;
@REG數據的數據量最小爲1,最大值不得超過上限(輸入寄存器:125,保持寄存器123);
@BIT數據的數據量固定爲1,代表佔用1Bit,同時數據係數屬性失效;
2.4 協議類型與界面類型
協議數據定義方式主要基於傳輸設計,其與UI數據之間勢必存在相互轉換的問題,包括類型、長度、功能差異。MThings支持多種協議傳輸類型和UI數據類型,對應關係如下:
3 功能介紹
3.1 界面分區
3.2 新建工作配置文件
注:開始階段如果沒有加載其他配置文件,可跳過該步驟,程序退出前點擊保存也可以創建配置文件。
3.3 創建串口設備
①勾選新建設備所掛靠的串口(雙擊表頭可全選)
②選擇所創建的設備類型
③輸入設備起始地址
④輸入設備結束地址
注:起始地址 ≤ 結束地址,起始和結束地址相同代表添加一臺設備,程序根據指定的起始到結束地址,自動爲區間內每個地址創建一個設備。
⑤點擊“配置”,確認或修改串口參數
⑥查看或修改串口參數
⑦點擊後程序開始添加設備
⑧設備添加成功後,可在此處查看到該設備。
注:設備名稱默認格式:[M/S]端口名稱-地址,用戶可雙擊設備名稱單元格自行修改,但是需要保證新名稱不與其它設備名稱衝突,否則名稱修改失敗。
注:同一路端口/鏈接中,不允許添加不同設備類型設備。
3.4 創建網絡設備
①切換端口類型至“網絡”
②點擊“新建”按鈕,新增一路網絡配置
③確認或修改網絡配置後點擊“確認”,網絡端口表格中對應新增一路鏈接
④勾選新建設備所掛靠的網絡鏈接
⑤選擇所創建的設備類型
⑥輸入設備起始地址和結束地址
⑦點擊開始添加設備
⑧設備添加成功後,可在此處查看到該設備。
3.5 編輯設備數據配置
①點擊主菜單中的“數據”,切換到設備數據操作界面
②點擊需要數據配置的設備
③點擊“配置數據”按鈕使得當前設備進入數據配置態
④點擊“新增數據”按鈕新建一條數據配置項,數據表格中同步增加一條默認配置
⑤修改數據配置項中各項參數
注:修改過程中程序會自動關聯參數變更,請仔細確認各項參數是否正確。
⑥點擊按鈕退出數據配置態
注:退出配置態前程序會校驗最終的配置結果是否正確,如果數據地址存在衝突,請按照提示修改,否則無法退出配置態。
3.6 同步數據配置至其它設備
爲了簡便多設備的數據配置工作,程序支持在不同設備之間進行配置共享。
①在源設備(數據配置共享)中點擊按鈕進入數據配置態
②點擊“同步配置”
③指定配置同步的目標設備
④點擊“確定”按鍵後開始配置同步
3.7 讀數據(主機設備)
讀數據有兩種方式:
①長按(>300ms)數值列單元格,程序自動發起一次數據(當前行)的讀取請求
②點擊“批量讀”,一次發起多個數據的讀請求(批量讀配置項③已選擇),用戶也可根據提示發起循環批量讀。
3.8 寫數據(主機設備)
寫數據有兩種方式:
①雙擊“數值”列數據單元格,發起單個數據的寫請求;單個數據寫請求分爲預置數據②或立即下發③。點擊立即下發後,程序立即發起數據寫請求,並自動跟隨一次數據讀請求,如果數據寫請求執行成功,單元格中數據即爲下發寫數據。預置數據操作是爲了給批量寫操作提前預置目標數據。
④點擊“批量寫”,一次發起多個數據的寫請求(批量寫配置項⑤已選擇),用戶也可根據提示發起循環批量寫。
3.9 配置模擬數據(從機設備)
從機設備的數據主要用來供主機讀取,是爲模擬數據。
模擬數據修改方法很簡單,雙擊“數值”列數據單元格,輸入相應數值即可。
如果需要將設定的模擬數據存儲至配置文件,需要單擊“配置數據”按鈕,進入設備數據配置態後修改數據數值即可。
3.10 退出程序
用戶關閉程序前,程序自動檢查配置是否在使用過程中出現變更,並給出存儲提示,所以請關注程序退出時彈出的提示信息,並給出正確選擇。
4 數據配置
數據配置是進行MODBUS讀寫操作的必經步驟,快速高效準確的完成數據配置是調測工作的前提。
4.1 開始數據配置
進入任一設備的數據界面,單擊“配置數據”按鈕,當前設備進入數據配置態。進入配置態後,MThings強制顯示所有配置數據,包括手動隱藏的配置行,且配置態中不允許隱藏任何配置信息。進入配置態後,MThings自動關閉所有當前設備正在進行後臺通信,配置完成後,需要手動恢復。
4.2 新建數據配置
單擊“新增數據”按鈕,隨後彈出的對話框中可指定新增配置的個數。 新建的配置數據默認添加在表尾,用戶可通過“上移”或“下移”按鈕控制一行或多行配置上下移動。
MThings支持以現有配置爲模板來新建配置,單擊“新增數據”按鈕前,選中參照的數據配置行即可。如果沒有選擇任何數據配置行,MThings默認選擇最後一行爲新配置模板。
4.3 修改數據配置
修改數據是最重要的步驟,MThings提供多種自動關聯動作和校驗功能,輔助用戶準確完成數據配置。
通常,根據MODBUS協議點表的數據定義分別錄入數據名稱、數據區塊、數據地址、數據量、單位、範圍、係數、顯示類型、傳輸類型、字節序、字序,普通單元格雙擊編輯即可。
其中,寄存器數據的數據量即爲寄存器個數,BIT數據的數據量固定爲1。
傳輸類型爲協議定義類型,即報文中原始數據類型。
顯示類型爲期望數據在MThings界面上被解析的目標類型。
數據傳輸類型、顯示類型等字段會根據其它字段的變化,自動匹配可選擇項,非匹配類型將被禁用。
係數用於整形數據(傳輸類型)和浮點型(顯示類型)相互轉換,其他情景下,固定爲1。舉例:係數設置爲0.1,原始傳輸數據爲123,則界面顯示數據爲12.3。
4.4 數據配置項的關聯規則
1) BIT類型數據,數據量固定爲1,傳輸類型固定爲BIT,數據係數固定爲1,字節序、字序禁止爲無效;
2) 寄存器類型數據,傳輸類型禁止爲BIT;
3) 輸入寄存器數據量不超過125;
4) 保持寄存器數據量不超過123;
5) 傳輸類型爲浮點型時,係數固定爲1;
6) 數據量爲1時,傳輸類型禁止浮點型;
7) 數據量不是1、2、4時,傳輸類型禁止所有整形;
8) 傳輸類型爲整形或浮點型時,字節序和字序可配置,否則禁用;
9) 數據量爲2、4時,字序可配置,否則禁用;
10)當前顯示類型爲字符串(STRING)或碼流(BYTES)時,該數據不支持曲線繪製;
4.5 退出配置態
單擊“數據配置”按鈕,MThings檢查所有數據配置是否合法,如果檢查通過,當前設備返回到操作態,否則提示配置異常,並給出異常原因。
4.6 如何更高效
使用配置同步功能,編輯一臺設備配置後,將當前配置同步給擁有相同點表的其它設備;借用已有數據配置模板添加新數據配置;