ZL.IotEngine 2.2.18

There is a newer version of this package available.
See the version list below for details.
dotnet add package ZL.IotEngine --version 2.2.18
                    
NuGet\Install-Package ZL.IotEngine -Version 2.2.18
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ZL.IotEngine" Version="2.2.18" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ZL.IotEngine" Version="2.2.18" />
                    
Directory.Packages.props
<PackageReference Include="ZL.IotEngine" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ZL.IotEngine --version 2.2.18
                    
#r "nuget: ZL.IotEngine, 2.2.18"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ZL.IotEngine@2.2.18
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ZL.IotEngine&version=2.2.18
                    
Install as a Cake Addin
#tool nuget:?package=ZL.IotEngine&version=2.2.18
                    
Install as a Cake Tool

ZL.IotEngine

工业 PLC 数据采集运行时内核(.NET)。目标框架:netstandard2.0 / net48 / net8.0 / net10.0。

装什么

dotnet add package ZL.IotEngine
dotnet add package ZL.IotDriver    # ← 驱动在独立包,必须一起装

🔴 只装 ZL.IotEngine 是没用的:驱动已迁出为 ZL.IotDriver,依赖方向是 ZL.IotDriver → ZL.IotEngine(单向)。只引用引擎 ⇒ 注册表为空 ⇒ 创建设备报 不支持的协议类型 'xxx'。可选:(空)。

它解决什么

不是"能不能连上 PLC",而是连上之后:

  • 上千点位逐个读 ⇒ 请求次数爆炸 ⇒ 自动合并成块
  • 一个坏点超时 ⇒ 拖垮整块 ⇒ 块级隔离 + 自动恢复
  • 值没变也上报 ⇒ 淹没业务 ⇒ 死区/变化筛选
  • 采集逻辑散在业务里 ⇒ 无法复用 ⇒ 可嵌入的内核

实测(仓内 docs/CORE_CAPABILITY_BRIEF.md)

指标 值
合并能力 300 点位 → 4 个块,请求数 −98.67%
吞吐 ≈670 次读/秒、≈50,277 点位/秒
稳定性 successRate = 100%、failedReads = 0

最小示例

using ZL.Tag;
using ZL.IotEngine.Orchestration;

var cfg = new DeviceConfig();
cfg.SetParam("Protocol", "siemens-s7");
cfg.SetParam("Ip", "192.168.1.10");
cfg.SetParam("Port", "102");

var dev = DeviceFactory.Create(cfg);   // 需要 ZL.IotDriver 已安装
dev.Tags["t1"] = new TagItem { Id = "t1", Address = "DB1.DBW0", DataTypeCode = "int16" };
await dev.ConnectServer();
await dev.StartAsync();

边界

  • 本包不含任何协议实现(见 ZL.IotDriver)
  • 与已冻结的旧包 ZL.IotHub 不可同宿主同引(同名类型 ⇒ CS0433)
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on ZL.IotEngine:

Package Downloads
ZL.IotHub.Bridges

Bridge adapters for ZL.IotHub local events and optional remote push integration. 示例见 https://github.com/qwdingyu/ZL.IotHubDemo 。

ZL.IotHub.X

ZL.IotEngine 外部后端适配包:承载 HSL(HslCommunication)等第三方通讯库的驱动适配。依赖 ZL.IotEngine;请勿与已冻结的 ZL.IotHub 同时引用(ZL.Tag 同名类型会触发 CS0433)。 示例见 https://github.com/qwdingyu/ZL.IotHubDemo 。

ZL.IotHub.Server

SCADA / Web API 实时通信服务端:基于 SignalR Server,对接 ZL.IotEngine + ZL.IotDriver 采集内核(事件桥接经 ZL.IotHub.Bridges)。 示例见 https://github.com/qwdingyu/ZL.IotHubDemo 。

ZL.IotDriver

【读法B】ZL.IotHub 自研驱动的独立程序集(58 个协议描述符)。只依赖 ZL.IotEngine 的契约面,不依赖任何编排实现。

ZL.IotOss

ZL.IotEngine 的开源驱动适配包:S7.Net Plus(西门子)/ NModbus 3.x(Modbus TCP/RTU/ASCII)/ LibPlcTag(AB EtherNet/IP:ControlLogix/CompactLogix/Micro800/MicroLogix/PLC-5/SLC500;Omron NJ/NX CIP/EtherNet/IP,PlcType 选择)。只依赖 ZL.IotEngine 的契约面,不依赖 ZL.IotDriver。零自研、全开源、避免收费。范围说明:不含三菱 MC(libplctag 不支持 MC 协议,经证据评审按「宁缺毋滥」排除,见 docs/573)。示例见 https://github.com/qwdingyu/ZL.IotHubDemo 。

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.2.19 0 11/7/2026
2.2.18 8 11/7/2026