Commit 034757b4 LN

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

1 个父辈 447c419f
......@@ -475,29 +475,40 @@ namespace OnlineStore.DeviceLibrary
LogInfo( ",停止运行,总运行时间:" + span.ToString());
}
public override void Alarm(StoreAlarmType alarmType, string alarmDetial, string alarmMsg, StoreMoveType storeMoveType)
private DateTime lastDisTime = DateTime.Now;
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;
if (this.alarmType.Equals(alarmType) && alarmType != StoreAlarmType.SuddenStop && alarmType != StoreAlarmType.NoAirCheck)
if (this.alarmType.Equals(nalarmType) && nalarmType != StoreAlarmType.SuddenStop && nalarmType != StoreAlarmType.NoAirCheck)
{
return;
}
LogUtil.error(Name + " 报警,报警类型:" + alarmType);
this.alarmType = alarmType;
if (alarmType.Equals(StoreAlarmType.AxisAlarm) || alarmType.Equals(StoreAlarmType.AxisMoveError))
LogUtil.error(Name + " 报警,报警类型:" + nalarmType);
this.alarmType = nalarmType;
if (nalarmType.Equals(StoreAlarmType.AxisAlarm) || nalarmType.Equals(StoreAlarmType.AxisMoveError))
{
if (MoveInfo.MoveType.Equals(StoreMoveType.InStore) || MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
//只有第一次报警才处理库位号
{
if (alarmDetial.Equals(LineAlarm.InOutAxisAlarm.ToString()) && MoveInfo.MoveParam != null && MoveInfo.MoveParam.PosInfo != null)
{
string posId = MoveInfo.MoveParam.PosInfo.PosId;
LogUtil.info(Name + " [" + MoveInfo.MoveType + "][" + MoveInfo.MoveStep + "]" + MoveInfo.MoveParam.PosInfo.ToStr() + " 过程中进出轴报警,记录库位号["+ posId + "]");
//TODO
TimeSpan span = DateTime.Now - lastDisTime;
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
//IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
StopMove();
}
else if (alarmType == StoreAlarmType.SuddenStop)
else if (nalarmType == StoreAlarmType.SuddenStop)
{
isInSuddenDown = true;
LogUtil.error(Name + "收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 ");
......@@ -513,7 +524,7 @@ namespace OnlineStore.DeviceLibrary
StopMove();
storeStatus = StoreStatus.SuddenStop;
}
else if (alarmType.Equals(StoreAlarmType.NoAirCheck))
else if (nalarmType.Equals(StoreAlarmType.NoAirCheck))
{
isNoAirCheck = true;
LogUtil.error(Name + " 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 ");
......
......@@ -125,60 +125,7 @@ namespace OnlineStore.DeviceLibrary
#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)
{
if (deviceID <= 0)
......@@ -367,8 +314,47 @@ namespace OnlineStore.DeviceLibrary
return msg;
}
}
public class ResultData
// 料仓进出轴报警时,屏蔽正在执行的库位: /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;
}
return "";
}
catch (Exception ex)
{
LogUtil.error(" disablePos error :" + ex.ToString());
}
return msg;
}
}
public class ResultData
{
//{"code":0,"msg":"ok","data":"7"}
public int code { get; set; }
......
 空出时不发送给环形线出库。

空出时不发送给环形线出库。
日志修改,增加box名称。
// 机器状态 顶灯显示
// 绿 黄 红
......@@ -85,3 +82,8 @@
http://192.168.101.11/myproject/
192.168.101.10
已全部更新
20210310
1.轴回原点时,如果原点信号持续亮5秒,报警。
2.出入库过程中,进出轴报警,禁用库位号。
\ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!