Commit 034757b4 LN

出入库过程中进出轴报警,调用disablePos库位

1 个父辈 447c419f
...@@ -475,29 +475,40 @@ namespace OnlineStore.DeviceLibrary ...@@ -475,29 +475,40 @@ namespace OnlineStore.DeviceLibrary
LogInfo( ",停止运行,总运行时间:" + span.ToString()); LogInfo( ",停止运行,总运行时间:" + span.ToString());
} }
private DateTime lastDisTime = DateTime.Now;
public override void Alarm(StoreAlarmType alarmType, string alarmDetial, string alarmMsg, StoreMoveType storeMoveType) private string LastPosId = "";
public override void Alarm(StoreAlarmType nalarmType, string alarmDetial, string alarmMsg, StoreMoveType storeMoveType)
{ {
SaveAlarmInfo(alarmType, alarmDetial, alarmMsg, storeMoveType); SaveAlarmInfo(nalarmType, alarmDetial, alarmMsg, storeMoveType);
autoNext = false; autoNext = false;
if (this.alarmType.Equals(alarmType) && alarmType != StoreAlarmType.SuddenStop && alarmType != StoreAlarmType.NoAirCheck) if (this.alarmType.Equals(nalarmType) && nalarmType != StoreAlarmType.SuddenStop && nalarmType != StoreAlarmType.NoAirCheck)
{ {
return; return;
} }
LogUtil.error(Name + " 报警,报警类型:" + alarmType); LogUtil.error(Name + " 报警,报警类型:" + nalarmType);
this.alarmType = alarmType; this.alarmType = nalarmType;
if (alarmType.Equals(StoreAlarmType.AxisAlarm) || alarmType.Equals(StoreAlarmType.AxisMoveError)) if (nalarmType.Equals(StoreAlarmType.AxisAlarm) || nalarmType.Equals(StoreAlarmType.AxisMoveError))
{ {
if (MoveInfo.MoveType.Equals(StoreMoveType.InStore) || MoveInfo.MoveType.Equals(StoreMoveType.OutStore)) if (MoveInfo.MoveType.Equals(StoreMoveType.InStore) || MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
//只有第一次报警才处理库位号
{ {
if (alarmDetial.Equals(LineAlarm.InOutAxisAlarm.ToString()) && MoveInfo.MoveParam != null && MoveInfo.MoveParam.PosInfo != null) if (alarmDetial.Equals(LineAlarm.InOutAxisAlarm.ToString()) && MoveInfo.MoveParam != null && MoveInfo.MoveParam.PosInfo != null)
{ {
string posId = MoveInfo.MoveParam.PosInfo.PosId; string posId = MoveInfo.MoveParam.PosInfo.PosId;
LogUtil.info(Name + " [" + MoveInfo.MoveType + "][" + MoveInfo.MoveStep + "]" + MoveInfo.MoveParam.PosInfo.ToStr() + " 过程中进出轴报警,记录库位号["+ posId + "]"); TimeSpan span = DateTime.Now - lastDisTime;
//TODO if (lastPosId.Equals(posId) && span.TotalSeconds < 8)
{
//同一个库位8秒内不重复发
}
else
{
lastDisTime = DateTime.Now;
LastPosId = posId;
LogUtil.info(Name + " [" + MoveInfo.MoveType + "][" + MoveInfo.MoveStep + "]" + MoveInfo.MoveParam.PosInfo.ToStr() + " 过程中进出轴报警,记录库位号[" + posId + "],调用disablePos");
Task.Factory.StartNew(delegate () { StoreManager.disablePos(posId); });
}
} }
} }
...@@ -505,7 +516,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -505,7 +516,7 @@ namespace OnlineStore.DeviceLibrary
//IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); //IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
StopMove(); StopMove();
} }
else if (alarmType == StoreAlarmType.SuddenStop) else if (nalarmType == StoreAlarmType.SuddenStop)
{ {
isInSuddenDown = true; isInSuddenDown = true;
LogUtil.error(Name + "收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 "); LogUtil.error(Name + "收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 ");
...@@ -513,7 +524,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -513,7 +524,7 @@ namespace OnlineStore.DeviceLibrary
StopMove(); StopMove();
storeStatus = StoreStatus.SuddenStop; storeStatus = StoreStatus.SuddenStop;
} }
else if (alarmType.Equals(StoreAlarmType.NoAirCheck)) else if (nalarmType.Equals(StoreAlarmType.NoAirCheck))
{ {
isNoAirCheck = true; isNoAirCheck = true;
LogUtil.error(Name + " 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 "); LogUtil.error(Name + " 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 ");
......
...@@ -126,59 +126,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -126,59 +126,6 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
//public static BoxBean InitStore()
//{
// try
// {
// BaseConfig.ProIOIpMap = new Dictionary<string, string>();
// if (!isInit)
// {
// string server = ConfigAppSettings.GetValue(Setting_Init.http_server);
// if (server.Equals(""))
// {
// IsConnectServer = false;
// }
// else
// {
// //IsConnectServer = true;
// }
// CheckEnum(typeof(StoreMoveStep));
// CheckEnum(typeof(StoreStatus));
// CheckEnum(typeof(StoreRunStatus));
// isInit = true;
// string storeType = ConfigAppSettings.GetValue(Setting_Init.Store_Type);
// LogUtil.info( "配置的料仓 类型=" + storeType + ",开始加载料仓配置");
// if (storeType == StoreType.RC_AC_SA)
// {
// string appPath = Application.StartupPath;
// string CID = ConfigAppSettings.GetValue(Setting_Init.Store_CID);
// string linefilePath = appPath + ConfigAppSettings.GetValue(Setting_Init.Store_ConfigPath);
// int storeID = ConfigAppSettings.GetIntValue(Setting_Init.Store_ID);
// BaseConfig storeConfig = CSVConfigReader.LoadConfig(storeID, CID, StoreType.RC_AC_SA, linefilePath);
// string positionConfigFile = appPath + ConfigAppSettings.GetValue(Setting_Init.Store_Position_Config);
// if (File.Exists(positionConfigFile))
// {
// LogUtil.info( "加载位置文件:" + positionConfigFile);
// CSVPositionReader<ACStorePosition>.ReloadCSVFile(positionConfigFile);
// }
// Config = (BoxConfig)storeConfig;
// Store = new BoxBean(Config);
// Store.CID = CID;
// LogUtil.info( "加载料仓完成!");
// return Store;
// }
// }
// }
// catch (Exception ex)
// {
// LogUtil.error("出错:", ex);
// MessageBox.Show(ex.ToString(), "加载配置错误(请检查配置)");
// Application.Exit();
// }
// return Store;
//}
public static string GetLocationPosId(int deviceID, int width) public static string GetLocationPosId(int deviceID, int width)
{ {
if (deviceID <= 0) if (deviceID <= 0)
...@@ -367,8 +314,47 @@ namespace OnlineStore.DeviceLibrary ...@@ -367,8 +314,47 @@ namespace OnlineStore.DeviceLibrary
return msg; return msg;
} }
// 料仓进出轴报警时,屏蔽正在执行的库位: /rest/api/qisda/device/disablePos //参数: posName: 库位编号
// 返回:{ "code":0,"msg":"ok","data":""} code: 0为正常,其他为异常,msg: 消息,data:
private static string Addr_disablePos = "/rest/api/qisda/device/disablePos";
public static string disablePos(string posName)
{
string msg = "";
try
{
Dictionary<string, string> paramMap = new Dictionary<string, string>();
paramMap.Add("posName", posName);
string server = GetAddr(Addr_cancelPutInTask, paramMap);
DateTime startTime = DateTime.Now;
string resultStr = HttpHelper.Post(server, "");
LogUtil.info("disablePos " + FormUtil.GetSpanStr(DateTime.Now - startTime) + " 【" + server + "】【" + resultStr + "】");
ResultData data = JsonHelper.DeserializeJsonToObject<ResultData>(resultStr);
if (data == null)
{
return msg = " disablePos【 " + posName + "】 没有收到服务器反馈";
}
else if (data.code.Equals(0).Equals(false))
{
return msg = " disablePos【 " + posName + "】 :" + data.msg;
} }
public class ResultData
return "";
}
catch (Exception ex)
{
LogUtil.error(" disablePos error :" + ex.ToString());
}
return msg;
}
}
public class ResultData
{ {
//{"code":0,"msg":"ok","data":"7"} //{"code":0,"msg":"ok","data":"7"}
public int code { get; set; } public int code { get; set; }
......
 空出时不发送给环形线出库。 
日志修改,增加box名称。
空出时不发送给环形线出库。
日志修改,增加box名称。
...@@ -85,3 +82,8 @@ ...@@ -85,3 +82,8 @@
http://192.168.101.11/myproject/ http://192.168.101.11/myproject/
192.168.101.10 192.168.101.10
已全部更新 已全部更新
20210310
1.轴回原点时,如果原点信号持续亮5秒,报警。
2.出入库过程中,进出轴报警,禁用库位号。
\ No newline at end of file \ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!