Commit 3a1eec93 LN

汇川板卡增加错误码解析

1 个父辈 53a8d972
...@@ -122,6 +122,12 @@ ...@@ -122,6 +122,12 @@
<Content Include="device_config.xml"> <Content Include="device_config.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<EmbeddedResource Include="huichuan_config\commandDef.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="huichuan_config\errorcode.h">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource>
<Content Include="huichuan_x64\IMC_API_x64.dll"> <Content Include="huichuan_x64\IMC_API_x64.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
......
...@@ -12,9 +12,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -12,9 +12,9 @@ namespace OnlineStore.DeviceLibrary
{ {
#region 自动出料参数 #region 自动出料参数
public List<string> PositionNumList = new List<string>(); public List<string> PositionNumList = new List<string>();
public bool autoNext = false; public bool autoNext = false;
public int autoJiange = 1; public int autoJiange = 1;
public int autoPositionIndex = 0; public int autoPositionIndex = 0;
public string autoMsg = ""; public string autoMsg = "";
...@@ -22,9 +22,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -22,9 +22,9 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
#region 出料参数 #region 出料参数
private int CurrInOutCount = 0; private int CurrInOutCount = 0;
private bool LoadParamPosition(InOutParam param) private bool LoadParamPosition(InOutParam param)
{ {
if (param == null) if (param == null)
...@@ -55,7 +55,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -55,7 +55,7 @@ namespace OnlineStore.DeviceLibrary
else else
{ {
List<ShelfPosition> positionList = CSVPositionReader<ShelfPosition>.getPositionList(); List<ShelfPosition> positionList = CSVPositionReader<ShelfPosition>.getPositionList();
List<ShelfPosition> list = (from m in positionList where m.BagWidth>(7) select m).ToList(); List<ShelfPosition> list = (from m in positionList where m.BagWidth > (7) select m).ToList();
if (list.Count > 0) if (list.Count > 0)
{ {
param.PosInfo.ShelfPosId = list[0].PositionNum; param.PosInfo.ShelfPosId = list[0].PositionNum;
...@@ -67,11 +67,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -67,11 +67,11 @@ namespace OnlineStore.DeviceLibrary
} }
//param.PosInfo.ShelfPosId = PositionNumList[0]; //param.PosInfo.ShelfPosId = PositionNumList[0];
} }
ShelfPosition position = param.GetACPosition(); ShelfPosition position = param.GetACPosition();
if (position == null) if (position == null)
{ {
LogUtil.error( Name + "出料时发现param中取到的Position=null,没有库位不能执行出料"); LogUtil.error(Name + "出料时发现param中取到的Position=null,没有库位不能执行出料");
return false; return false;
} }
...@@ -86,14 +86,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -86,14 +86,14 @@ namespace OnlineStore.DeviceLibrary
p.Middle_P1 = Config.MiddleAxis_P1; p.Middle_P1 = Config.MiddleAxis_P1;
p.Middle_P2 = position.MiddleAxis_P2; p.Middle_P2 = position.MiddleAxis_P2;
p.Middle_P3 =Config.MiddleAxis_P3; p.Middle_P3 = Config.MiddleAxis_P3;
p.UpDown_P1 = Config.UpDownAxis_DoorL_P1; p.UpDown_P1 = Config.UpDownAxis_DoorL_P1;
p.UpDown_P2 = Config.UpDownAxis_DoorH_P2 ; p.UpDown_P2 = Config.UpDownAxis_DoorH_P2;
p.UpDown_P3 = position.UpDownAxis_H_P3; p.UpDown_P3 = position.UpDownAxis_H_P3;
p.UpDown_P4 = position.UpDownAxis_L_P4; p.UpDown_P4 = position.UpDownAxis_L_P4;
p.UpDown_P5 = Config.UpDownAxis_DoorH_P5; p.UpDown_P5 = Config.UpDownAxis_DoorH_P5;
p.UpDown_P6 = Config.UpDownAxis_DoorH_P6; p.UpDown_P6 = Config.UpDownAxis_DoorH_P6;
param.MoveP = p; param.MoveP = p;
if (param.PosInfo.PlateH <= 0) if (param.PosInfo.PlateH <= 0)
...@@ -110,7 +110,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -110,7 +110,7 @@ namespace OnlineStore.DeviceLibrary
ShelfPosition position = param.GetACPosition(); ShelfPosition position = param.GetACPosition();
if (position == null) if (position == null)
{ {
LogUtil.error( Name + "出料时发现param中取到的Position=null,没有库位不能执行出料"); LogUtil.error(Name + "出料时发现param中取到的Position=null,没有库位不能执行出料");
return false; return false;
} }
if (param.PosInfo.PlateH <= 0) if (param.PosInfo.PlateH <= 0)
...@@ -133,9 +133,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -133,9 +133,9 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
#region 出料结果验证 #region 出料结果验证
private DateTime preRWTime = DateTime.Now; private DateTime preRWTime = DateTime.Now;
public void CheckWait(StoreMoveInfo checkmove) public void CheckWait(StoreMoveInfo checkmove)
{ {
List<WaitResultInfo> list = checkmove.WaitList; List<WaitResultInfo> list = checkmove.WaitList;
//当等待超过一分钟时,需要打印提示 //当等待超过一分钟时,需要打印提示
...@@ -201,7 +201,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -201,7 +201,7 @@ namespace OnlineStore.DeviceLibrary
{ {
wait.IsEnd = IOValue(wait.IoType).Equals(wait.IoValue); wait.IsEnd = IOValue(wait.IoType).Equals(wait.IoValue);
int timeOutMs = Config.IOSingle_TimerOut; int timeOutMs = Config.IOSingle_TimerOut;
if ((!wait.IsEnd) && span.TotalMilliseconds > timeOutMs) if ((!wait.IsEnd) && span.TotalMilliseconds > timeOutMs)
{ {
ConfigIO io = Config.getWaitIO(wait.IoType); ConfigIO io = Config.getWaitIO(wait.IoType);
...@@ -213,11 +213,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -213,11 +213,11 @@ namespace OnlineStore.DeviceLibrary
} }
Alarm(StoreAlarmType.IoSingleTimeOut, io.ElectricalDefinition, WarnMsg, checkmove.MoveType); Alarm(StoreAlarmType.IoSingleTimeOut, io.ElectricalDefinition, WarnMsg, checkmove.MoveType);
LogUtil.error( Name + wait.IoType + "等待信号(" + io.DisplayStr + "=" + wait.IoValue + ") 超时", 14); LogUtil.error(Name + wait.IoType + "等待信号(" + io.DisplayStr + "=" + wait.IoValue + ") 超时", 14);
isOk = false; isOk = false;
break; break;
} }
TimeSpan rwSpan = DateTime.Now - preRWTime; TimeSpan rwSpan = DateTime.Now - preRWTime;
if (!wait.IsEnd && rwSpan.TotalSeconds > 5 && span.TotalSeconds > 6) if (!wait.IsEnd && rwSpan.TotalSeconds > 5 && span.TotalSeconds > 6)
...@@ -246,7 +246,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -246,7 +246,7 @@ namespace OnlineStore.DeviceLibrary
{ {
wait.IsEnd = (span.TotalMilliseconds >= wait.TimeMSeconds); wait.IsEnd = (span.TotalMilliseconds >= wait.TimeMSeconds);
} }
if (wait.IsEnd) if (wait.IsEnd)
{ {
if (checkmove.OneWaitCanEndStep) if (checkmove.OneWaitCanEndStep)
...@@ -277,8 +277,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -277,8 +277,8 @@ namespace OnlineStore.DeviceLibrary
WarnMsg = ""; WarnMsg = "";
return; return;
} }
LogUtil.error( WarnMsg,100); LogUtil.error(WarnMsg, 100);
Alarm(StoreAlarmType.IoSingleTimeOut, "", WarnMsg, checkmove.MoveType); Alarm(StoreAlarmType.IoSingleTimeOut, "", WarnMsg, checkmove.MoveType);
} }
} }
...@@ -290,9 +290,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -290,9 +290,9 @@ namespace OnlineStore.DeviceLibrary
#region 出料 #region 出料
private DateTime startMoveTime = DateTime.Now; private DateTime startMoveTime = DateTime.Now;
public override bool StartOutMove(InOutParam param) public override bool StartOutMove(InOutParam param)
{ {
startMoveTime = DateTime.Now; startMoveTime = DateTime.Now;
string posId = param != null ? param.PosInfo.ShelfPosId : ""; string posId = param != null ? param.PosInfo.ShelfPosId : "";
if (storeRunStatus == StoreRunStatus.Runing) if (storeRunStatus == StoreRunStatus.Runing)
...@@ -300,18 +300,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -300,18 +300,18 @@ namespace OnlineStore.DeviceLibrary
if (!LoadParamPosition(param)) if (!LoadParamPosition(param))
{ {
LogUtil.error(Name + " 启动出料移栽【" + param.PosInfo.ToStr() + "】出错,找不到库位"); LogUtil.error(Name + " 启动出料移栽【" + param.PosInfo.ToStr() + "】出错,找不到库位");
return false ; return false;
} }
if (IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH))
{ {
LogUtil.error(Name + " 启动出料移栽【" + param.PosInfo.ToStr() + "】出错,叉子料盘检测有料"); LogUtil.error(Name + " 启动出料移栽【" + param.PosInfo.ToStr() + "】出错,叉子料盘检测有料");
return false ; return false;
} }
LogInfo(" 启动出料移栽【" + param.PosInfo.ToStr() + "】成功"); LogInfo(" 启动出料移栽【" + param.PosInfo.ToStr() + "】成功");
storeRunStatus = StoreRunStatus.Busy; storeRunStatus = StoreRunStatus.Busy;
storeStatus = StoreStatus.OutStoreExecute; storeStatus = StoreStatus.OutStoreExecute;
MoveInfo.NewMove(StoreMoveType.OutStore, param); MoveInfo.NewMove(StoreMoveType.OutStore, param);
if (IOValue(IO_Type.TrayCheck_Door).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.TrayCheck_Door).Equals(IO_VALUE.HIGH))
{ {
doorCheckWatch.Restart(); doorCheckWatch.Restart();
...@@ -330,11 +330,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -330,11 +330,11 @@ namespace OnlineStore.DeviceLibrary
} }
return false; return false;
} }
private void SO_11_InOutToP1(LineMoveP moveP) private void SO_11_InOutToP1(LineMoveP moveP)
{ {
MoveInfo.NextMoveStep(MoveStep.SO_11_InOutToP1); MoveInfo.NextMoveStep(MoveStep.SO_11_InOutToP1);
MoveLog("进出轴到P1[" + moveP.InOut_P1 + "]"); MoveLog("进出轴到P1[" + moveP.InOut_P1 + "]");
int outCount = AxisManager.instance.GetActualtPosition(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue()); int outCount = AxisManager.instance.GetActualtPosition(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue());
int errorCount = Math.Abs(outCount - moveP.InOut_P1); int errorCount = Math.Abs(outCount - moveP.InOut_P1);
...@@ -371,13 +371,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -371,13 +371,14 @@ namespace OnlineStore.DeviceLibrary
//判断仓门是否打开 //判断仓门是否打开
MoveInfo.NextMoveStep(MoveStep.SO_14_InoutToP2); MoveInfo.NextMoveStep(MoveStep.SO_14_InoutToP2);
MoveLog(" 叉子进入出料口,进出轴至P2(进料口取料点) "+ movep.InOut_P2); MoveLog(" 叉子进入出料口,进出轴至P2(进料口取料点) " + movep.InOut_P2);
ACAxisMove(Config.InOut_Axis, movep.InOut_P2, Config.InOutAxis_P2_Speed); ACAxisMove(Config.InOut_Axis, movep.InOut_P2, Config.InOutAxis_P2_Speed);
} }
private void MoveToPosition(LineMoveP moveP) private void MoveToPosition(LineMoveP moveP)
{ {
if (MoveInfo.MoveParam.PosInfo.IsNg) if (MoveInfo.MoveParam.PosInfo.IsNg)
{ {
storeStatus = StoreStatus.OutStoreBoxEnd;
MoveInfo.NextMoveStep(MoveStep.SO_31_MoveToNG); MoveInfo.NextMoveStep(MoveStep.SO_31_MoveToNG);
MoveLog("移动到NG箱,旋转轴至P3[" + moveP.Middle_P3 + "], 升降轴至P5[" + moveP.UpDown_P5 + "] "); MoveLog("移动到NG箱,旋转轴至P3[" + moveP.Middle_P3 + "], 升降轴至P5[" + moveP.UpDown_P5 + "] ");
ACAxisMove(Config.Middle_Axis, moveP.Middle_P3, Config.MiddleAxis_P3_Speed); ACAxisMove(Config.Middle_Axis, moveP.Middle_P3, Config.MiddleAxis_P3_Speed);
...@@ -390,6 +391,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -390,6 +391,7 @@ namespace OnlineStore.DeviceLibrary
} }
private void SO_21_MoveToBag() private void SO_21_MoveToBag()
{ {
storeStatus = StoreStatus.OutStoreBoxEnd;
LineMoveP moveP = MoveInfo.MoveParam.MoveP; LineMoveP moveP = MoveInfo.MoveParam.MoveP;
MoveInfo.NextMoveStep(MoveStep.SO_21_MoveToBag); MoveInfo.NextMoveStep(MoveStep.SO_21_MoveToBag);
MoveLog(" 移动到库位点,旋转轴至P2(库位点)[" + moveP.Middle_P2 + "], 升降轴至P3[" + moveP.UpDown_P3 + "] "); MoveLog(" 移动到库位点,旋转轴至P2(库位点)[" + moveP.Middle_P2 + "], 升降轴至P3[" + moveP.UpDown_P3 + "] ");
...@@ -496,10 +498,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -496,10 +498,6 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(MoveStep.SO_22_InoutToP3)) else if (MoveInfo.IsStep(MoveStep.SO_22_InoutToP3))
{ {
// 5= 入仓位完成(料仓Box把料盘放入对应的库位中,装置还未恢复原始状态)
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosInfo.ShelfPosId : "";
//lastPosId = posId;
//lastPosIdStatus = StoreStatus.OutStoreBoxEnd;
storeStatus = StoreStatus.OutStoreBoxEnd; storeStatus = StoreStatus.OutStoreBoxEnd;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!