科伺 - Snet Docs

Kossi 协议驱动

包: Snet.Kossi | 类: KossiOperate | 类型数量: 1

通过 Kossi 专用以太网协议提供与科伺 PLC 的连接。

安装

dotnet add package Snet.Kossi

快速入门

using Snet.Kossi;

var op = new KossiOperate(new KossiData.Basics
{
    IpAddress = "192.168.1.100",
    Port = 4001
});

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

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

await op.DisposeAsync();

配置参数

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

支持类型

类型 说明
OmronCipNet 科伺 PLC 通过 Omron CIP 以太网协议通信

适用于 KS 系列 PLC 的科伺协议,支持 D/M/P/F/T/C 寄存器。

支持操作

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

参见