StoreBase.cs
9.9 KB
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
//using log4net;
//using System;
//using System.Collections.Generic;
//using System.Drawing;
//using System.Linq;
//using System.Text;
//
//using OnlineStore.Common;
//using OnlineStore.LoadCSVLibrary;
//namespace OnlineStore.DeviceLibrary
//{
// public abstract class StoreBase
// {
// public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// /// <summary>
// /// 料仓ID唯一
// /// </summary>
// public int StoreId { get; set; }
// /// <summary>
// /// 开始运行的时间
// /// </summary>
// public DateTime StartTime { get; set; }
// /// <summary>
// /// 日志颜色
// /// </summary>
// public static Color storeMoveColor = Color.Blue;
// public DateTime statusTime = DateTime.Now;
// /// <summary>
// /// 伺服运行时间列表,key=轴,key=开始时间,value=结束时间
// /// </summary>
// public Dictionary<int, Dictionary<DateTime, DateTime>> AxisRunTimeMap = new Dictionary<int, Dictionary<DateTime, DateTime>>();
// public DateTime middleAxisLastStartTime;
// public DateTime updownAxisLastStartTime;
// /// <summary>
// /// 上下轴报警状态
// /// </summary>
// public int UpDownAxisAlarmCode = 0;
// /// <summary>
// /// 料仓中轴报警状态
// /// </summary>
// public int MiddleAxisAlarmCode = 0;
// /// <summary>
// /// 定时器
// /// </summary>
// protected System.Timers.Timer timersTimer;
// /// <summary>
// /// 料仓状态
// /// </summary>
// protected StoreRunStatus storerunstatus = StoreRunStatus.Wait;
// /// <summary>
// /// 移动信息
// /// </summary>
// public StoreMoveInfo StoreMove = null;
// /// <summary>
// /// 料仓配置信息
// /// </summary>
// public StoreConfig Config { get; set; }
// public string StoreName()
// {
// return "ID=" + Config.Id + ",CID+" + Config.CID;
// }
// public StoreStatus storeStatus = StoreStatus.StoreOnline;
// /// <summary>
// /// 料仓状态
// /// </summary>
// public StoreRunStatus storeRunStatus
// {
// get
// {
// return storerunstatus;
// }
// set
// {
// StoreRunStatus oldStatus = storerunstatus;
// storerunstatus = value;
// statusTime = DateTime.Now;
// }
// }
// public StoreBase()
// {
// }
// public StoreBase(StoreConfig config)
// {
// this.StoreId = config.Id;
// this.Config = config;
// StoreMove = new StoreMoveInfo(StoreId);
// }
// /// <summary>
// /// 定时任务
// /// </summary>
// protected abstract void timersTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e);
// /// <summary>
// /// 复位
// /// </summary>
// public abstract void Reset();
// /// <summary>
// /// 报警
// /// </summary>
// /// <param name="alarmType"></param>
// public abstract void Alarm(StoreAlarmType alarmType);
// /// <summary>
// /// 停止运动
// /// </summary>
// public abstract void StopMove();
// /// <summary>
// /// 上下移动(根据料仓类型,为电钢移动或者运动轴运动)
// /// </summary>
// /// <param name="abs"></param>
// public abstract void UpDownAxisMove(AbsMoveParam abs);
// /// <summary>
// /// 中轴运动
// /// </summary>
// /// <param name="abs"></param>
// public abstract void MiddleAxisMove(AbsMoveParam abs);
// /// <summary>
// /// 出仓流程处理
// /// </summary>
// protected abstract void OutStoreProcess();
// /// <summary>
// /// 入仓流程处理
// /// </summary>
// protected abstract void InStoreProcess();
// /// <summary>
// /// 判断急停是否开着,开着表示可以运行
// /// </summary>
// /// <returns></returns>
// public abstract Boolean IsCanStart();
// /// <summary>
// /// 开始运行
// /// </summary>
// public abstract void StartRun();
// /// <summary>
// /// 停止运行
// /// </summary>
// public abstract void StopRun();
// /// <summary>
// /// 初始化
// /// </summary>
// public virtual void Init()
// {
// StoreMove = new StoreMoveInfo(this.StoreId);
// timersTimer = new System.Timers.Timer();
// timersTimer.Enabled = false;
// timersTimer.Interval = 100;
// timersTimer.Elapsed += timersTimer_Elapsed;
// timersTimer.AutoReset = true;
// }
// /// <summary>
// /// 运动处理
// /// </summary>
// public virtual void BusyMoveProcess()
// {
// if (StoreMove.MoveType == StoreMoveType.InStore)
// {
// InStoreProcess();
// }
// else if (StoreMove.MoveType == StoreMoveType.OutStore)
// {
// OutStoreProcess();
// }
// }
// /// <summary>
// /// 开始入库移动移动
// /// </summary>
// public abstract void StartInStoreMove(InOutStoreParam param);
// /// <summary>
// /// 开始出库运动
// /// </summary>
// public abstract void StartOutStoreMove(InOutStoreParam param);
// /// <summary>
// /// 开始或者停止吹吹气,通过io来判断
// /// </summary>
// /// <param name="start"></param>
// public abstract void StartOrStopBlow(bool start);
// /// <summary>
// /// io控制的运动(取料叉子运动,门上下移动)
// /// </summary>
// /// <param name="moveType">运行方式</param>
// /// <param name="ioValue">1=开始,0=停止</param>
// public abstract void DeviceIoMove(Store_IO_Type moveType, IO_VALUE ioValue);
// /// <summary>
// /// 获取io控制的运动当前的指示灯状态
// /// </summary>
// public abstract IO_VALUE GetDeviceIoStatus(Store_IO_Type moveType);
// /// <summary>
// /// 中轴轴定点运动结束处理
// /// </summary>
// public virtual void MiddleMoveEnd(int moveType, int AxisNo, int targetPosition)
// {
// StoreMoveInfo move = StoreMove;
// if (middleAxisLastStartTime != null && middleAxisLastStartTime.Year > 1)
// {
// Dictionary<DateTime,DateTime> moveTimeMap=null;
// if (AxisRunTimeMap.ContainsKey(AxisNo))
// {
// moveTimeMap = AxisRunTimeMap[AxisNo];
// }
// else
// {
// moveTimeMap = new Dictionary<DateTime, DateTime>();
// AxisRunTimeMap.Add(AxisNo, moveTimeMap);
// }
// if (!moveTimeMap.ContainsKey(middleAxisLastStartTime))
// {
// moveTimeMap.Add(middleAxisLastStartTime, DateTime.Now);
// LOGGER.Info("storeId=" + StoreId + ",伺服运动结束,开始时间" + middleAxisLastStartTime.ToString() + ",结束时间" + DateTime.Now.ToString());
// middleAxisLastStartTime.AddYears(-1 * middleAxisLastStartTime.Year+1);
// }
// AxisRunTimeMap.Remove(AxisNo);
// AxisRunTimeMap.Add(AxisNo, moveTimeMap);
// }
// if (moveType == 0)
// {
// //if (move.moveStatus == StoreMoveStep.InStoreReadyMove
// // || move.moveStatus == StoreMoveStep.MoveToRoom
// // || move.moveStatus == StoreMoveStep.MoveOutFromRoom
// // || move.moveStatus == StoreMoveStep.OutStoreReadyMove
// // )
// {
// move.MoveResult++;
// }
// }
// else if (moveType == 1)
// {
// //if (storeRunStatus == StoreRunStatus.Reset)
// //{
// // StoreMove.MoveResult--;
// // if (StoreMove.MoveResult == 0)
// // {
// // storeRunStatus = StoreRunStatus.Runing;
// // }
// //}
// }
// }
// /// <summary>
// /// 获取料仓运行的时间
// /// </summary>
// /// <returns></returns>
// public TimeSpan GetStoreRunTime()
// {
// if (StartTime != null)
// {
// return DateTime.Now - StartTime;
// }
// else
// {
// return new TimeSpan(0);
// }
// }
// /// <summary>
// /// 获取轴已运行时间
// /// </summary>
// /// <returns></returns>
// public TimeSpan GetAxisRunTime(int axisNo)
// {
// TimeSpan span = new TimeSpan(0);
// if (AxisRunTimeMap.ContainsKey(axisNo))
// {
// Dictionary<DateTime, DateTime> moveMap = AxisRunTimeMap[axisNo];
// if (moveMap != null && moveMap.Count > 0)
// {
// foreach (DateTime key in moveMap.Keys)
// {
// span += moveMap[key] - key;
// }
// }
// }
// return span;
// }
// public abstract string GetTemperateAddress();
// public abstract bool IsMyAxis(string deviceName, int AxisNo);
// }
//}