Haku.Zvar 2.3.3

dotnet add package Haku.Zvar --version 2.3.3
                    
NuGet\Install-Package Haku.Zvar -Version 2.3.3
                    
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="Haku.Zvar" Version="2.3.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Haku.Zvar" Version="2.3.3" />
                    
Directory.Packages.props
<PackageReference Include="Haku.Zvar" />
                    
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 Haku.Zvar --version 2.3.3
                    
#r "nuget: Haku.Zvar, 2.3.3"
                    
#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 Haku.Zvar@2.3.3
                    
#: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=Haku.Zvar&version=2.3.3
                    
Install as a Cake Addin
#tool nuget:?package=Haku.Zvar&version=2.3.3
                    
Install as a Cake Tool

Haku.Zvar


Haku.Zvar[2.3.3] 2026-02-10 EditBy 陈哲: 优化 FINS 写值长度

Changed
  1. FINS 写值长度使用 ProtocolConfig.SumMaxCount;
  2. 解决 ModbusRTU 通讯问题,周期过短会报错,增加收发间隔 15ms;
  3. 优化 ConnecterModel 中的状态、使能属性;

Haku.Zvar[2.3.2] 2026-02-07 EditBy 陈哲: FINS 写值长度减小;

Changed
  1. FINS 写值长度减小 10 个;

Haku.Zvar[2.3.1] 2026-01-20 EditBy 陈哲: 修复 bool 写值 BUG;

Changed
  1. DialogMarketModel 增加属性 CurrentCount,表示当前进行中的会话数,并更新相关逻辑;
  2. ProtocolBase 强写逻辑中,优化逻辑;
  3. Protocol_Fins2.DialogSend 单次最多发送 8 组会话;
  4. 优化 FinsAddress.Compare 的对比逻辑;
  5. 修复 FinsSumZvarModel.UpdataWriteZvarData 中,bool 类型写值错误的 BUG;
  6. Zvar.Value 写值时,调整 HMIObjValueReadyToWrite 赋值顺序;

Haku.Zvar[2.3.0] 2026-01-08 EditBy 陈哲: 增加强命名功能;

Changed
  1. 增加强命名功能;

Haku.Zvar[2.2.2] 2025-12-26 EditBy 陈哲: 增加 FinsTcp Ack 机制;

Changed
  1. 优化 FinsTcpPacketDeal,将报文缓存至固定数组中;
  2. 增加 FinsTcp Ack 机制;

Haku.Zvar[2.2.1] 2025-12-26 EditBy 陈哲: 优化 FINSTCP 报文的匹配逻辑;

Changed
  1. 优化 FINSTCP 报文的匹配逻辑;

Haku.Zvar[2.2.0] 2025-12-25 EditBy 陈哲: 优化 FINS 协议

Changed
  1. 优化 FINS 协议;
  2. 将多出 byte[] 改为 Span[byte],提升性能;
  3. 删除 FinsDialogItem;
  4. IDialogItem 优化发送逻辑;
  5. FINS 协议固定最大打包长度为 1022,最大间隔为 200;
WIN10 系统禁用 TCP 延迟确认功能:
  1. 先查找网卡的 GUID:cmd 中输入:getmac /V /S 127.0.0.1
  2. 打开注册表编辑器:WIN+R,输入:regedit 回车
  3. 找到对应的网卡:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces{网卡 GUID}
  4. 新建 DWORD(32 位)值:TcpAckFrequency,值设为 1
  5. 重启电脑
  6. 参考:https://learn.microsoft.com/zh-cn/answers/questions/2187692/server-2019-tcp-delayed-ack

Haku.Zvar[2.1.25] 2025-12-02 EditBy 陈哲: Protocol_EIP 优化重连机制

Changed
  1. Protocol_EIP 优化重连机制;

Haku.Zvar[2.1.24] 2025-11-13 EditBy 陈哲: Protocol_EIP 增加对 byte 变量的支持

Changed
  1. Protocol_EIP 增加对 byte 变量的支持

Haku.Zvar[2.1.23] 2025-11-13 EditBy 陈哲: 优化 Protocol_EIP

Changed
  1. 优化 Protocol_EIP 在读取变量树时的异常处理;

Haku.Zvar[2.1.22] 2025-11-12 EditBy 陈哲: 优化 Protocol_SerialPort

Changed
  1. SerialPort.ReadTimeout 可能为负值,Protocol_SerialPort 在使用前先校验;

Haku.Zvar[2.1.21] 2025-11-10 EditBy 陈哲: Protocol_SerialPort 新增方法

Changed
  1. Protocol_SerialPort 新增方法 QA_Delay(),发送报文后,在收到报文 delayMs 后,没有新报文,再返回;

Haku.Zvar[2.1.20] 2025-11-06 EditBy 陈哲: 优化 Protocol_SerialPort

Changed
  1. 优化 Protocol_SerialPort;

Haku.Zvar[2.1.18] 2025-10-20 EditBy 陈哲: 新增 变量事件 ValueChange_RealTime

Changed
  1. 新增变量事件 ValueChange_RealTime,PLCValue 值变化时,立即触发,无异步,使用需谨慎;

Haku.Zvar[2.1.17] 2025-10-16 EditBy 陈哲: 新增可设置串口 QA 日志的功能

Changed
  1. 在 Protocol_SerialPort 的 QA 方法中,新增 withLog 参数,控制是否输出报错日志,默认为 false;

Haku.Zvar[2.1.16] 2025-09-26 EditBy 陈哲: 优化 EIP 协议

Changed
  1. 优化 Protocol_EIP 协议,在通讯初始化时,先获取全部变量,再判断名称与类型;
  2. 优化 Protocol_EIP 协议中获取欧姆龙、汇川 PLC 的变量名称,其中汇川的数组起始存在 BUG,需要注意;
  3. Zvar 中增加 ToProtName()方法,用于 EIP、OPC UA 等协议的变量名称转换;

Haku.Zvar[2.1.15] 2025-08-07 EditBy 陈哲

Changed
  1. 恢复 opc 类库;
  2. 优化 SerialPortLinkConfig,增加 GetHashCode();

Haku.Zvar[2.1.14] 2025-08-04 EditBy 陈哲:修复 FINS 通讯协议的 socket 客户端;

Changed
  1. 修复 FINS 通讯协议的 socket 客户端;
  2. 更新 opc、ads 的类库;
  3. 重建 git 库;

Haku.Zvar[2.1.13] 2025-07-28 EditBy 陈哲:修复 FINSUDP 通讯协议;

Changed
  1. 修复 FINSUDP 通讯协议;

Haku.Zvar[2.1.12] 2025-07-17 EditBy 陈哲:增加 HakuTree 类型;

Changed
  1. 增加 HakuTree 类型;
  2. 开放 OPCUAClient 中的 ClientSession;

Haku.Zvar[2.1.11] 2025-07-03 EditBy 陈哲:修复强写 bug;

Changed
  1. 强写异常,当强写的值与当前值一致时,写值时间不会触发,HMIObjValueReadyToWrite 不会刷新,而在写线程中,会引入该变量,导致写入前一次的值;
  2. 解决办法:在写线程中,不直接引入强写变量,而是通过 WriteToPLC() 方法写值;
  3. 修复 ProtocolBase 中的 Log 错误;

Haku.Zvar[2.1.10] 2025-06-25 EditBy 陈哲:修复 ModbusRTU 协议的读写异常;

Changed
  1. 修复 ModbusRTU 协议的读写异常,屏蔽 CRC 校验失败;

Haku.Zvar[2.1.9] 2025-06-25 EditBy 陈哲:修复 ModbusRTU 协议的读写异常;

Changed
  1. 增加 ModbusRTU 正在连接中的状态更新;
  2. 修复超时判定异常;

Haku.Zvar[2.1.8] 2025-06-25 EditBy 陈哲:修复 ModbusRTU 协议的退出异常;

Changed
  1. 修复 ModbusRTU 协议的退出异常;
  2. 优化 Protocol 中的 LOG 输出;

Haku.Zvar[2.1.7] 2025-06-19 EditBy 陈哲:修复 ADS 字符串转字节的 BUG;

Changed
  1. 修复字符串转字节时,字节长度的问题;ZvarConvert.ToBytes()
  2. Protocol_SerialPort 中增加字节流的发送和接收;

Haku.Zvar[2.1.6] 2025-06-18 EditBy 陈哲:修复 FINS 配置

Changed
  1. 还原 Protocol_Fins2 中关于 ExtendField1、ExtendField2 的调用;
  2. 增加其他使用 ExtendField1 的注释;
  3. 增加 Protocol_SerialPort 中 QA 超时后的报文输出;
  4. 修复 ProtocolConfig 中状态在配置界面可修改的 bug;

Haku.Zvar[2.1.5] 2025-06-17 EditBy 陈哲:修复通讯状态显示

Changed
  1. 修复 fins、eip 通讯状态显示

Haku.Zvar[2.1.4] 2025-06-16 EditBy 陈哲:修复 ZvarsManage 初始化的 bug;

Changed
  1. 修复 ZvarsManage 初始化的 bug;

Haku.Zvar[2.1.3] 2025-06-13 EditBy 陈哲:优化 ProtocolBase

Changed
  1. 优化 ProtocolBase,实现 IProtocol 接口;
  2. 统一 WriteToProtocolHandle 的写入逻辑;
  3. 优化 Protocol_Fins2 中关于读写对话的逻辑,对标 EIP;

Haku.Zvar[2.1.2] 2025-06-12 EditBy 陈哲:重构通讯

Changed
  1. 优化 ConnecterModel 模型;
  2. 优化 OmronFinsUDP2、OmronFinsTCP2,增加异步线程和状态模型;
  3. IProtocol 中使用 ConnecterModel Cnt,代替之前的状态变化、通讯重连等;
  4. IProtocol 中使用 HakuTimer 来维护读写线程;
  5. Protocol_EIP 中发送 EIP 报文时,增加 lock,确保 DialogSequ 顺序;
  6. 解决 EIP 协议偶发对话超时的 bug,发现 DialogSequ 需要按顺序发送;
  7. 在 Enable 准备结束时,使用 Cnt.WaitConnecting(),等待 “通讯正在连接中” 结束后,再关闭通讯;
  8. OPC 更新,测试正常: OPCFoundation.NetStandard.Opc.Ua 由 1.5.374.70 更新为 1.5.376.213;
  9. 增加 ProtocolBase,合并程序;
  10. 对所有 IProtocol 的实类进行 ProtocolBase 改造;
  11. 优化全部警告和提示;
  12. 优化 IZvar 接口的描述;
待测试
  1. fins tcp2 的 SourceNode 问题,为什么屏蔽随机(已测,PLC 给出 SourceNode)
  2. Enable 结束时,和重连中的关系?是否需要等重连结束再关闭使能?(IProtocol 中涉及通讯的,需要等重连结束再关闭 Enable)
  3. cnt 在连接过程中,状态需要变化?怎么处理
  4. 连续两次写值的写值记录缺失?
  5. PLC 写入的逻辑优化;
已测试 2025-06-11
  1. FinsTcp,启动停止正常;
  2. FinsTcp 多个客户端启动,正常;

Haku.Zvar[2.1.1] 2025-06-10 EditBy 陈哲:简单优化

Changed
  1. 优化 Elog 类库,完善日志记录;
  2. 初步增加 HakuTimer,Haku 通讯专用定时器,用于处理多线程读写
  3. 优化部分警告;

Haku.Zvar[2.1.0] 2025-05-23 EditBy 陈哲:新增 EIP 驱动

Added
  1. 数组长度需要匹配;
  2. 获取变量名对应的 id;

Haku.Zvar[2.1.0] 2025-05-23 EditBy 陈哲:新增 EIP 驱动

Added
  1. 新增 Protocol_EIP 驱动,汇川 PLC 测试通过;
  2. Protocol_EIP 的 TCP 报文交互,采用 DialogMarketModel 交互匹配机制;
  3. Protocol_EIP 首次采用 ConnecterModel,管理通讯状态、通讯重连、通讯数据等信息;
  4. 提取 IDialogItem 接口,应用与 FINS 和 EIP;
Changed
  1. 重新调整命名空间;
待优化
  1. EIP 数组打包;
  2. IProtocol 使用 ConnecterModel,管理通讯状态、通讯重连、通讯数据等信息;
  3. 测试欧姆龙 PLC;
  4. 处理 null 风险;

Haku.Zvar[2.0.11] 2025-05-08 EditBy 陈哲:优化 OPC 驱动

Changed
  1. 测试汇川 PLC OPC 协议的通讯速率,发现 PLC 中 opc 的通知机制刷新周期固定为 100ms、300ms、500ms、1000ms;
  2. 增加 Protocol_OpcUa 循环定时读取逻辑,定时读取的变量,设定 Notification = true,并且不进行通知读取;
  3. 优化 Protocol_OpcUa 整体写入逻辑,写入值后延时 8ms 后读取;
  4. 增加 ProtocolEnum.HCEIP,表示汇川 PLC 的 EIP 协议;

Haku.Zvar[2.0.10] 2025-04-27 EditBy 陈哲:优化 fins 驱动

Changed
  1. 优化 Haku.Zvar.OmronFins.OmronFinsTCP2.TCP_RECV(),避免进入死循环;
  2. 增强 Check_FINSTCP()的校验;

Haku.Zvar[2.0.9] 2025-04-27 EditBy 陈哲:引入 dll 文件

Changed
  1. 引入 Scada 驱动的 dll 文件;

Haku.Zvar[2.0.8] 2025-04-18 EditBy 陈哲:优化程序,允许单个变量的通讯禁用

Changed
  1. 优化程序,在变量初始化加载通讯协议时,判断地址 null;
  2. 当变量的地址设置为 Null 或 null 时,不启用通讯;

Haku.Zvar[2.0.7] 2025-04-17 EditBy 陈哲:允许单个变量的通讯禁用

Changed
  1. 当变量的地址设置为 Null 或 null 时,不启用通讯;

Haku.Zvar[2.0.6] 2025-04-08 EditBy 陈哲:更新 ZvarTypeCode 的默认取值

Changed
  1. 更新 ZvarTypeCode 的默认取值;

Haku.Zvar[2.0.5] 2025-03-14 EditBy 陈哲:解决 modbus 字节解码时的大小端问题

Changed
  1. 优化 modbus、ads 读写线程中断后的异常抛出;
  2. 针对 modbus 字节解码时的大小端问题,增加功能;
  3. {"PortName":"COM1","BaudRate":9600,"DataBits":8,"Parity":0,"StopBits":1,"ReadTimeout":2000,"WriteTimeout":2000,"ByteOrder":"BADC"}

Haku.Zvar[2.0.0] 2025-01-10 EditBy 陈哲:开启新版本


Haku.Zvar[1.8.46] 2025-01-06 EditBy 陈哲:修复 OPC 服务器定时断联的 BUG

Changed
  1. <PackageReference Include="OPCFoundation.NetStandard.Opc.Ua" Version="1.5.374.70" />
  2. Haku.Zvar.ZvarT.ZvarsManage.UpdataZvarProp() 修复问题,增加 Tree_Opc.ZvarEdits.Clear();
  3. Haku.Zvar.OPC.OPCUAClient 增加 ex 的 LOG;

Haku.Zvar[1.8.45] 2024-12-17 EditBy 陈哲:新增 ModbusRTU485 串口配置

Changed
  1. 新增 ModbusRTU485 通讯串口配置,格式为 ProtocolConfig.ExtendField1 = {"BaudRate":9600,"DataBits":8,"Parity":0,"StopBits":1,"ReadTimeout":2000,"WriteTimeout":2000}
  2. 优化 Zvar.Value 赋值时的范围限定,如果变量有加密设定,则范围同等缩放;

Haku.Zvar[1.8.44] 2024-12-05 EditBy 陈哲:增加变量加密功能

Changed
  1. Haku.Zvar.HakuList 重命名为 HakuZvarList;
  2. 增加 ZvarEncryptModel 模型;
  3. IZvar 中增加属性 Encrypt、ShowObjValue;
  4. Zvar 增加 ShowObjValue,构建时给 ShowObjValue 赋初始值,PLC 改值时同步处理 Encrypt 和 ShowObjValue;

Haku.Zvar[1.8.43] 2024-11-12 EditBy 陈哲:优化协议与配置的关系

Changed
  1. ProtocolConfig 增加 ClearEvent()方法,使 EnableChange 事件清空;
  2. 修复 MatchOmronAreaEnum 欧姆龙地址匹配异常的 BUG;
  3. IOmronFins2 增加 ClearConnectionStateChangedEvent 方法,清空事件;
  4. Zvar<T> 增加 Action<Zvar<T>> ValueChangeT 事件,使变量变化时直接调用变量值;

Haku.Zvar[1.8.42] 2024-07-09 EditBy 陈哲:增加对 Omron-EM 区的支持

Changed
  1. 增加对 Omron EM 区的支持,地址模板“E01-2.03”;

[1.8.41] 2024-06-27 EditBy 陈哲

Changed
  1. 更新"OPCFoundation.NetStandard.Opc.Ua" Version="1.5.374.70",旧版本为"1.4.372.106"

[1.8.40] 2024-06-17 EditBy 陈哲:优化协议的释放方法 Dispose;

Changed
  1. 优化协议的释放方法 Dispose,优化 ZvarsManage.Dispose();

[1.8.39] 2024-06-13 EditBy 陈哲:修复 Fins2 的写值 bug;

Changed
  1. 修复地址为 null 时 Fins2 的写值 bug;

[1.8.38] 2024-06-12 EditBy 陈哲:强化 Zvar 的线程安全

Changed
  1. 优化 Zvar.ValueChange 事件的异常处理;
  2. 将 Zvar.Timestamp 的类型由 string 改为 Datatime,节省内存资源;
  3. 增加强写超时失败后的日志;
  4. 删除 Protocol_Fins;
  5. Protocol_Fins2,写指令后等待 16ms 再读,防止读取的数据不真实;
  6. Zvar.(ReadyToWrite/RealValue/LastObjValue/HMIObjValueReadyToWrite)四个属性增加读写锁,确保线程安全;

[1.8.37] 2024-06-08 EditBy 陈哲

Changed
  1. 优化 Zvar 强写指令的逻辑;

[1.8.36] 2024-05-27 EditBy 陈哲

Changed
  1. 优化 fins 通讯中任务占比的算法;
  2. 优化 Protocol_Fins2 中关于变量地址的判断;

[1.8.34] 2024-04-24 EditBy 陈哲

Changed
  1. 增加串口协议 Protocol_SerialPort;
  2. 增加重连模型 ReconnectModel;

[1.8.33] 2024-03-22 EditBy 陈哲:优化 Ztime 类中时间的刷新

Changed
  1. 优化 Ztime 类中时间的刷新,单独开辟线程,优先级最高;

[1.8.32] 2024-03-11 EditBy 陈哲:分离变量初始值

Changed
  1. 从 ZvarEdit 中分离变量的初始值;

[1.8.30] 2024-01-30 EditBy 陈哲:解决打包写失败的问题

Changed
  1. 优化 FinsSumZvarModel.UpdataDialogSend()方法,解决变量地址重复时打包写失败的问题;

[1.8.29] 2024-01-22 EditBy 陈哲

Changed
  1. 优化 ZvarF.ZvarsStructIterator 中属性集的顺序;

[1.8.28] 2024-01-19 EditBy 陈哲:优化 Protocol_Fins2 打包写的顺序问题

Changed
  1. 优化 ZvarTypeCode 的调用;

[1.8.27] 2024-01-12 EditBy 陈哲:优化 Protocol_Fins2 打包写的顺序问题

Changed
  1. Haku.Zvar.OmronFins.FinsSumZvarModel.CreateFinsSum 打包读取时,需要重新排序;打包写时,不能排序,会影响写入的顺序;

[1.8.26] 2024-01-05 EditBy 陈哲:优化系统时间偶尔不刷新的问题

Changed
  1. Haku.Zvar.ZvarT.Ztime 的刷新线程改为 Task.Run;
  2. Haku.Zvar.ZvarT.Zvar<T>.ValueChange 的触发,改为异步执行 Task.Run();

[1.8.25] 2024-01-04 EditBy 陈哲:支持 HakuServer 的变量历史记录

Changed
  1. 增加 IZvarOpcShow.ZvarRecordEnum 属性;
  2. 修改 ZDeviceRecordModel 的构建函数;

[1.8.24] 2023-12-29 EditBy 陈哲:修复 OPCUA 客户端打包读时,数量过多的问题

Changed
  1. 修复 OPCUA 客户端打包读时,数量过多的问题

[1.8.23] 2023-12-04 EditBy 陈哲:OPC UA 增加服务器的实时状态

Changed
  1. OPC UA 增加服务器的实时状态 OpcServerSessionsShow、OpcSessionItemShow;
  2. 修改服务器的最大会话数为 255,订阅数为 255x4;

[1.8.22] 2023-12-04 EditBy 陈哲:修复 Protocol_OpcUa 和 Protocol_Ads

Changed
  1. Protocol_OpcUa 和 Protocol_Ads 的强写时间判断提前;
  2. Protocol_OpcUa 和 Protocol_Ads 中的 return 修复 BUG;

[1.8.21] 2023-12-04 EditBy 陈哲:修复 Protocol_Fins2 BUG

Changed
  1. 修改 Protocol_Fins2 类的批量读取 bug,增加变量的默认排序;

[1.8.20] 2023-11-09 EditBy 陈哲

Changed
  1. 新增 NotifyPropertyBase.RaisePropertyChanged<T>(ref T target, T value, out T oldValue, [CallerMemberName] string propName = "");

[1.8.19] 2023-11-08 EditBy 陈哲

Changed
  1. Haku.Zvar.Protocol_OpcUa.ZvarsAdd 中,添加变量时,opc 的变量名删去第一个点之前的部分,包括第一个点;

[1.8.18] 2023-11-01 EditBy 陈哲

Added
  1. Protocol_Fins2.SumMaxLength 从 Config.ExtendField1 取值;
  2. Protocol_Fins2.SumMaxLength 从 Config.ExtendField1 取值;

[1.8.17] 2023-10-31 EditBy 陈哲

Added
  1. 变量增加记录死区属性;

[1.8.16] 2023-10-25 EditBy 陈哲

Fixed
  1. 优化 OPCUA 服务器,增加日志;

[1.8.15] 2023-10-23 EditBy 陈哲

Fixed
  1. 优化 FinsDialogMarketModel.CheckTimeOut();

[1.8.14] 2023-10-20 EditBy 陈哲:优化 OPC 服务器

Fixed
  1. 修改 IZvarEdit.Access 的默认值为 AccessEnum.Public_RW;
  2. 增加 ZvarManage 中 OPC 树中变量的编辑;

[1.8.13] 2023-10-12 EditBy 陈哲:优化 OPC 服务器的启停

Add
  1. 优化 OPC 服务器的启停

[1.8.12] 2023-09-27 EditBy 陈哲:增加 CRC16 校验

Add
  1. 增加 CRC16 校验

[1.8.11] 2023-09-26 EditBy 陈哲:修复 FINS2 打包写的 BUG

Add
  1. 增加 GetInfluxPointDataValue()方法;
Fixed
  1. FINS2 打包写请,先对变量列表排序;
  2. 对于 ProtocolConfig.ProtocolEnum = ProtocolEnum.Null 的情况,增加 Protocol_Null;
  3. 判断 IZvar.IProtocol 为 Null 时,增加 ProtocolEnum.Null 的判断;

[1.8.7] 2023-09-08 EditBy 陈哲:优化 OPCUA 协议;

Add
  1. 优化 OPCUA 协议,打包通知类变量的最大数量为 5000;

[1.8.6] 2023-09-05 EditBy 陈哲:优化 FINS2 ;

Add
  1. 优化 FINS address 的日志;
  2. 增加 FinsDialogMarketModel 中的任务占比;
  3. 优化 DialogSend 时的数量,每次最多 10 个包;

[1.8.2] 2023-09-04 EditBy 陈哲:FINS2 地址设为 Null 时,无效;

Add
  1. FINS2 地址设为 Null 时,无效;

[1.8.1] 2023-09-01 EditBy 陈哲:修复 Fins2 中,变量无地址是写值错误的 BUG;

Fixed
  1. 修复 Fins2 中,变量无地址是写值错误的 BUG;

[1.8.0] 2023-09-01 EditBy 陈哲:大规模优化

Add
  1. IProtocol 接口中添加通讯时间指标 TimeSys;
  2. IProtocol 接口中完善交互信息数据;
  3. IOmronFins2 接口中添加通讯时间指标 TimeSys;
  4. ProtocolConfig 中添加协议,删除 IsTcp;

[1.7.6] 2023-08-29 EditBy 陈哲:修复 FINS 的 bool 类型变量不能写值的 BUG

Fixed
  1. 修复 FINS 的 bool 类型变量不能写值的 BUG;
  2. 修复 FINS 地址的校验;

[1.7.5] 2023-08-28 EditBy 陈哲:修复 FINS 中 EndCode 的 bug

Fixed
  1. 修复 FINS 的 EndCode 中,SubCode 为 0x40 时报错的 BUG;

[1.7.4] 2023-08-28 EditBy 陈哲:优化 FINS 协议,重新打包读写

Changed
  1. 优化 FINS 协议,重新打包读写;
  2. 重写 Zvar 变量写值的规则;

[1.7.3] 2023-08-24 EditBy 陈哲:优化 FINS 协议,重新打包读写

Changed
  1. 优化 FINS 协议,重新打包读写

[1.7.0] 2023-08-19 EditBy 陈哲:优化 ADS 协议

Fixed
  1. 优化 ADS 协议,修改通讯停止的函数;

[1.6.15] 2023-08-15 EditBy 陈哲:修复 OPC 服务器中数组的单个变量无法写入的 bug

Fixed
  1. 修复 OPC 服务器中数组的单个变量无法写入的 bug;

[1.6.14] 2023-08-10 EditBy 陈哲:优化 FINSTCP 协议

Changed
  1. 优化 FINSTCP 协议,解决多段报文中,后段判断异常的 BUG

[1.6.13] 2023-08-09 EditBy 陈哲:优化 FINS 日志过长的 BUG

Changed
  1. 优化 FINS 日志过长的 BUG;

[1.6.12] 2023-08-02 EditBy 陈哲:优化 FINS 协议,完善日志

Changed
  1. 优化 FINS 协议,完善日志;

[1.6.11] 2023-07-27 EditBy 陈哲:修复 Fins 协议

Changed
  1. Fins 协议中,修复 tcp 重连 bug;
  2. Fins 协议中,完善执行失败时的日志;

[1.6.10] 2023-07-13 EditBy 陈哲:修改 ZvarsManage 的记录分组规则

Changed
  1. 修改 ZvarsManage 的记录分组规则;
  2. 修复 Fins 协议;

[1.6.9] 2023-05-29 EditBy 陈哲:修复 OPCUA Client

Fixed
  1. 修复 OPCUA 客户端强制写;
  2. 修复 ADS 客户端强制写;

[1.6.8] 2023-05-16 EditBy 陈哲:修复 OPCUA Client

Fixed
  1. 修复 OPCUA 客户端写入变量时,状态判断错误的 bug;
  2. 修复 OPCUA 客户端变量缺失的日志;

[1.6.7] 2023-05-16 EditBy 陈哲:修复 OPCUA 客户端读取变量时的 bug

Fixed
  1. 修复 OPCUA 客户端读取变量时的 bug;

[1.6.6] 2023-05-09 EditBy 陈哲:OPCUA 增加强制写

Changed
  1. 增加 OPCUA 客户端的强制写功能;
  2. 修改通讯协议的打包读写功能,增加结果的详细反馈(FINS、ADS、OPC);
Fixed
  1. 修复 脉冲信号强制置位 与 PLC 置位 发生冲突的 bug;

[1.6.4] 2023-05-06 EditBy 陈哲:增加强制写

Changed
  1. Protocol_Fins 增加 Read 直接读变量值;
  2. 增加强制写值,特殊场景使用,如 jog 复位、脉冲复位;
  3. 写值的两种模式:
    • 简单写值,仅判断写值指令执行的成功与否;
    • 强制写值,执行完写值指令后,立刻再读一次该变量,判断值是否成功写入,不成功则重写,最长持续 10 个周期;
  4. 完成 Protocol_Fins、Protocol_Ads 这两种协议的强制写功能;
  5. Protocol_Fins、Protocol_Ads 这两种协议,写值后增加回读;
  6. ZvarF.Pulse 增加 1 和 0 的强制写;
  7. 强制写 是有风险的,如 PLC 收到后立即改值,则可能出现冲突,出现二次写值 PLC;
Fixed
  1. 发现 JOG 类的按钮,存在通讯缺陷:如果按钮按下时间过短,在下次读取之前抬起按钮,则变量的复 0 不触发,该 Bug 可通过使用 强制写 解决;

[1.6.3] 2023-05-04 EditBy 陈哲:调整 FINS 通讯

Fixed
  • 调整 FINS 通讯的本地节点, SourceNode = (byte)new Random().Next(60, 100);

[1.6.2] 2023-05-04 EditBy 陈哲:调整 FINS 通讯的超时设定

Fixed
  • 调整 FINS 通讯的超时设定,ReceiveTimeout = Config.VarReadInterval * 10 ;

[1.6.1] 2023-04-28 EditBy 陈哲:修复 ModbusRTU 通讯协议

Fixed
  • 修改 ModbusRTU 通讯协议中,组包中的 bug;

[1.6.0] 2023-04-27 EditBy 陈哲:修复 Fins 通讯协议

Add
  1. 增加 OmronFinsTCP2、OmronFinsUDP2 类,用于同步读写;

[1.5.2] 2023-04-24 EditBy 陈哲:修复 Ads 通讯协议

Fixed
  1. 数组在建立通知属性时,先读取一次变量值;
  2. 读取变量值错误时,直接切断通讯,再重启;

[1.5.1] 2023-04-24 EditBy 陈哲:修改 ZvarEdit 类的初始值

Changed
  1. 修改 ZvarEdit 类的初始值,以节省 ZvarConfig 文件的空间;

[1.5.0] 2023-04-03 EditBy 陈哲

Changed
  1. OPC 服务器改为实例化;
  2. 更新 OPC 数组变量的排列结构,及变量名称;

[1.4.4] 2023-04-03 EditBy 陈哲

Fixed
  1. Zvar.Value 变量,只有在通讯正常时才写值;
  2. 修复 Protocol_ModbusMaster 驱动写值无记录的 Bug;

[1.4.3] 2023-03-23 EditBy 陈哲

Fixed
  1. 优化 Protocol_ModbusMaster 通讯协议的驱动;

[1.4.2] 2023-03-23 EditBy 陈哲

Fixed
  1. 优化 Protocol_ModbusMaster 通讯协议的驱动;

[1.4.1] 2023-03-21 EditBy 陈哲

Fixed
  1. 优化 Protocol_Ads 中的打包获取句柄,SumCreateHandles 每次打包 500 个;

[1.4.0] 2023-02-24 EditBy 陈哲

Fixed
  1. 工程更改名称,由"Zvar"改为"Haku.Zvar"
  2. OPCUAClient.WriteNodes 执行前判断连接状态;
  3. 如果连接失败,则 Zvar 写值的事件需要抛弃,写值必须是即时的;

[1.3.0] 2023-02-21 EditBy 陈哲

Added
  • 增加 OPC UA 客户端驱动,所有变量采用订阅方式;
  • 所有的 IProtocol 由 ProtocolConfig.GetProtocol()方法生成

[1.2.9] 2023-02-15 EditBy 陈哲

Removed
  • 取消 Zvar 的隐式转换

[1.2.8] 2023-02-07 EditBy 陈哲

Fixed
  • 在其他电脑中,无法加载出“OPCFoundation.NetStandard.Opc.Ua(1.4.362.42)”,固升级到“OPCFoundation.NetStandard.Opc.Ua(1.4.371.60)”,经测试 opc 功能正常;

[1.2.7] 2023-01-28 EditBy 陈哲

Added
  • 增加 OPC UA 的证书读取
Changed
  • 修改 Zvar_string 类型的默认值,由 null 改为 string.Empty
  • 修改 OPC UA 的访问方式,仅允许匿名访问

<例> [0.0.1] 2023-01-13 EditBy 陈哲

Added
  • 增加 xxx 功能
  • 增加 xxx 功能
Changed
  • 修改了 xx 控件的颜色
  • 修改了 xx 的文本描述
Removed
  • 删除了 xx 页面
  • 删除了 xx 功能
Fixed
  • 修复了 xx 问题
  • 解决了 xx bug
Security
  • 修改 xx 页面的权限,允许 xx 用户操作
  • 修改 xx 功能的权限,禁止 xx 用户操作
  • 修改 xx 用户的默认密码
  • 修改 xx 功能的默认密码

注释:

  • Added 新添加的功能。
  • Changed 对现有功能的变更。
  • Removed 已经移除的功能。
  • Fixed 对 bug 的修复。
  • Security 对安全性的改进。
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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 was computed.  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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Haku.Zvar:

Package Downloads
HakuBase

基于WPF技术的底层框架,包括通讯驱动、数据库、配方、日志等重要功能

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.3.3 74 2/10/2026
2.3.1 97 1/20/2026
2.3.0 113 1/8/2026
2.2.2 180 12/26/2025
2.2.1 181 12/26/2025
2.2.0 177 12/25/2025
2.1.25 706 12/2/2025
2.1.24 300 11/13/2025
2.1.23 297 11/13/2025
2.1.22 315 11/12/2025
2.1.21 252 11/10/2025
2.1.20 219 11/6/2025
2.1.18 212 10/20/2025
2.1.17 212 10/16/2025
2.1.16 204 9/26/2025
2.1.15 314 8/7/2025
2.1.14 239 8/4/2025
2.1.13 207 7/28/2025
2.1.12 230 7/17/2025
2.1.11 214 7/3/2025
Loading failed