88 lines
2.8 KiB
C#
88 lines
2.8 KiB
C#
namespace Sick.SafetyScanners.DataStructures;
|
|
|
|
/// <summary>
|
|
/// Contains the general system state including run/standby modes, cut-off paths, monitoring cases, and errors
|
|
/// </summary>
|
|
public sealed class GeneralSystemState
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets whether run mode is active
|
|
/// </summary>
|
|
public bool IsRunModeActive { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether standby mode is active
|
|
/// </summary>
|
|
public bool IsStandbyModeActive { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a contamination warning exists
|
|
/// </summary>
|
|
public bool HasContaminationWarning { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a contamination error exists
|
|
/// </summary>
|
|
public bool HasContaminationError { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether the reference contour status is true
|
|
/// </summary>
|
|
public bool ReferenceContourStatus { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether manipulation status is set to true
|
|
/// </summary>
|
|
public bool ManipulationStatus { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the state for all safe cut-off paths
|
|
/// </summary>
|
|
public IReadOnlyList<bool> SafeCutOffPaths { get; init; } = [];
|
|
|
|
/// <summary>
|
|
/// Gets or sets the state of all non-safe cut-off paths
|
|
/// </summary>
|
|
public IReadOnlyList<bool> NonSafeCutOffPaths { get; init; } = [];
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a cut-off path has to be reset
|
|
/// </summary>
|
|
public IReadOnlyList<bool> ResetRequiredCutOffPaths { get; init; } = [];
|
|
|
|
/// <summary>
|
|
/// Gets or sets the current monitoring case number for table 1
|
|
/// </summary>
|
|
public byte CurrentMonitoringCaseNoTable1 { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the current monitoring case number for table 2
|
|
/// </summary>
|
|
public byte CurrentMonitoringCaseNoTable2 { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the current monitoring case number for table 3
|
|
/// </summary>
|
|
public byte CurrentMonitoringCaseNoTable3 { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the current monitoring case number for table 4
|
|
/// </summary>
|
|
public byte CurrentMonitoringCaseNoTable4 { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether an application error exists
|
|
/// </summary>
|
|
public bool HasApplicationError { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets whether a device error exists
|
|
/// </summary>
|
|
public bool HasDeviceError { get; init; }
|
|
|
|
/// <summary>
|
|
/// Gets whether general system state is empty (not enabled)
|
|
/// </summary>
|
|
public bool IsEmpty { get; init; }
|
|
}
|