1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
| using System.ComponentModel;
| using System.Reflection;
|
| namespace WIDESEAWCS_QuartzJob.StackerCrane.Enum
| {
| public enum StackerFault
| {
| [Description("载货台货物超宽")]
| DB107_26_0,
| [Description("载货台货物超长")]
| DB107_26_1,
| [Description("载货台货物超高")]
| DB107_26_2,
| [Description("载货台货物检测传感器异常")]
| DB107_26_3,
| [Description("货叉编码器值错误")]
| DB107_26_4,
| [Description("货叉动作超时")]
| DB107_26_5,
| [Description("货叉编码器值与中位信号不一致")]
| DB107_26_6,
| [Description("无效的任务类型")]
| DB107_26_7,
| [Description("无效的作业地址")]
| DB107_27_0,
| [Description("重入库")]
| DB107_27_1,
| [Description("空出库")]
| DB107_27_2,
| [Description("货物高度与货位不匹配")]
| DB107_27_3,
| [Description("取货通道堵塞")]
| DB107_27_4,
| [Description("放货通道堵塞")]
| DB107_27_5,
| [Description("放货完成后载货台仍然有货")]
| DB107_27_6,
| [Description("任务未完成超时报警")]
| DB107_27_7,
| [Description("就地柜急停触发")]
| DB107_28_0,
| [Description("机载柜急停触发")]
| DB107_28_1,
| [Description("远程急停触发")]
| DB107_28_2,
| [Description("安全门被打开")]
| DB107_28_3,
| [Description("安全继电器断开")]
| DB107_28_4,
| [Description("松绳检测")]
| DB107_28_5,
| [Description("超速保护")]
| DB107_28_6,
| [Description("行走变频器故障")]
| DB107_28_7,
| [Description("升降变频器故障")]
| DB107_29_0,
| [Description("货叉1变频器故障")]
| DB107_29_1,
| [Description("货叉2变频器故障")]
| DB107_29_2,
| [Description("升降行走定位超时")]
| DB107_29_3,
| [Description("货叉1编码器值与中位信号不一致")]
| DB107_29_4,
| [Description("货叉2编码器值与中位信号不一致")]
| DB107_29_5,
| [Description("行走激光值错误")]
| DB107_29_6,
| [Description("升降激光值错误")]
| DB107_29_7,
| [Description("前进极限行程")]
| DB107_30_0,
| [Description("后退极限行程")]
| DB107_30_1,
| [Description("上升极限行程")]
| DB107_30_2,
| [Description("下降极限行程")]
| DB107_30_3,
| [Description("货叉1左极限行程")]
| DB107_30_4,
| [Description("货叉1右极限行程")]
| DB107_30_5,
| [Description("货叉2左极限行程")]
| DB107_30_6,
| [Description("货叉2右极限行程")]
| DB107_30_7,
| [Description("前进激光极限保护")]
| DB107_31_0,
| [Description("后退激光极限保护")]
| DB107_31_1,
| [Description("上升激光极限保护")]
| DB107_31_2,
| [Description("下降激光极限保护")]
| DB107_31_3,
| [Description("货叉1左软极限")]
| DB107_31_4,
| [Description("货叉1右软极限")]
| DB107_31_5,
| [Description("货叉2左软极限")]
| DB107_31_6,
| [Description("货叉2右软极限")]
| DB107_31_7,
| [Description("与地面站网络断开")]
| DB107_32_0,
| [Description("与输送线网络断开")]
| DB107_32_1,
| [Description("与WCS网络断开")]
| DB107_32_2,
| [Description("无效命令:堆垛机有货")]
| DB107_32_3,
| [Description("无效命令:堆垛机无货")]
| DB107_32_4,
| [Description("消防误报")]
| DB107_32_5,
| [Description("前进雷达报警")]
| DB107_32_6,
| [Description("后退雷达报警")]
| DB107_32_7,
| [Description("左防火门超时")]
| DB107_33_0,
| [Description("右防火门超时")]
| DB107_33_1,
| [Description("替罪羊检测报警")]
| DB107_33_2,
| [Description("近叉运行异常")]
| DB107_33_3,
| [Description("远叉运行异常")]
| DB107_33_4,
| [Description("水平运行异常")]
| DB107_33_5,
| [Description("升降运行异常")]
| DB107_33_6,
| [Description("预留13")]
| DB107_33_7,
| [Description("升降刹车异常")]
| DB107_34_0,
| [Description("行走刹车异常")]
| DB107_34_1,
| [Description("近叉刹车异常")]
| DB107_34_2,
| [Description("远叉刹车异常")]
| DB107_34_3,
| [Description("左侧过载")]
| DB107_34_4,
| [Description("右侧过载")]
| DB107_34_5,
| [Description("预留")]
| DB107_34_6,
| [Description("预留_1")]
| DB107_34_7,
| [Description("预留_2")]
| DB107_35_0,
| [Description("预留_3")]
| DB107_35_1,
| [Description("预留_4")]
| DB107_35_2,
| [Description("预留_5")]
| DB107_35_3,
| [Description("预留_6")]
| DB107_35_4,
| [Description("预留_7")]
| DB107_35_5,
| [Description("预留_8")]
| DB107_35_6,
| [Description("预留13")]
| DB107_35_7
| }
|
| public static class StackerFaultExtensions
| {
| public static string GetDesc(this StackerFault fault)
| {
| var field = fault.GetType().GetField(fault.ToString());
| var attr = field.GetCustomAttribute<DescriptionAttribute>();
| return attr?.Description ?? fault.ToString();
| }
|
| public static string ToPlcAddress(this StackerFault fault)
| {
| return fault.ToString().Replace("_", ".");
| }
| }
| }
|
|