Commit a0bdb503 LN

1

1 个父辈 bc45c7da
......@@ -71,10 +71,10 @@ namespace OnlineStore.ACPackingStore
}
if (shelrfP != null)
{
txtInoutPA.Text = shelrfP.InoutAxis_PA.ToString();
txtUpdownPA1.Text = shelrfP.UpDownAxis_LPA1.ToString();
txtUpdownPA2.Text = shelrfP.UpDownAxis_HPA2.ToString();
txtMPA.Text = shelrfP.MiddleAxis_PA.ToString();
txtInoutP101.Text = shelrfP.InoutAxis_P101.ToString();
txtUpdownP101.Text = shelrfP.UpDownAxis_LP101.ToString();
txtUpdownP102.Text = shelrfP.UpDownAxis_HP102.ToString();
txtMP101.Text = shelrfP.MiddleAxis_P101.ToString();
}
txtMiddleP1.Text = BoxBean.Config.MiddleAxis_P1.ToString();
......@@ -396,10 +396,10 @@ namespace OnlineStore.ACPackingStore
//ktk.UpDown_P7 = FormUtil.GetIntValue(txtUpDownP7);
//ktk.UpDown_P8 = FormUtil.GetIntValue(txtUpDownP8);
ktk.InOut_PA = FormUtil.GetIntValue(txtInoutPA);
ktk.UpDown_LPA1 = FormUtil.GetIntValue(txtUpdownPA1);
ktk.UpDown_HPA2 = FormUtil.GetIntValue(txtUpdownPA2);
ktk.Middle_PA = FormUtil.GetIntValue(txtMPA);
ktk.InOut_P101 = FormUtil.GetIntValue(txtInoutP101);
ktk.UpDown_LP101 = FormUtil.GetIntValue(txtUpdownP101);
ktk.UpDown_HP102 = FormUtil.GetIntValue(txtUpdownP102);
ktk.Middle_P101 = FormUtil.GetIntValue(txtMP101);
return ktk;
}
private void btnComAlarmClear_Click(object sender, EventArgs e)
......@@ -1107,10 +1107,10 @@ namespace OnlineStore.ACPackingStore
if (shelrfP != null)
{
txtInoutPA.Text = shelrfP.InoutAxis_PA.ToString();
txtUpdownPA1.Text = shelrfP.UpDownAxis_LPA1.ToString();
txtUpdownPA2.Text = shelrfP.UpDownAxis_HPA2.ToString();
txtMPA.Text = shelrfP.MiddleAxis_PA.ToString();
txtInoutP101.Text = shelrfP.InoutAxis_P101.ToString();
txtUpdownP101.Text = shelrfP.UpDownAxis_LP101.ToString();
txtUpdownP102.Text = shelrfP.UpDownAxis_HP102.ToString();
txtMP101.Text = shelrfP.MiddleAxis_P101.ToString();
}
}
}
......@@ -1122,10 +1122,10 @@ namespace OnlineStore.ACPackingStore
ShelfPosition pso = CSVPositionReader<ShelfPosition>.GetPositon(selectPositionNum);
if (pso != null)
{
pso.InoutAxis_PA = FormUtil.GetIntValue(txtInoutPA);
pso.MiddleAxis_PA = FormUtil.GetIntValue(txtMPA);
pso.UpDownAxis_LPA1 = FormUtil.GetIntValue(txtUpdownPA1);
pso.UpDownAxis_HPA2 = FormUtil.GetIntValue(txtUpdownPA2);
pso.InoutAxis_P101 = FormUtil.GetIntValue(txtInoutP101);
pso.MiddleAxis_P101 = FormUtil.GetIntValue(txtMP101);
pso.UpDownAxis_LP101 = FormUtil.GetIntValue(txtUpdownP101);
pso.UpDownAxis_HP102 = FormUtil.GetIntValue(txtUpdownP102);
}
//位置配置
string positionConfigFile = Application.StartupPath + ConfigAppSettings.GetValue(Setting_Init.Shelf_Position_Config);
......
......@@ -30,6 +30,10 @@ namespace OnlineStore.DeviceLibrary
private Dictionary<string, AxisAlarmInfo> AxisAlarmCodeMap = new Dictionary<string, AxisAlarmInfo>();
public List<string> PositionNumList = new List<string>();
public List<string> ShelfPosList = new List<string>();
/// <summary>
/// 料架未放料盘的位置列表
/// </summary>
public Queue<string> EmprtShelfList = new Queue<string>();
private System.Timers.Timer serverConnectTimer = new System.Timers.Timer();
private System.Timers.Timer IoCheckTimer = new System.Timers.Timer();
......@@ -1264,11 +1268,20 @@ namespace OnlineStore.DeviceLibrary
{
LogUtil.error("验证出库【" + currInOutFixture.ToStr() + "】是否重复出错:" + ex.ToString());
}
if (CanStarInOut())
string shelfPosId = "";
if (EmprtShelfList.Count > 0)
{
shelfPosId = EmprtShelfList.Dequeue();
}
else
{
LogUtil.error(Name + "执行出库【" + currInOutFixture.ToStr() + "】失败,料架没有空位置");
}
if (CanStarInOut() && String.IsNullOrEmpty(shelfPosId).Equals(false))
//if (CanStarInOut() &&( LineConnect.CanStartOut()||IsDebug))
{
bool result = StartOutStoreMove(new InOutParam("", posId, plateW, plateH));
bool result = StartOutStoreMove(new InOutParam("", posId, plateW, plateH,shelfPosId));
if (!result)
{
LogInfo(" 执行出库【" + currInOutFixture.ToStr() + "】失败,加入等待队列");
......
......@@ -12,22 +12,6 @@ namespace OnlineStore.DeviceLibrary
{
#region 出入库结果验证
private void InOutBackToP1(int InOut_P1)
{
//判断是否在P1,如果是,不需要运行
int outCount = ACServerManager.GetActualtPosition(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue());
int errorCount = Math.Abs(outCount - InOut_P1);
if (errorCount <= Config.InOut_Axis.CanErrorCountMin)
{
LogInfo("进出轴当前位置:" + outCount + ",已经在P1,不需要再回P1");
}
else
{
ACAxisMove(Config.InOut_Axis, InOut_P1, Config.InOutAxis_P1_Speed);
}
//StoreMove.WaitList.Add(WaitResultInfo.WaitAxisOrg(Config.InOut_Axis,IO_VALUE.HIGH));
}
private void CheckWait()
{
List<WaitResultInfo> list = MoveInfo.WaitList;
......@@ -121,7 +105,8 @@ namespace OnlineStore.DeviceLibrary
}
wait.IsEnd = result;
}
}else if (wait.WaitType.Equals(9))
}
else if (wait.WaitType.Equals(9))
{
wait.IsEnd = (LastScanCodes.Count > 0);
}
......@@ -155,6 +140,23 @@ namespace OnlineStore.DeviceLibrary
}
}
private static DateTime lastComRHomeTime = DateTime.Now;
private void InOutBackToP1(int InOut_P1)
{
//判断是否在P1,如果是,不需要运行
int outCount = ACServerManager.GetActualtPosition(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue());
int errorCount = Math.Abs(outCount - InOut_P1);
if (errorCount <= Config.InOut_Axis.CanErrorCountMin)
{
LogInfo("进出轴当前位置:" + outCount + ",已经在P1,不需要再回P1");
}
else
{
ACAxisMove(Config.InOut_Axis, InOut_P1, Config.InOutAxis_P1_Speed);
}
//StoreMove.WaitList.Add(WaitResultInfo.WaitAxisOrg(Config.InOut_Axis,IO_VALUE.HIGH));
}
#endregion
......
......@@ -39,6 +39,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo(" 空闲中,检测到入料口有信号,料架入库:入料口移门打开,");
storeRunStatus = StoreRunStatus.Busy;
storeStatus = StoreStatus.InStoreExecute;
EmprtShelfList = new Queue<string>();
MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam());
MoveInfo.MoveParam.MoveP = new LineMoveP();
......@@ -55,6 +56,13 @@ namespace OnlineStore.DeviceLibrary
}
}
}
private void ShelfInStoreEnd()
{
MoveInfo.EndMove();
EmprtShelfList = new Queue<string>(ShelfPosList);
storeRunStatus = StoreRunStatus.Runing;
storeStatus = StoreStatus.StoreOnline;
}
private void ShelfInStoreProcess()
{
LineMoveP moveP = MoveInfo.MoveParam.MoveP;
......@@ -127,24 +135,24 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_11_InoutToP1))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_12_MoveToShelf);
InOutStoreLog("料架取料:升降轴移动到PA1低点,旋转轴移动到PA1点,压紧轴到压紧前点");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_LPA1, Config.UpDownAxis_PA1_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_PA, Config.MiddleAxis_PA_Speed);
InOutStoreLog("料架取料:升降轴移动到P101低点,旋转轴移动到P101点,压紧轴到压紧前点");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_LP101, Config.UpDownAxis_P101_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P101, Config.MiddleAxis_P101_Speed);
ACAxisMove(Config.Comp_Axis, Config.CompAxis_P3_Position, Config.CompAxis_P3_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_12_MoveToShelf))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_13_InoutToPA);
InOutStoreLog("料架取料:叉子前进到PA点");
ACAxisMove(Config.InOut_Axis, moveP.InOut_PA, Config.InOutAxis_PA_Speed);
MoveInfo.NextMoveStep(StoreMoveStep.BI_13_InoutToP101);
InOutStoreLog("料架取料:叉子前进到P101点");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P101, Config.InOutAxis_P101_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_13_InoutToPA))
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_13_InoutToP101))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_14_UpdownToPA2);
InOutStoreLog("料架取料:升降轴上升到PA2点");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HPA2, Config.UpDownAxis_PA2_Speed);
MoveInfo.NextMoveStep(StoreMoveStep.BI_14_UpdownToP102);
InOutStoreLog("料架取料:升降轴上升到P102点");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HP102, Config.UpDownAxis_P102_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_14_UpdownToPA2))
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_14_UpdownToP102))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_15_StartCompress);
InOutStoreLog("料架取料:压紧轴开始缓慢压紧到P4");
......@@ -331,8 +339,7 @@ namespace OnlineStore.DeviceLibrary
ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
ACAxisMove(Config.Middle_Axis, MoveInfo.MoveParam.MoveP.Middle_P1, Config.MiddleAxis_P1_Speed);
}
private void StartSendShelfOut()
{
MoveInfo.NextMoveStep(StoreMoveStep.BS_01_TopCylinder_Down);
......@@ -386,6 +393,7 @@ namespace OnlineStore.DeviceLibrary
}
}
#region 扫码获取库位
private string ProcessCode()
......
......@@ -177,10 +177,10 @@ namespace OnlineStore.DeviceLibrary
return false;
}
p.InOut_PA = sp.InoutAxis_PA;
p.UpDown_LPA1 = sp.UpDownAxis_LPA1;
p.UpDown_HPA2 = sp.UpDownAxis_HPA2;
p.Middle_PA = sp.MiddleAxis_PA;
p.InOut_P101 = sp.InoutAxis_P101;
p.UpDown_LP101 = sp.UpDownAxis_LP101;
p.UpDown_HP102 = sp.UpDownAxis_HP102;
p.Middle_P101 = sp.MiddleAxis_P101;
p.ComPress_P1 = box.Config.CompAxis_P1_Position;
p.InOut_P1 = box.Config.InOutAxis_P1_Position;
......
......@@ -95,10 +95,10 @@ PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,100,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,100,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,100,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)PA1速度,UpDownAxis_PA1_Speed,100,,,,,, ,
PRO,升降轴(轴2)PA2速度,UpDownAxis_PA2_Speed,100,,,,,,,
PRO,进出轴(轴3)PA速度,InOutAxis_PA_Speed,100,,,,,,,
PRO,旋转轴(轴1)PA速度,MiddleAxis_PA_Speed,120,,,,,,,
PRO,升降轴(轴2)P101速度,UpDownAxis_P101_Speed,100,,,,,, ,
PRO,升降轴(轴2)P102速度,UpDownAxis_P102_Speed,100,,,,,,,
PRO,进出轴(轴3)P101速度,InOutAxis_P101_Speed,100,,,,,,,
PRO,旋转轴(轴1)P101速度,MiddleAxis_P101_Speed,120,,,,,,,
PRO,压紧轴(轴4)P4速度,CompAxis_P4_Speed,100,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,
......
......@@ -95,10 +95,10 @@ PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,100,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,100,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,100,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)PA1速度,UpDownAxis_PA1_Speed,100,,,,,, ,
PRO,升降轴(轴2)PA2速度,UpDownAxis_PA2_Speed,100,,,,,,,
PRO,进出轴(轴3)PA速度,InOutAxis_PA_Speed,100,,,,,,,
PRO,旋转轴(轴1)PA速度,MiddleAxis_PA_Speed,120,,,,,,,
PRO,升降轴(轴2)P101速度,UpDownAxis_P101_Speed,100,,,,,, ,
PRO,升降轴(轴2)P102速度,UpDownAxis_P102_Speed,100,,,,,,,
PRO,进出轴(轴3)P101速度,InOutAxis_P101_Speed,100,,,,,,,
PRO,旋转轴(轴1)P101速度,MiddleAxis_P101_Speed,120,,,,,,,
PRO,压紧轴(轴4)P4速度,CompAxis_P4_Speed,100,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,
......
位置,优先级,高度,宽度,料仓ID,旋转轴位置PA,升降轴低点PA1,升降轴高点PA2,进出轴位置PA
位置,优先级,高度,宽度,料仓ID,旋转轴位置P101,升降轴低点P101,升降轴高点P102,进出轴位置P101
1#S_1_4,1,8,7,1,211783,51884,55245,81000
1#S_1_5,2,8,7,1,211783,67807,71168,81000
1#S_1_6,3,8,7,1,211783,83730,87091,81000
......
......@@ -113,10 +113,10 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error( "GetPositon[" + ShelfPosID + "]=null,没有库位不能执行出入库");
}
MoveP.InOut_PA = sp.InoutAxis_PA;
MoveP.UpDown_LPA1 = sp.UpDownAxis_LPA1;
MoveP.UpDown_HPA2 = sp.UpDownAxis_HPA2;
MoveP.Middle_PA = sp.MiddleAxis_PA;
MoveP.InOut_P101 = sp.InoutAxis_P101;
MoveP.UpDown_LP101 = sp.UpDownAxis_LP101;
MoveP.UpDown_HP102 = sp.UpDownAxis_HP102;
MoveP.Middle_P101 = sp.MiddleAxis_P101;
}
......
......@@ -83,18 +83,18 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 料架进出轴取料点
/// </summary>
public int InOut_PA = 0;
public int InOut_P101 = 0;
/// <summary>
/// 料架旋转轴位置
/// </summary>
public int Middle_PA = 0;
public int Middle_P101 = 0;
/// <summary>
/// 料架升降轴低点PA1
/// 料架升降轴低点P101
/// </summary>
public int UpDown_LPA1 = 0;
public int UpDown_LP101 = 0;
/// <summary>
/// 料架升降轴高点PA2
/// 料架升降轴高点P102
/// </summary>
public int UpDown_HPA2 = 0;
public int UpDown_HP102 = 0;
}
}
......@@ -354,17 +354,17 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
BI_11_InoutToP1 = 20111,
/// <summary>
/// 料架取料:升降轴移动到PA1低点,旋转轴移动到PA1点,压紧轴到压紧前点
/// 料架取料:升降轴移动到P101低点,旋转轴移动到P101点,压紧轴到压紧前点
/// </summary>
BI_12_MoveToShelf = 20112,
/// <summary>
/// 料架取料:叉子前进到PA
/// 料架取料:叉子前进到P101
/// </summary>
BI_13_InoutToPA = 20113,
BI_13_InoutToP101 = 20113,
/// <summary>
/// 料架取料:升降轴上升到PA2点
/// 料架取料:升降轴上升到P102点
/// </summary>
BI_14_UpdownToPA2 = 20114,
BI_14_UpdownToP102 = 20114,
/// <summary>
/// 料架取料:压紧轴开始缓慢压紧
/// </summary>
......
......@@ -14,25 +14,25 @@ namespace OnlineStore.LoadCSVLibrary
public int StoreId { get; set; }
/// <summary>
/// 旋转轴位置PA
/// 旋转轴位置P101
/// </summary>
[CSVAttribute("旋转轴位置PA")]
public int MiddleAxis_PA{ get; set; }
[CSVAttribute("旋转轴位置P101")]
public int MiddleAxis_P101{ get; set; }
/// <summary>
/// 升降轴低点PA1
/// 升降轴低点P101
/// </summary>
[CSVAttribute("升降轴低点PA1")]
public int UpDownAxis_LPA1 { get; set; }
[CSVAttribute("升降轴低点P101")]
public int UpDownAxis_LP101 { get; set; }
/// <summary>
/// 升降轴高点PA2
/// 升降轴高点P102
/// /// </summary>
[CSVAttribute("升降轴高点PA2")]
public int UpDownAxis_HPA2{ get; set; }
[CSVAttribute("升降轴高点P102")]
public int UpDownAxis_HP102{ get; set; }
/// <summary>
/// 进出轴位置PA
/// 进出轴位置P101
/// </summary>
[CSVAttribute("进出轴位置PA")]
public int InoutAxis_PA { get; set; }
[CSVAttribute("进出轴位置P101")]
public int InoutAxis_P101 { get; set; }
}
}
......@@ -358,25 +358,25 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("CompAxis_P4_Position")]
public int CompAxis_P4_Position { get; set; }
/// <summary>
/// PRO,升降轴(轴2)PA1速度,UpDownAxis_PA1_Speed,100,,,,,, ,
/// PRO,升降轴(轴2)P101速度,UpDownAxis_P101_Speed,100,,,,,, ,
/// </summary>
[ConfigProAttribute("UpDownAxis_PA1_Speed")]
public int UpDownAxis_PA1_Speed { get; set; }
[ConfigProAttribute("UpDownAxis_P101_Speed")]
public int UpDownAxis_P101_Speed { get; set; }
/// <summary>
/// PRO,升降轴(轴2)PA2速度,UpDownAxis_PA2_Speed,100,,,,,,,
/// PRO,升降轴(轴2)P102速度,UpDownAxis_P102_Speed,100,,,,,,,
/// </summary>
[ConfigProAttribute("UpDownAxis_PA2_Speed")]
public int UpDownAxis_PA2_Speed { get; set; }
[ConfigProAttribute("UpDownAxis_P102_Speed")]
public int UpDownAxis_P102_Speed { get; set; }
/// <summary>
/// PRO,进出轴(轴3)PA速度,InOutAxis_PA_Speed,100,,,,,,,
/// PRO,进出轴(轴3)P101速度,InOutAxis_P101_Speed,100,,,,,,,
/// </summary>
[ConfigProAttribute("InOutAxis_PA_Speed")]
public int InOutAxis_PA_Speed { get; set; }
[ConfigProAttribute("InOutAxis_P101_Speed")]
public int InOutAxis_P101_Speed { get; set; }
/// <summary>
/// PRO,旋转轴(轴1)PA速度,MiddleAxis_PA_Speed,120,,,,,,,
/// PRO,旋转轴(轴1)P101速度,MiddleAxis_P101_Speed,120,,,,,,,
/// </summary>
[ConfigProAttribute("MiddleAxis_PA_Speed")]
public int MiddleAxis_PA_Speed { get; set; }
[ConfigProAttribute("MiddleAxis_P101_Speed")]
public int MiddleAxis_P101_Speed { get; set; }
/// <summary>
......
......@@ -42,6 +42,6 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
/// 松下伺服控制的包装料料仓
/// </summary>
public static string RC_AC_PA = "RC_AC_PA";
public static string RC_AC_PA = "RC_AC_P101";
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!