|
|
@@ -19,7 +19,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
* 框架气密 PLC 轮询(每秒一次)。
|
|
|
* <pre>
|
|
|
* 扫码反馈=1 → 读框架码校验 → 写允许进站=1、扫码反馈=0
|
|
|
- * 检测完成:记录上一秒;上一秒=0 且本秒=1 → 上传 OK/NG
|
|
|
+ * 检测完成:记录上一秒;上一秒=0 且本秒=1 → 延时1秒再读数上传 OK/NG
|
|
|
* 上传成功后:MES 复位允许进站=0;检测完成由 PLC 厂家清
|
|
|
* </pre>
|
|
|
*/
|
|
|
@@ -206,7 +206,8 @@ public class QmPlcPoller {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 每秒读检测完成:上一秒=0 且本秒=1 → 上传。
|
|
|
+ * 每秒读检测完成:上一秒=0 且本秒=1 → 延时1秒再读数上传。
|
|
|
+ * 延时是为了等待 PLC 写完压力/泄漏等 Real,避免读到上一件残留值。
|
|
|
* 不写检测完成;上传成功后复位允许进站=0。
|
|
|
*/
|
|
|
private static void handleCompleteRisingEdge() throws Exception {
|
|
|
@@ -220,6 +221,17 @@ public class QmPlcPoller {
|
|
|
|
|
|
busy = true;
|
|
|
try {
|
|
|
+ log.info("检测完成0→1,延时1秒后读取并上传");
|
|
|
+ updateStatus("检测完成,1秒后读取上传...", true);
|
|
|
+ try {
|
|
|
+ Thread.sleep(1000);
|
|
|
+ } catch (InterruptedException ie) {
|
|
|
+ Thread.currentThread().interrupt();
|
|
|
+ log.warn("完成延时被中断,取消本次上传");
|
|
|
+ updateStatus("上传延时被中断,等完成位再次0→1", false);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
String sn = s7Client.readFrameCode();
|
|
|
if (sn == null || sn.isEmpty()) {
|
|
|
log.error("完成上升沿但框架码为空");
|