为工业数据采集而生
一个框架,统一所有工业协议。从 PLC 到数据库,从传感器到消息队列,Snet 覆盖全链路。
36 协议驱动
36 个 NuGet 包覆盖 PLC、机器人、仪器仪表、电力仪表。统一 IDaq 接口管控所有设备,切换协议无需改动业务代码。
统一 API 范式
IDaq(16 子接口)、IMq(13)、ICommunication(14) — On/Off/Read/Write/Subscribe 一致契约。同一套代码适配 Modbus、Siemens、MQTT 或 Kafka。
插件热加载
基于 AssemblyLoadContext 的插件隔离架构。运行时加载/卸载协议 DLL,ZIP 上传即自动部署,无需重启应用。
内置 WebAPI
6 个 HTTP 端点自动暴露:/api/on、/api/off、/api/read、/api/write、/api/getstatus、/api/switchlanguage。零额外代码实现远程控制。
地址自动组包
Snet.Core.packer 自动将分散地址分组、排序、合并为最小批量读取,N 次往返降为约 1 次。16 个协议族预注册,不支持组包的协议自动透传。
双缓存系统
ProcessCacheOperate(MemoryCache,进程内)+ ShareCacheOperate(MemoryMappedFile,跨进程)。热数据重启不丢失,跨进程共享。
中英文热切换
ILanguage + OnLanguageEvent 事件驱动全局热切换。框架所有组件同步响应,无需刷新页面 — 从采集驱动到 WebAPI 全覆盖。
三层抽象,统一范式
CoreUnify → DaqAbstract / MqAbstract / CommunicationAbstract → 36 个协议驱动。单例池管理,255 实例硬上限。
CoreUnify<O, D>
核心基类。ConcurrentDictionary 单例池、6 个事件通道、BegOperate/EndOperate 精确计时、Serilog 日志集成、ILanguage 多语言。
IDaq / DaqAbstract<O, D>
数采抽象。8 个抽象异步方法 (On/Off/Read/Write/Subscribe/UnSubscribe/GetStatus/GetBaseObject),6 个内置 WebAPI 端点,11 步 ReadAsync 管道。
IMq / MqAbstract<O, D>
消息中间件抽象。IProducer + IConsumer 双接口,ProduceAsync / ConsumeAsync / UnConsumeAsync 统一操作。
ICommunication
通信抽象。TcpClient/Service、UdpClient/Service/Broadcast/Multicast、WebSocket、HTTP、Serial——共 11 种传输类。
IDaq : 16 个子接口
IOn/IOff/IRead/IWrite/ISubscribe/IStatus/IEvent/IArgs/IInstance/ILog/IWA/IObject/ILanguage/IClone/IDisposable/IAsyncDisposable。
地址模型系统
Address → AddressDetails (13 属性) → AddressValue (Quality/ResultValue/OriginalValue/Message/Time)。8 种编码 + 4 种字节序。
覆盖主流工业协议生态
从西门子到 Modbus,从三菱到 OPC UA,一站式覆盖全球主流 PLC 品牌。
即装即用,零样板代码
var op = await ModbusOperate.InstanceAsync(new ModbusData.Basics { IpAddress = "192.168.1.100", Port = 502 });
await op.OnAsync();
var addr = new Address(new AddressDetails("温度", "40001", DataType.Float));
var result = await op.ReadAsync(addr);
if (result.Status)
Console.WriteLine(result.GetSource<AddressValue>().ResultValue);一句话描述,AI 自动生成完整代码
Snet AI 技能集覆盖数据采集、消息中间件、插件开发、桌面应用四大领域。用自然语言描述需求,AI 自动生成完整可运行的项目代码。
DAQ-Skill
数据采集与转发连接西门子S7-1500,IP 192.168.0.1,读取DB1.0,MQTT转发到broker — 36 种工业协议,5 种中间件,一句话完成采集+转发。
MQ-Skill
消息中间件应用MQTT 连接 127.0.0.1:1883,订阅 factory/line1 打印消息 — 5 种中间件(MQTT/Kafka/RabbitMQ/NetMQ/Netty),统一 IMq 接口,一句话完成收发。
PluginDev-Skill
IDaq + IMq 插件开发开发一个温湿度传感器插件,TCP发送01 03 00 00 00 02,解析响应字节 — 双插件契约:IDaq 8 个抽象方法 + IMq 6 个抽象方法,自动打包 ZIP 热插拔部署。
WpfUI-Skill
WPF 桌面应用开发创建一个监控面板,深色主题,中英文切换,LED状态灯,属性编辑器 — WindowBase 窗口基类,MVVM 架构,Material Design 双主题引擎。
