|
|
@@ -107,6 +107,7 @@ namespace TeamAAS_VP.Core
|
|
|
/// 超时自动停止秒数
|
|
|
/// </summary>
|
|
|
private int _pressureMaxDurationSeconds = 30; //超时自动停止秒数
|
|
|
+ DateTime[] StartCtqTime = new DateTime[3];//开始采集Ctq数据的时间
|
|
|
#endregion
|
|
|
|
|
|
#region 属性
|
|
|
@@ -185,6 +186,17 @@ namespace TeamAAS_VP.Core
|
|
|
get { return _CTtime; }
|
|
|
set { SetProperty(ref _CTtime, value); }
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ private ObservableCollection<DataFormCtq> _dfc = new ObservableCollection<DataFormCtq>();
|
|
|
+ /// <summary>
|
|
|
+ /// CTQ数据集合
|
|
|
+ /// </summary>
|
|
|
+ public ObservableCollection<DataFormCtq> DFC
|
|
|
+ {
|
|
|
+ get { return _dfc; }
|
|
|
+ set { SetProperty(ref _dfc, value); }
|
|
|
+ }
|
|
|
#endregion
|
|
|
|
|
|
#region 命令
|
|
|
@@ -2391,6 +2403,48 @@ namespace TeamAAS_VP.Core
|
|
|
resultIndex = 2;
|
|
|
}
|
|
|
SendTaskMessage($"gap:{gap},组装压力:{assypress}", MessageLevel.Info);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ #region 数据
|
|
|
+ var cdata = _configService.GetCTQDataInfo();//获取ctq数据参数
|
|
|
+ bool assyPresRes;
|
|
|
+ if (currentPressure[0] >= p1.PressureDownLimit && currentPressure[0] <= p1.PressureUpLimit)
|
|
|
+ {
|
|
|
+ assyPresRes = true;
|
|
|
+ }
|
|
|
+ else assyPresRes = false;
|
|
|
+ DFC.Clear();
|
|
|
+ DFC.Add(new DataFormCtq
|
|
|
+ {
|
|
|
+ PPID = code,
|
|
|
+ PROCESS_NAME = cdata.PROCESS_NAME,
|
|
|
+ PROCESS_START_TIME = StartCtqTime[i].ToString(),
|
|
|
+ CTQ_NAME = "Assy_Pressure",
|
|
|
+ CTQ_VALUE = double.Parse(assypress),
|
|
|
+ CTQ_LSL = p1.PressureDownLimit,
|
|
|
+ CTQ_USL = p1.PressureUpLimit,
|
|
|
+ PROCESS_END_TIME = DateTime.Now.ToString(),
|
|
|
+ SUPPLIER_NAME = cdata.SUPPLIER_NAME,
|
|
|
+ COMMODITY_TYPE = cdata.COMMODITY_TYPE,
|
|
|
+ REVISION = cdata.REVISION,
|
|
|
+ WO = cdata.WO,
|
|
|
+ MFG_LOT = cdata.MFG_LOT,
|
|
|
+ MFG_ASSY_LINE = cdata.MFG_ASSY_LINE,
|
|
|
+ PROCESS_OUTCOME = assyPresRes ? "PASS" : "FAIL",
|
|
|
+ PROCESS_MACHINE_ID = cdata.PROCESS_MACHINE_ID,
|
|
|
+ CTQ_UNIT_OF_MEASURE = "kg",
|
|
|
+ ERROR_MESSAGE = assyPresRes ? "" : "Assy_Pressure OOS"
|
|
|
+ });
|
|
|
+ foreach (var item in DFC)
|
|
|
+ {
|
|
|
+ FileHelper.WriteDataToCSV(item);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ SendTaskMessage("CTQ数据存储时出错" + ex.Message, MessageLevel.Error);
|
|
|
+ }
|
|
|
}
|
|
|
else if (i == 1)
|
|
|
{
|
|
|
@@ -2413,6 +2467,48 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
presstime = p2.PressureTime.ToString();
|
|
|
SendTaskMessage($"保压压力:{press},保压时间:{presstime}", MessageLevel.Info);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ #region 数据
|
|
|
+ var cdata = _configService.GetCTQDataInfo();//获取ctq数据参数
|
|
|
+ bool presRes;
|
|
|
+ if (currentPressure[1] >= p2.PressureDownLimit && currentPressure[1] <= p2.PressureUpLimit)
|
|
|
+ {
|
|
|
+ presRes = true;
|
|
|
+ }
|
|
|
+ else presRes = false;
|
|
|
+ DFC.Clear();
|
|
|
+ DFC.Add(new DataFormCtq
|
|
|
+ {
|
|
|
+ PPID = code,
|
|
|
+ PROCESS_NAME = cdata.PROCESS_NAME,
|
|
|
+ PROCESS_START_TIME = StartCtqTime[i].ToString(),
|
|
|
+ CTQ_NAME = "Pressure",
|
|
|
+ CTQ_VALUE = double.Parse(press),
|
|
|
+ CTQ_LSL = p2.PressureDownLimit,
|
|
|
+ CTQ_USL = p2.PressureUpLimit,
|
|
|
+ PROCESS_END_TIME = DateTime.Now.ToString(),
|
|
|
+ SUPPLIER_NAME = cdata.SUPPLIER_NAME,
|
|
|
+ COMMODITY_TYPE = cdata.COMMODITY_TYPE,
|
|
|
+ REVISION = cdata.REVISION,
|
|
|
+ WO = cdata.WO,
|
|
|
+ MFG_LOT = cdata.MFG_LOT,
|
|
|
+ MFG_ASSY_LINE = cdata.MFG_ASSY_LINE,
|
|
|
+ PROCESS_OUTCOME = presRes ? "PASS" : "FAIL",
|
|
|
+ PROCESS_MACHINE_ID = cdata.PROCESS_MACHINE_ID,
|
|
|
+ CTQ_UNIT_OF_MEASURE = "kg",
|
|
|
+ ERROR_MESSAGE = presRes ? "" : "Assy_Pressure OOS"
|
|
|
+ });
|
|
|
+ foreach (var item in DFC)
|
|
|
+ {
|
|
|
+ FileHelper.WriteDataToCSV(item);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ SendTaskMessage("CTQ数据存储时出错" + ex.Message, MessageLevel.Error);
|
|
|
+ }
|
|
|
}
|
|
|
//gap-复检gap参数, press-保压站实际压力值, presstime-保压站保压时间, assypress-组装站实际压力值
|
|
|
(bool isSuccess, string response) = await _mesService.SubmitGetAsync(i,code, comp, gap, press, presstime, assypress, resultIndex == 1 ? true : false, _LastMesCheckTime[i], DateTime.UtcNow);
|
|
|
@@ -2429,6 +2525,7 @@ namespace TeamAAS_VP.Core
|
|
|
await plc.WriteNodeAsync(string.Format(addressConfig.Out_MesStatus.Address, i), (Int16)3);
|
|
|
LogHelper.WriteLogMes($"【mes结束ADD】");
|
|
|
SendTaskMessage($"mes结束ADD", MessageLevel.Info);
|
|
|
+
|
|
|
return;
|
|
|
}
|
|
|
else
|
|
|
@@ -2463,6 +2560,7 @@ namespace TeamAAS_VP.Core
|
|
|
SendTaskMessage($"收到开始保压信号[{i}]...", MessageLevel.Debug);
|
|
|
// 开始采集压力值
|
|
|
StartPressureCollection(currentProduct.Name, code, i);
|
|
|
+ StartCtqTime[i]= DateTime.Now;
|
|
|
}
|
|
|
else
|
|
|
{
|