跳到主要内容

版本更新记录

信息

本页面记录 ThingsGatewayRuntime 的版本更新历史。

v2.2.35 (2026-09-18)

新增

  • 变量表格列宽调整
    • 采集配置和内存计算页面支持拖拽调整变量表格列宽,分别保存各页面的列宽设置,并可双击列边缘恢复默认宽度。

优化

  • IEC 104 采集调度(专业版)
    • 首次连接及重连后按公共地址执行一次总召唤;变量地址支持配置 group=116,全部采集变量均填写组号时按打包间隔组召唤,任一未填写时整个设备统一按打包间隔总召唤。
    • 删除旧采集模式和“总召唤校准周期”,召唤间隔统一使用变量打包间隔,变量间隔留空时使用设备间隔;自发上送持续更新。
  • IEC 61850 连接保活与错误提示(专业版)
    • 周期在线检查增加 MMS Status 心跳,无采集变量时也可保持连接活动;会话恢复或心跳失败后关闭异常连接,等待重连。
    • 文件服务错误显示标准错误名称与中文说明,便于识别文件被占用、文件不存在、拒绝访问等原因。
  • Linux 主机重启
    • 主机重启改为延后 1 分钟调度,为操作回执留出返回时间;需要提权时使用非交互命令,避免等待密码输入。

修复

  • 应用重启
    • 重启时保留原启动参数,修复通过 dotnet 启动时未携带应用路径的问题;重复重启请求只创建一个后继进程,并等待原进程完全退出后再启动服务,避免端口和数据库占用冲突。
  • 采集通信稳定性(标准版与专业版)
    • 修复连续收包、主动上报与请求应答交错时,响应结果被后续报文覆盖或请求关联失效的问题;隔离各请求的超时与取消处理,避免影响后续采集。
    • 修复 UDP 异步发送期间报文缓冲区提前释放,以及共享通道回调变化时消息提前释放的问题。
  • IEC 104 主站确认延迟(专业版)
    • 主站固定逐帧回复 S 帧,确认先于点值处理且不受业务发送延时影响,避免等待接收阈值或延迟计时后才确认。
  • IEC 104 服务端组召唤与多公共地址(专业版)
    • 服务端变量支持配置召唤组号,组召唤仅返回指定公共地址下的组内点;修复点表已配置非默认公共地址时,相关请求仍被拒绝的问题。

v2.2.33 (2026-09-15)

新增

  • IEC 61850 调试协商参数展示(专业版)
    • 调试页连接状态新增协商结果:COTP TPDU 大小、最大被叫请求、最大嵌套层级,以及本端/对端实际套接字地址。
    • 文件服务页新增“最近下载统计”:传输耗时、平均速度、读取块数与平均块大小,并显示本次下载连接实际协商的 MMS PDU 与 COTP TPDU,便于判断下载速度瓶颈。
  • 主题配置
    • 新增外观模式(明亮/暗黑/跟随系统)、显示密度(标准/紧凑)与主色背景文字颜色(白色/深色/自动对比)设置,自定义品牌色增加格式校验。

优化

  • IEC 61850 调试下载日志(专业版)
    • 独立下载连接的报文与下载开始、完成、失败日志现在同样写入设备日志,完成日志包含大小、耗时、块数与平均速度。
    • COTP 与 MMS association 建联成功时记录协商结果(含本端提议值对比),连接参数排查更直接。
  • 历史数据转发
    • 字符串历史表名留空时不再建表、写入与清理,支持仅保留数值历史表。
  • 界面
    • 统一 404 页面样式。

v2.2.30 (2026-09-11)

规则引擎破坏性更新

本次规则引擎更新不兼容旧版规则流格式与节点契约。旧规则流不能直接沿用,也不提供自动转换;升级前请备份配置与自定义节点源码,升级后按新版节点参数和端口重新配置流程,校验通过后再启用。自行开发的节点需适配新版契约并重新编译。

新版将流程定义与画布布局分离,严格区分配置参数、状态端口和事件端口;配置参数不再作为连线输入,事件与状态、不同数据类型之间须使用显式转换节点。规则流交换改用新版 JSON 规则包,旧 CSV 文件不能作为新版规则包导入。

新增

  • 规则流程校验、交换与运行诊断
    • 支持定位节点与连线的语义校验,以及包含流程定义、布局和节点依赖的 JSON 规则包导入导出;同名流程可选择创建、替换或跳过,导出时清空敏感字段,导入后需重新填写。
    • 运行面板增加执行结果、超时、重试、队列和耗时指标,日志可按流程实例和节点定位;节点支持执行总超时与有限重试,非幂等副作用不会自动重试。

优化

  • 规则编辑与节点配置
    • 增加节点使用说明、撤销重做、复制粘贴和连接关系管理,区分配置与运行观察;保存后明确反馈运行实例是否成功重新装载。
  • 实体双机冗余连接安全
    • 实体双机启用时要求配置本机证书与根 CA,通过 mTLS 控制链路通信;未配置共享仲裁文件的链路模式不提供网络分区防双活保护,部署前需核对证书与仲裁配置。
  • IEC 61850 文件下载(专业版)
    • 调试下载使用独立 MMS 连接,避免大文件下载长时间占用采集连接的请求队列。

修复

  • IEC 104 重连后的接收序号(专业版)
    • 新会话按对端首个 I 帧同步接收序号起点,后续仍严格检查连续性,避免对端保留发送序号时重连失败。

v2.2.21 (2026-09-04)

新增

  • 设备与转发目标统一特殊方法调用
    • 调试工作区为数据转发目标提供参数化特殊方法面板,支持 JSON 参数、执行结果和有界上传载荷;规则流新增设备特殊方法节点与转发目标特殊方法节点,可按设备或目标名称/ID调用插件公开的读写、诊断、控制及上传方法。
    • 采集驱动新增统一的按地址普通读写入口,标准版和专业版插件的公开方法可通过同一目录发现并调用,专业版 IEC 61850 驱动还支持将远端文件下载到 Gateway 主机指定路径。

优化

  • IEC 61850 文件服务浏览
    • 远端文件目录改为按路径懒加载的树形视图,显示文件大小和修改时间,支持目录筛选与逐文件下载;大文件或慢速链路使用独立的长下载超时。

修复

  • 采集资源导航一致性
    • 通道列表独立返回,删除最后一台设备后空通道仍会保留;刷新时取消过期请求,避免旧响应覆盖当前筛选后的资源树,窄屏和移动端的资源操作栏也保持稳定布局。

v2.2.18 (2026-09-03)

新增

  • Allen-Bradley ControlLogix 标签浏览与批量变量映射(专业版)
    • 调试页可刷新控制器和 Program Scope 标签目录,按地址或结构筛选、分页和懒加载,查看 Symbolic、Physical、Symbol Instance 地址、类型、External Access 与项目快照,并将选中的标签导出或经权限确认导入变量配置;驱动支持 Symbolic、Logical 非阻塞/阻塞模式、协商连接容量、数组及 BOOL/STRING 自动分片和空闲连接清理。
  • 数据转发目标批量管理
    • 转发组支持勾选批量删除或清空全部目标;服务端校验冗余关系,在事务中清理关联变量属性并重启对应组运行态。

优化

  • IEC 61850 模型浏览与 MMS 请求调度(专业版)
    • 按协商出的 MMS PDU 上限和并发额度拆分批量读取,逻辑节点模型按设备和连接代次共享缓存;调试浏览支持取消和指定逻辑设备/节点,减少重复目录请求。
  • 通道在线状态实时同步
    • 状态 WebSocket 新增通道在线数据,网关资源导航会实时更新通道及当前选中通道的在线/离线状态。

修复

  • 设备和通道状态系统变量生命周期
    • Memory 设备生成的只读状态变量改用设备或通道名称加 _DS/_TS 后缀,资源重命名或重载时会清理旧绑定,避免残留变量和名称冲突。
  • IEC 61850/MMS 编码与反向文件服务互操作
    • 修正 InformationReport、文件关闭和确认错误响应的 BER 标签、长度及字段顺序;客户端在未配置本地文件源时明确拒绝反向文件请求,提升不同设备的协议兼容性。
  • 采集设备在线状态判断
    • 未绑定采集来源或仅写变量不再误报为在线,设备状态判断更符合实际采集链路。

v2.2.17 (2026-09-02)

新增

  • 时序数据库历史逻辑脚本
    • QuestDB、TDengine 和 IoTDB 历史数据目标新增专用逻辑脚本,可通过受控数据库上下文自定义建表、变量历史写入和过期清理;关系型动态 SQL、时序脚本和自定义宽表模板会按数据库能力校验,冲突配置将直接提示失败。
  • Webhook 平台协议
    • Webhook 通知与数据转发新增钉钉、企业微信和自定义 HTTP 平台模式,按平台生成 Text/Markdown 消息,支持钉钉 HMAC 签名,并校验厂商业务错误码;调试请求使用相同协议处理,日志隐藏 URL 查询凭据。

优化

  • 数据转发目标恢复与诊断
    • 可恢复的初始化、启动或连接故障会保留目标实例并按退避策略自动恢复;具备持久缓存的目标可在离线期间继续接收数据,详情页显示生命周期、缓存就绪状态、恢复次数和下次恢复时间,MQTT、ThingsBoard、Webhook 与 ZeroMQ 等目标可重建自身连接资源。
  • IEC 61850 关联互操作性(专业版)
    • 完善 X.225 Session、Presentation、ACSE 与 MMS Initiate 协商,支持可选会话参数、协商后的 Presentation Context ID、合法 BER 字段顺序和扩展长度认证,并严格识别协议版本、功能单元、诊断及永久/临时拒绝响应。
  • 待处理数据容量诊断
    • SyncBridge Edge 新增未确认实时值队列上限及丢弃计数,避免异常链路下无界增长;IEC 104 与 IEC 61850 服务端调试页同步显示有界变量更新队列的累计拒绝数量。
  • 授权状态与导入界面
    • 授权页集中展示网关标识、安装信息、授权能力和通道/设备/变量额度,并以用量进度和超限状态辅助判断;已保存的许可证内容会自动回填,桌面与移动布局保持一致。

修复

  • 规则流编辑
    • 保存后立即同步服务端返回的流程版本,连续保存仍保留并发冲突检测;规则节点的枚举输入和输入输出属性改用受约束选择器,并正确保存枚举默认值。
  • 运行脚本与表达式参数
    • 修正动态 SQL 默认模板的方法签名和完整源码脚本的程序集命名、using 解析及失败文件清理;变量表达式参数允许普通文本并隔离单个参数转换错误,避免无效参数阻断运行态初始化。
  • 数据转发缓存与服务目标生命周期
    • 串行处理 CacheDB 入队、落盘、回放和释放,避免停止或重载期间的迟到任务访问已关闭资源;发送失败会正确进入降级恢复,IEC 61850 Journal 或服务通道异常不会破坏目标实例和待处理队列。
  • 采集资源编辑与状态显示
    • 编辑采集变量时设备下拉恢复显示全部可选采集设备,并补回未出现在首批结果中的当前设备;通道和设备状态点恢复在线、离线、暂停与未启用颜色。

v2.2.15 (2026-09-01)

新增

  • 采集设备和通道状态系统变量
    • Memory 设备会自动生成只读的 <DeviceName>_DS<ChannelName>_TS 变量,按运行状态定期刷新;变量会随设备或通道生命周期维护,不能被普通内存变量占用。
  • SyncBridge 多 Hub 冗余与故障切换
    • Edge 可按优先级配置最多 16 个 Hub 端点;心跳、实时确认、配置同步或传输链路发生实际错误时自动切换,并在调试页显示当前 Hub、端点状态、失败次数和切换次数。
  • 规则节点输出传播控制
    • 自定义规则节点新增“输出属性是否仅在值变化时触发下游传播”选项,默认仅传播变化值,也可关闭去重以便每次赋值都触发下游节点。

优化

  • IoTDB 历史目标配置
    • Tree/Table 物理模型改由连接字符串中的 ModelRootPathDatabase 唯一决定,移除重复的目标模型字段;Table 模式继续支持自定义 SQL,模型与命名空间不匹配时会直接校验失败。
  • 插件属性和 SyncBridge 配置界面
    • 可空枚举属性统一按枚举选择器输出;SyncBridge Edge 端点改用结构化列表编辑器,减少地址、TLS 主机和优先级配置错误。
  • 下载、授权与操作文档
    • 下载页区分 GatewayRuntime、Watchdog 和 Studio 所需的 .NET 运行时,授权页按产品授权类别显示可用入口;重整自定义报文、Gateway MQTT、SyncBridge 和内存变量手册,并补充配置与验证说明。

修复

  • 数据转发 Excel 配置导入导出
    • 变量设备名称直接从变量运行态解析,设备运行时未绑定时仍能正确生成和恢复数据转发变量关系。

v2.2.11 (2026-08-31)

新增

  • Apache IoTDB 历史数据目标
    • 历史数据转发新增 IoTDB 支持,可选择 Tree(设备路径与 measurement)或 Table(TIME、TAG、FIELD)模型;Table 模式支持自定义宽表模板、历史查询和连接测试。
  • 历史数值聚合查询
    • 新增按变量和 UTC 时间窗口读取 Average、Minimum、Maximum、First、Last 聚合值的 Web API、脚本辅助入口和规则节点;关系型、IoTDB、QuestDB 与 TDengine 目标可返回聚合结果及能力错误信息。
  • OPC UA 方法调用
    • OPC UA 客户端新增按对象节点和方法节点调用服务端方法的动态方法/RPC,支持 JSON 输入参数和输出参数。

优化

  • 历史数据转发与查询
    • 历史数据触发模式、周期、在线过滤和批处理统一由转发组控制,目标只负责写入;IoTDB、QuestDB 和 TDengine 支持存储侧曲线聚合、完整分页总数和截断信息。
    • 原生时序写入和自定义 SQL 模板改用批量写入、模板预编译、连接复用及列映射缓存,降低大批量写入和历史查询开销。
  • 插件配置与授权信息
    • 数据转发插件目录标记是否支持目标变量属性,配置页只显示适用的变量属性入口;插件目录新增按专业版授权筛选和完整插件清单,商业授权页补充标准版/专业版插件范围。

修复

  • Foundation 通道重连与状态
    • 重连检查同时校验设备、通道和关闭状态,重连失败时同步设备及变量离线状态,避免通道实际断开后仍显示在线。
  • OPC AE 事件去重
    • 事件键纳入子条件、类别、严重度、品质、确认和消息等字段,避免不同事件被错误合并。
  • 动态方法参数与内存变量
    • 方法变量正确处理参数数组、可选参数和缺少的必需参数;只写内存变量及配置了初始值的内存变量在重载后保持已初始化状态。
  • 时序数据库连接测试
    • QuestDB、TDengine 和 IoTDB 连接测试改为使用实际客户端或查询进行验证,连接异常能够准确反馈。
  • 历史数据目标切换
    • 切换历史数据目标时清理旧排序和表格状态,避免把上一目标的字段带入新目标查询。

v2.2.8 (2026-08-28)

新增

  • IEC 104 主站与服务端(专业版)
    • 重构 IEC 104 主站/服务端协议实现和调试 API。主站调试工作台新增链路状态(STARTDT、K/W 窗口、收发序号、帧计数和错误)、总召唤/累计量召唤/单点读取、主动报告分页监视、完整控制类型选择/执行,以及时钟同步、应用层测试、进程复位和延时获得等系统命令。
    • 服务端调试工作台新增运行概览、客户端会话、分页点表、变量映射统计和真实总召唤测试发布;测试发布只面向已完成 STARTDT 的客户端,避免向未建立数据传输的连接发送 I 帧。
    • 完善 I/S/U 帧状态机、序号窗口和 CP56Time2a 时标编解码,报告监视区分主动上送与召唤响应,并按 CA、TypeId、IOA 展示解析后的点值、品质和时标。
  • IEC 61850 托管主站(专业版)
    • 基于新的 COTP/ACSE/MMS 客户端能力完善 association、模型浏览、批量 Read/Write、RCB/报告、GOOSE 状态和控制块操作;调试页增加连接代次、最大 PDU/并发请求、最近报告及数据引用等运行信息,并显示报告的 DataSet、序号、Reason 和 MMS 类型。
    • 完善数据集读取/创建/删除和模型读写交互,新增文件目录分页与下载/删除/重命名/ObtainFile、Journal 时间范围查询、控制块字段读取/写入和控制操作;文件下载改为流式写入后端临时文件并受大小上限保护。
  • IEC 61850 托管服务端(专业版)
    • 重构服务端调试工作台,新增统一运行概览、模型与值读写、客户端 Association 分页、逻辑设备/变量/数据集/Journal/文件资源目录、Journal 查询、控制块读取和报告/GOOSE/SV 测试发布,并展示变量映射率、未映射变量、连接容量和周期服务错误;服务端 SOE 查询入口移除,改由 Journal 追溯服务端事件。
  • IEC 61850 二层诊断与协议事件存储(专业版)
    • 支持选择网卡进行有界抓包,解析 GOOSE、Sampled Values(SV)和 R-Session,显示 MAC、VLAN、APPID、控制块引用、StNum/SqNum、采样数据、认证状态及原始十六进制帧。
    • IEC 104 和 IEC 61850 主站的主动报告按协议分别转换为 SOE,写入当前主站实例的关系型存储,支持事件键去重、保留策略、分页、排序和导出;IEC 61850 服务端 Journal 支持内存记录及可配置的关系型持久化。总召唤响应不会重复写入 IEC 104 SOE。
  • OPC AE 事件数据库存储
    • OPC AE 主站新增可选的关系型事件存储配置,支持数据库类型、连接字符串、事件表、分表策略、保存天数、时区、队列和 CacheDB 失败补传设置;默认关闭,启用后自动初始化 opcAeEventLog 表。
    • 事件记录保留设备、事件源、映射变量、事件/报警时间、消息、条件、严重度、品质、属性 JSON、确认状态和事件键,按设备和事件键去重并自动清理过期数据;调试页新增独立的持久化历史页签,支持关键字筛选、分页、排序和 Excel 导出。
  • 采集配置批量清理
    • 新增按权限控制的通道、采集设备和采集变量清空操作,执行前展示影响范围;清空通道只解除设备绑定,清空采集设备或变量时保留通道及内存变量。

优化

  • 大规模配置工作台
    • 采集资源使用轻量快照和虚拟列表,数据转发变量关系、脚本、自定义节点、模拟器及调试客户端改用分页查询;数据转发配置支持增量保存,并可切换调试工作台的下方/右侧布局。
  • 采集与数据转发启动
    • 多通道设备和多个数据转发目标改为并发启动,同时保留失败接管与回滚处理,缩短大型项目启动和重启等待时间。
  • 内存变量与转发范围
    • 内存计算页区分普通内存变量和系统内存变量;数据转发“全部变量”范围默认排除系统内存变量,仅在显式加入后转发,避免系统运行数据被意外上传。
  • IEC 104/IEC 61850 时间与分页体验
    • 协议调试结果、报告、Journal、文件目录和客户端会话统一按服务端分页及 UTC/项目时区规则显示,切换设备或连接代次时会取消旧请求并清空旧快照,避免跨设备串数据显示。

修复

  • Excel 配置导入导出
    • 空采集配置或空数据转发配置导出时仍生成完整工作表和表头;导入增加空文件与大小校验,并统一清理后端临时文件。
  • 通信与运行生命周期
    • 合并同一通道的并发连接请求,完善 DDP、DLT645 发送对象及异步等待项的释放,并将设备重启纳入受管调度,减少重复重连、长期运行资源累积和重启竞态。
  • 权限与导航状态
    • 补齐数据转发组编辑和目标变量属性维护所需的查询权限;菜单被动刷新失败时保留最近一次有效导航,避免瞬时网络异常导致工作区菜单消失。

v2.2.7 (2026-08-24)

优化

  • 文档站点与插件手册
    • 重构 GatewayRuntime 文档首页和导航,新增按采集/转发插件组织的专题手册、配置步骤、地址或模板、调试验证说明,并补充运行巡检和流程截图。

修复

  • MQTT 与 ThingsBoard RPC
    • 客户端、服务端及 ThingsBoard RPC 处理增加异常隔离,单条异常报文不会中断后续消息处理。
  • 网关启动与导出数据
    • Web API 启动异常会正确上抛,避免网关表面启动成功;设备导出在缺少通道或冗余设备关联时仍保持列结构完整。

v2.2.6 (2026-08-21)

优化

  • 数据转发上传模板
    • 变量、设备、报警和插件事件支持按 Text/JSON 模式自定义内容模板;占位符支持嵌套属性、复杂值和日期/数字等格式化,并可在配置界面插入字段、预览并在保存前校验,保持列表/字典上传结构一致。

修复

  • 动态属性配置回填
    • 修复后端 PascalCase JSON 在前端编辑器中无法正确回填的问题;自定义报文、MQTT 远端来源、历史数据 SQL 模板、SOE 和客户端权限配置现在可正确恢复和编辑。

v2.2.5 (2026-08-21)

优化

  • SECS-I 串行协议(专业版)
    • SECS-I 驱动、配置、调试面板和接口统一使用 SECS Serial 命名;SECS-II 数据树写入变量时转换为 XML 文本,便于区分串行协议并查看完整数据结构。

修复

  • 设备冗余切换
    • 切换以实际接管设备为主;备用设备启动失败时自动回滚角色并恢复原设备,避免主备状态与通信任务不一致。
  • 数据转发目标冗余
    • 目标切换或启动异常时自动停止失败目标、恢复原活动目标和冗余状态,避免转发任务因切换失败中断。
  • PostgreSQL 自定义 SQL 历史数据转发
    • 修正 JSON/JSONB 列参数类型绑定,避免 JSON 文本按普通文本发送导致写入失败。
  • 推送与镜像设备状态
    • 连接正常且没有轮询变量的设备不再被通用健康检查误判为离线。

v2.2.4 (2026-08-20)

优化

  • IEC 60870-5-104 主站采集调度(专业版)
    • ThingsGatewayRuntimePRO 提供“主动上送 + 周期校准”和“按变量周期总召唤”两种采集模式,并按公共地址与采集周期建立总召唤计划。
    • 增加独立的总召唤完成超时和校准周期配置;主动上送或总召唤返回的质量无效位会同步为变量离线状态,减少点值状态与设备质量不一致。

v2.2.3 (2026-08-20)

新增

  • ThingsGateway V12 软件授权
    • Docs 授权中心新增 ThingsGateway V12 授权码生成,可按多台机器 UUID、授权名称及通道、设备、变量额度批量签发,并支持一键复制授权码。

优化

  • 插件配置与地址说明
    • 采集通道、设备和数据转发目标的插件属性现按连接配置、运行参数、数据格式、缓存与存储等用途分组展示,配置和详情查看更易定位。
    • 补充插件属性与采集地址说明文档,覆盖常用协议的地址格式、数据类型及配置要点。

修复

  • 协议专用调试
    • 修正 IEC 104、FANUC、安川等协议专用调试接口的返回数据解析,读写、遥控和诊断结果可在调试工作区正确展示。

文档站点更新 (2026-07-03)

操作手册

  • 完善 GatewayRuntime Web、Studio Web、Watchdog Web 操作手册,覆盖登录、总览、采集配置、数据转发、调试、报警、规则、脚本、节点、证书、日志、用户、角色和系统设置。
  • 补充配置弹窗、配置抽屉、参数说明、操作截图和常见故障处理,便于用户按页面完成日常配置与运维。
  • 补充 Studio 工程管理、Watchdog 连接、项目上传与下载、备份、隧道和运行参数相关说明。

v2.2.2 (2026-08-19)

新增

  • Gateway 离线软件授权
    • 系统设置新增“软件授权”,可查看 Gateway 标识码、安装实例、当前资源数量与许可额度,并按独立权限导入签名许可证;未授权时可使用 50 个通道、50 个设备和 1000 个变量,超过额度后需导入商业许可证。
    • Docs 新增 GitHub 登录与软件授权页面,可使用 Gateway 标识码生成与实例绑定的永久离线许可证。
  • Docs 下载中心运行环境
    • 下载中心新增 .NET 10 ASP.NET Core Runtime 必装提示,以及 Windows、Linux、macOS 多架构官方直链,便于在启动 GatewayRuntime 前完成运行环境准备。

优化

  • 协议仿真器生命周期
    • 协议仿真器纳入 Gateway 主业务生命周期和冗余状态编排,自动启动、配置重载、主备切换与宿主停止按统一顺序执行,并在启动边界再次校验停止状态和业务许可。
  • OPC UA Server 变量同步
    • 变量状态推送和客户端写入改用稳定变量 ID 定位节点,并复用写入回调、直接更新叶子节点状态与时间戳,提升高频变量同步的稳定性并减少额外开销。

修复

  • 规则引擎异步触发与定时节点
    • 连续输出会在目标节点执行前绑定本次输入,避免异步或无防抖调度时后续值覆盖前次输入;Delay 节点会使用触发时的输入与延时快照,周期定时器改为输出完整的高低脉冲,确保复位和边沿触发不会丢失。

v2.1.44 (2026-08-17)

优化

  • 规则引擎聚合节点
    • Average、Sum、MinMax 节点在统计周期内实时输出当前结果;复位改为按上升沿切换统计周期,长时间保持复位不会重复提交结果。
  • Web API 服务依赖注入
    • Web API 使用宿主共享服务容器注册插件 API 控制器,使控制器可以稳定解析宿主服务依赖,提升网关管理接口的启动和运行稳定性。
  • Watchdog 运行配置
    • 网关健康探测默认端口调整为 6100;未启用隧道时不再在启动阶段激活隧道客户端,减少无关连接和启动日志。

修复

  • 表达式输出传播
    • 输出属性值未发生变化时不再重复触发回调,规则节点和脚本表达式可减少无效更新。

v2.1.43 (2026-08-15)

新增

  • 统一调试工作区与协议诊断

    • 采集设备和数据转发目标统一接入调试工作区,提供 12 类可组合的通用调试模块,并新增 56 类协议专用调试面板,覆盖机器人、PLC、仪表、IEC、扫码/RFID、消息平台等设备与服务。
    • 设备离线、停用、暂停、备用或初始化失败时仍可查看配置与诊断信息,同时禁用依赖运行实例的操作,便于在异常状态下排查配置问题。
  • OPC UA Server 证书与信任管理

    • 默认监听地址调整为 opc.tcp://127.0.0.1:48410,新增 X509 用户证书登录、手工信任列表/指定 CA 模式、受信客户端 CA 和服务端签发 CA 配置;调试工作区可按权限维护五类客户端证书库。
  • 插件与协议支持

    • 本次新增的采集插件完整清单如下;标准运行时新增 1 个插件,专业版工程 ThingsGatewayRuntimePRO(插件程序集为 ThingsGatewayRuntime.NOAOTPROPlugin)新增 74 个插件,合计 75 个。
    来源新增采集插件(搜索名)
    ThingsGatewayRuntime.PluginDlt645_1997Master
    ThingsGatewayRuntimePROA3CMaster
    ThingsGatewayRuntimePROAbbWebApiMaster
    ThingsGatewayRuntimePROAiBusMaster
    ThingsGatewayRuntimePROBarcodeIngressMaster
    ThingsGatewayRuntimePROBeckhoffAdsMaster
    ThingsGatewayRuntimePROCimonHmiMaster
    ThingsGatewayRuntimePROCjt188Master
    ThingsGatewayRuntimePRODam3601Master
    ThingsGatewayRuntimePRODeltaMaster
    ThingsGatewayRuntimePRODf1Master
    ThingsGatewayRuntimePRODigitronCplMaster
    ThingsGatewayRuntimePRODlt698Master
    ThingsGatewayRuntimePRODtsu6606Master
    ThingsGatewayRuntimePROEcFanMaster
    ThingsGatewayRuntimePROEfortRobotMaster
    ThingsGatewayRuntimePROEstunRobotMaster
    ThingsGatewayRuntimePROFanucCnc0iMaster
    ThingsGatewayRuntimePROFanucRobotInterfaceMaster
    ThingsGatewayRuntimePROFatekProgramMaster
    ThingsGatewayRuntimePROFujiCommandMaster
    ThingsGatewayRuntimePROFujiSpbMaster
    ThingsGatewayRuntimePROFujiSphMaster
    ThingsGatewayRuntimePROFxLinksMaster
    ThingsGatewayRuntimePROFxSerialMaster
    ThingsGatewayRuntimePROGeSrtpMaster
    ThingsGatewayRuntimePROHyundaiTrackingMaster
    ThingsGatewayRuntimePROIec104Master
    ThingsGatewayRuntimePROInovanceComputerLinkMaster
    ThingsGatewayRuntimePROInovanceConnectedCipMaster
    ThingsGatewayRuntimePROInovanceEasyNetMaster
    ThingsGatewayRuntimePROKeyenceDlen1Master
    ThingsGatewayRuntimePROKeyenceKvOldMaster
    ThingsGatewayRuntimePROKeyenceMcAsciiMaster
    ThingsGatewayRuntimePROKeyenceMcBinaryMaster
    ThingsGatewayRuntimePROKeyenceNanoMaster
    ThingsGatewayRuntimePROKeyenceSr2000Master
    ThingsGatewayRuntimePROKnxMaster
    ThingsGatewayRuntimePROKukaControllerTcpMaster
    ThingsGatewayRuntimePROKukaVariableProxyMaster
    ThingsGatewayRuntimePROLogixCipMaster
    ThingsGatewayRuntimePROLsisMaster
    ThingsGatewayRuntimePROMc1E_AsciiMaster
    ThingsGatewayRuntimePROMc3E_AsciiMaster
    ThingsGatewayRuntimePROMcR_BinaryMaster
    ThingsGatewayRuntimePROMegMeetMaster
    ThingsGatewayRuntimePROMicroCipMaster
    ThingsGatewayRuntimePROMitsubishiCipMaster
    ThingsGatewayRuntimePRONanjingDcsMaster
    ThingsGatewayRuntimePROOmronCipMaster
    ThingsGatewayRuntimePROOmronConnectedCipMaster
    ThingsGatewayRuntimePROOmronHostLinkCModeMaster
    ThingsGatewayRuntimePROOmronHostLinkMaster
    ThingsGatewayRuntimePROOpenProtocolMaster
    ThingsGatewayRuntimePROOrientalMotorMaster
    ThingsGatewayRuntimePROPanasonicMcMaster
    ThingsGatewayRuntimePROPanasonicMewtocolMaster
    ThingsGatewayRuntimePRORkcMaster
    ThingsGatewayRuntimePROSamCardMaster
    ThingsGatewayRuntimePROScaleStreamMaster
    ThingsGatewayRuntimePROSecsSerialMaster
    ThingsGatewayRuntimePROShineInMaster
    ThingsGatewayRuntimePROSiemensFetchWriteMaster
    ThingsGatewayRuntimePROSiemensPpiMaster
    ThingsGatewayRuntimePROSlcEthernetMaster
    ThingsGatewayRuntimePROToyoPucMaster
    ThingsGatewayRuntimePROTurckRfidMaster
    ThingsGatewayRuntimePROVibrationStreamMaster
    ThingsGatewayRuntimePROXinJeInternalMaster
    ThingsGatewayRuntimePROXinJeModbusMaster
    ThingsGatewayRuntimePROYamahaRcxMaster
    ThingsGatewayRuntimePROYaskawaMemobusMaster
    ThingsGatewayRuntimePROYokogawaLinkMaster
    ThingsGatewayRuntimePROYrc1000Master
    ThingsGatewayRuntimePROYrcHighEthernetMaster
    • 同时补充 Modbus ASCII 主站帧处理能力;ASCII 主站仅适用于串口、TCP 客户端和 TCP 服务流式通道,不支持 UDP,Modbus 从站仍仅支持 TCP 和 RTU。

优化

  • 插件目录与筛选

    • 插件管理改为按厂商和生态组织,可按厂商、类型、状态、授权、平台要求及协议关键词筛选;插件项同步展示用途、类名、程序集、版本、授权和平台限制,并由服务端统一提供官方插件标识。
  • 调试消息与运行诊断

    • 调试消息与公开状态通道分流,连接时使用短时单次票据;消息处理增加有界队列、长度限制、敏感内容脱敏和订阅对象校验,降低异常消息占用资源和泄露敏感数据的风险。

修复

  • 调试权限与高风险操作
    • 调试权限拆分为查看、查询、普通写入、危险控制和敏感数据五级;默认用户角色仅拥有查看和只读调试权限,调试标签及操作按钮会按权限隐藏或禁用。
    • Keyence 任意命令、复位与锁定、IEC 61850 数据集删除等高风险操作改为独立授权,删除数据集前增加二次确认,避免普通写入角色误触危险操作。

v2.1.41 (2026-08-11)

新增

  • OPC UA Server 历史报警读取

    • 可为 OPC UA Server 配置独立的历史报警目标,并通过标准 ReadEventDetails 从 Server、Gateway 根目录或设备通知节点读取报警、确认、恢复等历史事件;支持按节点范围筛选、分页与续传,并保持稳定的 EventIdConditionId 和标准报警字段。
    • 保存配置时会校验历史数据和历史报警目标是否支持对应查询能力,目标无效时直接列出可用项;实时与历史报警共用按变量和报警类型生成的稳定 Condition 标识。
  • 变量实时值小数位

    • 变量编辑器新增 0 至 28 位小数配置,可按运行时数值类型的有效精度对采集或表达式处理后的最终标量值执行四舍五入,同时保留原始值精度;系统变量更新和批量编辑也会同步应用该配置。

修复

  • 报警确认与恢复状态

    • 修复已确认报警恢复时确认状态被重置的问题,恢复事件现保留“确认并恢复”状态,避免历史记录和 OPC UA 客户端将其误判为未确认。
  • GatewayRuntime Web 配置提示

    • 数据转发目标详情可同时按枚举名称和数值解析显示文本;内容模板帮助中的 ${...} 占位符语法可按原样显示,不再被多语言插值误解析。

v2.1.40 (2026-08-10)

优化

  • 数据转发目标详情
    • 目标详情新增插件属性配置展示,枚举和布尔属性使用可读文本,并在切换目标时同步刷新属性定义,便于直接核对目标配置。

修复

  • OPC UA Server 历史能力声明
    • 修复历史变量的 HistorizingHistoryRead 属性与实际历史读取路由不一致的问题;有效历史目标现按节点注册历史服务,无效目标会关闭历史能力声明并提示当前可用目标。

v2.1.39 (2026-08-09)

新增

  • OPC UA 2.0 采集与服务端能力

    • OPC UA Client/Server 升级到 2.0 协议栈,采集端补齐内置类型标量、数组、矩阵和结构化值的编解码,并支持断线重连后的会话与订阅恢复;相关能力已迁入 Native AOT 运行路径。
    • OPC UA Server 新增原始历史数据读取,可绑定指定历史数据目标并支持分页、续传点与释放;同时开放实时报警的激活、确认、恢复事件和 ConditionRefresh,便于标准 OPC UA 客户端统一读取变量、历史与报警。
  • 变量状态值报警

    • 每个变量可按精确数值配置多条状态报警映射,并分别设置报警文本、等级、延时和抑制表达式;Web 编辑器提供新增、删除、重复值与参数校验,变量导入导出同步保留状态报警配置。

优化

  • 后台日志查询与导出

    • 全部来源日志改为有边界的合并分页和稳定排序,来源读取失败时返回明确错误;CSV 导出按来源流式写入,并支持筛选、请求取消和超时终止,降低大日志导出的内存占用与长时间占用风险。
  • 变量与 OPC UA 长值展示

    • 变量当前值、原始值和 OPC UA 调试值在表格中使用固定宽度预览,悬浮层或详情抽屉可查看完整数组和结构化内容,避免长值撑高行或挤压页面。

修复

  • 内存变量写入类型

    • 修复 JSON/RPC 写入和初始值装载时数值可能退化为 Int64 的问题,现按变量声明的数据类型转换并逐项返回结果,单个变量转换失败不再影响同批其他变量。
  • 实时报警计数与确认状态

    • 未确认报警徽标改为服务端全局统计,不再受当前分页和筛选条件影响;仅在服务端确认成功后更新当前行,并通过静默刷新校准并发确认结果。
  • 系统总览列表筛选

    • 修复总览中的通道、设备和变量明细未完整应用动态筛选与排序的问题。

v2.1.38 (2026-08-04)

新增

  • GatewayRuntime Web 结构化属性编辑器

    • 为 Gateway MQTT Client/Server 远端来源、历史数据自定义宽表模板和 CAN 硬件过滤器提供可视化编辑器,支持来源认证参数、QoS、宽表分组与字段映射、自定义 SQL、CAN ID 增删校验,避免手写 JSON。
  • 系统总览资源指标

    • 总览页新增系统内存与磁盘已用/总容量、进程内存、GC 内存、线程数和固定磁盘汇总,磁盘显示名称和容量单位更直观。

修复

  • GatewayRuntime Web 请求与通道日志

    • 主动取消的请求不再触发全局网络错误提示,带通道参数的日志页面避免首次重复加载,减少无效请求和误报。
  • 客户端权限列表保存

    • 修复 ModbusSlave 等服务端插件的客户端权限列表清空或无有效项时保存为 null 的问题,统一保存为空列表,避免动态属性类型不一致。

v2.1.37 (2026-08-03)

新增

  • Gateway MQTT 多网关专用采集

    • 新增 GatewayMqttCollectClientGatewayMqttCollectServer,可通过一个共享 MQTT Broker 会话或一个本地 Broker 监听汇聚多个远端 Gateway,并按稳定 RemoteKey 隔离实时值、在线状态、完整快照、变量目录和 RPC 写入。
    • 新增专用调试页,可查看逐来源状态与诊断、主动请求快照、测试 RPC,并为当前或全部远端生成变量同步计划;同步只新增变量或更新数据类型、单位和描述,保留本地名称、表达式、报警、历史和写权限,远端缺失变量不会被自动删除。
  • SyncBridge 公网汇聚与实时同步(升级须知)

    • SyncBridge 新增 HubServerEdgePublisher 明确角色,支持一个公网 Hub 通过单端口和双向 TLS 汇聚多个具有稳定 PeerId 的边缘 Gateway;配置使用修订、校验和、分块暂存及原子提交,实时值使用 Epoch、Sequence、应用确认和重连全量快照恢复。
    • 新增专用调试页,可按对等端查看连接、配置修订、队列、确认延迟和错误,发起配置同步、全量值快照、受管重连、断开及诊断导出。旧 IsServerIsMaster 配置契约已移除,升级后需重新配置角色、节点标识、握手密钥、证书、CA 和目标主机名。
  • DL/T 645-2007 拉合闸控制

    • DL/T 645-2007 主站新增拉闸和合闸允许动态写入方法,可使用默认电能表地址执行控制,并校验 02 级明文密码、操作者代码和可配置的命令有效期。

优化

  • 协议仿真器与 ModbusSlave 高频路径

    • Modbus 仿真实例的新建默认值现可覆盖 65,535 个保持寄存器;TCP PDU、地址解析、位转换器和原始内存写入改为复用,数据发生器使用事件驱动调度,降低大点表、持续发生和高频请求场景中的分配与调度开销。
  • 变量运行态与数据转发调度

    • 同一设备的变量共享运行态上下文,变量变化仅在存在启用路由时创建转发快照,并优化目标索引、批次分发和协议观测对象,减少大规模变量与多目标转发的常驻内存和无效工作。
  • 数据转发运行日志

    • 转发组与转发目标日志分别写入 Logs/DataForwardGroupLogs/DataForwardTarget;SQLite 日志不可用时自动降级到公共后台日志,不再阻断转发组或目标启动。

修复

  • 数据转发停止与可靠写入

    • 修复停止期间仍可能有可靠历史写入访问已释放数据库的问题;现在释放过程会等待在途写入完成并拒绝迟到写入,避免停机和重载边界的数据丢失或资源竞争。
  • 协议仿真器事件与请求生命周期

    • 修复实例删除或服务关闭后的迟到操作可能重新创建事件数据库,以及关闭时未等待在途事件操作的问题;同时完善 Modbus 请求取消、并发准入释放和稳定响应处理。
  • MQTT 快照与 RPC 协议边界

    • MQTT Client/Server Producer 现在统一校验规范请求编号,只有全部快照分片发布成功才返回成功完成标记,并在异步处理前持有独立消息副本,避免临时接收缓冲区失效导致快照或写入响应异常。
  • Web 日志与日期筛选

    • 修复通道日志、运行日志和规则日志清空时间范围后查询或重置异常的问题;时间同步和仿真发生器的必填日期不再允许被清空。

v2.1.36 (2026-07-31)

新增

  • Modbus 与 Siemens S7 协议仿真器

    • GatewayRuntime 新增内置协议仿真器,可直接建立 Modbus TCP、Modbus RTU 或 Siemens S7 从站,并配置 TCP/串口通道、仿真变量、读写权限、确定性数据发生器、故障注入、原始内存、客户端和持久化事件。
    • 支持通道配置 JSON 和变量点表 Excel 导入导出,适用于协议联调、点表验证、异常复现、培训演示和自动化测试,无需额外安装独立仿真软件。
  • 完全自定义报文采集

    • 新增 CustomPacketMaster 采集插件,支持 TCP 客户端、TCP 服务端、UDP 会话和串口通道,可配置固定包头、起止区间、结束符或固定长度分帧,以及请求模板、响应归属、成功条件、有效载荷和常用校验算法。
    • 设备调试支持 Hex/文本原始报文、仅发送或发送并等待,并可根据真实收发样本生成协议草稿;应用前会使用正式分帧、校验和响应规则验证样本,降低配置错误直接进入运行态的风险。
  • MQTT 采集变量控制写入与 RPC 回执

    • MQTT 采集客户端和服务端变量可配置控制发布 Topic、JSON 或 UTF-8 原始字符串载荷、Retain,并沿用设备 QoS;只读、只写和读写变量均使用统一的八段地址编辑器与校验规则。
    • 可选 {RequestId} 请求/响应 Topic 和超时时间,网关仅以精确响应 Topic 上非保留消息的 success=true 作为设备确认;超时、断线、路由重载或无效响应会明确返回失败,且不会自动重发可能非幂等的控制命令。
  • 数据库目标变量静态信息

    • SqlServer、MySql、Sqlite 和 PostgreSql 历史数据目标新增独立变量信息表,目标初始化时同步变量、设备、通道、单位、数据类型、读写权限和自定义字段;双库镜像会同步写入两侧变量信息表。
    • 实时数据目标在首次初始化时为目标范围内全部变量写入静态信息和当前状态,后续采集更新只覆盖动态值列,启用离线过滤时也会保留离线变量的静态信息。

优化

  • GatewayRuntime Web 代码编辑器资源

    • Monaco 编辑器改为只装载 Runtime 实际使用的 C# 语言能力和通用 Worker,脚本、节点等页面继续使用 Studio Roslyn 智能提示,同时减少未使用语言、Worker 和前端静态资源。
  • 中英文操作文档

    • 新增协议仿真器、完全自定义报文、DTU 服务和采集到 MQTT/SQLite/规则引擎的全流程示例,并补齐当前 GatewayRuntime、Studio、Watchdog、插件、脚本和自定义节点等英文文档及实操截图。

修复

  • ModbusSlave 变量映射边界

    • 修复目标变量未配置从站服务地址时错误回退到采集地址的问题;现在只有显式配置从站地址的变量才会建立寄存器映射,避免普通采集变量意外暴露到 Modbus 从站。
  • 采集配置表单默认值与通道回填

    • 修复设备弹窗内联编辑通道时备用远程地址等字段未完整回填,以及新建通道、TCP 服务和变量过滤参数默认值与后端定义不一致的问题。

v2.1.34 (2026-07-27)

新增

  • MQTT 采集 JSON 字段映射与消息条件上下文
    • MQTT 采集客户端和服务端变量地址新增常用单值 JSONPath 支持,可使用 $ 根节点、对象属性、[0].0 数组下标,以及 $['a.b'] 特殊属性名;同一变量可通过 路径1||路径2 按顺序配置多个候选字段。
    • 条件脚本可读取完整 Payload 和实际发布 Topic;MQTT 采集服务端还可读取发布客户端 ID,便于在通配 Topic 下按设备过滤消息。

优化

  • MQTT 采集消息处理性能与配置说明
    • 字段路径改为加载变量时预编译,每条消息只解析一次 JSON,同名条件在单条消息内只执行一次,并减少 Payload 字符串、中间集合和路径拆分分配;中英文插件参考同步补充字段路径、候选字段、条件脚本和通配 Topic 配置示例。

修复

  • MQTT 采集字段缺失与条件失败处理

    • 字段不存在、数组越界或路径无效时不再用空值覆盖变量;条件脚本名称错误、执行异常或返回值无法转换为布尔值时改为拒绝更新并记录警告,避免不符合格式的消息绕过过滤。
  • GatewayRuntime、Studio 与 Watchdog 时间显示

    • 统一后端 UTC 时间与存储墙钟时间的显示边界,修复实时和历史报警、历史数据、日志、冗余状态、变量详情、备份与项目时间可能被重复换算、偏移或在不同时区显示不一致的问题。
  • 采集配置弹窗布局

    • 修复通道、设备、变量和快捷表达式弹窗中共享样式未覆盖拆分子组件,导致数字输入框、文本框、批量编辑标记宽度异常或内容挤压的问题。
  • 变量复制后改名的运行时索引

    • 修复复制变量改回原名称后旧复制名称索引未移除,导致同一变量可能以新旧名称重复参与采集打包的问题。

v2.1.33 (2026-07-24)

新增

  • Studio 与 Watchdog HTTP IP 远程管理
    • Studio 和 Watchdog 随包配置支持监听全部网卡,可直接通过 http://设备IP:5100http://设备IP:6200 登录;远程初始化、Watchdog 工程部署和进程控制同步支持已启用的远程管理场景。
    • 普通 HTTP 仍不提供 TLS 传输保护,公网或不可信网络应继续使用 HTTPS,并限制管理端口的网络访问范围。

优化

  • Studio 与 Watchdog 当前认证协议

    • 登录和首次初始化密码统一使用两分钟有效、只能消费一次的 RSA-OAEP-SHA256 公钥挑战;Watchdog 管理接口改用八小时不透明 Bearer 会话,登出或 Watchdog 重启后会话失效。
    • Studio 连接 Watchdog 时同样使用一次性密码挑战和 Bearer 会话,并在 Watchdog 重启导致会话失效时自动重新登录和重试。
  • 部署、操作与接口文档

    • 中英文文档补充 Studio/Watchdog HTTP IP 配置、认证接口、会话规则、安全边界和 importKey、401、403、挑战过期等故障排查说明。

修复

  • 普通 HTTP IP 页面登录
    • 修复 GatewayRuntime、Studio 和 Watchdog 通过普通 HTTP IP 打开时,浏览器缺少 SubtleCrypto 而导致 importKey 读取失败、无法登录的问题;当前前端可使用浏览器强随机数完成 RSA-OAEP-SHA256 密码加密。

v2.1.32 (2026-07-23)

新增

  • 双机热备身份、安全链路与共享仲裁(升级须知)

    • 双机热备新增冗余组、本机节点和期望对端节点身份校验,可选双向 TLS,以及基于两台网关共享 SQLite 文件的工作授权。页面同步展示本机角色、对端身份、采集、数据转发、报警、规则引擎、链路与仲裁状态。
    • 升级后,启用双机热备时必须为两台网关填写相同的冗余组名称、彼此不同的本机节点名称,并将对端节点名称互相对应。共享仲裁文件留空时仍是仅链路主备,网络分区可能双活;TLS 的本机连接证书、信任根证书和对端证书主机名必须全部填写或全部留空。
  • 历史数据与历史报警双库镜像

    • 历史数据和历史报警目标可同时写入主库与备用库,并通过 Journal、积压状态、时间范围对比、双向补齐、定时一致性检查和自动修复维护两库一致性。
    • 双库镜像仅支持 SqlServer、MySql、Sqlite、PostgreSql 的标准表写入;QuestDB、TDengine、自定义 SQL、历史表脚本和历史报警表脚本不支持。主库和备用库必须是不同物理目标,该能力与双机热备的历史补偿相互独立。
  • 历史查询与 MQTT 历史 RPC

    • 新增带 UTC 时间范围、变量集合、分页和白名单排序的类型化历史查询,以及 Auto、Raw、Average、Minimum、Maximum、First、Last 等数值序列模式和点数限制。
    • MQTT 客户端与 MQTT 服务端生产者新增 RpcHistory 历史查询主题,支持目标、记录、数值序列、报警、确认和取消等请求,并通过 gzip、Base64 分块及请求、响应、并发限制保护运行时。

优化

  • Modbus 主站打包规则(升级须知)

    • 原单一“最大打包长度”配置已替换为 FC1、FC2、FC3、FC4、FC15、FC16 六项独立数量上限,并在单变量读取量或批量写入量超过限制时提前返回校验错误。升级后应打开每个 Modbus 主站设备检查六项打包规则,不要假设旧 MaxPack 数值会自动映射。
  • 证书与管理接口统一(升级须知)

    • 证书管理迁移到 TAdmin 统一模块,Web 页面入口保持不变;旧 /api/gatewaycertificatecontroller/... 已替换为 /api/certificatecontroller/...,动作名称和权限码同步调整,外部 API 集成需要迁移。
  • 数据转发与规则流程配置可靠性

    • 增强转发组、目标、变量范围、插件属性和主备目标拓扑校验,配置变化后可定向重启受影响对象,并避免旧积压按新配置误投递或主备权威状态丢失。
    • 规则流程名称新增长度、非法字符、保留名和大小写无关唯一性校验;多人同时编辑时使用版本检查阻止后保存者静默覆盖。
  • 实时状态与页面交互

    • 实时状态和调试消息按等价订阅分组,增加订阅上限、有界队列、防重入、重连退避和过期响应保护,改善大点表、频繁切页和连接波动时的稳定性。

修复

  • SQLite 配置数据库备份

    • 修复 WAL 模式下直接复制数据库文件可能遗漏已提交记录或依赖 -wal-shm 伴随文件的问题;备份改为可独立打开、包含 WAL 已提交数据的一致性单文件快照。
  • 历史、转发与主备运行恢复

    • 修复部分目标重启、缓存补发、主备切换和运行态恢复过程中状态不完整、积压归属错误或任务恢复不一致的问题。

v2.1.22 (2026-07-14)

新增

  • 历史可靠同步诊断

    • 系统设置的网关冗余页面新增历史可靠同步诊断,可查看目标支持状态、Journal 状态、Epoch 租约和 Journal 事件,并支持按目标键、来源节点、记录类型、记录唯一键、待 Peer 和待 DB 状态筛选。
  • TCP 客户端备用远程地址

    • 采集通道新增 TCP 客户端备用远程地址配置。主远程地址连接失败、断开或响应超时后,同一通道可自动尝试备用地址,降低单条 TCP 链路故障对采集的影响。

优化

  • 历史数据与历史报警冗余可靠性

    • 历史数据和历史报警的标准 SQL 写入链路增强为 Journal、Peer ACK、DB Epoch 租约和记录唯一键协同处理,提升主备切换、短时断链、数据库短时不可用和运行时重启后的补写与去重能力。
  • 数据转发运行态可观测性

    • 数据转发详情增强插件运行态、在线状态、可靠历史标签、Journal 目标键、不支持原因和 CacheDB 出站队列诊断,便于定位目标启动失败、离线缓存积压和历史可靠同步状态。
  • 离线缓存与失败重试

    • 优化 CacheDB 出站队列、内存队列、重试保留和恢复补发流程,运行态可直接观察模型数、积压数量、最早积压时间和异常信息。

修复

  • 历史写入一致性

    • 修复主备切换、重启恢复或短时离线场景下历史数据、历史报警可能重复写入或漏补写的问题,标准 SQL 目标可通过记录唯一键进行幂等写入。
  • 目标运行状态恢复

    • 修复部分数据转发目标在缓存补发、重试或运行态刷新后状态不清晰的问题,减少目标已恢复但页面难以判断真实运行状态的情况。

v2.1.20 (2026-07-12)

新增

  • 变量引用追踪

    • 变量详情新增“引用”信息,可汇总变量在数据转发组/目标、规则流程、脚本和变量表达式中的引用,并支持跳转到对应数据转发组、转发目标或规则流程,便于改点、删点前确认影响范围。
  • 二开与插件文档

    • 文档站新增采集插件、业务插件、脚本开发和自定义节点开发说明,补充插件属性参考、生命周期、参数模型、示例代码和排障清单,方便集成和项目二开交付。

优化

  • 数据转发配置体验

    • 数据转发页面改为可拖动分栏,组/目标列表更紧凑,并支持通过链接参数定位指定转发组或转发目标,变量引用页面跳转后可直接查看相关配置。
  • 网关系统设置安全性

    • 网络、系统时间和 NTP 配置改为参数化执行系统命令,增加输入校验、超时和提权写入处理,降低特殊字符或异常命令导致配置失败的风险。
  • 权限与调试接口

    • Gateway、插件和 NOAOT 插件调试接口统一使用权限常量和种子数据,减少升级后页面按钮可见但接口无权限的情况。
  • Studio 与 Watchdog 交付可靠性

    • Watchdog 支持启停健康检查配置、密码哈希保存、项目包安全解压、临时文件下载和应用失败后的回退快照;Studio 项目上传、下载和启动安全校验同步增强。
  • 文档站点

    • 重写当前操作手册为入口索引和常用任务路线,补充数据采集、内存计算、数据转发、规则、脚本、插件和权限等专题说明,并刷新 GatewayRuntime 页面截图。

修复

  • 网络与时间配置

    • 修复 Linux 网络配置中 DNS、默认路由和子网掩码处理不稳的问题,并优化 Windows/Linux 时间同步配置,减少因命令拼接、格式错误或服务状态导致的失败。
  • 项目包处理安全

    • 修复 Studio/Watchdog 上传或解压项目包时可能受异常路径、过大文件或临时文件残留影响的问题。

v2.1.9 (2026-07-08)

新增

  • TAdmin 统一管理模块
    • GatewayRuntime 接入共享 TAdmin 管理模块,用户、角色、菜单、按钮权限和审计日志由统一模块承载,网关侧提供默认菜单、角色和按钮权限种子数据。
    • Gateway Web 引入 TAdmin 前端插件,管理菜单按 /gateway-workspace 挂载,系统管理能力与网关工作台路由保持一致。

优化

  • 网关权限与日志配置

    • 后端启动时注册 Gateway 菜单挂载、菜单路由、角色和按钮权限,并同步 WebApi 权限目录,减少升级后按钮或插件调试接口缺少授权的情况。
    • GatewayLogOptions 聚焦网关运行日志,后端、操作、SQL 和审计日志保留策略拆分到 AdminLogOptions,日志配置边界更清晰。
  • 数据转发运行恢复

    • 数据转发目标初始化或启动失败后会按 30 秒间隔自动重试,并优先恢复最久未尝试的失败目标;恢复后会重新启动组级数据生产循环,减少临时故障后的人工重启。

修复

  • 冗余设备变量配置

    • 保存通道/设备变量、变量导入和批量编辑变量时会将变量配置归一到主配置设备,避免冗余设备场景下变量误挂到备用设备导致采集、转发或查询结果不一致。
  • 调试与转发权限

    • 补齐 CAN、OPC、IEC61850、SOE、ZeroMQ 和 SyncBridge 强制同步等调试/转发维护接口的默认权限,避免角色已授权页面操作但接口仍被拦截。

v2.1.5 (2026-07-05)

优化

  • 采集配置资源列表
    • 采集配置左侧设备列表改为按通道分组,通道标题下展示插件名称、插件提示和通道地址摘要,设备行直接展示主/备角色与在线状态,未配置冗余时不再显示无效占位。
    • 编辑通道时会按当前通道第一个设备的插件筛选可选通道类型;新增通道或插件没有匹配结果时保留全部通道类型,减少通道类型选择错误。

修复

  • 冗余设备与变量查询

    • 修复编辑已有冗余设备时备用设备候选列表为空的问题,当前设备已配置的备用设备会保留在下拉列表中。
    • 修复按设备、通道或插件查询变量时,备用设备数据未按主配置设备归并的问题,采集配置和变量状态查询在冗余场景下结果更一致。
  • 插件与通道类型

    • 修复插件名包含多余空格或插件不存在时通道类型查询结果异常的问题,无法按插件获取通道类型时会回退到全部通道类型。

v2.1.3 (2026-07-04)

新增

  • 数据转发批处理

    • 数据转发组新增“整个转发组作为一个批次”的批处理模式,便于按转发组统一组织周期快照。
  • IEC61850 调试能力

    • 调试服务新增 IEC61850 主站与服务端能力识别,便于前端按插件类型展示对应调试入口。
  • 当前版本操作手册

    • 文档站点新增 GatewayRuntime Web、Studio Web、Watchdog Web 当前操作手册入口,并补充数据查询、内存、数据转发和运维截图。

优化

  • 数据转发离线缓存与补发

    • MQTT、Kafka、RabbitMQ、ThingsBoard 等 TopicArray 转发失败时可缓存未确认数据,并在恢复后优先补发;关闭离线缓存时会明确提示失败数据不会重试。
    • ThingsBoard 设备连接上报队列超过上限、取消或发送失败时可转入离线缓存,减少恢复后漏发。
  • 数据转发启动与配置校验

    • 转发目标保存时提前校验插件属性和变量属性,减少运行态启动后才暴露配置错误的情况。
    • 优化转发目标批量启动失败时的清理与冗余切换,避免半初始化目标继续接收数据。
  • 消息与安全配置

    • RabbitMQ 支持发布确认和 mandatory 路由要求,并补齐插件事件主题的队列声明。
    • MQTT 与 ThingsBoard 默认不再信任未验证证书,手动放宽证书校验时会记录告警。
    • ModbusSlave 在监听全部网卡、客户端权限为空或启用 RPC 写入时记录风险提示。
  • 文档站点体验

    • 优化首页图片、侧边栏结构和当前截图目录,便于直接进入当前版本操作手册。

修复

  • 日志文件路径

    • 通道、设备、转发组和转发目标日志文件名会进行安全化处理,避免名称中的非法路径字符导致日志写入或清理异常。
  • 插件稳定性

    • Webhook 自定义请求头 JSON 配置异常时会返回清晰错误,不再静默忽略。
    • 加强 TDengine 历史数据写入的库表标识符和值转义,避免特殊字符引起建库建表或写入失败。
    • 优化 Kafka 生产者关闭和并发发送互斥,减少关闭过程中的发送异常。

v2.1.0 (2026-07-02)

新增

  • 业务插件转发配置

    • 新增转发组与转发目标配置,支持按组组织业务数据转发链路
    • 转发组支持配置多个转发目标,满足组内多目标转发场景
    • 转发目标支持冗余配置,提升转发链路可用性与容错能力
  • 内存计算页面

    • 新增内存计算页面,便于集中查看和管理内存计算相关配置

优化

  • 业务插件重构
    • 重构业务插件模块,拆分独立 UI,降低业务插件配置与主界面的耦合
    • 优化业务插件配置入口与交互体验

v2.0.232 (2026-06-26)

优化

  • UI 重构

    • 重构 Gateway、Studio、Watchdog 前端界面结构与视觉风格
    • 优化页面布局、导航、表格、表单、日志面板和紧凑模式体验
  • 脚本与自定义节点编译体验优化

    • 编译失败时优先展示用户需要处理的错误信息,减少无关技术输出
    • 自定义节点编译错误日志支持按行列跳转到编辑器对应位置
    • 修正自定义节点编译错误行号映射,使返回行号对应用户编辑器代码
  • 批量编译流程优化

    • 优化脚本批量编译体验,批量验证时日志更集中、结果更清晰
    • 优化自定义节点批量编译体验,便于升级后统一检查节点状态
  • 发布包体验优化

    • 优化 Watchdog、Runtime、Studio 发布包内容,便于按平台部署和交付

修复

  • 脚本与自定义节点删除体验
    • 删除脚本或自定义节点后,同步清理相关运行结果,避免列表状态与实际加载状态不一致
    • 批量删除脚本和自定义节点时同步处理相关运行结果

v2.0.223 (2026-06-23)

新增

  • 网关数据页面重构

  • 变量表格视觉重构

  • 左侧树面板优化

  • VariableNode 触发规则筛选逻辑修正

优化

  • TabBar 保留页面状态

    • 现在切换 Tab 真正保留页面滚动位置、表单输入、筛选条件等状态
  • 紧凑模式适配

修复

  • 变量历史数据配置定时保存丢失

  • 内存变量编辑弹窗所属设备显示 id 数字

  • 修复已知问题


v2.0.222 (2026-06-22)

优化

  • 日志导出统一查询条件
    • DeviceLog、ChannelLog 的导出补传 conditionalModel,修复导出时忽略日志级别 / 关键字 / 时间范围筛选的问题
    • RpcLog、OperateLog 的导出条件与查询条件存在 Like vs Equal'true' vs 'success' 等不一致,统一抽 buildConditions() 函数共用
    • BackendLog、SqlLog 同步抽 buildConditions() 消除重复代码
    • 全部 6 个日志页面现在查询和导出 100% 共用同一份条件构建逻辑

修复

  • 快速创建表达式未持久化
    • GatewayWeb 的 QuickExpressionDialog 原先只调用 compileScript 编译并热加载,未写入数据库,重启后表达式丢失
    • 现在"应用"按钮在 emit 前先调用 createScript API 持久化到 script_expression 表,同名脚本已存在时提示错误

v2.0.190 (2026-06-22)

新增

  • ModbusSlave 客户端权限控制

    • 插件属性新增"客户端权限列表",支持配置多个允许的客户端 IP 及写入权限
    • 列表为空时不限制,列表非空时仅命中的 IP 才允许写入
    • 每条记录支持 AllowedClientIp(支持精确匹配 / * 通配)和 AllowWrite(是否允许写入)
    • 写入请求会按 IP 白名单校验,未授权 IP 或禁止写入的客户端会被拒绝
    • 插件参数编辑器支持可视化表格编辑,可新增、删除或编辑客户端权限行
  • Studio Roslyn 智能补全集成

    • 脚本编辑器提供 C# 智能提示、语法诊断、签名帮助、悬停提示、语义高亮与跳转定义
    • 自动检测 Studio Roslyn 服务可用性,断开后定时后台重连,恢复后无缝切回

优化

  • 数据库连接测试
    • SqlServer、MySql、Sqlite、PostgreSql、QuestDb、TDengine 等数据库连接支持统一测试
    • 实时数据、历史数据、历史报警相关配置支持一键“测试连接”

修复

  • 修复已知问题

v2.0.189 (2026-06-17)

修复

  • 修复已知问题

v2.0.188 (2026-06-13)

修复

  • 修复已知问题

v2.0.179 (2026-06-11)

修复

  • 修复已知问题

v2.0.178 (2026-06-08)

修复

  • 修复已知问题

v2.0.177 (2026-06-08)

新增

  • 新增内置的历史数据存储

v2.0.176 (2026-06-05)

优化

  • 优化操作体验

v2.0.170 (2026-06-04)

修复

  • 修复已知问题

v2.0.168 (2026-06-03)

修复

  • 修复已知问题

v2.0.166 (2026-06-03)

修复

  • 修复已知问题

v2.0.158 (2026-06-01)

修复

  • 修复已知问题

v2.0.157 (2026-05-30)

新增

  • 业务插件并发上传

修复

  • 修复已知问题

v2.0.155 (2026-05-28)

新增

  • 业务上传插件支持并发上传
  • 上传实体增加 createTime 字段

v2.0.152 (2026-05-27)

新增

  • TCP穿透功能
    • 支持内网穿透,实现远程访问
    • 提供稳定的穿透连接服务

v2.0.149 (2026-05-25)

修复

  • 修复 Studio 导入工程文件大小限制
  • 提高操作体验

v2.0.148 (2026-05-25)

修复

  • 修复 PLC 读取数组错误
  • 修复变量插件属性更新错误

v2.0.143 (2026-05-24)

修复

  • 修复已知问题

v2.0.140 (2026-05-24)

修复

  • 修复已知问题

v2.0.136 (2026-05-19)

新增

  • 国际化适配

v2.0.126 (2026-05-14)

新增

  • ** 网关版本更新功能**
    • 工具栏新增"网关版本"按钮
    • 自动从 NuGet 官网和本地 nupkgs 目录获取最新版本
    • 支持一键更新 GatewayVersion 并自动重建

优化

  • 适配暗黑模式

修复

  • 修复已知问题

v2.0.124 (2026-05-13)

新增

  • 导入 ZIP 工程时支持重名检查,可选择重命名或覆盖同名工程

优化

  • 网关数据树节点显示

v2.0.123 (2026-05-12)

新增

  • 规则引擎 Excel 导出导入

修复

  • 修复已知问题

v2.0.122 (2026-05-12)

优化

  • MQTT RPC 主题支持通配符

v2.0.121 (2026-05-12)

优化

  • OPCUA Server 证书提示优化

v2.0.120 (2026-05-11)

新增

  • 导入时可选清空原数据

优化

  • 前端网络错误时不再显示空白页

修复

  • 内存变量写入错误
  • 已知问题

v2.0.118 (2026-05-09)

新增

  • Studio 新增 NuGet 包插件管理

    • 支持可视化插件管理界面
    • 支持批量启用/禁用插件
    • 插件状态持久化到 project.json
    • 自动根据 project.json 配置构建和重启运行时
  • 规则引擎变量 RPC 节点

    • 新增变量 RPC 节点类型
    • 支持通过规则引擎调用变量 RPC 方法

v2.0.111 (2026-05-07)

修复

  • 修正已知问题。

调整

  • API操作时不等待后台线程重启。

v2.0.104 (2026-05-06)

新增功能

  • 批量复制:支持复制通道、设备、变量,可配置复制数量,名称自动去重
    • 复制通道时自动级联复制其下所有设备和变量
    • 复制设备时自动级联复制其下所有变量

v2.0.0 (2026-05-06)

新增功能

  • 数据采集:支持 Modbus TCP/RTU、OPC UA、MQTT、Kafka、RabbitMQ 等多种工业协议的数据采集
  • 报警管理:支持布尔开/关报警、高限/高高限/低限/低低限报警及自定义报警规则
  • 规则引擎:可视化规则流程编排,支持自定义节点和脚本扩展
  • 冗余配置:主备冗余架构,支持自动故障切换和数据同步
  • 脚本扩展:支持自定义表达式脚本和 C# 脚本节点扩展业务逻辑
  • 权限管理:用户-角色-权限三级管理体系,精细化权限控制
  • 看门狗服务:自动监控和管理网关进程,保障系统稳定运行
  • Studio 开发环境:提供可视化配置界面,便捷管理通道、设备和变量

平台支持

  • Windows x64
  • Linux x64