|
|
@@ -1171,6 +1171,30 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public async Task WriteParameterToPlcAsync()
|
|
|
+ {
|
|
|
+ var addressConfig = _configService.GetPlcAddresses();
|
|
|
+ var plc = _plcService.GetPlcByNumber(addressConfig.PlcNo) as OpcUaClientPLC;
|
|
|
+ if (plc == null || !plc.IsConnected) return;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ PressureModel models = new PressureModel();
|
|
|
+ if (!File.Exists(FilePath.PressureParamterConfigPath))
|
|
|
+ {
|
|
|
+ FileHelper.WriteJsonFile(models, FilePath.PressureParamterConfigPath);
|
|
|
+ }
|
|
|
+ models = FileHelper.ReadJsonFile<PressureModel>(FilePath.PressureParamterConfigPath);
|
|
|
+ await plc.WriteNodeAsync(addressConfig.Down_Time.Address, models.PressureTime);
|
|
|
+ await plc.WriteNodeAsync(addressConfig.Down_WetOut_Num.Address, models.PressureNum);
|
|
|
+ await plc.WriteNodeAsync(addressConfig.Down_WetOut_Num_max.Address, models.PressureNumMax);
|
|
|
+ }
|
|
|
+ catch (Exception)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 固定向上相机拍照结果
|
|
|
/// </summary>
|
|
|
@@ -1218,6 +1242,7 @@ namespace TeamAAS_VP.Core
|
|
|
Int16[] _LastMesCheck = new Int16[10];
|
|
|
DateTime[] _LastMesCheckTime = new DateTime[10];
|
|
|
Dictionary<string, string> mes_cc = new Dictionary<string, string>();
|
|
|
+ double currentPressure = 0;//当前的压力
|
|
|
/// <summary>
|
|
|
/// PLC命令触发时
|
|
|
/// </summary>
|
|
|
@@ -1836,7 +1861,7 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- mes_cc.Add("0","0");
|
|
|
+ mes_cc.Add($"{cameraIndex}","0");
|
|
|
await plc.WriteNodeAsync(addressConfig.Out_UPCameracheckStatus.Address, (Int16)2);
|
|
|
SendTaskMessage($"点位{cameraIndex}检测NG", MessageLevel.Error);
|
|
|
}
|
|
|
@@ -2264,12 +2289,17 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
|
|
|
await _systemDatabaseService.RecordAssemblyAsync(assemblyRecord);
|
|
|
-
|
|
|
LogHelper.WriteLogMes($"【mes开始ADD】");
|
|
|
SendTaskMessage($"mes开始ADD", MessageLevel.Info);
|
|
|
string assypress= "";string cc = "";
|
|
|
cc = string.Join(",", mes_cc.OrderBy(kv => kv.Key, StringComparer.Ordinal).Select(kv => kv.Value));
|
|
|
- assypress = assemblyRecord.AssemblyPressure.ToString();
|
|
|
+ assypress = currentPressure.ToString("F2");
|
|
|
+ var res = FileHelper.ReadJsonFile<PressureModel>(FilePath.PressureParamterConfigPath);
|
|
|
+ if (res.PressureUpLimit>0)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ //cc-复检cc,assypress-组装站压力
|
|
|
(bool isSuccess, string response) = await _mesService.SubmitGetAsync(code, comp, cc,assypress, resultIndex == 1 ? true : false, _LastMesCheckTime[i], DateTime.UtcNow);
|
|
|
if (isSuccess)
|
|
|
{
|
|
|
@@ -2316,23 +2346,21 @@ namespace TeamAAS_VP.Core
|
|
|
|
|
|
if (state == 1)
|
|
|
{
|
|
|
- //SendTaskMessage($"收到开始组装信号[{i}]...", MessageLevel.Debug);
|
|
|
SendTaskMessage($"收到开始保压信号[{i}]...", MessageLevel.Debug);
|
|
|
// 开始采集压力值
|
|
|
StartPressureCollection(currentProduct.Name, code, i);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- //SendTaskMessage($"开始锁付信号[{i}]已关闭", MessageLevel.Alarm);
|
|
|
- //// 关闭时的处理(如需)可放在这里
|
|
|
- SendTaskMessage($"收到关闭保压信号[{i}]...", MessageLevel.Debug);
|
|
|
- // 停止采集压力并保存
|
|
|
- await StopAndSavePressureCollectionAsync(currentProduct.Name, code, i);
|
|
|
+ SendTaskMessage($"收到关闭开始保压信号[{i}]...", MessageLevel.Debug);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //停止组装
|
|
|
- /*else if (string.Format(addressConfig.In_WorkStart.Address, i).Contains(tuple.nodeId))
|
|
|
+ }
|
|
|
+ //开始/停止 组装/锁附
|
|
|
+ for (int i = 0; i < 7; i++)
|
|
|
+ {
|
|
|
+ if (string.Format(addressConfig.In_WorkStart.Address, i).Contains(tuple.nodeId))
|
|
|
{
|
|
|
if (tuple.value is Int16 state)
|
|
|
{
|
|
|
@@ -2344,9 +2372,9 @@ namespace TeamAAS_VP.Core
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
- if (state == 1 || state == 2)
|
|
|
+ if (state == 1)
|
|
|
{
|
|
|
- SendTaskMessage($"收到停止锁付信号[{i}]...", MessageLevel.Debug);
|
|
|
+ SendTaskMessage($"收到停止压力信号[{i}]...", MessageLevel.Debug);
|
|
|
//获取当前锁付点
|
|
|
//var screwPoint = currentProduct.ScrewPoints.FirstOrDefault(p => p.Number == positionIndex);
|
|
|
////获取当前的机器人点位
|
|
|
@@ -2354,7 +2382,10 @@ namespace TeamAAS_VP.Core
|
|
|
//var currentPosition = robot.GetRobotPos();
|
|
|
////读取压力值
|
|
|
//float pressure = plc.ReadNode<float>(addressConfig.In_PressureValue.Address);
|
|
|
-
|
|
|
+ //读取压力值
|
|
|
+ float pressure = plc.ReadNode<float>(string.Format(addressConfig.In_PressureValue.Address, i));
|
|
|
+ currentPressure = pressure;
|
|
|
+ SendTaskMessage($"[{i}]压力:{pressure}", MessageLevel.Info);
|
|
|
|
|
|
//await Task.Delay(60);
|
|
|
////获取电批结果
|
|
|
@@ -2396,10 +2427,10 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- SendTaskMessage($"停止锁付信号[{i}]已关闭", MessageLevel.Alarm);
|
|
|
+ SendTaskMessage($"停止压力信号[{i}]已关闭", MessageLevel.Alarm);
|
|
|
}
|
|
|
}
|
|
|
- }*/
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|