Commit 3de72ecd renym1968

自动进料/出料处理Demo 版

1 个父辈 898b84e1
...@@ -36,6 +36,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -36,6 +36,9 @@ namespace OnlineStore.DeviceLibrary
/// 轴报警信息 /// 轴报警信息
/// </summary> /// </summary>
private Dictionary<string , AxisAlarmInfo> AxisAlarmCodeMap = new Dictionary<string , AxisAlarmInfo>(); private Dictionary<string , AxisAlarmInfo> AxisAlarmCodeMap = new Dictionary<string , AxisAlarmInfo>();
/// <summary>
/// 是否有上料轴 add by renym 2018
/// </summary>
public bool IsHasCharging_Axis = false; public bool IsHasCharging_Axis = false;
/// <summary> /// <summary>
...@@ -146,7 +149,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -146,7 +149,7 @@ namespace OnlineStore.DeviceLibrary
moveAxisList.Add(Config.Middle_Axis); moveAxisList.Add(Config.Middle_Axis);
moveAxisList.Add(Config.UpDown_Axis); moveAxisList.Add(Config.UpDown_Axis);
moveAxisList.Add(Config.InOut_Axis); moveAxisList.Add(Config.InOut_Axis);
//2018-11-22 //2018-11-22 add by renym
moveAxisList.Add(Config.Charging_Axis); moveAxisList.Add(Config.Charging_Axis);
this.AxisAlarmCodeMap = new Dictionary<string , AxisAlarmInfo>(); this.AxisAlarmCodeMap = new Dictionary<string , AxisAlarmInfo>();
this.AxisAlarmCodeMap.Add(Config.UpDown_Axis.DeviceName, new AxisAlarmInfo()); this.AxisAlarmCodeMap.Add(Config.UpDown_Axis.DeviceName, new AxisAlarmInfo());
...@@ -348,6 +351,32 @@ namespace OnlineStore.DeviceLibrary ...@@ -348,6 +351,32 @@ namespace OnlineStore.DeviceLibrary
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000)); StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
} }
} }
///add by renym 2018-11-27
///
/// 进料轴原点复位
///
///
private void ChargingStartReset()
{
string portName = Config.Charging_Axis.DeviceName;
int slvAddr = Config.Charging_Axis.GetAxisValue();
if (ACServerManager.GetHomeEndStatus(portName, slvAddr).Equals(1)
&& ACServerManager.GetHomeSingle(portName, slvAddr).Equals(1))
{
//? StoreMove.NextMoveStep(StoreMoveStep.BOX_H_ChargingMove);//?
LogUtil.info(LOGGER, StoreName + "复位中,进料轴原点亮且已经原点返回过,先相对走-5000");
int currPos = ACServerManager.GetActualtPosition(portName, slvAddr);
int targetPos = currPos - 5000;//??
ACAxisMove(Config.Charging_Axis, targetPos, Config.ChargingAxis_HomeLowSpeed);
}
else
{
//? StoreMove.NextMoveStep(StoreMoveStep.BOX_H_ChargingBack);//?
LogUtil.info(LOGGER, StoreName + "复位中,进料轴开始原点返回");
ACAxisHomeMove(Config.Charging_Axis);
StoreMove.WaitList.Add(WaitResultInfo.WaitTime(2000));
}
}
/// <summary> /// <summary>
/// 复位处理 /// 复位处理
/// </summary> /// </summary>
...@@ -1319,6 +1348,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -1319,6 +1348,9 @@ namespace OnlineStore.DeviceLibrary
ACServerManager.SuddenStop(Config.Middle_Axis.DeviceName, Config.Middle_Axis.GetAxisValue()); ACServerManager.SuddenStop(Config.Middle_Axis.DeviceName, Config.Middle_Axis.GetAxisValue());
ACServerManager.SuddenStop(Config.UpDown_Axis.DeviceName, Config.UpDown_Axis.GetAxisValue()); ACServerManager.SuddenStop(Config.UpDown_Axis.DeviceName, Config.UpDown_Axis.GetAxisValue());
ACServerManager.SuddenStop(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue()); ACServerManager.SuddenStop(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue());
//add by renym 2018-11-27
if(IsHasCharging_Axis)
ACServerManager.SuddenStop(Config.Charging_Axis.DeviceName, Config.Charging_Axis.GetAxisValue());
if (IsHasCompress_Axis) if (IsHasCompress_Axis)
{ {
ShuoKeControls.SuddownStop(Config.CompressAxis_Slv); ShuoKeControls.SuddownStop(Config.CompressAxis_Slv);
...@@ -1339,6 +1371,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1339,6 +1371,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(LOGGER, StoreName + "StopMove"); LogUtil.info(LOGGER, StoreName + "StopMove");
KNDIOMove(IO_Type.Door_Down, IO_VALUE.LOW); KNDIOMove(IO_Type.Door_Down, IO_VALUE.LOW);
KNDIOMove(IO_Type.Door_Up, IO_VALUE.LOW); KNDIOMove(IO_Type.Door_Up, IO_VALUE.LOW);
//?add 进料门锁
//HDevelopExport.CloseAllCamera(); //HDevelopExport.CloseAllCamera();
isInPro = false; isInPro = false;
} }
......
...@@ -776,6 +776,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -776,6 +776,7 @@ namespace OnlineStore.DeviceLibrary
} }
#endregion #endregion
#region 自动上料上料机构处理 #region 自动上料上料机构处理
private bool bolChargingRun = false;
public void ChargingLoad() public void ChargingLoad()
{ {
//1、上料门是否关闭 //1、上料门是否关闭
...@@ -786,6 +787,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -786,6 +787,7 @@ namespace OnlineStore.DeviceLibrary
//3、吸盘在最高端 //3、吸盘在最高端
if (KNDIOValue(IO_Type.Chuck_Up).Equals(IO_VALUE.HIGH)) if (KNDIOValue(IO_Type.Chuck_Up).Equals(IO_VALUE.HIGH))
{ {
//吸盘移动到最高点
} }
//if (KNDIOValue(IO_Type.Load_DoorClose).Equals(IO_VALUE.HIGH)) //if (KNDIOValue(IO_Type.Load_DoorClose).Equals(IO_VALUE.HIGH))
//通过读伺服线圈信息,判断伺服在最高位置还是在最低位置 //通过读伺服线圈信息,判断伺服在最高位置还是在最低位置
...@@ -793,6 +795,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -793,6 +795,9 @@ namespace OnlineStore.DeviceLibrary
//4、判断上料机构是否在最高点? 是---》无料盘 TrayCheck_Door //4、判断上料机构是否在最高点? 是---》无料盘 TrayCheck_Door
//5、是否检测到料盘?检测到,不运行;检测不到伺服运行 //5、是否检测到料盘?检测到,不运行;检测不到伺服运行
//电机运动 ACAxisMove(Config.Charging_Axis, ??, Config.Charging_Axis.TargetSpeed); //电机运动 ACAxisMove(Config.Charging_Axis, ??, Config.Charging_Axis.TargetSpeed);
bolChargingRun = true;
ACAxisMove(Config.Charging_Axis,Config.ChargingAxis_PositionMin, Config.ChargingAxis_HomeLowSpeed);
} }
} }
......
...@@ -51,7 +51,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -51,7 +51,7 @@ namespace OnlineStore.DeviceLibrary
// //
/// add by renym 2018-11-26 /// add by renym 2018-11-26
/// /// <summary> /// /// <summary>
/// 轴(上料轴)报警 /// 轴(上料轴)报警
/// </summary> /// </summary>
public static int ChargingAxisAlarm = 18; public static int ChargingAxisAlarm = 18;
} }
......
...@@ -42,7 +42,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -42,7 +42,7 @@ namespace OnlineStore.DeviceLibrary
{ {
if (valueList.Contains(item)) if (valueList.Contains(item))
{ {
LogUtil.error(LOGGER, type.Name+"枚举值:"+item +"重复存在,请检查代码!"); LogUtil.error(LOGGER, type.Name + "枚举值:" + item + "重复存在,请检查代码!");
Application.Exit(); Application.Exit();
break; break;
} }
...@@ -133,6 +133,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -133,6 +133,10 @@ namespace OnlineStore.DeviceLibrary
/// 正在忙碌中,请稍后 /// 正在忙碌中,请稍后
/// </summary> /// </summary>
Busy = 4, Busy = 4,
///
///进料轴运行
///
ChargingMoving = 5, //add by Renym 2018-11-27
} }
/// <summary> /// <summary>
...@@ -194,7 +198,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -194,7 +198,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 重置中(原点返回和重置都发此状态) /// 重置中(原点返回和重置都发此状态)
/// </summary> /// </summary>
ResetMove=13, ResetMove = 13,
} }
/// <summary> /// <summary>
...@@ -210,12 +214,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -210,12 +214,12 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 料仓原点返回和重置步骤,,定位气缸下降 /// 料仓原点返回和重置步骤,,定位气缸下降
/// </summary> /// </summary>
BOX_H_LocationCylinderBack=010, BOX_H_LocationCylinderBack = 010,
/// <summary> /// <summary>
/// 料仓原点返回和重置步骤,轴三先相对走3000 /// 料仓原点返回和重置步骤,轴三先相对走3000
/// </summary> /// </summary>
BOX_H_InOutMove=011, BOX_H_InOutMove = 011,
/// <summary> /// <summary>
/// 料仓原点返回和重置步骤,,轴三进出轴先返回原点 /// 料仓原点返回和重置步骤,,轴三进出轴先返回原点
/// </summary> /// </summary>
...@@ -236,12 +240,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -236,12 +240,12 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 旋转轴返回P1 /// 旋转轴返回P1
/// </summary> /// </summary>
BOX_H_MiddleAxisToP1=016, BOX_H_MiddleAxisToP1 = 016,
/// <summary> /// <summary>
/// 叉子先退回P1 /// 叉子先退回P1
/// </summary> /// </summary>
BOX_M_H_InOutToP1=018, BOX_M_H_InOutToP1 = 018,
/// <summary> /// <summary>
/// 旋转轴回原点 /// 旋转轴回原点
/// </summary> /// </summary>
...@@ -250,7 +254,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -250,7 +254,15 @@ namespace OnlineStore.DeviceLibrary
/// 旋转轴等待清理位置 /// 旋转轴等待清理位置
/// </summary> /// </summary>
BOX_M_H_MiddleWait = 020, BOX_M_H_MiddleWait = 020,
//add by renym 2018-11-27
/// <summary>
/// 料仓原点返回和重置步骤,轴 五先相对走3000
/// </summary>
//? BOX_H_ChargingMove = 021,
/// <summary>
/// 料仓原点返回和重置步骤,,轴五进料轴先返回原点
/// </summary>
//? BOX_H_ChargingBack = 022,
/// <summary> /// <summary>
/// 叉子走到P1 /// 叉子走到P1
/// </summary> /// </summary>
...@@ -270,7 +282,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -270,7 +282,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
///料仓出库,,定位气缸下降 ///料仓出库,,定位气缸下降
/// </summary> /// </summary>
SO_01_LocationCylinderDown=101, SO_01_LocationCylinderDown = 101,
/// <summary> /// <summary>
///料仓出库:叉子先运动到P1 ///料仓出库:叉子先运动到P1
/// </summary> /// </summary>
...@@ -330,7 +342,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -330,7 +342,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 等待拿走物品 /// 等待拿走物品
/// </summary> /// </summary>
SO_14_WaitTake=114, SO_14_WaitTake = 114,
#endregion #endregion
...@@ -338,11 +350,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -338,11 +350,11 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 入库检测 /// 入库检测
/// </summary> /// </summary>
SI_00_TrayCheck=200, SI_00_TrayCheck = 200,
/// <summary> /// <summary>
/// 入库,。定位气缸下降 /// 入库,。定位气缸下降
/// </summary> /// </summary>
SI_01_LocationCylinderDown=201, SI_01_LocationCylinderDown = 201,
/// <summary> /// <summary>
/// 入库。。进出轴(叉子)先返回P1 /// 入库。。进出轴(叉子)先返回P1
/// </summary> /// </summary>
...@@ -517,11 +529,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -517,11 +529,11 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 等待StoreMove完成当前操作开始入库 /// 等待StoreMove完成当前操作开始入库
/// </summary> /// </summary>
MIO_08_WaitInStore=3088, MIO_08_WaitInStore = 3088,
/// <summary> /// <summary>
/// 等待StoreMove移走料盘开始放托盘通过 /// 等待StoreMove移走料盘开始放托盘通过
/// </summary> /// </summary>
MIO_09_WaitLetFixtureGo=3089, MIO_09_WaitLetFixtureGo = 3089,
#endregion #endregion
#region 移栽装置出库处理 #region 移栽装置出库处理
...@@ -602,7 +614,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -602,7 +614,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 移载装置入库处理,,等待box等待状态才能继续操作 /// 移载装置入库处理,,等待box等待状态才能继续操作
/// </summary> /// </summary>
MI_10_WaitBox=3006, MI_10_WaitBox = 3006,
/// <summary> /// <summary>
///移载装置入库处理,,编码与仓位一致,,上下气缸1下降(Y22=0/Y23=1) ///移载装置入库处理,,编码与仓位一致,,上下气缸1下降(Y22=0/Y23=1)
/// </summary> /// </summary>
...@@ -681,11 +693,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -681,11 +693,11 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 关闭皮带 /// 关闭皮带
/// </summary> /// </summary>
LINEIN_CloseLine=20003, LINEIN_CloseLine = 20003,
/// <summary> /// <summary>
/// 等待下位机要料信号 /// 等待下位机要料信号
/// </summary> /// </summary>
LINEIN_WatiMachineSingle=20004, LINEIN_WatiMachineSingle = 20004,
/// <summary> /// <summary>
/// 双层料仓流水线模块 。线体调宽回原点 /// 双层料仓流水线模块 。线体调宽回原点
...@@ -707,7 +719,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -707,7 +719,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 流水线原点返回,开始原点返回 /// 流水线原点返回,开始原点返回
/// </summary> /// </summary>
LINEH_LineHome_003= 20022, LINEH_LineHome_003 = 20022,
#endregion #endregion
...@@ -817,7 +829,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -817,7 +829,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 在线双层料仓:等待物料到达 /// 在线双层料仓:等待物料到达
/// </summary> /// </summary>
DB_SO_11_WaitTrayToDoor= 20211, DB_SO_11_WaitTrayToDoor = 20211,
/// <summary> /// <summary>
/// 在线双层料仓:等待拿走料盘 /// 在线双层料仓:等待拿走料盘
/// </summary> /// </summary>
...@@ -840,7 +852,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -840,7 +852,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 在线双层料仓:回原点:同时动作:转盘低速旋转 , 电缸回到原位 ,( I/O点控制) 旋转气缸旋回 /// 在线双层料仓:回原点:同时动作:转盘低速旋转 , 电缸回到原位 ,( I/O点控制) 旋转气缸旋回
/// </summary> /// </summary>
DB_H_02_BackHome= 20302, DB_H_02_BackHome = 20302,
/// <summary> /// <summary>
/// 在线双层料仓:回原点:旋回完成 /// 在线双层料仓:回原点:旋回完成
/// </summary> /// </summary>
...@@ -880,6 +892,57 @@ namespace OnlineStore.DeviceLibrary ...@@ -880,6 +892,57 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 电钢报警 /// 电钢报警
/// </summary> /// </summary>
StellAlarm=50, StellAlarm = 50,
}
//Charging 上料轴 入库运行状态
public enum ChargingInStatu
{
//Wait = 0,
/// <summary>
/// 初始化 ,原点返回状态中,只有流水线使用
/// </summary>
// HomeMoving = 1,
/// <summary>
/// 进料-上料轴--上移
/// </summary>
InBoxMoveUp = 1,
/// <summary>
/// 料盘检测步骤、扫码操作
/// </summary>
InBoxCheck = 2,
/// <summary>
/// 吸盘-下移动检测步骤
/// </summary>
SuckerMove_Down = 3,
/// <summary>
/// 吸盘-下端检测步骤
/// </summary>
Sucker_DownCheck = 4,
/// <summary>
/// 吸盘-停止下移步骤
/// </summary>
Sucker_DownStop = 5,
//吸盘吸
Sucker_SuctionSOL = 6,
////吸盘上升
Sucker_UpSOL = 7,
//进出轴出
//吸盘放掉料盘
//夹紧装置
//进出轴退回
//判断进出轴是否退回?
//上料轴运行
//上料轴位置判断
//挂起
}
public enum ChargingOutStatu
{
Wait = 0,
//开门出料
} }
} }
...@@ -191,19 +191,19 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -191,19 +191,19 @@ namespace OnlineStore.LoadCSVLibrary
#region #region
/// <summary> /// <summary>
/// PRO (轴)进料轴轴原点低速度 ChargingAxis_HomeLowSpeed 50 /// PRO (轴)进料轴轴原点低速度 ChargingAxis_HomeLowSpeed 50
/// </summary> /// </summary>
[ConfigProAttribute("ChargingAxis_HomeLowSpeed", false)] [ConfigProAttribute("ChargingAxis_HomeLowSpeed", false)]
public short ChargingAxis_HomeLowSpeed { get; set; } public short ChargingAxis_HomeLowSpeed { get; set; }
/// <summary> /// <summary>
/// PRO (轴)进料轴轴原点高速 ChargingnAxis_HomeHighSpeed 100 /// PRO (轴)进料轴轴原点高速 ChargingnAxis_HomeHighSpeed 100
/// </summary> /// </summary>
[ConfigProAttribute("ChargingAxis_HomeHighSpeed", false)] [ConfigProAttribute("ChargingAxis_HomeHighSpeed", false)]
public short ChargingAxis_HomeHighSpeed { get; set; } public short ChargingAxis_HomeHighSpeed { get; set; }
/// <summary> /// <summary>
/// PRO (轴)进料轴轴原点加速度 ChargingAxis_HomeAddSpeed 30 /// PRO (轴)进料轴轴原点加速度 ChargingAxis_HomeAddSpeed 30
/// </summary> /// </summary>
[ConfigProAttribute("ChargingAxis_HomeAddSpeed", false)] [ConfigProAttribute("ChargingAxis_HomeAddSpeed", false)]
public short ChargingAxis_HomeAddSpeed { get; set; } public short ChargingAxis_HomeAddSpeed { get; set; }
...@@ -390,6 +390,16 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -390,6 +390,16 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary> /// </summary>
[ConfigProAttribute("CompressAxis_P1_Position")] [ConfigProAttribute("CompressAxis_P1_Position")]
public int CompressAxis_P1_Position { get; set; } public int CompressAxis_P1_Position { get; set; }
// add by renym 2018-11-27 上料轴原点定义
/// PRO 进料轴(轴5)P1待机原位点 CompressAxis_P1_Position
/// </summary>
[ConfigProAttribute("ChargingAxis_P1_Position", false)]
public int ChargingAxis_P1_Position { get; set; }
/// PRO 进料轴(轴5)最高位点 CompressAxis_P1_Position
/// </summary>
[ConfigProAttribute("ChargingAxis_MaxHigh_Position", false)]
public int ChargingAxis_MaxHigh_Position { get; set; }
/// <summary> /// <summary>
/// PRO 是否使用料盘检测信号 IsUse_Tray_Check /// PRO 是否使用料盘检测信号 IsUse_Tray_Check
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!