经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 编程经验 » 查看文章
称重驱动二次开发教程
来源:cnblogs  作者:Billy Yi  时间:2023/12/22 16:44:54  对本文有异议

通过二次开发可以扩展新的设备型号,以插件的方式快速集成到系统。下面几个步骤快速实现一个简单的电子秤驱动。

预备动作,先了解一下系统介绍,文章最下面有下载链接。

称重系统免费下载,支持耀华、顶尖等多款设备型号

使用插件式开发称重仪表驱动,RS232串口对接各类地磅秤数据实现ERP管理

1、新建一个控制台工程(.Net 4.6版本及以上)

2、添加引用DDS.IOT.Weight.exe

文件在安装目录中获取

3、新建一个测试电子秤类

继承DDS.IOT.Weight.WeightBase,并实现虚方法。

利用后台任务实现一个模拟电子秤,定时2秒输出一个随机重量。

完整代码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. namespace Demo
  8. {
  9. public class TestWeight : DDS.IOT.Weight.WeightBase
  10. {
  11. /// <summary>
  12. /// 驱动类型,使用英文字符,保证唯一
  13. /// </summary>
  14. public override string Type => "MyTestWeight";
  15. /// <summary>
  16. /// 驱动名称
  17. /// </summary>
  18. public override string Name => "我的测试秤";
  19. /// <summary>
  20. /// 读取到重量事件
  21. /// </summary>
  22. public override event ReadedWeight OnReadWeight;
  23. /// <summary>
  24. /// 初始化接口
  25. /// </summary>
  26. /// <param name="port"></param>
  27. /// <param name="baudRate"></param>
  28. /// <param name="extendData"></param>
  29. /// <returns></returns>
  30. public override bool Init(int port, int baudRate = 9600, string extendData = null)
  31. {
  32. this.Port = port;
  33. // 再次实现打开串口等操作,下面是一段模拟定时输出随机重量的代码
  34. Task.Run(() => {
  35. while (true)
  36. {
  37. if (OnReadWeight != null)
  38. {
  39. Weight = float.Parse((new Random().NextDouble() * 100).ToString("N1"));
  40. OnReadWeight(this.Id, Weight);
  41. }
  42. Thread.Sleep(2000);
  43. }
  44. });
  45. return true;
  46. }
  47. public override bool Open()
  48. {
  49. // 在此实现关闭串口
  50. return true;
  51. }
  52. public override bool Close()
  53. {
  54. // 在此实现关闭串口方法
  55. return true;
  56. }
  57. }
  58. }

 

4、本机测试一下

5、集成到系统

a.拷贝编译后exe文件

b.粘贴到系统目录下Plugins/Weight

c.启动系统

d.检查系统是否识别到新的驱动

e.设置后测试是否接收到重量

 

Ok,经过上面几个步骤一个简单的模拟秤就开发完成了,真实驱动开发时把模拟部分逻辑改成接收串口数据即可。

 

示例代码下载:https://files.cnblogs.com/files/yizhuqing/Demo1.zip?t=1703234473&download=true

 

原文链接:https://www.cnblogs.com/yizhuqing/p/17921902.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号