using System;
namespace WCS.Entity.Protocol.SRM
{
///
/// 货叉深度
///
public enum SRMForkPos : short
{
中位 = 0,
深度1 = 1,
深度2 = 2
}
///
/// 任务类型
///
public enum SRMTaskType : short
{
完成任务 = 1,
删除任务 = 2,
移动任务 = 3,
取放货任务 = 4
}
///
/// SRM状态
///
[Flags]
public enum SRMStatus : ushort
{
RES_1_5 = 1 << 0,
RES_1_6 = 1 << 1,
RES_1_7 = 1 << 2,
RES_1_8 = 1 << 3,
RES_1_9 = 1 << 4,
RES_1_10 = 1 << 5,
RES_1_11 = 1 << 6,
RES_1_12 = 1 << 7,
RES_1_13 = 1 << 8,
RES_1_14 = 1 << 9,
RES_1_15 = 1 << 10,
RES_1_16 = 1 << 11,
RES_1_17 = 1 << 12,
RES_1_18 = 1 << 13,
RES_1_19 = 1 << 14,
RES_1_20 = 1 << 15,
}
///
/// 速度模式
///
public enum SCSpeedMode : short
{
正常 = 0,
低速 = 1
}
///
/// 货叉运行状态
///
public enum SRMForkRunStatus : short
{
空闲 = 1,
取货伸叉 = 2,
取货抬叉 = 3,
取货收叉 = 4,
放货伸叉 = 5,
取货降叉 = 6,
放货收叉 = 7,
维护 = 99
}
///
/// 堆垛机运行状态
///
public enum SRMFRunStatus : short
{
///
///
///
空闲 = 1,
///
///
///
取货行走 = 2,
///
///
///
取货伸叉 = 3,
///
///
///
取货抬叉 = 4,
///
///
///
取货收叉 = 5,
///
///
///
放货行走 = 6,
///
///
///
放货伸叉 = 7,
///
///
///
取货降叉 = 8,
///
///
///
放货收叉 = 9,
///
///
///
维护 = 99
}
///
/// 运行模式
///
public enum SRMAutoStatus : short
{
远程 = 1,
半自动 = 2,
手动 = 3,
维修 = 4
}
///
/// 货叉状态
///
[Flags]
public enum SRMForkStatus : ushort
{
///
/// 完成取货信号
///
Get_Finishi = 1 << 0,
///
/// 完成放货信号
///
Put_Finishi = 1 << 1,
///
/// 设备故障状态
///
Alarm = 1 << 2,
///
/// 当前任务完成
///
Task_Finishi = 1 << 3,
///
/// 设备上有货
///
Loaded = 1 << 4,
///
/// 货叉在原位
///
Fork_Center = 1 << 5,
///
/// 反馈WCS能否发任务
///
IssueTask = 1 << 6,
RES_1_9 = 1 << 7,
RES_1_10 = 1 << 8,
RES_1_11 = 1 << 9,
RES_1_12 = 1 << 10,
RES_1_13 = 1 << 11,
RES_1_14 = 1 << 12,
RES_1_15 = 1 << 13,
RES_1_16 = 1 << 14,
RES_1_17 = 1 << 15,
}
///
/// 堆垛机报警
///
[Flags]
public enum SCAlarm : ulong
{
无 = 0,
主柜急停 = 1L << 0,
分柜急停 = 1L << 1,
取货点异常 = 1L << 2,
放货点有货 = 1L << 3,
货叉取货完成后无货 = 1L << 4,
货叉无任务有货异常 = 1L << 5,
货叉运行超时 = 1L << 6,
货叉左侧超行程 = 1L << 7,
货物左前坍塌 = 1L << 8,
货物右前坍塌 = 1L << 9,
前限位触发 = 1L << 10,
后限位触发 = 1L << 11,
上限位触发 = 1L << 12,
下限位触发 = 1L << 13,
超载限位触发 = 1L << 14,
松绳限位触发1 = 1L << 15,
行走运动超行程 = 1L << 16,
起升运动超行程 = 1L << 17,
行走变频器报警 = 1L << 18,
提升变频器报警 = 1L << 19,
货叉变频器报警 = 1L << 20,
提升超速报警 = 1L << 21,
风扇, 灯, 插座空开 = 1L << 22,
触摸屏, 光通讯, 激光测距空开 = 1L << 23,
行走马达保护器 = 1L << 24,
行走抱闸空开 = 1L << 25,
起升马达保护器 = 1L << 26,
起升抱闸空开 = 1L << 27,
货叉马达保护器 = 1L << 28,
货叉抱闸空开 = 1L << 29,
安全门打开 = 1L << 30,
安全继电器报警 = 1L << 31,
当前货位已禁用 = 1L << 32,
组态中断报警 = 1L << 33,
货物左前超出 = 1L << 34,
货物左后超出 = 1L << 35,
货物右前超出 = 1L << 36,
货物右后超出 = 1L << 37,
相序保护 = 1L << 38,
货物右超高1M5 = 1L << 39,
安全门1报警 = 1L << 40,
安全门2报警 = 1L << 41,
行走测距信号丢失报警 = 1L << 42,
提升测距信号丢失报警 = 1L << 43,
行走定位失败 = 1L << 44,
提升定位失败 = 1L << 45,
回中定位失败 = 1L << 46,
//根据堆垛机通讯协议定义 下述报警暂时不存在
堆垛机巷道有人进入, 光通讯中断 = 1L << 47,
货叉位置错误 = 1L << 48,
货叉编码器报警 = 1L << 49,
货叉编码器报警中间位 = 1L << 50,
货叉中位光电异常 = 1L << 51,
载货台电源空开 = 1L << 52,
按钮, 安全回路空开 = 1L << 53,
货物左后坍塌 = 1L << 54,
货物右后坍塌 = 1L << 55,
登梯口急停 = 1L << 56,
货物左超高1M9 = 1L << 57,
货物右超高1M9 = 1L << 58,
松绳限位触发2 = 1L << 59,
货叉右侧超行程 = 1L << 60,
取放货托盘总数超限 = 1L << 61,
安全门急停 = 1L << 62,
}
}