电力规约 - Snet Docs

PQDIF 协议驱动

包: Snet.PQDIF | 类: PQDIFOperate | 类型数量: 10

提供符合 IEEE 1159.3 标准的 PQDIF(电能质量数据交换格式)文件解析与生成,用于电能质量测量数据的交换。

安装

dotnet add package Snet.PQDIF

快速入门

using Snet.PQDIF;

var op = new PQDIFOperate(new PQDIFData.Basics
{
    IpAddress = "localhost",
    Port = 6688
});

var address = new Address(new List<AddressDetails>
{
    new("读数", "02010100", DataType.Float),
    new("读数2", "02010200", 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("读数", "02010100", DataType.Float)
});
await op.SubscribeAsync(subAddr);

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

await op.DisposeAsync();

配置参数

参数 类型 默认值 说明
IpAddress string 文件路径或服务器地址
Port int 6688 通信端口
ConnectTimeOut int 1000 连接超时(毫秒)
ReceiveTimeOut int 1000 接收超时(毫秒)

支持类型

类型 说明
DLT698TcpNet DLT698 TCP 网络
DLT698 DLT698 串口
DLT698OverTcp DLT698 over TCP
DTSU6606Serial DTSU6606 串口
DLT645 DLT645 串口
DLT645OverTcp DLT645 over TCP
DLT645With1997 DLT645 1997 版本
DLT645With1997OverTcp DLT645 1997 版本 over TCP
CJT188 CJT188 串口
CJT188OverTcp CJT188 over TCP

符合 IEEE 1159.3 标准的 PQDIF 文件格式解析与生成,支持电压/电流/频率/谐波/暂态观测数据。

支持操作

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

参见