.Net 開發工控系統
================================
開發工具/架構/資源
================================
開發工具: 選用 VS 2022 社區版 Preview , 雖是Preview版本, 質量很高
ORM 框架: 使用 Dapper 開發越來越順手了.
xwiki 系統內含很多 16*16 的位圖, 非常適合做button的圖標.
.Net 6 還是 .Net Framework 的選擇:
- 現階段使用 VS2022 Preview 的 .net 6 winform 設計器還不成熟, 使用可視化的方式設置ObjectListView 和 Krypton 組件都會報錯, 好在手寫代碼沒有問題, 但這會影響開發效率.
- 部署有點也需要格外注意. 下圖是要給使用 .net6 編譯好的程序, 用到了 Sql server的客戶端, 編譯目錄中已經包含了System.Data.SqlClient.dll 文件, 但這個文件其實沒什么用處, 程序運行時候, 其實是找到的是 runtimes 子目錄下的 System.Data.SqlClient.dll 文件, 所以部署時要連帶復制runtimes 子目錄, 否則會報 Could not load file or assembly 'System.Data.SqlClient, Version xxx 的錯誤.
編譯目錄中已經包含了System.Data.SqlClient.dll 文件, 但這個文件其實沒什么用處

真實引用的 System.Data.SqlClient.dll , 其實是放在runtimes目錄中.

================================
Modbus 模擬器軟件
================================
Modbus server 也就是說slave站點, 可以使用 modbus slave 軟件, modbus 客戶端也就是master, 可以使用 modbus poll 軟件, 這兩個軟件都有 30 天的試用期, 用于開發已經足夠.
Modbus仿真器 Modbus Poll 和Modbus Slave詳細圖文教程 https://zhuanlan.zhihu.com/p/275954797
Modbus 仿真測試工具 Mod_Rssim 詳細圖文教程 https://zhuanlan.zhihu.com/p/273440297
Modbus仿真軟件 http://www.rzrgm.cn/The-explosion/p/13298338.html
================================
PLC 的 modbus 地址映射
================================
寄存器PLC地址與寄存器modbus協議地址
https://blog.csdn.net/qq_43747700/article/details/87818977
modbus協議手冊_20種PLC元件編號和Modbus編號地址對應表
https://blog.csdn.net/weixin_39743511/article/details/111708297
PLC地址和協議地址: http://www.rzrgm.cn/endv/p/8650524.html
各類地址含義:
寄存器(或線圈)PLC 地址, 是指寄存器在PLC控制器中的地址, 為5位數地址, 比如 40001 或 30002 等.
modbus 協議地址, 通常是一個很小的地址碼, 用于modbus 協議通訊尋址, modbus 通訊協議通過slave Id 和 modbus 功能碼和協議通訊地址共同確定一個唯一的寄存器地址.
modbus 長地址, 為六位數地址, 第一碼表示的是modbus功能碼, 代碼中一般不用這個地址, 在PLC產品說明書中有時使用這個地址.
各類地址轉換公式為:
4區 modbus 協議地址= 寄存器PLC 地址 - 40001
4區 modbus 長地址= modbus 協議地址 + 400000
其他 0/1/3區公式和上面類似.
.Net core 組件 NModbus 使用的是 modbus 協議地址.

================================
參考項目
================================
核心類庫: https://gitee.com/zhaopeiym/IoTClient
實現參考: https://gitee.com/zhaopeiym/IoTClient.Examples

浙公網安備 33010602011771號