首页 > 其他分享 >称重驱动二次开发教程

称重驱动二次开发教程

时间:2023-12-22 16:57:28浏览次数:29  
标签:教程 Weight System override 串口 二次开发 using public 称重

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

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

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

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

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

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

文件在安装目录中获取

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

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

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

完整代码

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、本机测试一下

5、集成到系统

a.拷贝编译后exe文件

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

c.启动系统

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

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

 

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

 

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

 

标签:教程,Weight,System,override,串口,二次开发,using,public,称重
From: https://www.cnblogs.com/yizhuqing/p/17921902.html

相关文章

  • ceph集群搭建详细教程(ceph-deploy)
    ceph-deploy比较适合生产环境,不是用cephadm搭建。相对麻烦一些,但是并不难,细节把握好就行,只是命令多一些而已。实验环境服务器主机public网段IP(对外服务)cluster网段IP(集群通信)角色deploy192.168.2.120用于部署集群、管理集群ceph-node1192.168.2.121192.168.6......
  • Zookeeper-快速入门、服务搭建、集群搭建教程
    官网:https://zookeeper.apache.org/zookeeper常用用途:集群管理,zookeeper作为注册中心,管理服务提供方的ip地址端口号url信息,并在服务消费方请求需要时发送给服务消费方。配置中心(不过一般用阿波罗apollo或者阿里的Nacos来做)多个app中的配置是从zookeeper中拉取配置,而不是一个......
  • 无涯教程-PL/SQL - 运算符
    在本章中,无涯教程将讨论PL/SQL中的运算符,PL/SQL语言具有丰富的内置运算符,并提供以下类型的运算符-算术运算符关系运算符比较运算符逻辑运算符在这里,无涯教程将一一理解算术,关系,比较和逻辑运算符。算术运算符下表显示了PL/SQL支持的所有算术运算符。假设变量A=10,而变量B=......
  • 【教程】步兵 cocos2dx 加密和混淆
    文章目录摘要引言正文代码加密具体步骤代码加密具体步骤测试和配置阶段IPA重签名操作步骤总结参考资料 摘要本篇博客介绍了针对iOS应用中的Lua代码进行加密和混淆的相关技术。通过对Lua代码进行加密处理,可以确保应用代码的安全性,同时提高性能表现。文......
  • 【终极教程】Cocos2dx服务端重构(优化cocos2dx服务端)
    【终极教程】Cocos2dx服务端重构(优化cocos2dx服务端)文章目录概述问题概述1.代码混淆代码加密具体步骤测试和配置阶段IPA重签名操作步骤2.缺乏文档3.缺乏推荐的最佳实践4.性能问题总结 概述Cocos2dx是一个非常流行的跨平台游戏引擎,开发者可以使用这个引擎来开......
  • 无涯教程-PL/SQL - 变量声明
    在本章中,无涯教程将讨论Pl/SQL中的变量,变量不过是无涯教程程序可以操作的存储区域的名称。变量声明PL/SQL变量必须在声明部分或程序包中声明为全局变量,声明变量时,PL/SQL为变量的值分配内存,并且存储位置由变量名标识。variable_name[CONSTANT]datatype[NOTNULL][:=|DEFA......
  • 无涯教程-PL/SQL - 环境设置
    在本章中,无涯教程将讨论PL/SQL的环境设置,PL/SQL不是独立的编程语言,它是Oracle编程环境中的工具,SQL*Plus是一个交互式工具,可让您在命令提示符下键入SQL和PL/SQL语句,然后将这些命令发送到数据库进行处理,处理完语句后,输出将发送回并显示在屏幕上。要运行PL/SQL程序,您应该在计......
  • 小徐先生的GORM使用教程
    小徐先生1212的Gorm教程前言记录学习过程用来自微信公众号小徐先生的编程时间微信公众号同名.数据库gorm中的核心就是*gorm.DB这个实例的链式调用.因此创建db实例的过程分为三步:设置好连接mysql的dsn(datasourcename)通过gorm.Config完成db有关的自定义配置......
  • 无涯教程-PL/SQL - 简介
    PL/SQL(ProceduralLanguage/SQL)是甲骨文公司专有的SQL扩展语言,应用在甲骨文公司的Oracle数据库系统。一些的SQL数据库管理系统也提供了类似的扩展SQL语言。PL/SQL的的语法非常类似于Ada,而且像1980年代的Ada编译器一样,PL/SQL的运作系统使用Diana作为中介语言。重要的是PL/SQL紧密......
  • 【教程】使用ipagurd打包与混淆Cocos2d-x的Lua脚本
    【教程】使用ipagurd打包与混淆Cocos2d-x的Lua脚本文章目录摘要引言正文1.准备工作2.使用ipaguard处理Lua文件3.运行ipagurd进行混淆代码加密具体步骤测试和配置阶段IPA重签名操作步骤4.IPA重签名与发布总结 摘要本文将介绍如何使用ipagurd工具对Cocos2d-......