Explorar o código

支持多通道MesCheck状态及去抖处理

将_MesCheck状态变量改为数组,支持10通道独立记录,并在处理时增加去抖逻辑,避免重复处理相同状态。
孝锋 徐 hai 8 meses
pai
achega
9f5c32c6b8
Modificáronse 1 ficheiros con 10 adicións e 1 borrados
  1. 10 1
      TeamAAS-VM/Core/Management.cs

+ 10 - 1
TeamAAS-VM/Core/Management.cs

@@ -1191,7 +1191,7 @@ namespace TeamAAS_VP.Core
         Int16 _LastWorkStart = 0;
         Int16 _LastWorkDone = 0;
         Int16 _LastRequestPosition = 0;
-        Int16 _LastMesCheck = 0;
+        Int16[] _LastMesCheck = new Int16[10];
         Int16 _LastPickINC = 0;
         /// <summary>
         /// PLC命令触发时
@@ -1781,6 +1781,15 @@ namespace TeamAAS_VP.Core
                         {
                             if (tuple.value is Int16 state)
                             {
+                                if (_LastMesCheck[i] != state)
+                                {
+                                    _LastMesCheck[i] = state;
+                                }
+                                else
+                                {
+                                    return;
+                                }
+
                                 if (state == 1)
                                 {
                                     if(i == 0)