通过二次开发可以扩展新的设备型号,以插件的方式快速集成到系统。下面几个步骤快速实现一个简单的电子秤驱动。
预备动作,先了解一下系统介绍,文章最下面有下载链接。
使用插件式开发称重仪表驱动,RS232串口对接各类地磅秤数据实现ERP管理
1、新建一个控制台工程(.Net 4.6版本及以上)
![](https://file.jishuzhan.net/article/1738121048261398530/26427d86bb3d75e2b4086ff802b8151b.webp)
2、添加引用DDS.IOT.Weight.exe
文件在安装目录中获取
![](https://file.jishuzhan.net/article/1738121048261398530/7e2b0b2f08f356a33f79d3c8e20f8789.webp)
![](https://file.jishuzhan.net/article/1738121048261398530/c8a016ce0834e3382b160b82997ab051.webp)
3、新建一个测试电子秤类
继承DDS.IOT.Weight.WeightBase,并实现虚方法。
![](https://file.jishuzhan.net/article/1738121048261398530/876250ffa54be973e4fb88b296ebfe82.webp)
利用后台任务实现一个模拟电子秤,定时2秒输出一个随机重量。
![](https://file.jishuzhan.net/article/1738121048261398530/d08738280e4f8aace3579c3d04d74f6c.webp)
完整代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Demo
{
public class TestWeight : DDS.IOT.Weight.WeightBase
{
/// <summary>
/// 驱动类型,使用英文字符,保证唯一
/// </summary>
public override string Type => "MyTestWeight";
/// <summary>
/// 驱动名称
/// </summary>
public override string Name => "我的测试秤";
/// <summary>
/// 读取到重量事件
/// </summary>
public override event ReadedWeight OnReadWeight;
/// <summary>
/// 初始化接口
/// </summary>
/// <param name="port"></param>
/// <param name="baudRate"></param>
/// <param name="extendData"></param>
/// <returns></returns>
public override bool Init(int port, int baudRate = 9600, string extendData = null)
{
this.Port = port;
// 再次实现打开串口等操作,下面是一段模拟定时输出随机重量的代码
Task.Run(() => {
while (true)
{
if (OnReadWeight != null)
{
Weight = float.Parse((new Random().NextDouble() * 100).ToString("N1"));
OnReadWeight(this.Id, Weight);
}
Thread.Sleep(2000);
}
});
return true;
}
public override bool Open()
{
// 在此实现关闭串口
return true;
}
public override bool Close()
{
// 在此实现关闭串口方法
return true;
}
}
}
4、本机测试一下
![](https://file.jishuzhan.net/article/1738121048261398530/d97b75e2214403a444c4c6c5123467ad.webp)
![](https://file.jishuzhan.net/article/1738121048261398530/75003edb5ce74db09b6c054be3bb5424.webp)
5、集成到系统
a.拷贝编译后exe文件
![](https://file.jishuzhan.net/article/1738121048261398530/d5fa273432faa0f65db6375f4e18c247.webp)
b.粘贴到系统目录下Plugins/Weight
![](https://file.jishuzhan.net/article/1738121048261398530/88ad7e5710436213d2d5de8a399d9150.webp)
c.启动系统
![](https://file.jishuzhan.net/article/1738121048261398530/0d9a46e81437ff164d1008db5a27bb25.webp)
d.检查系统是否识别到新的驱动
![](https://file.jishuzhan.net/article/1738121048261398530/8f8e106fe773f0cabf8cc8660287352d.webp)
e.设置后测试是否接收到重量
![](https://file.jishuzhan.net/article/1738121048261398530/9aa89f54552d95143229b305a62bcc71.webp)
Ok,经过上面几个步骤一个简单的模拟秤就开发完成了,真实驱动开发时把模拟部分逻辑改成接收串口数据即可。
示例代码下载:https://files.cnblogs.com/files/yizhuqing/Demo1.zip?t=1703234473\&download=true