.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仿真软件    https://www.cnblogs.com/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地址和协议地址:  https://www.cnblogs.com/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

posted @ 2021-12-20 21:44  harrychinese  阅读(664)  评论(0编辑  收藏  举报