宇电 - Snet Docs

Yudian 协议驱动

包: Snet.Yudian | 类: YudianOperate | 类型数量: 1

通过 Modbus RTU/TCP 协议提供与宇电温控器及仪表的连接。

安装

dotnet add package Snet.Yudian

快速入门

using Snet.Yudian;

var op = new YudianOperate(new YudianData.Basics
{
    IpAddress = "192.168.1.100",
    Port = 502
});

var address = new Address(new List<AddressDetails>
{
    new("读数", "PV1", DataType.Float),
    new("读数2", "SV1", DataType.Float)
});
var result = await op.ReadAsync(address);
if (result.Status)
{
    var data = result.GetSource<ConcurrentDictionary<string, AddressValue>>();
    foreach (var kv in data)
        Console.WriteLine($"{kv.Key} = {kv.Value.ResultValue}");
}
else
{
    Console.WriteLine($"读取失败: {result.Message}");
}

// 订阅之前 绑定数据事件
op.OnDataEventAsync += async (sender, e) =>
{
    if (e.Status)
    {
        var data = e.GetSource<ConcurrentDictionary<string, AddressValue>>();
        foreach (var kv in data)
            Console.WriteLine($"{kv.Key} = {kv.Value.ResultValue}");
    }
    else
    {
        Console.WriteLine($"{e.Message}");
    }
};

var subAddr = new Address(new List<AddressDetails>
{
    new("读数", "PV1", DataType.Float)
});
await op.SubscribeAsync(subAddr);

// 后续:取消订阅
// await op.UnSubscribeAsync(subAddr);

await op.DisposeAsync();

配置参数

参数 类型 默认值 说明
IpAddress string 控制器 IP 地址
Port int 502 通信端口
ConnectTimeOut int 1000 连接超时(毫秒)
ReceiveTimeOut int 1000 接收超时(毫秒)

支持类型

类型 说明
YuDianAIBus 宇电 AI 系列仪表,通过 Modbus RTU/TCP 通信

适用于 AI 系列仪表的宇电协议,通过 Modbus 支持 PV/SV/MV 及参数寄存器访问。

支持操作

操作 方法
连接 OnAsync()
断开 OffAsync()
读取 ReadAsync(address)
写入 WriteAsync(values)
订阅 SubscribeAsync(address)

参见