Commit a8c0887a LN

复位修改。

1 个父辈 5838f53a
...@@ -223,7 +223,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -223,7 +223,7 @@ namespace OnlineStore.DeviceLibrary
else else
{ {
if (suddenBtn.Equals(IO_VALUE.LOW)) if (suddenBtn.Equals(IO_VALUE.LOW))
{ {
LogUtil.error(LOGGER, " (" + StoreName + ")启动出现错误:急停没开 !启动失败!"); LogUtil.error(LOGGER, " (" + StoreName + ")启动出现错误:急停没开 !启动失败!");
} }
else else
...@@ -255,8 +255,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -255,8 +255,6 @@ namespace OnlineStore.DeviceLibrary
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack); StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
ACAxisHomeMove(Config.InOut_Axis); ACAxisHomeMove(Config.InOut_Axis);
LogUtil.info(LOGGER, StoreName + "开始原点返回,先把进出轴回原点"); LogUtil.info(LOGGER, StoreName + "开始原点返回,先把进出轴回原点");
//设置速度
//SetShuokeSpeed();
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000)); StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
} }
public void MoveToP1() public void MoveToP1()
...@@ -282,22 +280,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -282,22 +280,18 @@ namespace OnlineStore.DeviceLibrary
{ {
CurrInOutCount = 0; CurrInOutCount = 0;
CurrInOutACount = 0; CurrInOutACount = 0;
ClearInoutFail(); ClearInoutFail();
IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
//复位之前先停止运行 //复位之前先停止运行
if (isNeedClearAuto) if (isNeedClearAuto)
{ {
autoNext = false; autoNext = false;
} }
ACServerManager.SuddenStop(Config.Middle_Axis);
ACServerManager.SuddenStop(Config.UpDown_Axis);
ACServerManager.SuddenStop(Config.Middle_Axis.DeviceName, Config.Middle_Axis.GetAxisValue()); ACServerManager.SuddenStop(Config.InOut_Axis);
ACServerManager.SuddenStop(Config.UpDown_Axis.DeviceName, Config.UpDown_Axis.GetAxisValue()); IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
ACServerManager.SuddenStop(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue()); IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
isInSuddenDown = false; isInSuddenDown = false;
isNoAirCheck = false; isNoAirCheck = false;
alarmType = StoreAlarmType.None; alarmType = StoreAlarmType.None;
...@@ -305,27 +299,33 @@ namespace OnlineStore.DeviceLibrary ...@@ -305,27 +299,33 @@ namespace OnlineStore.DeviceLibrary
storeStatus = StoreStatus.ResetMove; storeStatus = StoreStatus.ResetMove;
StoreMove.NewMove(StoreMoveType.StoreReset); StoreMove.NewMove(StoreMoveType.StoreReset);
SetWarnMsg(); SetWarnMsg();
if (IOManager.IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
{
LogUtil.info(LOGGER, StoreName + "复位失败,急停未开");
return;
}
if (IOManager.IOValue(IO_Type.Airpressure_Check).Equals(IO_VALUE.LOW))
{
LogUtil.info(LOGGER, StoreName + "复位失败,没有气压信号");
return;
}
if (!RunAxis(true)) if (!RunAxis(true))
////打开四个轴
//if (!OpenAllAxis())
{ {
LogUtil.info(LOGGER, StoreName + "复位时打开轴失败,需要再次复位,直接报警停止复位"); LogUtil.info(LOGGER, StoreName + "复位时打开轴失败,需要再次复位,直接报警停止复位");
return; return;
} }
mainTimer.Enabled = false;
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_LocationCylinderBack);
if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0)) if (IsHasCompress_Axis || Config.IsHasLocationCylinder.Equals(0))
{ {
InoutStartReset(); StoreMove.WaitList.Add(WaitResultInfo.WaitTime(200));
//硕科压紧轴回原点
//SetShuokeSpeed();
} }
else else
{ {
LogUtil.info(LOGGER, StoreName + "开始复位:先定位气缸下降"); LogUtil.info(LOGGER, StoreName + "开始复位:先定位气缸下降");
// 复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_LocationCylinderBack);
LocationDownAndWait(); LocationDownAndWait();
} }
mainTimer.Enabled = true;
isInPro = false; isInPro = false;
} }
private void InoutStartReset() private void InoutStartReset()
...@@ -334,9 +334,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -334,9 +334,9 @@ namespace OnlineStore.DeviceLibrary
int slvAddr = Config.InOut_Axis.GetAxisValue(); int slvAddr = Config.InOut_Axis.GetAxisValue();
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack); StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
LogUtil.info(LOGGER, StoreName + "复位中,进出轴开始原点返回"); LogUtil.info(LOGGER, StoreName + "复位中,进出轴开始原点返回");
ACAxisHomeMove(Config.InOut_Axis); ACAxisHomeMove(Config.InOut_Axis);
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
} }
/// <summary> /// <summary>
/// 复位处理 /// 复位处理
...@@ -354,39 +354,32 @@ namespace OnlineStore.DeviceLibrary ...@@ -354,39 +354,32 @@ namespace OnlineStore.DeviceLibrary
switch (StoreMove.MoveStep) switch (StoreMove.MoveStep)
{ {
case StoreMoveStep.BOX_H_LocationCylinderBack: case StoreMoveStep.BOX_H_LocationCylinderBack:
//StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
//ACAxisHomeMove(Config.InOut_Axis);
//LogUtil.info(LOGGER, StoreName + "复位中:进出轴回原点。。");
//StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
InoutStartReset(); InoutStartReset();
break; break;
case StoreMoveStep.BOX_H_InOutMove: //case StoreMoveStep.BOX_H_InOutMove:
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutBack); // InoutStartReset();
ACAxisHomeMove(Config.InOut_Axis); // break;
LogUtil.info(LOGGER, StoreName + "复位中:进出轴开始原点返回");
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
break;
case StoreMoveStep.BOX_H_InOutBack: case StoreMoveStep.BOX_H_InOutBack:
Thread.Sleep(200); Thread.Sleep(200);
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutToP1); StoreMove.NextMoveStep(StoreMoveStep.BOX_H_InOutToP1);
LogUtil.info(LOGGER, StoreName + "复位中:进出轴到待机点P1,关闭舱门"); LogUtil.info(LOGGER, StoreName + "复位中:进出轴到待机点P1,关闭舱门");
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(500));
//进出轴原点返回完成,将进出轴的位置设置=0 //进出轴原点返回完成,将进出轴的位置设置=0
AxisCountClear(Config.InOut_Axis); AxisCountClear(Config.InOut_Axis);
ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed); ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed);
// ComBeforeHomeMove();
//判断叉子没有料盘
//StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.LOW));
CloseDoorAndWait(); CloseDoorAndWait();
break; break;
case StoreMoveStep.BOX_H_InOutToP1: case StoreMoveStep.BOX_H_InOutToP1:
//如果此时轴三还在报警,需要提示错误并等待 //如果此时轴三还在报警,需要提示错误并等待
if (ACServerManager.GetAlarmStatus(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue()) > 0) if (ACServerManager.GetAlarmStatus(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue()) > 0)
{ {
LogUtil.error(LOGGER, "进出轴报警!复位失败,请检查!"); LogUtil.error(LOGGER,StoreName+ "复位[" + StoreMove.MoveStep+"]过程中,进出轴报警!复位失败,请检查!");
return;
} }
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴 //复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogUtil.info(LOGGER, StoreName + "复位中: 压紧轴,旋转轴,上下轴开始 原点返回"); LogUtil.info(LOGGER, StoreName + "复位中: 压紧轴,旋转轴,上下轴开始 原点返回");
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_OtherAxisBack); StoreMove.NextMoveStep(StoreMoveStep.BOX_H_OtherAxisBack);
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(1000));
if (IsHasCompress_Axis) if (IsHasCompress_Axis)
{ {
ACAxisHomeMove(Config.Comp_Axis); ACAxisHomeMove(Config.Comp_Axis);
...@@ -397,6 +390,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -397,6 +390,7 @@ namespace OnlineStore.DeviceLibrary
case StoreMoveStep.BOX_H_OtherAxisBack: case StoreMoveStep.BOX_H_OtherAxisBack:
StoreMove.NextMoveStep(StoreMoveStep.BOX_H_MiddleAxisToP1); StoreMove.NextMoveStep(StoreMoveStep.BOX_H_MiddleAxisToP1);
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(1000));
LogUtil.info(LOGGER, StoreName + "复位中:旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"); LogUtil.info(LOGGER, StoreName + "复位中:旋转轴运动到P1,上下轴走到P1,压紧轴到P1!");
ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_DoorOPosition_P1, Config.UpDownAxis_P1_Speed); ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_DoorOPosition_P1, Config.UpDownAxis_P1_Speed);
...@@ -426,6 +420,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -426,6 +420,7 @@ namespace OnlineStore.DeviceLibrary
case StoreMoveStep.BOX_M_H_TOP1_CompressHome: case StoreMoveStep.BOX_M_H_TOP1_CompressHome:
StoreMove.NextMoveStep(StoreMoveStep.BOX_M_H_TOP1_OtherAxisToP1); StoreMove.NextMoveStep(StoreMoveStep.BOX_M_H_TOP1_OtherAxisToP1);
LogUtil.info(LOGGER, StoreName + "复位中:旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"); LogUtil.info(LOGGER, StoreName + "复位中:旋转轴运动到P1,上下轴走到P1,压紧轴到P1!");
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(1000));
ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_DoorOPosition_P1, Config.UpDownAxis_P1_Speed); ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_DoorOPosition_P1, Config.UpDownAxis_P1_Speed);
ComMoveToPosition(Config.CompressAxis_P1_Position,Config.CompAxis_P1_Speed); ComMoveToPosition(Config.CompressAxis_P1_Position,Config.CompAxis_P1_Speed);
......
...@@ -125,10 +125,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -125,10 +125,10 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
BOX_H_LocationCylinderBack=010, BOX_H_LocationCylinderBack=010,
/// <summary> ///// <summary>
/// 料仓原点返回和重置步骤,轴三先相对走3000 ///// 料仓原点返回和重置步骤,等待开始原点返回
/// </summary> ///// </summary>
BOX_H_InOutMove=011, //BOX_H_InOutMove=011,
/// <summary> /// <summary>
/// 料仓原点返回和重置步骤,,轴三进出轴先返回原点 /// 料仓原点返回和重置步骤,,轴三进出轴先返回原点
/// </summary> /// </summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!