Commit 0e697b84 LN

增加侧挡气缸在底部气缸之前前进的配置

1 个父辈 e8ac8f26
......@@ -169,6 +169,7 @@ namespace TSA_V.Common
public static string DisableSideCylinder = "DisableSideCylinder";
public static string DisableBottomCylinder = "DisableBottomCylinder";
public static string IsCycleDebug = "IsCycleDebug";
public static string SideCylinderMoveFirst = "SideCylinderMoveFirst";
}
}
......@@ -15,6 +15,7 @@ namespace TSA_V.DeviceLibrary
public partial class TSAVBean
{
public static bool IsDebug = ConfigAppSettings.GetBoolValue(Setting_Init.IsDebug);
public static bool SideCylinderMoveFirst = ConfigAppSettings.GetBoolValue(Setting_Init.SideCylinderMoveFirst);
public static string Name = "MASCOT";
public static int RotateNode_DefaultPosition = ConfigAppSettings.GetIntValue(Setting_Init.RotateNode_DefaultPosition);
public static Dictionary<int, Dictionary<int, NodeInfo>> RotateMap = new Dictionary<int, Dictionary<int, NodeInfo>>();
......
......@@ -47,7 +47,7 @@ namespace TSA_V.DeviceLibrary
{
StartWorkTime = DateTime.Now;
LineStep.NewMove();
LineStep.NextMoveStep(LineStepBean.LS01_StopUp);
LineStep.NextStep(StepEnum.LS01_StopUp);
IOManager.IOMove(IOManager.SMEMA_Up, IO_VALUE.LOW);
IOManager.IOMove(IOManager.SMEMA_Down, IO_VALUE.LOW);
if (OnlyGuoBan)
......@@ -70,7 +70,7 @@ namespace TSA_V.DeviceLibrary
// if (LineStep.moveType.Equals(0))
// {
// LineStep.NewMove();
// LineStep.NextMoveStep(LineStepBean.LS22_StartBackLine);
// LineStep.NextMoveStep(StepEnum.LS22_StartBackLine);
// IOManager.IOMove(IOManager.SMEMA_Up, IO_VALUE.LOW);
// IOManager.IOMove(IOManager.SMEMA_Down, IO_VALUE.LOW);
// LineLog("检测到出口信号:气缸下降,流水线倒转");
......@@ -91,7 +91,7 @@ namespace TSA_V.DeviceLibrary
//LogUtil.info("检测到流水线前端信号,挡停气缸上升,侧挡气缸后退,底部气缸下降");
LineStep.NewMove();
LineStep.NextMoveStep(LineStepBean.LS01_StopUp);
LineStep.NextStep(StepEnum.LS01_StopUp);
if (OnlyGuoBan)
{
LogUtil.info("检测到流水线前端信号:挡停气缸下降,侧挡气缸后退,底部气缸下降");
......@@ -148,24 +148,24 @@ namespace TSA_V.DeviceLibrary
{
return;
}
if (LineStep.lineStep.Equals(LineStepBean.LS01_StopUp))
if (LineStep.IsStep(StepEnum.LS01_StopUp))
{
LineStep.NextMoveStep(LineStepBean.LS02_LineMove);
LineStep.NextStep(StepEnum.LS02_LineMove);
LineLog("流水线转动:转动流水线,等待工作区域检测信号");
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.HIGH);
LineStep.WaitList.Add(WaitResultInfo.WaitIO(IOManager.LineWorkCheck, IO_VALUE.HIGH));
}
else if (LineStep.lineStep.Equals(LineStepBean.LS02_LineMove))
else if (LineStep.IsStep(StepEnum.LS02_LineMove))
{
LineStep.NextMoveStep(LineStepBean.LS03_WaitBoard);
LineStep.NextStep(StepEnum.LS03_WaitBoard);
LineLog("流水线转动:检测到组装工位信号,再转动1000停止");
LineStep.WaitList.Add(WaitResultInfo.WaitTime(1000));
}
else if (LineStep.lineStep.Equals(LineStepBean.LS03_WaitBoard))
else if (LineStep.IsStep(StepEnum.LS03_WaitBoard))
{
if (OnlyGuoBan)
{
LineStep.NextMoveStep(LineStepBean.LS11_LineRun);
LineStep.NextStep(StepEnum.LS13_LineRun);
LineLog("流水线转动:当前为流水线过板程序,等待出口信号");
LineStep.TimeOutSeconds = 60;
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.HIGH);
......@@ -175,30 +175,45 @@ namespace TSA_V.DeviceLibrary
}
else
{
LineStep.NextMoveStep(LineStepBean.LS04_StopLine);
LineStep.NextStep(StepEnum.LS04_StopLine);
LineLog("流水线转动:流水线停止");
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.LOW);
LineStep.WaitList.Add(WaitResultInfo.WaitIO(IOManager.Line_FStart, IO_VALUE.LOW));
}
}
else if (LineStep.lineStep.Equals(LineStepBean.LS04_StopLine))
else if (LineStep.IsStep(StepEnum.LS04_StopLine))
{
LineStep.NextMoveStep(LineStepBean.LS05_BottomCylinderUp);
if (SideCylinderMoveFirst)
{
LineStep.NextStep(StepEnum.LS05_SideCylindeMove);
LineLog("流水线转动:侧挡气缸先前进");
SideCyliderForward(true);
}
else
{
LineStep.NextStep(StepEnum.LS06_BottomCylinderUp);
LineLog("流水线转动:底部气缸上升");
BottomCylinderUp(true);
}
}
else if (LineStep.IsStep(StepEnum.LS05_SideCylindeMove))
{
LineStep.NextStep(StepEnum.LS06_BottomCylinderUp);
LineLog("流水线转动:底部气缸上升");
BottomCylinderUp(true);
}
else if (LineStep.lineStep.Equals(LineStepBean.LS05_BottomCylinderUp))
else if (LineStep.IsStep(StepEnum.LS06_BottomCylinderUp))
{
LineStep.NextMoveStep(LineStepBean.LS06_SideCylindeMove);
LineStep.NextStep(StepEnum.LS07_SideCylindeMove);
LineLog("流水线转动:侧挡气缸前进");
SideCyliderForward(true);
}
else if (LineStep.lineStep.Equals(LineStepBean.LS06_SideCylindeMove))
else if (LineStep.IsStep(StepEnum.LS07_SideCylindeMove))
{
bool needCode = ConfigAppSettings.GetBoolValue(Setting_Init.NeedPCBCode);
if (needCode)
{
LineStep.NextMoveStep(LineStepBean.LS07_WaitCode);
LineStep.NextStep(StepEnum.LS08_WaitCode);
LineLog("流水线转动:停止流水线,等待输入二维码");
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.LOW);
MesUtil.ClearCode();
......@@ -211,28 +226,28 @@ namespace TSA_V.DeviceLibrary
LS08_StartWork();
}
}
else if (LineStep.lineStep.Equals(LineStepBean.LS07_WaitCode))
else if (LineStep.IsStep(StepEnum.LS08_WaitCode))
{
LS08_StartWork();
}
else if (LineStep.lineStep.Equals(LineStepBean.LS08_StartWork))
else if (LineStep.IsStep(StepEnum.LS09_StartWork))
{
WorkCountManager.AddWorkCount();
LineStep.NextMoveStep(LineStepBean.LS09_StopBack);
LineStep.NextStep(StepEnum.LS11_StopBack);
LineLog("流水线转动:底部气缸下降,侧挡后退,工作统计");
BottomCylinderDown(true);
SideCyliderBack(true);
}
else if (LineStep.lineStep.Equals(LineStepBean.LS09_StopBack))
else if (LineStep.IsStep(StepEnum.LS11_StopBack))
{
LineStep.NextMoveStep(LineStepBean.LS10_StopDown);
LineStep.NextStep(StepEnum.LS12_StopDown);
LineLog("流水线转动:阻挡气缸后退");
CylinderMove(IOManager.StopCylinder_Up, IOManager.StopCylinder_Down, true);
}
else if (LineStep.lineStep.Equals(LineStepBean.LS10_StopDown))
else if (LineStep.IsStep(StepEnum.LS12_StopDown))
{
LineStep.NextMoveStep(LineStepBean.LS11_LineRun);
LineStep.NextStep(StepEnum.LS13_LineRun);
LineLog("流水线转动:阻挡气缸下降完成,开始启动流水线");
LineStep.TimeOutSeconds = 60;
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.HIGH);
......@@ -240,12 +255,12 @@ namespace TSA_V.DeviceLibrary
LineStep.WaitList.Add(WaitResultInfo.WaitTime(60000));
LineStep.OneWaitOk = true;
}
else if (LineStep.lineStep.Equals(LineStepBean.LS11_LineRun))
else if (LineStep.IsStep(StepEnum.LS13_LineRun))
{
//if (LoopTest)
//{
// LineLog("流水线转动:循环测试模式,流水线开始倒转");
// LineStep.NextMoveStep(LineStepBean.LS21_LineBackMovew);
// LineStep.NextMoveStep(StepEnum.LS21_LineBackMovew);
// LineStep.TimeOutSeconds = 60;
// IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.LOW);
// IOManager.IOMove(IOManager.Line_BStart, IO_VALUE.HIGH);
......@@ -255,7 +270,7 @@ namespace TSA_V.DeviceLibrary
//}
//else
{
LineStep.NextMoveStep(LineStepBean.LS12_Wait_SMEMA_Down);
LineStep.NextStep(StepEnum.LS14_Wait_SMEMA_Down);
LineLog("流水线转动:停止转动,写SMEMA_Down,等待下位机要料信号");
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.LOW);
IOManager.IOMove(IOManager.SMEMA_Down, IO_VALUE.HIGH);
......@@ -265,14 +280,14 @@ namespace TSA_V.DeviceLibrary
LineStep.OneWaitOk = true;
}
}
else if (LineStep.lineStep.Equals(LineStepBean.LS12_Wait_SMEMA_Down))
else if (LineStep.IsStep(StepEnum.LS14_Wait_SMEMA_Down))
{
IO_VALUE value = IOManager.IOValue(IOManager.SMEMA_Down);
LogUtil.info(" 写 SMEMA_Down=" + value);
if (value.Equals(IO_VALUE.HIGH))
{
LineLog("流水线转动:收到后机要料信号,继续转动五秒钟且板子拿走后停止");
LineStep.NextMoveStep(LineStepBean.LS13_Has_SMEMA_Down);
LineStep.NextStep(StepEnum.LS15_Has_SMEMA_Down);
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.HIGH);
LineStep.WaitList.Add(WaitResultInfo.WaitTime(5000));
LineStep.OneWaitOk = true;
......@@ -280,21 +295,21 @@ namespace TSA_V.DeviceLibrary
else
{
LineLog("流水线转动:未收到后机要料信号,等待拿走电路板结束");
LineStep.NextMoveStep(LineStepBean.LS14_WaitStopLine);
LineStep.NextStep(StepEnum.LS16_WaitStopLine);
LineStep.WaitList.Add(WaitResultInfo.WaitIO(IOManager.LineOutCheck, IO_VALUE.LOW));
LineStep.WaitList.Add(WaitResultInfo.WaitTime(5000));
LineStep.OneWaitOk = true;
}
}
else if (LineStep.lineStep.Equals(LineStepBean.LS13_Has_SMEMA_Down))
else if (LineStep.IsStep(StepEnum.LS15_Has_SMEMA_Down))
{
LineLog("流水线转动:等待电路板出去");
LineStep.NextMoveStep(LineStepBean.LS14_WaitStopLine);
LineStep.NextStep(StepEnum.LS16_WaitStopLine);
LineStep.WaitList.Add(WaitResultInfo.WaitIO(IOManager.LineOutCheck, IO_VALUE.LOW));
LineStep.WaitList.Add(WaitResultInfo.WaitTime(5000));
LineStep.OneWaitOk = true;
}
else if (LineStep.lineStep.Equals(LineStepBean.LS14_WaitStopLine))
else if (LineStep.IsStep(StepEnum.LS16_WaitStopLine))
{
TimeSpan span = DateTime.Now - StartWorkTime;
LineLog("流水线转动:停止转动,耗时【" + FormUtil.GetSpanStr(span) + "】");
......@@ -303,7 +318,7 @@ namespace TSA_V.DeviceLibrary
IOManager.IOMove(IOManager.SMEMA_Up, IO_VALUE.HIGH);
LineStep.EndMove();
}
//else if (LineStep.lineStep.Equals(LineStepBean.LS21_LineBackMovew))
//else if (LineStep.IsStep(StepEnum.LS21_LineBackMovew))
//{
// TimeSpan span = DateTime.Now - StartWorkTime;
// LineLog("流水线转动:倒转结束,停止转动,耗时【"+FormUtil.GetSpanStr (span)+ "】");
......@@ -312,10 +327,10 @@ namespace TSA_V.DeviceLibrary
// IOManager.IOMove(IOManager.SMEMA_Down, IO_VALUE.LOW);
// IOManager.IOMove(IOManager.SMEMA_Up, IO_VALUE.HIGH);
// LineStep.EndMove();
//}else if (LineStep.lineStep.Equals(LineStepBean.LS22_StartBackLine))
//}else if (LineStep.IsStep(StepEnum.LS22_StartBackLine))
//{
// LineLog("流水线转动:循环测试模式,流水线开始倒转");
// LineStep.NextMoveStep(LineStepBean.LS21_LineBackMovew);
// LineStep.NextMoveStep(StepEnum.LS21_LineBackMovew);
// LineStep.TimeOutSeconds = 60;
// IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.LOW);
// IOManager.IOMove(IOManager.Line_BStart, IO_VALUE.HIGH);
......@@ -327,7 +342,7 @@ namespace TSA_V.DeviceLibrary
private static void LS08_StartWork()
{
LineStep.NextMoveStep(LineStepBean.LS08_StartWork);
LineStep.NextStep(StepEnum.LS09_StartWork);
LineLog("流水线转动: 开始工作");
LineStep.TimeOutSeconds = 600;
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.LOW);
......@@ -404,7 +419,7 @@ namespace TSA_V.DeviceLibrary
{
WaitList = new List<WaitResultInfo>();
moveType = 0;
this.lineStep = LS00_Wait;
this.lineStep = StepEnum.Wait;
IsInWait = false;
OneWaitOk = false;
}
......@@ -421,7 +436,7 @@ namespace TSA_V.DeviceLibrary
/// <summary>
/// 当前执行到的步骤
/// </summary>
public int lineStep;
public StepEnum lineStep;
/// <summary>
/// 是否再当前步骤等待中
/// </summary>
......@@ -429,6 +444,11 @@ namespace TSA_V.DeviceLibrary
public bool OneWaitOk = false;
public bool IsStep(StepEnum step)
{
return lineStep.Equals(step);
}
/// <summary>
/// 当前步骤执行完成
/// </summary>
......@@ -442,13 +462,13 @@ namespace TSA_V.DeviceLibrary
public void NewMove()
{
OneWaitOk = false;
lineStep = LS00_Wait;
lineStep =StepEnum.Wait;
this.moveType = 1;
LastSetpTime = DateTime.Now;
WaitList = new List<WaitResultInfo>();
TimeOutSeconds = 20;
}
public void NextMoveStep(int step)
public void NextStep(StepEnum step)
{
OneWaitOk = false;
lineStep = step;
......@@ -461,7 +481,7 @@ namespace TSA_V.DeviceLibrary
{
OneWaitOk = false;
this.moveType = 0;
lineStep = LS00_Wait;
lineStep = StepEnum.Wait;
LastSetpTime = DateTime.Now;
IsInWait = false;
WaitList = new List<WaitResultInfo>();
......@@ -471,73 +491,83 @@ namespace TSA_V.DeviceLibrary
public List<WaitResultInfo> WaitList = new List<WaitResultInfo>();
public static int LS00_Wait = 0;
}
public enum StepEnum
{
Wait = 0,
/// <summary>
///流水线转动: 阻挡气缸上升
/// </summary>
public static int LS01_StopUp = 1;
LS01_StopUp = 1,
/// <summary>
/// 流水线转动:转动流水线,等待工作区域检测信号
/// </summary>
public static int LS02_LineMove = 2;
LS02_LineMove,
/// <summary>
/// 流水线转动:等待3秒后电路板到达工作位置
/// </summary>
public static int LS03_WaitBoard = 3;
LS03_WaitBoard,
/// <summary>
/// 流水线转动:停止流水线
/// </summary>
public static int LS04_StopLine = 4;
LS04_StopLine,
/// <summary>
/// 流水线转动:侧挡气缸前进
/// </summary>
LS05_SideCylindeMove,
/// <summary>
/// 流水线转动:底部气缸上升
/// </summary>
public static int LS05_BottomCylinderUp = 5;
LS06_BottomCylinderUp,
/// <summary>
/// 流水线转动:侧挡气缸前进
/// </summary>
public static int LS06_SideCylindeMove = 6;
LS07_SideCylindeMove,
/// <summary>
/// 流水线转动:检测到工作位信号,停止流水线,等待输入二维码
/// </summary>
public static int LS07_WaitCode = 15;
LS08_WaitCode,
/// <summary>
/// 流水线转动:二维码输入完成,开始工作
/// </summary>
public static int LS08_StartWork = 8;
LS09_StartWork,
/// <summary>
/// 工作完成:底部气缸下降,侧挡后退
/// </summary>
public static int LS09_StopBack = 9;
LS11_StopBack = 11,
/// <summary>
/// 工作完成:阻挡气缸下降
/// </summary>
public static int LS10_StopDown = 10;
LS12_StopDown,
/// <summary>
/// 工作完成,下降阻挡信号
/// </summary>
public static int LS11_LineRun = 11;
LS13_LineRun,
/// <summary>
/// 工作完成,停止转动,等待下位机要料信号或等待10秒
/// </summary>
public static int LS12_Wait_SMEMA_Down = 12;
LS14_Wait_SMEMA_Down,
/// <summary>
///工作完成,继续转动流水线3秒
/// </summary>
public static int LS13_Has_SMEMA_Down = 13;
LS15_Has_SMEMA_Down,
/// <summary>
/// 工作完成,等待停止转动
/// </summary>
public static int LS14_WaitStopLine = 14;
LS16_WaitStopLine,
/// <summary>
/// 流水线倒转
/// </summary>
public static int LS21_LineBackMovew = 21;
LS21_LineBackMovew,
public static int LS22_StartBackLine = 22;
LS22_StartBackLine,
}
}
......@@ -106,6 +106,8 @@
<!--<add key="DCSServerAddr" value="http://192.168.8.1:1007/DCS_Integration/Cartridge.asmx?op=CartridgeInfo" />-->
<!--组装工作前,需要输入pcb板条码-->
<add key="NeedPCBCode" value="0" />
<!--是否调整气缸顺序,配置1时,侧挡气缸前进,底部气缸在上升-->
<add key ="SideCylinderMoveFirst" value ="1"/>
</appSettings>
<log4net>
<appender name="defaultAppender" type="log4net.Appender.RollingFileAppender">
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!