欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

上位機和工控必備!用.NET快速搞定Modbus通信的方法

freeflydom
2024年5月30日 15:54 本文熱度 852

modbus通信在當前的工業領域、制造業自動化以及各類控制系統內,都屬于繞不開的話題。接下來介紹一個可以簡單快速實現modbus通信讀寫的方式,供參考。


安裝nuget包:Wesky.Net.OpenTools 

使用 1.0.8或以上版本。支持.net framework 4.6以上,以及所有.net core以及以上所有.net環境項目引用。


開發一個簡單的Winform界面,用來測試使用。如需該winform的demo,可以在公眾號【Dotnet Dancer】后臺,回復 modbus 即可獲取。

通信連接之前,可能存在多個客戶端。可以寫一個modbus客戶端的靜態數組存儲。例如有五個客戶端:

連接操作解析:假設有5個連接,此處都使用同一個服務端地址,實際情況請根據自己需要進行調整。連接后的客戶端,存儲到靜態變量里面備用,這樣可以自己根據modbus連接序號,來操作不同連接進行通信。

讀取測試。

例如連接的第一個客戶端讀取bool類型的值。說明:IModbusReadWriteService接口如果你是使用依賴注入的形式,可以把它注入進來使用。此處沒有使用依賴注入,則直接實例化出來使用。

IModbusReadWriteService接口一共提供了以下幾種方法。其中,讀取類型除了字符串以外,默認都是支持讀取批量數據,而不是只讀取一個。寫入除了bool類型(線圈)和字符串,其他都支持批量寫入。

例如第二個連接客戶端,用來讀取short類型數據(C# 的short類型,而不是PLC的short類型,某些plc對short的定義不太一樣,請提前做了解)

其他以此類推,都是實例化后的讀寫對象,使用讀取不同的函數來實現不同的寫入數據類型的效果。例如下面示例:ReadInt32代表讀取Int32類型的數據。參數里面,address是設備地址,或者PLC的寄存器地址等;length是讀取的長度,長度單位為byte的長度,而不是地址個數。第三個參數,里面包括了modbus客戶端信息,包括socket客戶端、連接配置信息等。

IModbusReadWriteService rwService = new ModbusReadWriteService();

var result = rwService.ReadInt32(address, length, modbusTcpClients[2]);


客戶端參數實體類如下。MessageCode是消息碼頭部,如果是同一個PLC或者服務端,客戶端連接該服務端進行讀寫消息時候,必須不一樣,否則會導致modbus服務端不知道是誰請求的。這個也可以當做是唯一標識符,modbus服務端用來識別是哪個客戶端發的消息的。

如果想了解modbus的一些細節,可以參考我之前的文章《Modbus TCP協議解析、仿真環境以及基于.NET實現基礎通信》,該文章講解了協議規則、通信上的避坑說明、仿真環境使用,以及bool線圈的讀寫操作。鏈接地址:

https://mp.weixin.qq.com/s/VLlwYCaxwqyhv2Os0hPS5g

寫入操作。寫入線圈操作:

寫入操作,方法為Write開頭,后面接寫入什么類型的值。第一個參數是寫入地址,第二個參數是寫入的值,第三個參數代表傳入連接的客戶端。

例如寫入,寫入支持批量寫入,傳入對應類型的數組,地址提供第一個地址即可,批量寫入會自動在后面的地址累計寫入。以下是簡單參考,例如循環里面寫入數據每次累加1,然后傳入方法里面進行寫入。

如果只寫入一個,那就傳一個數組元素即可:

使用以上方式,測試一款使用modbus協議的某品牌系列PLC期間的讀寫效率日志,供參考:




轉自微信公眾號Dotnet Dancer



該文章在 2024/5/30 15:54:22 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved