|
|
@@ -216,6 +216,7 @@ namespace TeamAAS_VP.Core
|
|
|
_systemDatabaseService = systemDatabaseService;
|
|
|
_lightManagerService = lightManagerService;
|
|
|
_mesService = mesService;
|
|
|
+ InitPressure();
|
|
|
}
|
|
|
|
|
|
#region 初始化硬件模块
|
|
|
@@ -2267,23 +2268,26 @@ namespace TeamAAS_VP.Core
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
+ var code = plc.ReadNode<string>(string.Format(addressConfig.In_Code.Address, i));
|
|
|
if (state == 1)
|
|
|
{
|
|
|
- SendTaskMessage($"收到开始组装信号[{i}]...", MessageLevel.Debug);
|
|
|
-
|
|
|
- var code = plc.ReadNode<string>(string.Format(addressConfig.In_Code.Address, i));
|
|
|
+ //SendTaskMessage($"收到开始组装信号[{i}]...", MessageLevel.Debug);
|
|
|
+ SendTaskMessage($"收到开始保压信号[{i}]...", MessageLevel.Debug);
|
|
|
// 开始采集压力值
|
|
|
StartPressureCollection(currentProduct.Name, code, i);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- SendTaskMessage($"开始锁付信号[{i}]已关闭", MessageLevel.Alarm);
|
|
|
- // 关闭时的处理(如需)可放在这里
|
|
|
+ //SendTaskMessage($"开始锁付信号[{i}]已关闭", MessageLevel.Alarm);
|
|
|
+ //// 关闭时的处理(如需)可放在这里
|
|
|
+ SendTaskMessage($"收到关闭保压信号[{i}]...", MessageLevel.Debug);
|
|
|
+ // 停止采集压力并保存
|
|
|
+ await StopAndSavePressureCollectionAsync(currentProduct.Name, code, i);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//停止组装
|
|
|
- else if (string.Format(addressConfig.In_WorkStart.Address, i).Contains(tuple.nodeId))
|
|
|
+ /*else if (string.Format(addressConfig.In_WorkStart.Address, i).Contains(tuple.nodeId))
|
|
|
{
|
|
|
if (tuple.value is Int16 state)
|
|
|
{
|
|
|
@@ -2350,7 +2354,7 @@ namespace TeamAAS_VP.Core
|
|
|
SendTaskMessage($"停止锁付信号[{i}]已关闭", MessageLevel.Alarm);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -2373,6 +2377,25 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
|
|
|
#region Pressure collection helpers
|
|
|
+ public void InitPressure()
|
|
|
+ {
|
|
|
+ for (int i = 0; i < _pressureSamples.Length; i++)
|
|
|
+ {
|
|
|
+ _pressureSamples[i] = new List<(DateTime, float)>();
|
|
|
+ }
|
|
|
+ for (int i = 0; i < _pressureCts.Length; i++)
|
|
|
+ {
|
|
|
+ _pressureCts[i] = new CancellationTokenSource();
|
|
|
+ }
|
|
|
+ for (int i = 0; i < _pressureTimeoutCts.Length; i++)
|
|
|
+ {
|
|
|
+ _pressureTimeoutCts[i] = new CancellationTokenSource();
|
|
|
+ }
|
|
|
+ for (int i = 0; i < _pressureLinkedCts.Length; i++)
|
|
|
+ {
|
|
|
+ _pressureLinkedCts[i] = new CancellationTokenSource();
|
|
|
+ }
|
|
|
+ }
|
|
|
/// <summary>
|
|
|
/// 开始采集压力值
|
|
|
/// </summary>
|
|
|
@@ -2384,9 +2407,9 @@ namespace TeamAAS_VP.Core
|
|
|
try
|
|
|
{
|
|
|
// cancel existing if any
|
|
|
- _pressureCts[Index]?.Cancel();
|
|
|
- _pressureTimeoutCts[Index]?.Cancel();
|
|
|
- _pressureLinkedCts[Index]?.Dispose();
|
|
|
+ //_pressureCts[Index]?.Cancel();
|
|
|
+ //_pressureTimeoutCts[Index]?.Cancel();
|
|
|
+ //_pressureLinkedCts[Index]?.Dispose();
|
|
|
_pressureSamples[Index]?.Clear();
|
|
|
|
|
|
_pressureCts[Index] = new CancellationTokenSource();
|
|
|
@@ -2432,6 +2455,7 @@ namespace TeamAAS_VP.Core
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.WriteLogError("StartPressureCollection error", ex);
|
|
|
+ SendTaskMessage($"压力采集时出错:{ex.Message}", MessageLevel.Error);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2447,7 +2471,7 @@ namespace TeamAAS_VP.Core
|
|
|
try
|
|
|
{
|
|
|
// cancel sampling
|
|
|
- _pressureCts[Index]?.Cancel();
|
|
|
+ //_pressureCts[Index]?.Cancel();
|
|
|
// allow worker to observe cancel
|
|
|
await Task.Delay(50);
|
|
|
|