Просмотр исходного кода

自动计件方法增加测试模式

xuwei 4 лет назад
Родитель
Сommit
fff531e3ae
1 измененных файлов с 106 добавлено и 49 удалено
  1. 106 49
      PLC/PLC_S/ServerModel/GoodsAuto.cs

+ 106 - 49
PLC/PLC_S/ServerModel/GoodsAuto.cs

@@ -230,7 +230,7 @@ namespace PLC_S.ServerModel
                     }
                     else
                     {
-                        Logger.Trace("无PLC连接!", logKeyT, logger_t);
+                        Logger.Trace("PLC地址未设置,测试数据使用!", logKeyT, logger_t);
                     }
                     PLCResult p_r;
 
@@ -263,28 +263,35 @@ namespace PLC_S.ServerModel
                             Logger.Warn(outputMessage, logKeyT, logger_t);
                             Logger.Warn(outputMessage, logKeyE, logger_e);
                             FormLogShow?.ShowLog(outputMessage);
-                            SendCode(plc_s, e, logKeyT, logKeyE, plc, 2);
+                            if (!string.IsNullOrEmpty(plc_s.PLC_IP)) SendCode(plc_s, e, logKeyT, logKeyE, plc, 2);
                             return;
                         }
-                        outputMessage = $"[{e.Content}]产品条码={barCode}[{intCode}]";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
                         if (string.IsNullOrWhiteSpace(intCode))
                         {
                             outputMessage = $"[{e.Content}]此条码[{barCode}]未设置型号代码";
                             Logger.Error(null, outputMessage, logKeyT, logger_t);
                             Logger.Error(null, outputMessage, logKeyE, logger_e);
                             FormLogShow?.ShowLog(outputMessage);
-                            SendCode(plc_s, e, logKeyT, logKeyE, plc, 2);
+                            if (!string.IsNullOrEmpty(plc_s.PLC_IP)) SendCode(plc_s, e, logKeyT, logKeyE, plc, 2);
                             return;
                         }
-                        outputMessage = $"[{e.Content}]SET_GOODSCODE=[{intCode}]{plc_s.PLC_GOODSCODE_CODE + plc_s.PLC_GOODSCODE_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
-                        p_r = plc.Write<short>(plc_s.PLC_GOODSCODE_CODE, plc_s.PLC_GOODSCODE_CODENUM, (short)(intCode.ToInt32()));
-                        outputMessage = $"[{e.Content}]END_GOODSCODE=[{p_r}]{plc_s.PLC_GOODSCODE_CODE + plc_s.PLC_GOODSCODE_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
+                        if (!string.IsNullOrEmpty(plc_s.PLC_IP))
+                        {
+                            outputMessage = $"[{e.Content}]SET_GOODSCODE=[{intCode}]{plc_s.PLC_GOODSCODE_CODE + plc_s.PLC_GOODSCODE_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                            p_r = plc.Write<short>(plc_s.PLC_GOODSCODE_CODE, plc_s.PLC_GOODSCODE_CODENUM, (short)(intCode.ToInt32()));
+                            outputMessage = $"[{e.Content}]END_GOODSCODE=[{p_r}]{plc_s.PLC_GOODSCODE_CODE + plc_s.PLC_GOODSCODE_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
+                        else
+                        {
+                            outputMessage = $"[{e.Content}]产品型号=[{intCode}]";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
+
                     }
                     #endregion
 
@@ -292,26 +299,44 @@ namespace PLC_S.ServerModel
                     if (!string.IsNullOrEmpty(plc_s.PLC_GOODSTYPE_CODE) && !string.IsNullOrEmpty(plc_s.PLC_GOODSTYPE_CODENUM))
                     {
                         Int16 goodsType = Convert.ToInt16(GetGoodsType(barCode, e, logKeyT));
-                        outputMessage = $"[{e.Content}]SET_GoodsType=[{goodsType}]{plc_s.PLC_GOODSTYPE_CODE + plc_s.PLC_GOODSTYPE_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
-                        p_r = plc?.Write<short>(plc_s.PLC_GOODSTYPE_CODE, plc_s.PLC_GOODSTYPE_CODENUM, goodsType);
-                        outputMessage = $"[{e.Content}]END_GoodsType=[{p_r.ToString()}]{plc_s.PLC_GOODSTYPE_CODE + plc_s.PLC_GOODSTYPE_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
+                        if (!string.IsNullOrEmpty(plc_s.PLC_IP))
+                        {
+                            outputMessage = $"[{e.Content}]SET_GoodsType=[{goodsType}]{plc_s.PLC_GOODSTYPE_CODE + plc_s.PLC_GOODSTYPE_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                            p_r = plc?.Write<short>(plc_s.PLC_GOODSTYPE_CODE, plc_s.PLC_GOODSTYPE_CODENUM, goodsType);
+                            outputMessage = $"[{e.Content}]END_GoodsType=[{p_r.ToString()}]{plc_s.PLC_GOODSTYPE_CODE + plc_s.PLC_GOODSTYPE_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
+                        else
+                        {
+                            outputMessage = $"[{e.Content}]产品类型=[{goodsType}]";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
                     }
                     #endregion
 
                     #region 【可选】产品条码写入
                     if (!string.IsNullOrEmpty(plc_s.PLC_BARCODE_CODE) && !string.IsNullOrEmpty(plc_s.PLC_BARCODE_CODENUM))
                     {
-                        outputMessage = $"[{e.Content}]SET_BarCode=[{barCode}]{plc_s.PLC_BARCODE_CODE + plc_s.PLC_BARCODE_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
-                        p_r = plc.Write<string>(plc_s.PLC_BARCODE_CODE, plc_s.PLC_BARCODE_CODENUM, barCode);
-                        outputMessage = $"[{e.Content}]END_BarCode=[{p_r}]{plc_s.PLC_BARCODE_CODE + plc_s.PLC_BARCODE_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
+                        if (!string.IsNullOrEmpty(plc_s.PLC_IP))
+                        {
+                            outputMessage = $"[{e.Content}]SET_BarCode=[{barCode}]{plc_s.PLC_BARCODE_CODE + plc_s.PLC_BARCODE_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                            p_r = plc.Write<string>(plc_s.PLC_BARCODE_CODE, plc_s.PLC_BARCODE_CODENUM, barCode);
+                            outputMessage = $"[{e.Content}]END_BarCode=[{p_r}]{plc_s.PLC_BARCODE_CODE + plc_s.PLC_BARCODE_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
+                        else
+                        {
+                            outputMessage = $"[{e.Content}]产品条码=[{barCode}]";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
                     }
                     #endregion
 
@@ -319,13 +344,22 @@ namespace PLC_S.ServerModel
                     if (!string.IsNullOrEmpty(plc_s.PLC_SEMIREWORK_CODE) && !string.IsNullOrEmpty(plc_s.PLC_SEMIREWORK_CODENUM))
                     {
                         Int16 goodsType = Convert.ToInt16(GetSemiReWork(barCode, e, logKeyT));
-                        outputMessage = $"[{e.Content}]SET_SemiRework=[{goodsType}]{plc_s.PLC_SEMIREWORK_CODE + plc_s.PLC_SEMIREWORK_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
-                        p_r = plc?.Write<short>(plc_s.PLC_SEMIREWORK_CODE, plc_s.PLC_SEMIREWORK_CODENUM, goodsType);
-                        outputMessage = $"[{e.Content}]END_SemiRework=[{p_r.ToString()}]{plc_s.PLC_SEMIREWORK_CODE + plc_s.PLC_SEMIREWORK_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
+                        if (!string.IsNullOrEmpty(plc_s.PLC_IP))
+                        {
+                            outputMessage = $"[{e.Content}]SET_SemiRework=[{goodsType}]{plc_s.PLC_SEMIREWORK_CODE + plc_s.PLC_SEMIREWORK_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                            p_r = plc?.Write<short>(plc_s.PLC_SEMIREWORK_CODE, plc_s.PLC_SEMIREWORK_CODENUM, goodsType);
+                            outputMessage = $"[{e.Content}]END_SemiRework=[{p_r.ToString()}]{plc_s.PLC_SEMIREWORK_CODE + plc_s.PLC_SEMIREWORK_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
+                        else
+                        {
+                            outputMessage = $"[{e.Content}]半检返工标识=[{goodsType}]";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
                     }
                     #endregion
 
@@ -333,13 +367,22 @@ namespace PLC_S.ServerModel
                     if (!string.IsNullOrEmpty(plc_s.PLC_GOODSLEVEL_CODE) && !string.IsNullOrEmpty(plc_s.PLC_GOODSLEVEL_CODENUM))
                     {
                         Int16 goodsLevel = Convert.ToInt16(GetGoodsLevel(barCode, e, logKeyT));
-                        outputMessage = $"[{e.Content}]SET_GoodsLevel=[{goodsLevel}]{plc_s.PLC_GOODSLEVEL_CODE + plc_s.PLC_GOODSLEVEL_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
-                        p_r = plc?.Write<short>(plc_s.PLC_GOODSLEVEL_CODE, plc_s.PLC_GOODSLEVEL_CODENUM, goodsLevel);
-                        outputMessage = $"[{e.Content}]END_GoodsLevel=[{p_r.ToString()}]{plc_s.PLC_GOODSLEVEL_CODE + plc_s.PLC_GOODSLEVEL_CODENUM}";
-                        Logger.Trace(outputMessage, logKeyT, logger_t);
-                        FormLogShow?.ShowLog(outputMessage);
+                        if (!string.IsNullOrEmpty(plc_s.PLC_IP))
+                        {
+                            outputMessage = $"[{e.Content}]SET_GoodsLevel=[{goodsLevel}]{plc_s.PLC_GOODSLEVEL_CODE + plc_s.PLC_GOODSLEVEL_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                            p_r = plc?.Write<short>(plc_s.PLC_GOODSLEVEL_CODE, plc_s.PLC_GOODSLEVEL_CODENUM, goodsLevel);
+                            outputMessage = $"[{e.Content}]END_GoodsLevel=[{p_r.ToString()}]{plc_s.PLC_GOODSLEVEL_CODE + plc_s.PLC_GOODSLEVEL_CODENUM}";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
+                        else
+                        {
+                            outputMessage = $"[{e.Content}]产品等级=[{goodsLevel}]";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
                     }
                     #endregion
 
@@ -347,7 +390,16 @@ namespace PLC_S.ServerModel
                     if (!string.IsNullOrEmpty(plc_s.PROCEDURE_CHECKID))
                     {
                         Int16 plc_flag = Convert.ToInt16(GetProcedureCheck(barCode, plc_s.PROCEDURE_CHECKID, e, logKeyT, logKeyE));
-                        SendCode(plc_s, e, logKeyT, logKeyE, plc, plc_flag);
+                        if (!string.IsNullOrEmpty(plc_s.PLC_IP))
+                        {
+                            SendCode(plc_s, e, logKeyT, logKeyE, plc, plc_flag);
+                        }
+                        else
+                        {
+                            outputMessage = $"[{e.Content}]工序=[{plc_s.PROCEDURE_CHECKID}]工序验证=[{plc_flag}]";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
                         return;
                     }
                     #endregion
@@ -386,7 +438,7 @@ namespace PLC_S.ServerModel
                                     barCode,
                                     null));
 
-                            outputMessage = $"[{e.Content}]MES_Result=[{result}]";
+                            outputMessage = $"[{e.Content}]工序=[{plc_s.PROCEDURE_ID}]工号=[{userCode}]工序计件=[{result}]";
                             Logger.Trace(outputMessage, logKeyT, logger_t);
                             FormLogShow?.ShowLog(outputMessage);
 
@@ -410,7 +462,7 @@ namespace PLC_S.ServerModel
                                 Logger.Error(null, outputMessage, logKeyT, logger_t);
                                 Logger.Error(null, outputMessage, logKeyE, logger_e);
                                 FormLogShow?.ShowLog(outputMessage);
-                                if (!string.IsNullOrEmpty(plc_s.PLC_FLAG_CODE) && !string.IsNullOrEmpty(plc_s.PLC_FLAG_CODENUM))
+                                if (!string.IsNullOrEmpty(plc_s.PLC_IP))
                                 {
                                     SendCode(plc_s, e, logKeyT, logKeyE, plc, plc_flag);
                                 }
@@ -423,11 +475,16 @@ namespace PLC_S.ServerModel
                     #region 【可选】写入PLC扫码结果 【1:通过,2:扫码异常,3:工序异常,0:复位】
                     if (!string.IsNullOrEmpty(plc_s.PLC_FLAG_CODE) && !string.IsNullOrEmpty(plc_s.PLC_FLAG_CODENUM))
                     {
-                        SendCode(plc_s, e, logKeyT, logKeyE, plc, 1);
-                    }
-                    else
-                    {
-                        Logger.Trace("无PLC标识位执行成功!", logKeyT, logger_t);
+                        if (!string.IsNullOrEmpty(plc_s.PLC_IP))
+                        {
+                            SendCode(plc_s, e, logKeyT, logKeyE, plc, 1);
+                        }
+                        else
+                        {
+                            outputMessage = $"[{e.Content}]PLC标识=[1]";
+                            Logger.Trace(outputMessage, logKeyT, logger_t);
+                            FormLogShow?.ShowLog(outputMessage);
+                        }
                     }
                     #endregion