操控平台后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
2.3 KiB

4 months ago
using System.ComponentModel;
using Bodk.Device.Storage.EventArgs;
namespace Bodk.Device.Storage.Modules;
public interface IModule
{
string Name { get; }
string Descirption { get; }
/// <summary>
/// 模块ID
/// </summary>
int Id { get; }
/// <summary>
/// 当前位置
/// </summary>
float? CurrentPosition { get; }
/// <summary>
/// 手动速度
/// </summary>
float? ManualSpeed { get; set; }
/// <summary>
/// 自动速度
/// </summary>
float? AutoSpeed { get; set; }
//加减速
float? AccDec { get; set; }
/// <summary>
/// 回原高速
/// </summary>
float? GotoOriginHighSpeed { get; set; }
/// <summary>
/// 回原低速
/// </summary>
float? GotoOriginLowSpeed { get; set; }
/// <summary>
/// 运动超时报警
/// </summary>
event EventHandler<MotionTimeoutAlarmChangedEventArg> MotionTimeoutAlarmEvent;
/// <summary>
/// 报警
/// </summary>
event EventHandler<AlarmChangedEventArg> AlarmEvent;
bool MotionTimeoutAlarm { get; }
bool Alarm { get; }
/// <summary>
/// 是否使能
/// </summary>
bool IsEnabled { get; }
/// <summary>
/// 使能
/// </summary>
/// <param name="enable"></param>
/// <returns></returns>
Task EnableAsync(bool enable);
/// <summary>
/// 复位
/// </summary>
/// <returns></returns>
Task ResetAsync();
/// <summary>
/// 清零
/// </summary>
/// <returns></returns>
Task CleanAsync();
/// <summary>
/// 回原
/// </summary>
/// <returns></returns>
Task GotoOriginAsync();
/// <summary>
/// 正转
/// </summary>
/// <param name="open"></param>
/// <returns></returns>
Task ForwardAsync(bool open);
/// <summary>
/// 反转
/// </summary>
/// <param name="open"></param>
/// <returns></returns>
Task BackwardAsync(bool open);
/// <summary>
/// 相对位置移动
/// </summary>
/// <param name="destination">距离</param>
/// <returns></returns>
Task RelativeMoveAsync(float destination);
/// <summary>
/// 绝对位置移动
/// </summary>
/// <param name="destination"></param>
/// <returns></returns>
Task AbsoluteMoveAsync(float destination);
}