|
|
@@ -1333,6 +1333,9 @@ namespace TeamAAS_VP.Core
|
|
|
string[] model_num { get; set; } = new string[10];//产品model_num
|
|
|
string[] wo { get; set; } = new string[10];//产品wo
|
|
|
string[] color { get; set; } = new string[10];//产品color
|
|
|
+ string[] ppid { get; set; } = new string[10];//产品ppid
|
|
|
+ string[] revision { get; set; } = new string[10];//产品revision
|
|
|
+
|
|
|
Dictionary<string, string> dataToMes = new Dictionary<string, string>();//上传mes的数据
|
|
|
List<string> resultToMes = new List<string>();//上传mes的数据
|
|
|
/// <summary>
|
|
|
@@ -2275,7 +2278,8 @@ namespace TeamAAS_VP.Core
|
|
|
SendTaskMessage($"收到{i}过站检查请求(当站是否生产)...", MessageLevel.Debug);
|
|
|
}
|
|
|
|
|
|
- _LastMesCheckTime[i] = DateTime.Now;
|
|
|
+ //获取过站时间
|
|
|
+ _LastMesCheckTime[i] = (await _mesService.GetServerTimeAsync(i, code, 2)).Now;
|
|
|
LogHelper.WriteLogMes($"【mes开始QUERY】");
|
|
|
SendTaskMessage($"mes开始QUERY", MessageLevel.Info);
|
|
|
dataToMes.Clear();
|
|
|
@@ -2334,6 +2338,18 @@ namespace TeamAAS_VP.Core
|
|
|
color[i] = colorItem.Replace("color=", "").Trim();
|
|
|
SendTaskMessage($"color:{color[i]}", MessageLevel.Info);
|
|
|
}
|
|
|
+ string ppidItem = item.FirstOrDefault(f => f.Contains("ppid="));
|
|
|
+ if (ppidItem != null)
|
|
|
+ {
|
|
|
+ ppid[i] = ppidItem.Replace("ppid=", "").Trim();
|
|
|
+ SendTaskMessage($"ppid:{ppid[i]}", MessageLevel.Info);
|
|
|
+ }
|
|
|
+ string revisionItem = item.FirstOrDefault(f => f.Contains("revision="));
|
|
|
+ if (revisionItem != null)
|
|
|
+ {
|
|
|
+ revision[i] = revisionItem.Replace("revision=", "").Trim();
|
|
|
+ SendTaskMessage($"revision:{revision[i]}", MessageLevel.Info);
|
|
|
+ }
|
|
|
|
|
|
LogHelper.WriteLogMes($"第二次询问mes成功");
|
|
|
SendTaskMessage($"第二次询问mes成功:{response2}", MessageLevel.Debug);
|
|
|
@@ -2426,6 +2442,18 @@ namespace TeamAAS_VP.Core
|
|
|
color[i] = colorItem.Replace("color=", "").Trim();
|
|
|
SendTaskMessage($"color:{color[i]}", MessageLevel.Info);
|
|
|
}
|
|
|
+ string ppidItem = item.FirstOrDefault(f => f.Contains("ppid="));
|
|
|
+ if (ppidItem != null)
|
|
|
+ {
|
|
|
+ ppid[i] = ppidItem.Replace("ppid=", "").Trim();
|
|
|
+ SendTaskMessage($"ppid:{ppid[i]}", MessageLevel.Info);
|
|
|
+ }
|
|
|
+ string revisionItem = item.FirstOrDefault(f => f.Contains("revision="));
|
|
|
+ if (revisionItem != null)
|
|
|
+ {
|
|
|
+ revision[i] = revisionItem.Replace("revision=", "").Trim();
|
|
|
+ SendTaskMessage($"revision:{revision[i]}", MessageLevel.Info);
|
|
|
+ }
|
|
|
|
|
|
//切换产品
|
|
|
if (i == 0)//i=0时才会切换产品
|
|
|
@@ -2491,7 +2519,7 @@ namespace TeamAAS_VP.Core
|
|
|
{
|
|
|
if (_configService.GetDeviceInfo().EnableMES == true)
|
|
|
{
|
|
|
- DFC.Clear();
|
|
|
+ DFC.Clear();//CTQ数据集合
|
|
|
|
|
|
//获取当前工位的配置
|
|
|
var stationConfig = _configService.GetDeviceInfo(0);
|
|
|
@@ -2570,9 +2598,13 @@ namespace TeamAAS_VP.Core
|
|
|
turnRes = true;
|
|
|
}
|
|
|
else turnRes = false;
|
|
|
+
|
|
|
+ string midValue = "", saveppid = "";
|
|
|
+ if (stationConfig.SaveCsvPPID) saveppid = ppid[i];
|
|
|
+ midValue = ((lockResult.TargetTorqueLowerLimit + lockResult.TargetTorqueUpperLimit) / 2).ToString("F3");
|
|
|
DFC.Add(new DataFormCtq
|
|
|
{
|
|
|
- PPID = ProductMainSN[i],
|
|
|
+ PPID = saveppid,
|
|
|
ScrewNum = lockResult.Number,
|
|
|
PROCESS_NAME = stationConfig.DataInfo.PROCESS_NAME,
|
|
|
PROCESS_START_TIME = _LastMesCheckTime[i].ToString("yyyy-MM-ddTHH:mm:ss.fffffff") + "+08:00",
|
|
|
@@ -2590,11 +2622,17 @@ namespace TeamAAS_VP.Core
|
|
|
PROCESS_OUTCOME = torqueRes ? "PASS" : "FAIL",
|
|
|
PROCESS_MACHINE_ID = stationConfig.DataInfo.PROCESS_MACHINE_ID,
|
|
|
CTQ_UNIT_OF_MEASURE = "kgf.cm",
|
|
|
- ERROR_MESSAGE = torqueRes ? "" : "Torque_Spec OOS"
|
|
|
+ ERROR_MESSAGE = torqueRes ? "" : "Torque_Spec OOS",
|
|
|
+ PD_ATTR_01 = midValue,
|
|
|
+ PD_ATTR_02 = ProductMainSN[i],
|
|
|
+ PD_ATTR_03 = "",
|
|
|
+ PD_ATTR_04 = "",
|
|
|
+ PD_ATTR_05 = "",
|
|
|
});
|
|
|
+ midValue = ((lockResult.TargetTurnsLowerLimit + lockResult.TargetTurnsUpperLimit) / 2).ToString("F3");
|
|
|
DFC.Add(new DataFormCtq
|
|
|
{
|
|
|
- PPID = ProductMainSN[i],
|
|
|
+ PPID = saveppid,
|
|
|
ScrewNum = lockResult.Number,
|
|
|
PROCESS_NAME = stationConfig.DataInfo.PROCESS_NAME,
|
|
|
PROCESS_START_TIME = _LastMesCheckTime[i].ToString("yyyy-MM-ddTHH:mm:ss.fffffff") + "+08:00",
|
|
|
@@ -2612,11 +2650,17 @@ namespace TeamAAS_VP.Core
|
|
|
PROCESS_OUTCOME = turnRes ? "PASS" : "FAIL",
|
|
|
PROCESS_MACHINE_ID = stationConfig.DataInfo.PROCESS_MACHINE_ID,
|
|
|
CTQ_UNIT_OF_MEASURE = "圈",
|
|
|
- ERROR_MESSAGE = turnRes ? "" : "Turn_Spec OOS"
|
|
|
+ ERROR_MESSAGE = turnRes ? "" : "Turn_Spec OOS",
|
|
|
+ PD_ATTR_01 = midValue,
|
|
|
+ PD_ATTR_02 = ProductMainSN[i],
|
|
|
+ PD_ATTR_03 = "",
|
|
|
+ PD_ATTR_04 = "",
|
|
|
+ PD_ATTR_05 = "",
|
|
|
});
|
|
|
+ midValue = ((stationConfig.DataInfo.CTQ_LSL_Pressure + stationConfig.DataInfo.CTQ_USL_Pressure) / 2).ToString("F3");
|
|
|
DFC.Add(new DataFormCtq
|
|
|
{
|
|
|
- PPID = ProductMainSN[i],
|
|
|
+ PPID = saveppid,
|
|
|
ScrewNum = lockResult.Number,
|
|
|
PROCESS_NAME = stationConfig.DataInfo.PROCESS_NAME,
|
|
|
PROCESS_START_TIME = _LastMesCheckTime[i].ToString("yyyy-MM-ddTHH:mm:ss.fffffff") + "+08:00",
|
|
|
@@ -2634,7 +2678,12 @@ namespace TeamAAS_VP.Core
|
|
|
PROCESS_OUTCOME = pressureRes ? "PASS" : "FAIL",
|
|
|
PROCESS_MACHINE_ID = stationConfig.DataInfo.PROCESS_MACHINE_ID,
|
|
|
CTQ_UNIT_OF_MEASURE = "N",
|
|
|
- ERROR_MESSAGE = pressureRes ? "" : "Pressure_Spec OOS"
|
|
|
+ ERROR_MESSAGE = pressureRes ? "" : "Pressure_Spec OOS",
|
|
|
+ PD_ATTR_01 = midValue,
|
|
|
+ PD_ATTR_02 = ProductMainSN[i],
|
|
|
+ PD_ATTR_03 = "",
|
|
|
+ PD_ATTR_04 = "",
|
|
|
+ PD_ATTR_05 = "",
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
@@ -3310,7 +3359,7 @@ namespace TeamAAS_VP.Core
|
|
|
if (!File.Exists(fullPath))
|
|
|
{
|
|
|
sb.Append("PPID,Screw_Number,PROCESS_NAME,PROCESS_START_TIME,CTQ_NAME,CTQ_VALUE,CTQ_LSL,CTQ_USL,PROCESS_END_TIME,SUPPLIER_NAME,COMMODITY_TYPE,REVISION,WO#,MFG_LOT#," +
|
|
|
- "MFG_ASSY_LINE,PROCESS_OUTCOME,PROCESS_MACHINE_ID,CTQ_UNIT_OF_MEASURE,ERROR_MESSAGE");
|
|
|
+ "MFG_ASSY_LINE,PROCESS_OUTCOME,PROCESS_MACHINE_ID,CTQ_UNIT_OF_MEASURE,ERROR_MESSAGE,PD_ATTR_01,PD_ATTR_02,PD_ATTR_03,PD_ATTR_04,PD_ATTR_05");
|
|
|
sb.AppendLine();
|
|
|
}
|
|
|
if (dfcs == null || dfcs.Count() == 0)
|
|
|
@@ -3319,7 +3368,7 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
foreach (var dfc in dfcs)
|
|
|
{
|
|
|
- sb.Append($"{dfc.PPID},{dfc.ScrewNum},{dfc.PROCESS_NAME},{dfc.PROCESS_START_TIME},{dfc.CTQ_NAME},{dfc.CTQ_VALUE:F3},{dfc.CTQ_LSL:F3},{dfc.CTQ_USL:F3},{dfc.PROCESS_END_TIME},{dfc.SUPPLIER_NAME},{dfc.COMMODITY_TYPE},{dfc.REVISION},{dfc.WO},{dfc.MFG_LOT},{dfc.MFG_ASSY_LINE},{dfc.PROCESS_OUTCOME},{dfc.PROCESS_MACHINE_ID},{dfc.CTQ_UNIT_OF_MEASURE},{dfc.ERROR_MESSAGE}");
|
|
|
+ sb.Append($"{dfc.PPID},{dfc.ScrewNum},{dfc.PROCESS_NAME},{dfc.PROCESS_START_TIME},{dfc.CTQ_NAME},{dfc.CTQ_VALUE:F3},{dfc.CTQ_LSL:F3},{dfc.CTQ_USL:F3},{dfc.PROCESS_END_TIME},{dfc.SUPPLIER_NAME},{dfc.COMMODITY_TYPE},{dfc.REVISION},{dfc.WO},{dfc.MFG_LOT},{dfc.MFG_ASSY_LINE},{dfc.PROCESS_OUTCOME},{dfc.PROCESS_MACHINE_ID},{dfc.CTQ_UNIT_OF_MEASURE},{dfc.ERROR_MESSAGE},{dfc.PD_ATTR_01},{dfc.PD_ATTR_02},{dfc.PD_ATTR_03},{dfc.PD_ATTR_04},{dfc.PD_ATTR_05}");
|
|
|
sb.AppendLine();
|
|
|
}
|
|
|
// 使用 StreamWriter 以追加模式打开文件
|