Commit 8f4fffc6 几米阳光

灯状态修改

1 个父辈 a8dda7d4
...@@ -53,13 +53,13 @@ ...@@ -53,13 +53,13 @@
3.扫码不需要每次都关闭相机。 3.扫码不需要每次都关闭相机。
增加功能: 20190305增加功能:
1,复位时增加料盘感应功能,感应到料盘时给提示且增加出库功能 1,复位时增加料盘感应功能,感应到料盘时给提示且增加出库功能
2,出库完成时,通过料仓窗口高度感应检测出料有无料盘,无料盘提示报警。 2,出库完成时,通过料仓窗口高度感应检测出料有无料盘,无料盘提示报警。
20190306修改
通电和待机白灯亮,出入库过程中绿灯亮,报警黄灯亮2秒灭掉后红灯亮
......
...@@ -274,7 +274,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -274,7 +274,7 @@ namespace OnlineStore.DeviceLibrary
CurrInOutACount = 0; CurrInOutACount = 0;
KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
//复位之前先停止运行 //复位之前先停止运行
if (isNeedClearAuto) if (isNeedClearAuto)
...@@ -778,7 +778,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -778,7 +778,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(LOGGER, StoreName + ",停止运行,总运行时间:" + span.ToString()); LogUtil.info(LOGGER, StoreName + ",停止运行,总运行时间:" + span.ToString());
} }
private DateTime LastAlarmTime = DateTime.Now;
public override void Alarm(StoreAlarmType alarmType, string alarmDetial, string alarmMsg, StoreMoveType storeMoveType) public override void Alarm(StoreAlarmType alarmType, string alarmDetial, string alarmMsg, StoreMoveType storeMoveType)
{ {
SaveAlarmInfo(alarmType, alarmDetial, alarmMsg, storeMoveType); SaveAlarmInfo(alarmType, alarmDetial, alarmMsg, storeMoveType);
...@@ -790,6 +790,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -790,6 +790,7 @@ namespace OnlineStore.DeviceLibrary
} }
LogUtil.error(LOGGER, StoreName + " 报警,报警类型:" + alarmType); LogUtil.error(LOGGER, StoreName + " 报警,报警类型:" + alarmType);
LastAlarmTime = DateTime.Now;
this.alarmType = alarmType; this.alarmType = alarmType;
if (alarmType.Equals(StoreAlarmType.AxisAlarm) | alarmType.Equals(StoreAlarmType.AxisMoveError)) if (alarmType.Equals(StoreAlarmType.AxisAlarm) | alarmType.Equals(StoreAlarmType.AxisMoveError))
{ {
...@@ -874,48 +875,66 @@ namespace OnlineStore.DeviceLibrary ...@@ -874,48 +875,66 @@ namespace OnlineStore.DeviceLibrary
{ {
try try
{ {
// 灯状态修改: //20190306修改:通电和待机白灯亮,出入库过程中绿灯亮,报警黄灯亮2秒灭掉后红灯亮
// 红灯:报警故障时常亮
// 黄灯:待机时闪烁
// 绿灯:正常运行或待机时常亮
if (alarmType.Equals(StoreAlarmType.None)) if (alarmType.Equals(StoreAlarmType.None))
{ {
//黄灯常亮 //出入库过程中绿灯亮,其他情况下绿灯灭
if (StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore))
{
if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.LOW)) if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.LOW))
{ {
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
} }
//空闲中黄灯闪
if ((StoreMove.MoveType.Equals(StoreMoveType.None)))
{
if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
} }
else else
{ {
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH); if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
} }
//红灯黄灯关闭
if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH)) if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
} }
if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
}
} }
else else
{ {
//报警 红灯亮,绿灯黄灯灭 //报警关闭绿灯
if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
}
//判断报警时间,报警前两秒黄灯亮,后面绿灯亮
TimeSpan span = DateTime.Now - LastAlarmTime;
if (span.TotalSeconds > 2)
{
//红灯亮
if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW)) if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
{ {
KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH); KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
} }
if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
} }
if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH)) }
else
{ {
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.LOW))
{
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
}
if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
{
KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
}
} }
} }
} }
...@@ -928,89 +947,49 @@ namespace OnlineStore.DeviceLibrary ...@@ -928,89 +947,49 @@ namespace OnlineStore.DeviceLibrary
//{ //{
// try // try
// { // {
// // 机器状态 顶灯显示 // //20190306修改:通电和待机白灯亮,出入库过程中绿灯亮,报警黄灯亮2秒灭掉后红灯亮
// // 绿 黄 红 // // 灯状态修改:
// //机器复位中 闪 灭 灭 // // 红灯:报警故障时常亮
// //机器待机中 亮 灭 灭 // // 黄灯:待机时闪烁
// //机器出入库中 闪 闪 灭 // // 绿灯:正常运行或待机时常亮
// //温湿度超限报警中 亮 闪 灭 // if (alarmType.Equals(StoreAlarmType.None))
// //温湿度超限报警中超过30分钟 亮 闪 闪
// //机器未启动 灭 灭 灭
// //机器设备故障(非温湿度)报警 亮 灭 闪
// //报警时只需要亮红灯
// DateTime time = DateTime.Now;
// bool isTemp30M = false;
// if (TempOrHumidityIsAlarm)
// { // {
// TimeSpan span = DateTime.Now - TempAlarmTime; // //黄灯常亮
// if (span.Minutes > 30) // if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.LOW))
// { // {
// isTemp30M = true; // KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
// }
// } // }
// bool isNeedAlarmLed = false; // //空闲中黄灯闪
// //报警灯 // if ((StoreMove.MoveType.Equals(StoreMoveType.None)))
// if (!alarmType.Equals(StoreAlarmType.None) || isTemp30M)
// { // {
// isNeedAlarmLed = true; // if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// }
// if (isNeedAlarmLed && KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
// { // {
// KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH); // KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
// } // }
// else // else
// { // {
// if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH)) // KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
// {
// KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
// }
// } // }
// //报警时绿灯和黄灯灭
// if (isNeedAlarmLed)
// {
// if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// } // }
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH)) // if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
// { // {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); // KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
// } // }
// return;
// }
// //绿灯闪
// if ((StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore)
// || storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset))
// && KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// } // }
// else // else
// { // {
// //绿灯亮 // //报警 红灯亮,绿灯黄灯灭
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); // if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
// }
// //黄灯
// if (StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore) || TempOrHumidityIsAlarm || isTemp30M)
// {
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// { // {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); // KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
// } // }
// else // if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
// { // {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH); // KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// }
// } // }
// else
// {
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH)) // if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// { // {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); // KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// } // }
// } // }
// } // }
...@@ -1019,6 +998,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1019,6 +998,7 @@ namespace OnlineStore.DeviceLibrary
// LOGGER.Error(StoreName + "灯处理定时器出错:", ex); // LOGGER.Error(StoreName + "灯处理定时器出错:", ex);
// } // }
//} //}
private IO_VALUE lastAutoRun = IO_VALUE.LOW; private IO_VALUE lastAutoRun = IO_VALUE.LOW;
private IO_VALUE lastAirValue = IO_VALUE.LOW; private IO_VALUE lastAirValue = IO_VALUE.LOW;
public void IoCheckProcess() public void IoCheckProcess()
......
...@@ -729,6 +729,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -729,6 +729,11 @@ namespace OnlineStore.DeviceLibrary
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed); ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
CloseDoorAndWait(); CloseDoorAndWait();
//把料盘放到门口时出库完成
string posId = StoreMove.MoveParam != null ? StoreMove.MoveParam.PositionNum : "";
lastPosId = posId;
lastPosIdStatus = StoreStatus.OutStoreEnd;
storeStatus = StoreStatus.OutStoreEnd;
} }
else if (StoreMove.MoveStep == StoreMoveStep.SO_13_GoBack) else if (StoreMove.MoveStep == StoreMoveStep.SO_13_GoBack)
{ {
......
...@@ -104,6 +104,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -104,6 +104,11 @@ namespace OnlineStore.DeviceLibrary
/// 重置中(原点返回和重置都发此状态) /// 重置中(原点返回和重置都发此状态)
/// </summary> /// </summary>
ResetMove=13, ResetMove=13,
/// <summary>
/// 出库完成,叉子从门口退回之后更新为此状态
/// </summary>
OutStoreEnd = 14,
} }
/// <summary> /// <summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!