|
|
@@ -106,6 +106,30 @@ namespace TeamAAS_VP.Core
|
|
|
set { SetProperty(ref _StatusBackground, value); }
|
|
|
}
|
|
|
|
|
|
+ private System.Windows.Media.Brush _RunModelBackground;
|
|
|
+
|
|
|
+ public System.Windows.Media.Brush RunModelBackground
|
|
|
+ {
|
|
|
+ get { return _RunModelBackground; }
|
|
|
+ set { SetProperty(ref _RunModelBackground, value); }
|
|
|
+ }
|
|
|
+
|
|
|
+ private System.Windows.Media.Brush _ManualModeBackground;
|
|
|
+
|
|
|
+ public System.Windows.Media.Brush ManualModeBackground
|
|
|
+ {
|
|
|
+ get { return _ManualModeBackground; }
|
|
|
+ set { SetProperty(ref _ManualModeBackground, value); }
|
|
|
+ }
|
|
|
+
|
|
|
+ private System.Windows.Media.Brush _ClearModeBackground;
|
|
|
+
|
|
|
+ public System.Windows.Media.Brush ClearModeBackground
|
|
|
+ {
|
|
|
+ get { return _ClearModeBackground; }
|
|
|
+ set { SetProperty(ref _ClearModeBackground, value); }
|
|
|
+ }
|
|
|
+
|
|
|
private ObservableCollection<ShowRender> _Renders;
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -286,6 +310,7 @@ namespace TeamAAS_VP.Core
|
|
|
_systemDatabaseService = systemDatabaseService;
|
|
|
_lightManagerService = lightManagerService;
|
|
|
_mesService = mesService;
|
|
|
+ _eventAggregator.GetEvent<CurrentStatusNotification>().Subscribe(CurrentRunStatus);
|
|
|
}
|
|
|
|
|
|
#region 读取配置参数
|
|
|
@@ -1196,6 +1221,7 @@ namespace TeamAAS_VP.Core
|
|
|
addressConfig.In_PickINC.Address,
|
|
|
addressConfig.In_Throw.Address,
|
|
|
addressConfig.RunMode.Address,
|
|
|
+ addressConfig.AutoRunning.Address,
|
|
|
addressConfig.ManualMode.Address,
|
|
|
addressConfig.ClearMode.Address,
|
|
|
addressConfig.Fault.Address,
|
|
|
@@ -1349,6 +1375,7 @@ namespace TeamAAS_VP.Core
|
|
|
bool _LastFixedCameracheckExe = false;
|
|
|
bool _LastThrowExe = false;
|
|
|
bool _LastRunModel = false;
|
|
|
+ public bool _LastAutoRunning = false;
|
|
|
bool _LastManualMode = false;
|
|
|
bool _LastClearMode = false;
|
|
|
bool _LastFault = false;
|
|
|
@@ -2204,13 +2231,13 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
}
|
|
|
//切换成自动运行模式
|
|
|
- else if (addressConfig.RunMode.Address.Contains(tuple.nodeId))
|
|
|
+ else if (addressConfig.AutoRunning.Address.Contains(tuple.nodeId))
|
|
|
{
|
|
|
if (tuple.value is bool state)
|
|
|
{
|
|
|
- if (_LastRunModel != state)
|
|
|
+ if (_LastAutoRunning != state)
|
|
|
{
|
|
|
- _LastRunModel = state;
|
|
|
+ _LastAutoRunning = state;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -2219,8 +2246,12 @@ namespace TeamAAS_VP.Core
|
|
|
if (state)
|
|
|
{
|
|
|
SendTaskMessage("收到切换成自动模式", MessageLevel.Info);
|
|
|
- StatusBackground = System.Windows.Media.Brushes.Green;
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ SendTaskMessage("收到关闭自动模式", MessageLevel.Info);
|
|
|
+ }
|
|
|
+ CurrentRunStatus();
|
|
|
}
|
|
|
}
|
|
|
//切换成维修模式
|
|
|
@@ -2238,13 +2269,10 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
if (state)
|
|
|
{
|
|
|
+ ClearModeBackground = System.Windows.Media.Brushes.White;
|
|
|
+ RunModelBackground = System.Windows.Media.Brushes.White;
|
|
|
+ ManualModeBackground = System.Windows.Media.Brushes.Orange;
|
|
|
SendTaskMessage("收到切换成维修模式", MessageLevel.Info);
|
|
|
- StatusBackground = System.Windows.Media.Brushes.Yellow;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- SendTaskMessage("收到切换成自动模式", MessageLevel.Info);
|
|
|
- StatusBackground = System.Windows.Media.Brushes.Green;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -2263,8 +2291,10 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
if (state)
|
|
|
{
|
|
|
+ ClearModeBackground = System.Windows.Media.Brushes.Yellow;
|
|
|
+ RunModelBackground = System.Windows.Media.Brushes.White;
|
|
|
+ ManualModeBackground = System.Windows.Media.Brushes.White;
|
|
|
SendTaskMessage("收到切换成流线模式", MessageLevel.Info);
|
|
|
- StatusBackground = System.Windows.Media.Brushes.Green;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -2974,6 +3004,71 @@ namespace TeamAAS_VP.Core
|
|
|
_eventAggregator.GetEvent<TaskMessageNotification>().Publish(new Models.MessageStruct() { Message = msg, level = level });
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ public bool concurrenty = true;
|
|
|
+ public void CurrentRunStatus()
|
|
|
+ {
|
|
|
+ if (!concurrenty)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ concurrenty = true;
|
|
|
+ bool connectStaus = true;
|
|
|
+ bool mesStatus = true;
|
|
|
+ bool paraStatus = true;
|
|
|
+ try
|
|
|
+ {
|
|
|
+
|
|
|
+ for (int i = 0; i < 1; i++)
|
|
|
+ {
|
|
|
+ var stationConfig = _configService.GetDeviceInfo(i);
|
|
|
+ if (!stationConfig.EnableMES || !stationConfig.SaveCsv)
|
|
|
+ {
|
|
|
+ SendTaskMessage("当前MES功能/保存CSV功能未启用,请检查...", MessageLevel.Info);
|
|
|
+ mesStatus = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var systemConfig = _configService.GetSystemConfiguration();
|
|
|
+ if (!systemConfig.IsSaveScrewCurve)
|
|
|
+ {
|
|
|
+ paraStatus = false;
|
|
|
+ SendTaskMessage("当前保存扭力曲线未勾选,请检查...", MessageLevel.Info);
|
|
|
+ }
|
|
|
+ foreach (var item in Status)
|
|
|
+ {
|
|
|
+ if (item.Background == System.Windows.Media.Brushes.Red)
|
|
|
+ {
|
|
|
+ SendTaskMessage("当前有设备未连接,请检查...", MessageLevel.Info);
|
|
|
+ connectStaus = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception)
|
|
|
+ {
|
|
|
+ connectStaus = false;
|
|
|
+ mesStatus = false;
|
|
|
+ paraStatus = false;
|
|
|
+ }
|
|
|
+ if (connectStaus && mesStatus && paraStatus && _LastAutoRunning)
|
|
|
+ {
|
|
|
+ RunModelBackground = System.Windows.Media.Brushes.Green;
|
|
|
+ ClearModeBackground = System.Windows.Media.Brushes.White;
|
|
|
+ ManualModeBackground = System.Windows.Media.Brushes.White;
|
|
|
+ SendTaskMessage("当前为生产模式", MessageLevel.Info);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ RunModelBackground = System.Windows.Media.Brushes.White;
|
|
|
+ ClearModeBackground = System.Windows.Media.Brushes.White;
|
|
|
+ ManualModeBackground = System.Windows.Media.Brushes.Orange;
|
|
|
+ SendTaskMessage("当前为调机模式", MessageLevel.Info);
|
|
|
+ }
|
|
|
+ concurrenty = true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
private float _maxPressure = float.MinValue;
|
|
|
#region Pressure collection helpers
|
|
|
/// <summary>
|