|
|
@@ -97,6 +97,15 @@ namespace TeamAAS_VP.Core
|
|
|
#endregion
|
|
|
|
|
|
#region 属性
|
|
|
+
|
|
|
+ private System.Windows.Media.Brush _StatusBackground;
|
|
|
+
|
|
|
+ public System.Windows.Media.Brush StatusBackground
|
|
|
+ {
|
|
|
+ get { return _StatusBackground; }
|
|
|
+ set { SetProperty(ref _StatusBackground, value); }
|
|
|
+ }
|
|
|
+
|
|
|
private ObservableCollection<ShowRender> _Renders;
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -1186,6 +1195,10 @@ namespace TeamAAS_VP.Core
|
|
|
addressConfig.In_ScrewTeachExe.Address,
|
|
|
addressConfig.In_PickINC.Address,
|
|
|
addressConfig.In_Throw.Address,
|
|
|
+ addressConfig.RunMode.Address,
|
|
|
+ addressConfig.ManualMode.Address,
|
|
|
+ addressConfig.ClearMode.Address,
|
|
|
+ addressConfig.Fault.Address,
|
|
|
};
|
|
|
var systemconfig = _configService.GetSystemConfiguration();
|
|
|
for (int i = 0; i < 10; i++)
|
|
|
@@ -1335,6 +1348,10 @@ namespace TeamAAS_VP.Core
|
|
|
bool _LastFixedCameraPutExe = false;
|
|
|
bool _LastFixedCameracheckExe = false;
|
|
|
bool _LastThrowExe = false;
|
|
|
+ bool _LastRunModel = false;
|
|
|
+ bool _LastManualMode = false;
|
|
|
+ bool _LastClearMode = false;
|
|
|
+ bool _LastFault = false;
|
|
|
Int16 _LastWorkStart = 0;
|
|
|
Int16 _LastWorkDone = 0;
|
|
|
Int16 _LastRequestPosition = 0;
|
|
|
@@ -2186,6 +2203,96 @@ namespace TeamAAS_VP.Core
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //切换成自动运行模式
|
|
|
+ else if (addressConfig.RunMode.Address.Contains(tuple.nodeId))
|
|
|
+ {
|
|
|
+ if (tuple.value is bool state)
|
|
|
+ {
|
|
|
+ if (_LastRunModel != state)
|
|
|
+ {
|
|
|
+ _LastRunModel = state;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (state)
|
|
|
+ {
|
|
|
+ SendTaskMessage("收到切换成自动模式", MessageLevel.Info);
|
|
|
+ StatusBackground = System.Windows.Media.Brushes.Green;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //切换成维修模式
|
|
|
+ else if (addressConfig.ManualMode.Address.Contains(tuple.nodeId))
|
|
|
+ {
|
|
|
+ if (tuple.value is bool state)
|
|
|
+ {
|
|
|
+ if (_LastManualMode != state)
|
|
|
+ {
|
|
|
+ _LastManualMode = state;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (state)
|
|
|
+ {
|
|
|
+ SendTaskMessage("收到切换成维修模式", MessageLevel.Info);
|
|
|
+ StatusBackground = System.Windows.Media.Brushes.Yellow;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ SendTaskMessage("收到切换成自动模式", MessageLevel.Info);
|
|
|
+ StatusBackground = System.Windows.Media.Brushes.Green;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //切换成流线模式
|
|
|
+ else if (addressConfig.ClearMode.Address.Contains(tuple.nodeId))
|
|
|
+ {
|
|
|
+ if (tuple.value is bool state)
|
|
|
+ {
|
|
|
+ if (_LastClearMode != state)
|
|
|
+ {
|
|
|
+ _LastClearMode = state;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (state)
|
|
|
+ {
|
|
|
+ SendTaskMessage("收到切换成流线模式", MessageLevel.Info);
|
|
|
+ StatusBackground = System.Windows.Media.Brushes.Green;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //plc报警
|
|
|
+ else if (addressConfig.Fault.Address.Contains(tuple.nodeId))
|
|
|
+ {
|
|
|
+ if (tuple.value is bool state)
|
|
|
+ {
|
|
|
+ if (_LastFault != state)
|
|
|
+ {
|
|
|
+ _LastFault = state;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (state)
|
|
|
+ {
|
|
|
+ SendTaskMessage("收到PLC报警", MessageLevel.Error);
|
|
|
+ StatusBackground = System.Windows.Media.Brushes.Red;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ SendTaskMessage("收到PLC消除报警", MessageLevel.Debug);
|
|
|
+ StatusBackground = System.Windows.Media.Brushes.Green;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
// 过站检查
|
|
|
else
|
|
|
{
|