news 2026/10/24 2:08:06

已优化 PLC 快照逻辑,解决结批后重新开批等待“快照过期”的问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
已优化 PLC 快照逻辑,解决结批后重新开批等待“快照过期”的问题

已优化 PLC 快照逻辑,解决结批后重新开批等待“快照过期”的问题。

修改文件:

  • [PlcSignalSnapshot.cs]
  • [PLCController.cs]
  • [PlcCondition.cs]

主要原因是:

SnapshotChanged只有信号值发生变化时才触发。结批后重新开批时,如果 PLC 信号值没有变化,旧快照会过期,但等待器收不到新事件,只能继续等待或提示快照过期。

本次优化:

  1. 新增SnapshotPublished事件。
  2. PLC 每次完整轮询后都发布新快照,即使信号值没有变化。
  3. PlcConditionWaiter改为监听SnapshotPublished。
  4. 等待器最多每个轮询周期重新检查一次,不再等待 5 秒日志周期。
  5. 将快照有效期判断统一封装到PlcSignalSnapshot.IsExpired()和GetAge()。
  6. PLC 断线或轮询失败时仍然标记快照无效,避免使用旧信号误动作。

重新开批后的流程变为:

结批 -> 旧快照可能过期 重新开批 -> 等待 PLC 下一次完整轮询 -> 发布新快照 -> 等待器立即重新判断 -> 不再因为信号值未变化而持续提示快照过期

已编译验证:

0 个错误 309 个原有警告
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/24 2:07:42

Java学业质量分析系统开发实战与架构解析

1. 项目概述:学业质量分析系统的核心价值这个基于Java技术栈的学生学业质量分析系统,本质上是一个教育数据挖掘与可视化平台。我在实际开发中发现,传统教务系统往往只提供基础的成绩录入和查询功能,而无法从海量学生数据中提取有价…

作者头像 李华
网站建设 2026/10/24 2:00:32

Java Web学生信息管理系统实战:从部署到二次开发全解析

简介:这份资源是面向计算机专业学生与Java Web初学者的一套学生信息管理系统项目源码,对应「基于Java Web学生信息管理系统的设计与实现」主题,可用于课程设计、实训项目参考或毕业设计入门。系统以Servlet、JSP、JDBC为核心技术,…

作者头像 李华
网站建设 2026/10/24 1:57:00

2000-2024年 城市数据库(xlsx)超全面

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/24 1:53:56

Java安防SDK接入实战:JNA调用、实时预览与云台控制踩坑总结

简介:大华JAVA网络类通用SDK是面向Java开发者的网络设备二次开发工具包,专为云台摄像头、球机、半球机等设备设计。其核心能力覆盖设备发现与连接、设备状态管理、H.264/MPEG4视频流解码、实时预览与录像回放、音频编解码与双向对讲、云台上/下/左/右及缩…

作者头像 李华
网站建设 2026/10/24 1:50:45

RPCS3 固件安装:如何正确装好 PS3UPDAT.PUP,直接开玩

RPCS3 固件安装:如何正确装好 PS3UPDAT.PUP,直接开玩 【免费下载链接】rpcs3 PlayStation 3 emulator and debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 本文讲清 RPCS3 固件安装的完整流程:从定位 PS3UPDAT.PUP…

作者头像 李华