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" />
<PackageReference Include="Haku.Zvar" />
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
#tool nuget:?package=Haku.Zvar&version=2.3.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Haku.Zvar
Haku.Zvar[2.3.3] 2026-02-10 EditBy 陈哲: 优化 FINS 写值长度
Changed
- FINS 写值长度使用 ProtocolConfig.SumMaxCount;
- 解决 ModbusRTU 通讯问题,周期过短会报错,增加收发间隔 15ms;
- 优化 ConnecterModel 中的状态、使能属性;
Haku.Zvar[2.3.2] 2026-02-07 EditBy 陈哲: FINS 写值长度减小;
Changed
- FINS 写值长度减小 10 个;
Haku.Zvar[2.3.1] 2026-01-20 EditBy 陈哲: 修复 bool 写值 BUG;
Changed
- DialogMarketModel 增加属性 CurrentCount,表示当前进行中的会话数,并更新相关逻辑;
- ProtocolBase 强写逻辑中,优化逻辑;
- Protocol_Fins2.DialogSend 单次最多发送 8 组会话;
- 优化 FinsAddress.Compare 的对比逻辑;
- 修复 FinsSumZvarModel.UpdataWriteZvarData 中,bool 类型写值错误的 BUG;
- Zvar.Value 写值时,调整 HMIObjValueReadyToWrite 赋值顺序;
Haku.Zvar[2.3.0] 2026-01-08 EditBy 陈哲: 增加强命名功能;
Changed
- 增加强命名功能;
Haku.Zvar[2.2.2] 2025-12-26 EditBy 陈哲: 增加 FinsTcp Ack 机制;
Changed
- 优化 FinsTcpPacketDeal,将报文缓存至固定数组中;
- 增加 FinsTcp Ack 机制;
Haku.Zvar[2.2.1] 2025-12-26 EditBy 陈哲: 优化 FINSTCP 报文的匹配逻辑;
Changed
- 优化 FINSTCP 报文的匹配逻辑;
Haku.Zvar[2.2.0] 2025-12-25 EditBy 陈哲: 优化 FINS 协议
Changed
- 优化 FINS 协议;
- 将多出 byte[] 改为 Span[byte],提升性能;
- 删除 FinsDialogItem;
- IDialogItem 优化发送逻辑;
- FINS 协议固定最大打包长度为 1022,最大间隔为 200;
WIN10 系统禁用 TCP 延迟确认功能:
- 先查找网卡的 GUID:cmd 中输入:getmac /V /S 127.0.0.1
- 打开注册表编辑器:WIN+R,输入:regedit 回车
- 找到对应的网卡:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces{网卡 GUID}
- 新建 DWORD(32 位)值:TcpAckFrequency,值设为 1
- 重启电脑
- 参考: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
- Protocol_EIP 优化重连机制;
Haku.Zvar[2.1.24] 2025-11-13 EditBy 陈哲: Protocol_EIP 增加对 byte 变量的支持
Changed
- Protocol_EIP 增加对 byte 变量的支持
Haku.Zvar[2.1.23] 2025-11-13 EditBy 陈哲: 优化 Protocol_EIP
Changed
- 优化 Protocol_EIP 在读取变量树时的异常处理;
Haku.Zvar[2.1.22] 2025-11-12 EditBy 陈哲: 优化 Protocol_SerialPort
Changed
- SerialPort.ReadTimeout 可能为负值,Protocol_SerialPort 在使用前先校验;
Haku.Zvar[2.1.21] 2025-11-10 EditBy 陈哲: Protocol_SerialPort 新增方法
Changed
- Protocol_SerialPort 新增方法 QA_Delay(),发送报文后,在收到报文 delayMs 后,没有新报文,再返回;
Haku.Zvar[2.1.20] 2025-11-06 EditBy 陈哲: 优化 Protocol_SerialPort
Changed
- 优化 Protocol_SerialPort;
Haku.Zvar[2.1.18] 2025-10-20 EditBy 陈哲: 新增 变量事件 ValueChange_RealTime
Changed
- 新增变量事件 ValueChange_RealTime,PLCValue 值变化时,立即触发,无异步,使用需谨慎;
Haku.Zvar[2.1.17] 2025-10-16 EditBy 陈哲: 新增可设置串口 QA 日志的功能
Changed
- 在 Protocol_SerialPort 的 QA 方法中,新增 withLog 参数,控制是否输出报错日志,默认为 false;
Haku.Zvar[2.1.16] 2025-09-26 EditBy 陈哲: 优化 EIP 协议
Changed
- 优化 Protocol_EIP 协议,在通讯初始化时,先获取全部变量,再判断名称与类型;
- 优化 Protocol_EIP 协议中获取欧姆龙、汇川 PLC 的变量名称,其中汇川的数组起始存在 BUG,需要注意;
- Zvar 中增加 ToProtName()方法,用于 EIP、OPC UA 等协议的变量名称转换;
Haku.Zvar[2.1.15] 2025-08-07 EditBy 陈哲
Changed
- 恢复 opc 类库;
- 优化 SerialPortLinkConfig,增加 GetHashCode();
Haku.Zvar[2.1.14] 2025-08-04 EditBy 陈哲:修复 FINS 通讯协议的 socket 客户端;
Changed
- 修复 FINS 通讯协议的 socket 客户端;
- 更新 opc、ads 的类库;
- 重建 git 库;
Haku.Zvar[2.1.13] 2025-07-28 EditBy 陈哲:修复 FINSUDP 通讯协议;
Changed
- 修复 FINSUDP 通讯协议;
Haku.Zvar[2.1.12] 2025-07-17 EditBy 陈哲:增加 HakuTree 类型;
Changed
- 增加 HakuTree 类型;
- 开放 OPCUAClient 中的 ClientSession;
Haku.Zvar[2.1.11] 2025-07-03 EditBy 陈哲:修复强写 bug;
Changed
- 强写异常,当强写的值与当前值一致时,写值时间不会触发,HMIObjValueReadyToWrite 不会刷新,而在写线程中,会引入该变量,导致写入前一次的值;
- 解决办法:在写线程中,不直接引入强写变量,而是通过 WriteToPLC() 方法写值;
- 修复 ProtocolBase 中的 Log 错误;
Haku.Zvar[2.1.10] 2025-06-25 EditBy 陈哲:修复 ModbusRTU 协议的读写异常;
Changed
- 修复 ModbusRTU 协议的读写异常,屏蔽 CRC 校验失败;
Haku.Zvar[2.1.9] 2025-06-25 EditBy 陈哲:修复 ModbusRTU 协议的读写异常;
Changed
- 增加 ModbusRTU 正在连接中的状态更新;
- 修复超时判定异常;
Haku.Zvar[2.1.8] 2025-06-25 EditBy 陈哲:修复 ModbusRTU 协议的退出异常;
Changed
- 修复 ModbusRTU 协议的退出异常;
- 优化 Protocol 中的 LOG 输出;
Haku.Zvar[2.1.7] 2025-06-19 EditBy 陈哲:修复 ADS 字符串转字节的 BUG;
Changed
- 修复字符串转字节时,字节长度的问题;ZvarConvert.ToBytes()
- Protocol_SerialPort 中增加字节流的发送和接收;
Haku.Zvar[2.1.6] 2025-06-18 EditBy 陈哲:修复 FINS 配置
Changed
- 还原 Protocol_Fins2 中关于 ExtendField1、ExtendField2 的调用;
- 增加其他使用 ExtendField1 的注释;
- 增加 Protocol_SerialPort 中 QA 超时后的报文输出;
- 修复 ProtocolConfig 中状态在配置界面可修改的 bug;
Haku.Zvar[2.1.5] 2025-06-17 EditBy 陈哲:修复通讯状态显示
Changed
- 修复 fins、eip 通讯状态显示
Haku.Zvar[2.1.4] 2025-06-16 EditBy 陈哲:修复 ZvarsManage 初始化的 bug;
Changed
- 修复 ZvarsManage 初始化的 bug;
Haku.Zvar[2.1.3] 2025-06-13 EditBy 陈哲:优化 ProtocolBase
Changed
- 优化 ProtocolBase,实现 IProtocol 接口;
- 统一 WriteToProtocolHandle 的写入逻辑;
- 优化 Protocol_Fins2 中关于读写对话的逻辑,对标 EIP;
Haku.Zvar[2.1.2] 2025-06-12 EditBy 陈哲:重构通讯
Changed
- 优化 ConnecterModel 模型;
- 优化 OmronFinsUDP2、OmronFinsTCP2,增加异步线程和状态模型;
- IProtocol 中使用 ConnecterModel Cnt,代替之前的状态变化、通讯重连等;
- IProtocol 中使用 HakuTimer 来维护读写线程;
- Protocol_EIP 中发送 EIP 报文时,增加 lock,确保 DialogSequ 顺序;
- 解决 EIP 协议偶发对话超时的 bug,发现 DialogSequ 需要按顺序发送;
- 在 Enable 准备结束时,使用 Cnt.WaitConnecting(),等待 “通讯正在连接中” 结束后,再关闭通讯;
- OPC 更新,测试正常: OPCFoundation.NetStandard.Opc.Ua 由 1.5.374.70 更新为 1.5.376.213;
- 增加 ProtocolBase,合并程序;
- 对所有 IProtocol 的实类进行 ProtocolBase 改造;
- 优化全部警告和提示;
- 优化 IZvar 接口的描述;
待测试
- fins tcp2 的 SourceNode 问题,为什么屏蔽随机(已测,PLC 给出 SourceNode)
- Enable 结束时,和重连中的关系?是否需要等重连结束再关闭使能?(IProtocol 中涉及通讯的,需要等重连结束再关闭 Enable)
- cnt 在连接过程中,状态需要变化?怎么处理
- 连续两次写值的写值记录缺失?
- PLC 写入的逻辑优化;
已测试 2025-06-11
- FinsTcp,启动停止正常;
- FinsTcp 多个客户端启动,正常;
Haku.Zvar[2.1.1] 2025-06-10 EditBy 陈哲:简单优化
Changed
- 优化 Elog 类库,完善日志记录;
- 初步增加 HakuTimer,Haku 通讯专用定时器,用于处理多线程读写
- 优化部分警告;
Haku.Zvar[2.1.0] 2025-05-23 EditBy 陈哲:新增 EIP 驱动
Added
- 数组长度需要匹配;
- 获取变量名对应的 id;
Haku.Zvar[2.1.0] 2025-05-23 EditBy 陈哲:新增 EIP 驱动
Added
- 新增 Protocol_EIP 驱动,汇川 PLC 测试通过;
- Protocol_EIP 的 TCP 报文交互,采用 DialogMarketModel 交互匹配机制;
- Protocol_EIP 首次采用 ConnecterModel,管理通讯状态、通讯重连、通讯数据等信息;
- 提取 IDialogItem 接口,应用与 FINS 和 EIP;
Changed
- 重新调整命名空间;
待优化
- EIP 数组打包;
- IProtocol 使用 ConnecterModel,管理通讯状态、通讯重连、通讯数据等信息;
- 测试欧姆龙 PLC;
- 处理 null 风险;
Haku.Zvar[2.0.11] 2025-05-08 EditBy 陈哲:优化 OPC 驱动
Changed
- 测试汇川 PLC OPC 协议的通讯速率,发现 PLC 中 opc 的通知机制刷新周期固定为 100ms、300ms、500ms、1000ms;
- 增加 Protocol_OpcUa 循环定时读取逻辑,定时读取的变量,设定 Notification = true,并且不进行通知读取;
- 优化 Protocol_OpcUa 整体写入逻辑,写入值后延时 8ms 后读取;
- 增加 ProtocolEnum.HCEIP,表示汇川 PLC 的 EIP 协议;
Haku.Zvar[2.0.10] 2025-04-27 EditBy 陈哲:优化 fins 驱动
Changed
- 优化 Haku.Zvar.OmronFins.OmronFinsTCP2.TCP_RECV(),避免进入死循环;
- 增强 Check_FINSTCP()的校验;
Haku.Zvar[2.0.9] 2025-04-27 EditBy 陈哲:引入 dll 文件
Changed
- 引入 Scada 驱动的 dll 文件;
Haku.Zvar[2.0.8] 2025-04-18 EditBy 陈哲:优化程序,允许单个变量的通讯禁用
Changed
- 优化程序,在变量初始化加载通讯协议时,判断地址 null;
- 当变量的地址设置为 Null 或 null 时,不启用通讯;
Haku.Zvar[2.0.7] 2025-04-17 EditBy 陈哲:允许单个变量的通讯禁用
Changed
- 当变量的地址设置为 Null 或 null 时,不启用通讯;
Haku.Zvar[2.0.6] 2025-04-08 EditBy 陈哲:更新 ZvarTypeCode 的默认取值
Changed
- 更新 ZvarTypeCode 的默认取值;
Haku.Zvar[2.0.5] 2025-03-14 EditBy 陈哲:解决 modbus 字节解码时的大小端问题
Changed
- 优化 modbus、ads 读写线程中断后的异常抛出;
- 针对 modbus 字节解码时的大小端问题,增加功能;
- {"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
- <PackageReference Include="OPCFoundation.NetStandard.Opc.Ua" Version="1.5.374.70" />
- Haku.Zvar.ZvarT.ZvarsManage.UpdataZvarProp() 修复问题,增加 Tree_Opc.ZvarEdits.Clear();
- Haku.Zvar.OPC.OPCUAClient 增加 ex 的 LOG;
Haku.Zvar[1.8.45] 2024-12-17 EditBy 陈哲:新增 ModbusRTU485 串口配置
Changed
- 新增 ModbusRTU485 通讯串口配置,格式为 ProtocolConfig.ExtendField1 = {"BaudRate":9600,"DataBits":8,"Parity":0,"StopBits":1,"ReadTimeout":2000,"WriteTimeout":2000}
- 优化 Zvar.Value 赋值时的范围限定,如果变量有加密设定,则范围同等缩放;
Haku.Zvar[1.8.44] 2024-12-05 EditBy 陈哲:增加变量加密功能
Changed
- Haku.Zvar.HakuList 重命名为 HakuZvarList;
- 增加 ZvarEncryptModel 模型;
- IZvar 中增加属性 Encrypt、ShowObjValue;
- Zvar 增加 ShowObjValue,构建时给 ShowObjValue 赋初始值,PLC 改值时同步处理 Encrypt 和 ShowObjValue;
Haku.Zvar[1.8.43] 2024-11-12 EditBy 陈哲:优化协议与配置的关系
Changed
- ProtocolConfig 增加 ClearEvent()方法,使 EnableChange 事件清空;
- 修复 MatchOmronAreaEnum 欧姆龙地址匹配异常的 BUG;
- IOmronFins2 增加 ClearConnectionStateChangedEvent 方法,清空事件;
- Zvar<T> 增加 Action<Zvar<T>> ValueChangeT 事件,使变量变化时直接调用变量值;
Haku.Zvar[1.8.42] 2024-07-09 EditBy 陈哲:增加对 Omron-EM 区的支持
Changed
- 增加对 Omron EM 区的支持,地址模板“E01-2.03”;
[1.8.41] 2024-06-27 EditBy 陈哲
Changed
- 更新"OPCFoundation.NetStandard.Opc.Ua" Version="1.5.374.70",旧版本为"1.4.372.106"
[1.8.40] 2024-06-17 EditBy 陈哲:优化协议的释放方法 Dispose;
Changed
- 优化协议的释放方法 Dispose,优化 ZvarsManage.Dispose();
[1.8.39] 2024-06-13 EditBy 陈哲:修复 Fins2 的写值 bug;
Changed
- 修复地址为 null 时 Fins2 的写值 bug;
[1.8.38] 2024-06-12 EditBy 陈哲:强化 Zvar 的线程安全
Changed
- 优化 Zvar.ValueChange 事件的异常处理;
- 将 Zvar.Timestamp 的类型由 string 改为 Datatime,节省内存资源;
- 增加强写超时失败后的日志;
- 删除 Protocol_Fins;
- Protocol_Fins2,写指令后等待 16ms 再读,防止读取的数据不真实;
- Zvar.(ReadyToWrite/RealValue/LastObjValue/HMIObjValueReadyToWrite)四个属性增加读写锁,确保线程安全;
[1.8.37] 2024-06-08 EditBy 陈哲
Changed
- 优化 Zvar 强写指令的逻辑;
[1.8.36] 2024-05-27 EditBy 陈哲
Changed
- 优化 fins 通讯中任务占比的算法;
- 优化 Protocol_Fins2 中关于变量地址的判断;
[1.8.34] 2024-04-24 EditBy 陈哲
Changed
- 增加串口协议 Protocol_SerialPort;
- 增加重连模型 ReconnectModel;
[1.8.33] 2024-03-22 EditBy 陈哲:优化 Ztime 类中时间的刷新
Changed
- 优化 Ztime 类中时间的刷新,单独开辟线程,优先级最高;
[1.8.32] 2024-03-11 EditBy 陈哲:分离变量初始值
Changed
- 从 ZvarEdit 中分离变量的初始值;
[1.8.30] 2024-01-30 EditBy 陈哲:解决打包写失败的问题
Changed
- 优化 FinsSumZvarModel.UpdataDialogSend()方法,解决变量地址重复时打包写失败的问题;
[1.8.29] 2024-01-22 EditBy 陈哲
Changed
- 优化 ZvarF.ZvarsStructIterator 中属性集的顺序;
[1.8.28] 2024-01-19 EditBy 陈哲:优化 Protocol_Fins2 打包写的顺序问题
Changed
- 优化 ZvarTypeCode 的调用;
[1.8.27] 2024-01-12 EditBy 陈哲:优化 Protocol_Fins2 打包写的顺序问题
Changed
- Haku.Zvar.OmronFins.FinsSumZvarModel.CreateFinsSum 打包读取时,需要重新排序;打包写时,不能排序,会影响写入的顺序;
[1.8.26] 2024-01-05 EditBy 陈哲:优化系统时间偶尔不刷新的问题
Changed
- Haku.Zvar.ZvarT.Ztime 的刷新线程改为 Task.Run;
- Haku.Zvar.ZvarT.Zvar<T>.ValueChange 的触发,改为异步执行 Task.Run();
[1.8.25] 2024-01-04 EditBy 陈哲:支持 HakuServer 的变量历史记录
Changed
- 增加 IZvarOpcShow.ZvarRecordEnum 属性;
- 修改 ZDeviceRecordModel 的构建函数;
[1.8.24] 2023-12-29 EditBy 陈哲:修复 OPCUA 客户端打包读时,数量过多的问题
Changed
- 修复 OPCUA 客户端打包读时,数量过多的问题
[1.8.23] 2023-12-04 EditBy 陈哲:OPC UA 增加服务器的实时状态
Changed
- OPC UA 增加服务器的实时状态 OpcServerSessionsShow、OpcSessionItemShow;
- 修改服务器的最大会话数为 255,订阅数为 255x4;
[1.8.22] 2023-12-04 EditBy 陈哲:修复 Protocol_OpcUa 和 Protocol_Ads
Changed
- Protocol_OpcUa 和 Protocol_Ads 的强写时间判断提前;
- Protocol_OpcUa 和 Protocol_Ads 中的 return 修复 BUG;
[1.8.21] 2023-12-04 EditBy 陈哲:修复 Protocol_Fins2 BUG
Changed
- 修改 Protocol_Fins2 类的批量读取 bug,增加变量的默认排序;
[1.8.20] 2023-11-09 EditBy 陈哲
Changed
- 新增 NotifyPropertyBase.RaisePropertyChanged<T>(ref T target, T value, out T oldValue, [CallerMemberName] string propName = "");
[1.8.19] 2023-11-08 EditBy 陈哲
Changed
- Haku.Zvar.Protocol_OpcUa.ZvarsAdd 中,添加变量时,opc 的变量名删去第一个点之前的部分,包括第一个点;
[1.8.18] 2023-11-01 EditBy 陈哲
Added
- Protocol_Fins2.SumMaxLength 从 Config.ExtendField1 取值;
- Protocol_Fins2.SumMaxLength 从 Config.ExtendField1 取值;
[1.8.17] 2023-10-31 EditBy 陈哲
Added
- 变量增加记录死区属性;
[1.8.16] 2023-10-25 EditBy 陈哲
Fixed
- 优化 OPCUA 服务器,增加日志;
[1.8.15] 2023-10-23 EditBy 陈哲
Fixed
- 优化 FinsDialogMarketModel.CheckTimeOut();
[1.8.14] 2023-10-20 EditBy 陈哲:优化 OPC 服务器
Fixed
- 修改 IZvarEdit.Access 的默认值为 AccessEnum.Public_RW;
- 增加 ZvarManage 中 OPC 树中变量的编辑;
[1.8.13] 2023-10-12 EditBy 陈哲:优化 OPC 服务器的启停
Add
- 优化 OPC 服务器的启停
[1.8.12] 2023-09-27 EditBy 陈哲:增加 CRC16 校验
Add
- 增加 CRC16 校验
[1.8.11] 2023-09-26 EditBy 陈哲:修复 FINS2 打包写的 BUG
Add
- 增加 GetInfluxPointDataValue()方法;
Fixed
- FINS2 打包写请,先对变量列表排序;
- 对于 ProtocolConfig.ProtocolEnum = ProtocolEnum.Null 的情况,增加 Protocol_Null;
- 判断 IZvar.IProtocol 为 Null 时,增加 ProtocolEnum.Null 的判断;
[1.8.7] 2023-09-08 EditBy 陈哲:优化 OPCUA 协议;
Add
- 优化 OPCUA 协议,打包通知类变量的最大数量为 5000;
[1.8.6] 2023-09-05 EditBy 陈哲:优化 FINS2 ;
Add
- 优化 FINS address 的日志;
- 增加 FinsDialogMarketModel 中的任务占比;
- 优化 DialogSend 时的数量,每次最多 10 个包;
[1.8.2] 2023-09-04 EditBy 陈哲:FINS2 地址设为 Null 时,无效;
Add
- FINS2 地址设为 Null 时,无效;
[1.8.1] 2023-09-01 EditBy 陈哲:修复 Fins2 中,变量无地址是写值错误的 BUG;
Fixed
- 修复 Fins2 中,变量无地址是写值错误的 BUG;
[1.8.0] 2023-09-01 EditBy 陈哲:大规模优化
Add
- IProtocol 接口中添加通讯时间指标 TimeSys;
- IProtocol 接口中完善交互信息数据;
- IOmronFins2 接口中添加通讯时间指标 TimeSys;
- ProtocolConfig 中添加协议,删除 IsTcp;
[1.7.6] 2023-08-29 EditBy 陈哲:修复 FINS 的 bool 类型变量不能写值的 BUG
Fixed
- 修复 FINS 的 bool 类型变量不能写值的 BUG;
- 修复 FINS 地址的校验;
[1.7.5] 2023-08-28 EditBy 陈哲:修复 FINS 中 EndCode 的 bug
Fixed
- 修复 FINS 的 EndCode 中,SubCode 为 0x40 时报错的 BUG;
[1.7.4] 2023-08-28 EditBy 陈哲:优化 FINS 协议,重新打包读写
Changed
- 优化 FINS 协议,重新打包读写;
- 重写 Zvar 变量写值的规则;
[1.7.3] 2023-08-24 EditBy 陈哲:优化 FINS 协议,重新打包读写
Changed
- 优化 FINS 协议,重新打包读写
[1.7.0] 2023-08-19 EditBy 陈哲:优化 ADS 协议
Fixed
- 优化 ADS 协议,修改通讯停止的函数;
[1.6.15] 2023-08-15 EditBy 陈哲:修复 OPC 服务器中数组的单个变量无法写入的 bug
Fixed
- 修复 OPC 服务器中数组的单个变量无法写入的 bug;
[1.6.14] 2023-08-10 EditBy 陈哲:优化 FINSTCP 协议
Changed
- 优化 FINSTCP 协议,解决多段报文中,后段判断异常的 BUG
[1.6.13] 2023-08-09 EditBy 陈哲:优化 FINS 日志过长的 BUG
Changed
- 优化 FINS 日志过长的 BUG;
[1.6.12] 2023-08-02 EditBy 陈哲:优化 FINS 协议,完善日志
Changed
- 优化 FINS 协议,完善日志;
[1.6.11] 2023-07-27 EditBy 陈哲:修复 Fins 协议
Changed
- Fins 协议中,修复 tcp 重连 bug;
- Fins 协议中,完善执行失败时的日志;
[1.6.10] 2023-07-13 EditBy 陈哲:修改 ZvarsManage 的记录分组规则
Changed
- 修改 ZvarsManage 的记录分组规则;
- 修复 Fins 协议;
[1.6.9] 2023-05-29 EditBy 陈哲:修复 OPCUA Client
Fixed
- 修复 OPCUA 客户端强制写;
- 修复 ADS 客户端强制写;
[1.6.8] 2023-05-16 EditBy 陈哲:修复 OPCUA Client
Fixed
- 修复 OPCUA 客户端写入变量时,状态判断错误的 bug;
- 修复 OPCUA 客户端变量缺失的日志;
[1.6.7] 2023-05-16 EditBy 陈哲:修复 OPCUA 客户端读取变量时的 bug
Fixed
- 修复 OPCUA 客户端读取变量时的 bug;
[1.6.6] 2023-05-09 EditBy 陈哲:OPCUA 增加强制写
Changed
- 增加 OPCUA 客户端的强制写功能;
- 修改通讯协议的打包读写功能,增加结果的详细反馈(FINS、ADS、OPC);
Fixed
- 修复 脉冲信号强制置位 与 PLC 置位 发生冲突的 bug;
[1.6.4] 2023-05-06 EditBy 陈哲:增加强制写
Changed
- Protocol_Fins 增加 Read 直接读变量值;
- 增加强制写值,特殊场景使用,如 jog 复位、脉冲复位;
- 写值的两种模式:
- 简单写值,仅判断写值指令执行的成功与否;
- 强制写值,执行完写值指令后,立刻再读一次该变量,判断值是否成功写入,不成功则重写,最长持续 10 个周期;
- 完成 Protocol_Fins、Protocol_Ads 这两种协议的强制写功能;
- Protocol_Fins、Protocol_Ads 这两种协议,写值后增加回读;
- ZvarF.Pulse 增加 1 和 0 的强制写;
- 强制写 是有风险的,如 PLC 收到后立即改值,则可能出现冲突,出现二次写值 PLC;
Fixed
- 发现 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
- 增加 OmronFinsTCP2、OmronFinsUDP2 类,用于同步读写;
[1.5.2] 2023-04-24 EditBy 陈哲:修复 Ads 通讯协议
Fixed
- 数组在建立通知属性时,先读取一次变量值;
- 读取变量值错误时,直接切断通讯,再重启;
[1.5.1] 2023-04-24 EditBy 陈哲:修改 ZvarEdit 类的初始值
Changed
- 修改 ZvarEdit 类的初始值,以节省 ZvarConfig 文件的空间;
[1.5.0] 2023-04-03 EditBy 陈哲
Changed
- OPC 服务器改为实例化;
- 更新 OPC 数组变量的排列结构,及变量名称;
[1.4.4] 2023-04-03 EditBy 陈哲
Fixed
- Zvar.Value 变量,只有在通讯正常时才写值;
- 修复 Protocol_ModbusMaster 驱动写值无记录的 Bug;
[1.4.3] 2023-03-23 EditBy 陈哲
Fixed
- 优化 Protocol_ModbusMaster 通讯协议的驱动;
[1.4.2] 2023-03-23 EditBy 陈哲
Fixed
- 优化 Protocol_ModbusMaster 通讯协议的驱动;
[1.4.1] 2023-03-21 EditBy 陈哲
Fixed
- 优化 Protocol_Ads 中的打包获取句柄,SumCreateHandles 每次打包 500 个;
[1.4.0] 2023-02-24 EditBy 陈哲
Fixed
- 工程更改名称,由"Zvar"改为"Haku.Zvar"
- OPCUAClient.WriteNodes 执行前判断连接状态;
- 如果连接失败,则 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 | Versions 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.
-
net6.0
- Beckhoff.TwinCAT.Ads (>= 6.2.485)
- OPCFoundation.NetStandard.Opc.Ua (>= 1.5.376.213)
- System.IO.Ports (>= 8.0.0)
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