Commit 9100311f 几米阳光

灯闪烁修改

1 个父辈 39e3851f
...@@ -6,5 +6,38 @@ ...@@ -6,5 +6,38 @@
4.增加模拟量IO 4.增加模拟量IO
20181107
1.出库时等待10秒钟,或等待拿走料盘(高度=0)才算出库结束
20181108
// 机器状态 顶灯显示
// 绿 黄 红
//机器复位中 闪 灭 灭
//机器待机中 亮 灭 灭
//机器出入库中 闪 闪 灭
//温湿度超限报警中 亮 闪 灭
//温湿度超限报警中超过30分钟 亮 闪 闪
//机器未启动 灭 灭 灭
//机器设备故障(非温湿度)报警 亮 灭 闪
\ No newline at end of file \ No newline at end of file
...@@ -104,9 +104,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -104,9 +104,9 @@ namespace OnlineStore.DeviceLibrary
Thread.Sleep(300); Thread.Sleep(300);
//默认三个灯都亮 //默认三个灯都亮
KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH); 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.HIGH); KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
} }
private void IoCheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) private void IoCheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
...@@ -772,63 +772,142 @@ namespace OnlineStore.DeviceLibrary ...@@ -772,63 +772,142 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info("【" + info + "】 处理完成,耗时:" + (DateTime.Now - preProcessTime).ToString()); LogUtil.info("【" + info + "】 处理完成,耗时:" + (DateTime.Now - preProcessTime).ToString());
} }
} }
//private void LedProcess()
//{
//try
//{
// DateTime time = DateTime.Now;
// //黄灯
// if (IsNotScanCode || storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset))
// {
// //开机执行中时黄灯闪烁
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
// }
// else
// {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
// }
// }
// else
// {
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
// }
// }
// //路灯亮
// //出入库执行中,绿灯闪烁
// if ((StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore)) && KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// }
// else
// {
// if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.LOW))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
// }
// }
// bool isNeedAlarmLed = false;
// //报警灯
// if (!alarmType.Equals(StoreAlarmType.None) || isNoAirCheck || isInSuddenDown)
// {
// isNeedAlarmLed = true;
// }
// if (isNeedAlarmLed)
// {
// if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
// {
// KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
// }
// }
// else
// {
// if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
// }
// }
//}
//catch (Exception ex)
//{
// LOGGER.Error(StoreName + "灯处理定时器出错:", ex);
//}
//}
private void LedProcess() private void LedProcess()
{ {
try try
{ {
// 机器状态 顶灯显示
// 绿 黄 红
//机器复位中 闪 灭 灭
//机器待机中 亮 灭 灭
//机器出入库中 闪 闪 灭
//温湿度超限报警中 亮 闪 灭
//温湿度超限报警中超过30分钟 亮 闪 闪
//机器未启动 灭 灭 灭
//机器设备故障(非温湿度)报警 亮 灭 闪
DateTime time = DateTime.Now; DateTime time = DateTime.Now;
//黄灯 bool isTemp30M = false;
if (IsNotScanCode || storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset)) if (TempOrHumidityIsAlarm)
{ {
//开机执行中时黄灯闪烁 TimeSpan span = DateTime.Now - TempAlarmTime;
if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH)) if (span.Minutes > 30)
{
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
}
else
{ {
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH); isTemp30M = true;
} }
} }
else bool isNeedAlarmLed = false;
//报警灯
if (!alarmType.Equals(StoreAlarmType.None) || isTemp30M)
{ {
if (KNDIOValue(IO_Type.RunSign_HddLed).Equals( IO_VALUE.HIGH)) isNeedAlarmLed = true;
{
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
}
} }
//路灯亮 if (isNeedAlarmLed && KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
//出入库执行中,绿灯闪烁
if ((StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore)) && KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
} }
else else
{ {
if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.LOW)) if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
} }
} }
bool isNeedAlarmLed = false;
//报警灯 //绿灯闪
if (!alarmType.Equals(StoreAlarmType.None) || isNoAirCheck || isInSuddenDown ) 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))
{ {
isNeedAlarmLed = true; KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
else
if (isNeedAlarmLed) {
//绿灯亮
KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
}
//黄灯
if (StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore) || TempOrHumidityIsAlarm || isTemp30M)
{ {
if (KNDIOValue(IO_Type.Alarm_HddLed).Equals( IO_VALUE.LOW)) if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH); KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
}
else
{
KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
} }
} }
else else
{ {
if (KNDIOValue(IO_Type.Alarm_HddLed).Equals( IO_VALUE.HIGH)) if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{ {
KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
} }
} }
} }
...@@ -1265,12 +1344,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -1265,12 +1344,11 @@ namespace OnlineStore.DeviceLibrary
IsNotScanCode = false; IsNotScanCode = false;
if (storeRunStatus.Equals(StoreRunStatus.Wait)) if (storeRunStatus.Equals(StoreRunStatus.Wait))
{ {
CodeMsg = "收到二维码【 " + message + "】,设备未启动,不需要发送服务器";
LogUtil.info(LOGGER, StoreName + "收到二维码【 " + message + "】,设备未启动,不需要发送服务器"); LogUtil.info(LOGGER, StoreName + "收到二维码【 " + message + "】,设备未启动,不需要发送服务器");
IsScanCode = false; IsScanCode = false;
return; return;
} }
CodeMsg = "收到二维码【 " + message + "】,发送给服务器获取入库PosID"; // CodeMsg = "收到二维码【 " + message + "】,发送给服务器获取入库PosID";
LogUtil.info(LOGGER, StoreName + "收到二维码【 " + message + "】,发送给服务器获取入库PosID"); LogUtil.info(LOGGER, StoreName + "收到二维码【 " + message + "】,发送给服务器获取入库PosID");
//发送扫码内容到服务器进行入库操作 //发送扫码内容到服务器进行入库操作
Operation operation = getLineBoxStatus(); Operation operation = getLineBoxStatus();
...@@ -1280,7 +1358,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1280,7 +1358,7 @@ namespace OnlineStore.DeviceLibrary
Operation resultOperation = HttpHelper.Post(StoreManager.GetPostApi(server), operation, false); Operation resultOperation = HttpHelper.Post(StoreManager.GetPostApi(server), operation, false);
if (resultOperation == null) if (resultOperation == null)
{ {
CodeMsg = "二维码【" + message + "】没有收到服务器反馈"; // CodeMsg = "二维码【" + message + "】没有收到服务器反馈";
LogUtil.info(LOGGER, StoreName + "二维码【" + message + "】没有收到服务器反馈!"); LogUtil.info(LOGGER, StoreName + "二维码【" + message + "】没有收到服务器反馈!");
IsScanCode = false; IsScanCode = false;
return; return;
...@@ -1419,8 +1497,23 @@ namespace OnlineStore.DeviceLibrary ...@@ -1419,8 +1497,23 @@ namespace OnlineStore.DeviceLibrary
public int GetSize() public int GetSize()
{ {
return 7; return 7;
//double ai1Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 1), Config.AIDI1_DefaultPosition);
//double ai2Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 2), Config.AIDI2_DefaultPosition);
//double ai3Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 3), Config.AIDI3_DefaultPosition);
//if (ai1Value > 14 && ai2Value > 14 && ai3Value > 14)
//{
// return 13;
//}
//return 7;
}
public int GetHeight()
{
int result = 0; int result = 0;
double Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 3), Config.AIDI3_DefaultPosition);
double ai1Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 1), Config.AIDI1_DefaultPosition);
double ai2Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 2), Config.AIDI2_DefaultPosition);
double ai3Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 3), Config.AIDI3_DefaultPosition);
double Value = Math.Round((ai1Value + ai2Value + ai3Value) / 3, 1);
if (Value > 14) if (Value > 14)
{ {
result = 16; result = 16;
...@@ -1437,24 +1530,57 @@ namespace OnlineStore.DeviceLibrary ...@@ -1437,24 +1530,57 @@ namespace OnlineStore.DeviceLibrary
{ {
result = 0; result = 0;
} }
if (result > 0)
{
return 13;
}else
{
return 7;
}
}
public int GetHeight()
{
int result = 0;
double ai1Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 1), Config.AIDI1_DefaultPosition);
double ai2Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 2), Config.AIDI2_DefaultPosition);
double ai3Value = KNDAIManager.ConvertAI(KNDAIManager.GetAIValue(Config.AIDevice_IP, 3), Config.AIDI3_DefaultPosition);
double Value = Math.Round((ai1Value + ai2Value +ai3Value) / 3, 1); return result;
//List<double> list = new List<double>() { ai1Value,ai2Value,ai3Value};
//double pingjValue = (ai3Value + ai2Value + ai1Value) / 3;
//// ,8-11为第0区间,11-14 为第1区间,14-15为第2区间,>=15为第3区间
//List<int> qujianList = new List<int>() {0,0,0,0,0,0 };
//foreach (double d in list)
//{
// if (d < 11)
// {
// qujianList[0]++;
// } else if (d <= 14)
// {
// qujianList[1]++;
// } else if (d <= 15)
// {
// qujianList[2]++;
// } else
// {
// qujianList[3]++;
// }
//}
//if (qujianList[0] >= 2)
//{
// result = 0;
//}
//else if (qujianList[1].Equals(3))
//{
// result = 8;
//}
//else if (qujianList[1] >= 1 && (qujianList[1] + qujianList[2] + qujianList[3] >= 3))
//{
// result = 12;
//}
//else
//{
// if (pingjValue < 10)
// {
// result = 0;
// }
// else if (pingjValue > 18)
// {
// result = 16;
// }
// else
// {
// result = 12;
// }
//}
//return result;
//int radValue =(int) ( Value / 4); //int radValue =(int) ( Value / 4);
//double mValue = (Value % 4); //double mValue = (Value % 4);
//if (mValue > 1) //if (mValue > 1)
...@@ -1465,24 +1591,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1465,24 +1591,7 @@ namespace OnlineStore.DeviceLibrary
//{ //{
// result = radValue * 4; // result = radValue * 4;
//} //}
if (Value > 14)
{
result = 16;
}
else if (Value >= 10)
{
result = 12;
}
else if (Value >= 4)
{
result = 8;
}
else
{
result = 0;
}
return result;
} }
#endregion #endregion
...@@ -1502,6 +1611,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1502,6 +1611,7 @@ namespace OnlineStore.DeviceLibrary
private DateTime preLogTime = DateTime.Now; private DateTime preLogTime = DateTime.Now;
private bool TempOrHumidityIsAlarm = false; private bool TempOrHumidityIsAlarm = false;
private DateTime TempAlarmTime = DateTime.Now;
private float StartBlowValue = (float)ConfigAppSettings.GetNumValue(Setting_Init.StartBlowValue); private float StartBlowValue = (float)ConfigAppSettings.GetNumValue(Setting_Init.StartBlowValue);
private float StopBlowValue = (float)ConfigAppSettings.GetNumValue(Setting_Init.StopBlowValue); private float StopBlowValue = (float)ConfigAppSettings.GetNumValue(Setting_Init.StopBlowValue);
...@@ -1572,7 +1682,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -1572,7 +1682,8 @@ namespace OnlineStore.DeviceLibrary
//如果开始吹气并且当前达到报警值 //如果开始吹气并且当前达到报警值
if (IsInBlowing.Equals(true) && humidity > Max_Humidity) if (IsInBlowing.Equals(true) && humidity > Max_Humidity)
{ {
TempOrHumidityIsAlarm = true; TempAlarmTime = DateTime.Now;
TempOrHumidityIsAlarm = true;
} }
else else
{ {
...@@ -1583,6 +1694,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1583,6 +1694,7 @@ namespace OnlineStore.DeviceLibrary
if (temp > Max_Temperature && Max_Temperature > 0) if (temp > Max_Temperature && Max_Temperature > 0)
{ {
LOGGER.Info("当前温度【" + param.Temperate + "】超过最高温度【" + Max_Temperature + "】,开始报警!"); LOGGER.Info("当前温度【" + param.Temperate + "】超过最高温度【" + Max_Temperature + "】,开始报警!");
TempAlarmTime = DateTime.Now;
TempOrHumidityIsAlarm = true; TempOrHumidityIsAlarm = true;
//Thread.Sleep(100); //Thread.Sleep(100);
KNDIOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW); KNDIOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!