WIN-GH9CEESPLTB\Administrator vor 1 Monat
Ursprung
Commit
7ba6c09e7b
3 geänderte Dateien mit 103 neuen und 18 gelöschten Zeilen
  1. 1 1
      MainForm/ClassFile/Inovance_EIP.cs
  2. 97 12
      MainForm/FaForm/Form_Home.cs
  3. 5 5
      MainForm/FaForm/Form_Home_SaveData.cs

+ 1 - 1
MainForm/ClassFile/Inovance_EIP.cs

@@ -149,7 +149,7 @@ namespace EIP_Protocol
         [MarshalAs(UnmanagedType.I2)]       //节拍返回 1:OK   2:NG   
         [MarshalAs(UnmanagedType.I2)]       //节拍返回 1:OK   2:NG   
         public short beatReturn;
         public short beatReturn;
 
 
-        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]   //一个单独的位代表一个报警32*10=320
+        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]   //一个单独的位代表一个报警32*10=320
         public uint[] fault_codes;
         public uint[] fault_codes;
     }
     }
 
 

+ 97 - 12
MainForm/FaForm/Form_Home.cs

@@ -1972,7 +1972,7 @@ namespace MainForm
                     }
                     }
 
 
                     //OP30站读txt数据
                     //OP30站读txt数据
-                    if (stationNameStr.Contains("CPAPHD"))
+                    if (stationNameStr.Contains("OP30"))
                     {
                     {
                         string path = "";
                         string path = "";
                         if (direction == "Left")
                         if (direction == "Left")
@@ -2952,12 +2952,37 @@ namespace MainForm
 
 
                         //筛选含报警数据的字典
                         //筛选含报警数据的字典
                         var dicAlarms_Cur = dicAlarms_Cur_PLC1.Where(x => x.报警数据 != null).ToList();
                         var dicAlarms_Cur = dicAlarms_Cur_PLC1.Where(x => x.报警数据 != null).ToList();
+
                         if (dicAlarms_Cur.Count > 0)
                         if (dicAlarms_Cur.Count > 0)
                         {
                         {
+                            string stationId = "";
                             foreach (var item in dicAlarms_Cur)
                             foreach (var item in dicAlarms_Cur)
                             {
                             {
-                                //上传
-                                SaveAlarmDataByDB(GlobalContext.IsUseStationName, item.报警数据, false);
+                                if (!string.IsNullOrEmpty(xiaomiParm.stationCode))
+                                {
+                                    stationId = xiaomiParm.stationCode;
+                                    //上传
+                                    SaveAlarmDataByDB(GlobalContext.IsUseStationName, stationId, item.报警数据, false);
+                                }
+                                else {
+                                    if (flag == "left")
+                                    {
+                                        if (GlobalContext.IsUsePLC3)
+                                            stationId = GlobalContext.s3_1_station;
+                                        if (GlobalContext.IsUsePLC7)
+                                            stationId = GlobalContext.s7_1_station;
+                                        //上传
+                                        SaveAlarmDataByDB(GlobalContext.IsUseStationName, stationId, item.报警数据, false);
+                                    }
+                                    else {
+                                        if (GlobalContext.IsUsePLC3)
+                                            stationId = GlobalContext.s3_2_station;
+                                        if (GlobalContext.IsUsePLC7)
+                                            stationId = GlobalContext.s7_2_station;
+                                        //上传
+                                        SaveAlarmDataByDB(GlobalContext.IsUseStationName, stationId, item.报警数据, false);
+                                    }
+                                }
                             }
                             }
                         }
                         }
 
 
@@ -3294,7 +3319,8 @@ namespace MainForm
                                 {
                                 {
                                     s1PLCData["OEETypeFlag"] = "1";
                                     s1PLCData["OEETypeFlag"] = "1";
                                 }
                                 }
-                                else {
+                                else
+                                {
                                     s1PLCData["OEETypeFlag"] = "0";
                                     s1PLCData["OEETypeFlag"] = "0";
                                 }
                                 }
                                 if (s1PLCData["OEETypeFlag"].ToString() == "1" && (a1OEEType == 1 || a1OEEType == 3 || a1OEEType == 4 || a1OEEType == 5))
                                 if (s1PLCData["OEETypeFlag"].ToString() == "1" && (a1OEEType == 1 || a1OEEType == 3 || a1OEEType == 4 || a1OEEType == 5))
@@ -3304,8 +3330,14 @@ namespace MainForm
                                     {
                                     {
                                         s1PLCSignal_Old["a1OEEType"] = s1PLCData["a1OEEType"];
                                         s1PLCSignal_Old["a1OEEType"] = s1PLCData["a1OEEType"];
                                     }
                                     }
+                                    else { 
+                                        s1PLCSignal_Old["a1OEEType"] = 0;
+                                    }
                                 }
                                 }
                             }
                             }
+                            else {
+                                s1PLCSignal_Old["a1OEEType"] = 0;
+                            }
                         }
                         }
                         catch (Exception ex)
                         catch (Exception ex)
                         {
                         {
@@ -3746,14 +3778,20 @@ namespace MainForm
                                 if (s2PLCData["OEETypeFlag"].ToString() == "1" && (a2OEEType == 1 || a2OEEType == 3 || a2OEEType == 4 || a2OEEType == 5))
                                 if (s2PLCData["OEETypeFlag"].ToString() == "1" && (a2OEEType == 1 || a2OEEType == 3 || a2OEEType == 4 || a2OEEType == 5))
                                 {
                                 {
                                     通用节拍接口(plcNo, stationNameStr, tagBaseName + "." + tagiotComnName, CarrierBarcode, stPLC_MesData.iotData, out res);
                                     通用节拍接口(plcNo, stationNameStr, tagBaseName + "." + tagiotComnName, CarrierBarcode, stPLC_MesData.iotData, out res);
-
                                     if (res == 1)
                                     if (res == 1)
                                     {
                                     {
                                         s2PLCSignal_Old["a2OEEType"] = s2PLCData["a2OEEType"];
                                         s2PLCSignal_Old["a2OEEType"] = s2PLCData["a2OEEType"];
                                     }
                                     }
+                                    else
+                                    {
+                                        s2PLCSignal_Old["a2OEEType"] = 0;
+                                    }
 
 
                                 }
                                 }
                             }
                             }
+                            else { 
+                                 s2PLCSignal_Old["a2OEEType"] = 0;
+                            }
                         }
                         }
                         catch (Exception ex)
                         catch (Exception ex)
                         {
                         {
@@ -4294,6 +4332,9 @@ namespace MainForm
                                     {
                                     {
                                         s3PLCSignal_Old["a3OEEType_left"] = a3OEEType_left;
                                         s3PLCSignal_Old["a3OEEType_left"] = a3OEEType_left;
                                     }
                                     }
+                                    else {
+                                        s3PLCSignal_Old["a3OEEType_left"] = 0;
+                                    }
                                 }
                                 }
                             }
                             }
                             else
                             else
@@ -4328,6 +4369,9 @@ namespace MainForm
                                     {
                                     {
                                         s3PLCSignal_Old["a3OEEType_right"] = a3OEEType_right;
                                         s3PLCSignal_Old["a3OEEType_right"] = a3OEEType_right;
                                     }
                                     }
+                                    else {
+                                        s3PLCSignal_Old["a3OEEType_right"] = 0;
+                                    }
                                 }
                                 }
                             }
                             }
                             else
                             else
@@ -4783,7 +4827,7 @@ namespace MainForm
                                 {
                                 {
                                     a4OEETypeGOld = 0;
                                     a4OEETypeGOld = 0;
                                 }
                                 }
-                                
+
                                 if (a4OEEType != a4OEETypeGOld)
                                 if (a4OEEType != a4OEETypeGOld)
                                 {
                                 {
                                     s4PLCData["OEETypeFlag"] = "1";
                                     s4PLCData["OEETypeFlag"] = "1";
@@ -4794,13 +4838,20 @@ namespace MainForm
                                 }
                                 }
                                 if (s4PLCData["OEETypeFlag"].ToString() == "1" && (a4OEEType == 1 || a4OEEType == 3 || a4OEEType == 4 || a4OEEType == 5))
                                 if (s4PLCData["OEETypeFlag"].ToString() == "1" && (a4OEEType == 1 || a4OEEType == 3 || a4OEEType == 4 || a4OEEType == 5))
                                 {
                                 {
-                                    通用节拍接口(plcNo, stationNameStr, tagBaseName + "." + tagiotComnName,CarrierBarcode,stPLC_MesData.iotData, out res);
+                                    通用节拍接口(plcNo, stationNameStr, tagBaseName + "." + tagiotComnName, CarrierBarcode, stPLC_MesData.iotData, out res);
                                     if (res == 1)
                                     if (res == 1)
                                     {
                                     {
                                         s4PLCSignal_Old["a4OEEType"] = s4PLCData["a4OEEType"];
                                         s4PLCSignal_Old["a4OEEType"] = s4PLCData["a4OEEType"];
                                     }
                                     }
+                                    else
+                                    {
+                                        s4PLCSignal_Old["a4OEEType"] = 0;
+                                    }
                                 }
                                 }
                             }
                             }
+                            else {
+                                s4PLCSignal_Old["a4OEEType"] = 0;
+                            }
                         }
                         }
                         catch (Exception ex)
                         catch (Exception ex)
                         {
                         {
@@ -5245,18 +5296,25 @@ namespace MainForm
                                 {
                                 {
                                     s5PLCData["OEETypeFlag"] = "1";
                                     s5PLCData["OEETypeFlag"] = "1";
                                 }
                                 }
-                                else { 
+                                else
+                                {
                                     s5PLCData["OEETypeFlag"] = "0";
                                     s5PLCData["OEETypeFlag"] = "0";
                                 }
                                 }
-                                if (s5PLCData["OEETypeFlag"].ToString() == "1" && (a5OEEType==1 || a5OEEType == 3 || a5OEEType == 4 || a5OEEType == 5))
+                                if (s5PLCData["OEETypeFlag"].ToString() == "1" && (a5OEEType == 1 || a5OEEType == 3 || a5OEEType == 4 || a5OEEType == 5))
                                 {
                                 {
-                                    通用节拍接口(plcNo, stationNameStr,tagBaseName + "." + tagiotComnName, CarrierBarcode,stPLC_MesData.iotData, out res);
+                                    通用节拍接口(plcNo, stationNameStr, tagBaseName + "." + tagiotComnName, CarrierBarcode, stPLC_MesData.iotData, out res);
                                     if (res == 1)
                                     if (res == 1)
                                     {
                                     {
                                         s5PLCSignal_Old["a5OEEType"] = s5PLCData["a5OEEType"];
                                         s5PLCSignal_Old["a5OEEType"] = s5PLCData["a5OEEType"];
                                     }
                                     }
+                                    else {
+                                        s5PLCSignal_Old["a5OEEType"] = 0;
+                                    }
                                 }
                                 }
                             }
                             }
+                            else {
+                                s5PLCSignal_Old["a5OEEType"] = 0;
+                            }
                         }
                         }
                         catch (Exception ex)
                         catch (Exception ex)
                         {
                         {
@@ -5815,8 +5873,15 @@ namespace MainForm
                                     {
                                     {
                                         s6PLCSignal_Old["a6OEEType"] = s6PLCData["a6OEEType"];
                                         s6PLCSignal_Old["a6OEEType"] = s6PLCData["a6OEEType"];
                                     }
                                     }
+                                    else
+                                    {
+                                        s6PLCSignal_Old["a6OEEType"] = 0;
+                                    }
                                 }
                                 }
                             }
                             }
+                            else {
+                                s6PLCSignal_Old["a6OEEType"] = 0;
+                            }
                         }
                         }
                         catch (Exception ex)
                         catch (Exception ex)
                         {
                         {
@@ -6352,12 +6417,15 @@ namespace MainForm
                                     if (s7PLCData["OEETypeFlag_left"].ToString() == "1" && (a7OEEType_left == 1 || a7OEEType_left == 3 || a7OEEType_left == 4 || a7OEEType_left == 5))
                                     if (s7PLCData["OEETypeFlag_left"].ToString() == "1" && (a7OEEType_left == 1 || a7OEEType_left == 3 || a7OEEType_left == 4 || a7OEEType_left == 5))
                                     {
                                     {
                                         int res = 0;
                                         int res = 0;
-                                        通用节拍接口(plcNo, stationNameStr,tagBaseName + ".Left." + tagiotComnName, CarrierBarcode_Left,
+                                        通用节拍接口(plcNo, stationNameStr, tagBaseName + ".Left." + tagiotComnName, CarrierBarcode_Left,
                                                      stPLC_MesData.Left.iotData, out res);
                                                      stPLC_MesData.Left.iotData, out res);
                                         if (res == 1)
                                         if (res == 1)
                                         {
                                         {
                                             s7PLCSignal_Old["a7OEEType_left"] = s7PLCData["a7OEEType_left"];
                                             s7PLCSignal_Old["a7OEEType_left"] = s7PLCData["a7OEEType_left"];
                                         }
                                         }
+                                        else {
+                                            s7PLCSignal_Old["a7OEEType_left"] = 0;
+                                        }
                                     }
                                     }
                                 }
                                 }
                             }
                             }
@@ -6391,6 +6459,9 @@ namespace MainForm
                                         {
                                         {
                                             s7PLCSignal_Old["a7OEEType_right"] = s7PLCData["a7OEEType_right"];
                                             s7PLCSignal_Old["a7OEEType_right"] = s7PLCData["a7OEEType_right"];
                                         }
                                         }
+                                        else {
+                                            s7PLCSignal_Old["a7OEEType_right"] = 0;
+                                        }
                                     }
                                     }
                                 }
                                 }
                             }
                             }
@@ -6903,8 +6974,15 @@ namespace MainForm
                                     {
                                     {
                                         s8PLCSignal_Old["a8OEEType"] = s8PLCData["a8OEEType"];
                                         s8PLCSignal_Old["a8OEEType"] = s8PLCData["a8OEEType"];
                                     }
                                     }
+                                    else
+                                    {
+                                        s8PLCSignal_Old["a8OEEType"] = 0;
+                                    }
                                 }
                                 }
                             }
                             }
+                            else {
+                                s8PLCSignal_Old["a8OEEType"] = 0;
+                            }
                         }
                         }
                         catch (Exception ex)
                         catch (Exception ex)
                         {
                         {
@@ -7321,7 +7399,7 @@ namespace MainForm
                                 int a9OEEType = Convert.ToInt32(s9PLCData["a9OEEType"]);
                                 int a9OEEType = Convert.ToInt32(s9PLCData["a9OEEType"]);
                                 int a9OEETypeGOld = Convert.ToInt32(s9PLCSignal_Old["a9OEEType"]);
                                 int a9OEETypeGOld = Convert.ToInt32(s9PLCSignal_Old["a9OEEType"]);
 
 
-                                
+
                                 if (a9OEEType != a9OEETypeGOld)
                                 if (a9OEEType != a9OEETypeGOld)
                                 {
                                 {
                                     s9PLCData["OEETypeFlag"] = "1";
                                     s9PLCData["OEETypeFlag"] = "1";
@@ -7338,8 +7416,15 @@ namespace MainForm
                                     {
                                     {
                                         s9PLCSignal_Old["a9OEEType"] = s9PLCData["a9OEEType"];
                                         s9PLCSignal_Old["a9OEEType"] = s9PLCData["a9OEEType"];
                                     }
                                     }
+                                    else
+                                    {
+                                        s9PLCSignal_Old["a9OEEType"] = 0;
+                                    }
                                 }
                                 }
                             }
                             }
+                            else { 
+                                s9PLCSignal_Old["a9OEEType"] = 0;
+                            }
                         }
                         }
                         catch (Exception ex)
                         catch (Exception ex)
                         {
                         {

+ 5 - 5
MainForm/FaForm/Form_Home_SaveData.cs

@@ -833,7 +833,7 @@ namespace MainForm
         /// </summary>
         /// </summary>
         /// <param name="alarmData">数据</param>
         /// <param name="alarmData">数据</param>
         /// <param name="isUpd">更新而不是新增</param>
         /// <param name="isUpd">更新而不是新增</param>
-        public void SaveAlarmDataByDB(string stationNameStr, AlarmData alarmData, bool isUpd)
+        public void SaveAlarmDataByDB(string stationNameStr,string stationId, AlarmData alarmData, bool isUpd)
         {
         {
             try
             try
             {
             {
@@ -850,7 +850,7 @@ namespace MainForm
                     //OnMessage(LogType.Info, "【报警日志】发生了报警[" + alarmData.LineName + "-" + alarmData.AlarmDesc + "]!");
                     //OnMessage(LogType.Info, "【报警日志】发生了报警[" + alarmData.LineName + "-" + alarmData.AlarmDesc + "]!");
 
 
                     FaultLogRequest request = new FaultLogRequest();
                     FaultLogRequest request = new FaultLogRequest();
-                    request.station = alarmData.LineName;   // ⼯位
+                    request.station = stationId;   // ⼯位
                     request.fault_name = alarmData.AlarmDesc;    // 故障名称(同数据字典中的事件名称)
                     request.fault_name = alarmData.AlarmDesc;    // 故障名称(同数据字典中的事件名称)
                     request.fault_code = alarmData.AlarmType;   // 故障编码(A,B,C,D,E)
                     request.fault_code = alarmData.AlarmType;   // 故障编码(A,B,C,D,E)
                     request.typ1 = alarmData.Type1;  // 故障部件
                     request.typ1 = alarmData.Type1;  // 故障部件
@@ -896,8 +896,8 @@ namespace MainForm
             // 上传OEE
             // 上传OEE
             if (GlobalContext.IsMqttStationInputBegin)
             if (GlobalContext.IsMqttStationInputBegin)
             {
             {
-                Task.Run(() =>
-                {
+                //Task.Run(() =>
+                //{
                     try
                     try
                     {
                     {
                         StationInputBeginRequest oee = new StationInputBeginRequest();
                         StationInputBeginRequest oee = new StationInputBeginRequest();
@@ -987,7 +987,7 @@ namespace MainForm
                         string str = ex.StackTrace;
                         string str = ex.StackTrace;
                         AddMessage(LogType.Error, $"PLC{plcNo}_{stationNameStr}_[{oEEPartNo}]异步上传Iot节拍数据失败!报错信息:" + ex.Message + "异常位置:" + str.Substring(str.LastIndexOf("\\") + 1, str.Length - str.LastIndexOf("\\") - 1));
                         AddMessage(LogType.Error, $"PLC{plcNo}_{stationNameStr}_[{oEEPartNo}]异步上传Iot节拍数据失败!报错信息:" + ex.Message + "异常位置:" + str.Substring(str.LastIndexOf("\\") + 1, str.Length - str.LastIndexOf("\\") - 1));
                     }
                     }
-                });
+                //});
                 return ((short)1, $"Iot节拍数据[SN:{oEEPartNo}]上传成功!");
                 return ((short)1, $"Iot节拍数据[SN:{oEEPartNo}]上传成功!");
             }
             }
             else
             else