33 lines
985 B
C#
33 lines
985 B
C#
using XP.Hardware.MotionControl.Abstractions.Enums;
|
|
|
|
namespace XP.Hardware.MotionControl.Abstractions
|
|
{
|
|
/// <summary>
|
|
/// 安全门抽象基类 | Safety Door Abstract Base Class
|
|
/// 提供门状态管理等通用逻辑 | Provides door status management
|
|
/// </summary>
|
|
public abstract class SafetyDoorBase : ISafetyDoor
|
|
{
|
|
/// <summary>门状态 | Door status</summary>
|
|
protected DoorStatus _status = DoorStatus.Unknown;
|
|
|
|
/// <summary>门状态 | Door status</summary>
|
|
public DoorStatus Status => _status;
|
|
|
|
/// <summary>联锁信号是否有效 | Interlock active</summary>
|
|
public abstract bool IsInterlocked { get; }
|
|
|
|
/// <inheritdoc/>
|
|
public abstract MotionResult Open();
|
|
|
|
/// <inheritdoc/>
|
|
public abstract MotionResult Close();
|
|
|
|
/// <inheritdoc/>
|
|
public abstract MotionResult Stop();
|
|
|
|
/// <inheritdoc/>
|
|
public abstract void UpdateStatus();
|
|
}
|
|
}
|