|
|
@@ -215,6 +215,7 @@ namespace TeamAAS_VP.Core
|
|
|
_systemDatabaseService = systemDatabaseService;
|
|
|
_lightManagerService = lightManagerService;
|
|
|
_mesService = mesService;
|
|
|
+ InitPressure();
|
|
|
}
|
|
|
|
|
|
#region 初始化硬件模块
|
|
|
@@ -2133,23 +2134,27 @@ 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)
|
|
|
{
|
|
|
@@ -2216,7 +2221,7 @@ namespace TeamAAS_VP.Core
|
|
|
SendTaskMessage($"停止锁付信号[{i}]已关闭", MessageLevel.Alarm);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -2239,6 +2244,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>
|
|
|
@@ -2250,9 +2274,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();
|
|
|
@@ -2313,7 +2337,7 @@ namespace TeamAAS_VP.Core
|
|
|
try
|
|
|
{
|
|
|
// cancel sampling
|
|
|
- _pressureCts[Index]?.Cancel();
|
|
|
+ //_pressureCts[Index]?.Cancel();
|
|
|
// allow worker to observe cancel
|
|
|
await Task.Delay(50);
|
|
|
|