ThingsGateway(一)採集ModbusTcp協議設備

ThingsGateway(一)採集ModbusTcp協議設備

ThingsGateway是國內新生開源專案,歸屬工業數據採集閘道,經過近四個月的洗禮,已經趨於穩定。

最後更新 2023/7/16 下午3:55
Diego
預計閱讀 4 分鐘
分類
Blazor
標籤
.NET C# Blazor 開源專案 開源

本文由網友投稿,歡迎更多的朋友來分享。

作者:Diego

倉庫地址:https://gitee.com/diego2098/ThingsGateway

原文連結:https://www.cnblogs.com/ThingsGateway/articles/17557709.html

Gitee 原始碼倉庫:https://gitee.com/diego2098/ThingsGateway

GitHub 原始碼倉庫:https://github.com/kimdiego2098/ThingsGateway

使用文件:https://diego2098.gitee.io/thingsgateway-docs/

一. 前言

NuGet(ThingsGateway)
License
star
star
star

ThingsGateway 是國內新生開源專案,歸屬工業數據採集閘道器,經過近四個月的洗禮,已經趨於穩定。

這篇文章將實測 ThingsGateway 採集 ModbusTcp 協定設備,透過動圖演示,方便理解。

二. 準備測試環境

  1. ThingsGateway

  2. ModbusSlave

執行 ThingsGateway 的方法請查看源文件

三. 通訊測試

3.1. 建立採集設備

建立採集設備,選擇 ModbusTcp 外掛,查看設備擴充屬性,可以看到 ModbusTcp 的可配置項。

目前測試我們使用的是本機的 502 埠,所以預設不做修改。

3.2 建立變數

建立變數,填寫變數名稱與變數位址、資料型別。

變數位址為 40001,是 Modbus 協定中的保持暫存器 0,詳細位址規則請查看源文件。

3.3. 重新啟動採集執行緒

透過執行狀態 - 右上角的浮標,重新啟動全部執行緒,重新啟動完成後可以看到設備資訊。

圖中顯示設備離線,並提示最後一次錯誤訊息,明顯我還沒有啟動 ModbusSlave 進行測試。

3.4. 啟動 Modbus 服務端

啟動 ModbusSlave,選擇 ModbusTcp 協定、埠 502。

啟動後可以看到閘道器顯示設備在線,並倒序顯示讀寫封包。

3.5. 查看即時數據

透過執行狀態 - 採集設備 - 相關變數跳轉,或者直接點選功能表的即時數據頁面,可以看到相關的變數即時數據。

透過 ModbusSlave 的自增模擬功能,可以看到閘道器採集的數據變化效果(閘道器顯示頁面為 1 秒重新整理頻率)。

至此,簡單的通訊測試已經結束了。

四. 進階玩法

4.1. 數據轉換

試想一下應用場景,當氣體儀表通訊值規定是 實際值*100 或者其他的複雜轉換,透過閘道器將完美解決複雜的運算式轉換。

編輯變數的讀取運算式為 raw/100.0 ,重新啟動執行緒後可以看到即時值和原始值的區別。

4.2. 多個變數分包解析

當一個 ModbusTcp 有幾萬個變數時,如果是逐個讀取的效率實在太低,透過閘道器的分包限制將非常簡單地解決問題。

比如現測試的 ModbusTcp 外掛,只需要修改最大打包長度(預設 100),或者直接預設。

可以看到實際通訊封包,在讀取時只需要分送一次請求。

4.3. 採集冗餘

冗餘的概念大家應該熟悉,閘道器的採集冗餘也是如此。

設定冗餘設備後,當採集設備出現離線 3 次以上的情況,將切換至備用設備。

五. 關於 .NET

下圖截自 .NET 官網:https://dotnet.microsoft.com/zh-tw/,核心思想:.NET 免費、開源、快速和跨平台、新式和高效:

5.1. .NET 免費、開源

.NET 是一個免費的開放原始碼專案,它在 GitHub 上開發和維護,而 GitHub 是數百萬希望一起創造出色內容的開發者的家園。

5.2. .NET 快速和跨平台

根據 TechEmpower,.NET 的執行速度快於任何其他常用框架。可以在多個平台(包括 Windows、Linux 和 macOS)上編寫、執行和建置。

5.3. .NET 新式和高效

.NET 可幫助你建置適用於 Web、行動、桌面、雲端等應用程式。.NET 具有強大的支援生態系統和強大的工具,對於開發者而言是最高效的平台。

繼續探索

延伸閱讀

更多文章
同分類 / 同標籤 2024/2/29

Winform中也可以這樣做資料展示

在做winform開發的過程中,經常需要做資料展示的功能,之前一直使用的是gridcontrol控制項,今天想透過一個範例,跟大家介紹一下如何在winform blazor hybrid中使用ant design blazor中的table元件做資料展示。

繼續閱讀
同分類 / 同標籤 2024/2/29

Winform的介面也可以變好看?

前幾天跟大家介紹了在winform中使用blazor hybrid,而且還說配上blazor的UI可以讓我們的winform程式設計的更加好看,接下來我想以一個在winform blazor hybrid中繪圖的範例來進行說明,希望對你有所幫助。

繼續閱讀