稱重驅動二次開發教學

2023-12-22 18:00:47

通過二次開發可以擴充套件新的裝置型號,以外掛的方式快速整合到系統。下面幾個步驟快速實現一個簡單的電子秤驅動。

預備動作,先了解一下系統介紹,文章最下面有下載連結。

稱重系統免費下載,支援耀華、頂尖等多款裝置型號

使用外掛式開發稱重儀表驅動,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