Commit e7a4127f 张东亮

存储机构-开启自动取图以及独立AB拍照点位置

1 个父辈 639d141a
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,0,行走机构,MoveAxis,0,HC,,15000,300000,200000,5000,30000,60000,10,100,0,0
AXIS,0,料斗拉取进出轴,PullAxis_Inout,1,HC,,50000,130000,130000,5000,50000,100000,10,100,0,0
AXIS,0,移栽升降轴,UpdownAxis,2,HC,,150000,1000000,800000,2000,20000,50000,10,100,0,0
AXIS,0,A面移栽X轴,XAxis_A,3,HC,,50000,150000,120000,5000,30000,100000,10,100,0,0
AXIS,0,A面移栽旋转轴,MiddleAxis_A,4,HC,,35000,60000,60000,2000,10000,20000,10,100,0,0
AXIS,0,A面移栽压紧轴,ComAxis_A,5,HC,,20000,50000,50000,2000,10000,20000,10,100,0,0
AXIS,0,料斗拉取升降轴,PullAxis_Updown,6,HC,,150000,1000000,800000,2000,20000,50000,10,100,0,0
AXIS,0,B面移栽X轴,XAxis_B,7,HC,,50000,150000,120000,5000,30000,100000,10,100,0,0
AXIS,0,B面移栽旋转轴,MiddleAxis_B,8,HC,,35000,60000,60000,2000,10000,20000,10,100,0,0
AXIS,0,B面移栽压紧轴,ComAxis_B,9,HC,,20000,50000,50000,2000,10000,20000,10,100,0,0
AXIS,0,行走机构,MoveAxis,0,HC,,35000,1000000,350000,5000,30000,50000,10,100,0,0
AXIS,0,料斗拉取进出轴,PullAxis_Inout,1,HC,,50000,150000,150000,5000,50000,100000,10,100,0,0
AXIS,0,移栽升降轴,UpdownAxis,2,HC,,50000,1500000,1000000,2000,20000,50000,10,100,0,0
AXIS,0,A面移栽X轴,XAxis_A,3,HC,,50000,1500000,1200000,5000,30000,100000,10,100,0,0
AXIS,0,A面移栽旋转轴,MiddleAxis_A,4,HC,,35000,300000,300000,2000,10000,20000,10,100,0,0
AXIS,0,A面移栽压紧轴,ComAxis_A,5,HC,,20000,150000,150000,2000,10000,20000,10,100,0,0
AXIS,0,料斗拉取升降轴,PullAxis_Updown,6,HC,,50000,1500000,1000000,2000,20000,50000,10,100,0,0
AXIS,0,B面移栽X轴,XAxis_B,7,HC,,50000,1500000,1200000,5000,30000,100000,10,100,0,0
AXIS,0,B面移栽旋转轴,MiddleAxis_B,8,HC,,35000,300000,300000,2000,10000,20000,10,100,0,0
AXIS,0,B面移栽压紧轴,ComAxis_B,9,HC,,20000,150000,150000,2000,10000,20000,10,100,0,0
,,,,,,,,,,,,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,,,,,,,,
PRO,0,温湿度端口号,Humiture_Port,0,,,,,,,,,,,,
PRO,0,抽屉Mark_X坐标,Drawer_X,999.91,,,,,,,,,,,,
PRO,0,抽屉Mark_Y坐标,Drawer_Y,876.22,,,,,,,,,,,,
PRO,0,抽屉Mark_X方向误差范围,Drawer_X_Error,20000,,,,,,,,,,,,
PRO,0,抽屉Mark_Y方向误差范围,Drawer_Y_Error,20000,,,,,,,,,,,,
PRO,0,抽屉行间距,Row_Spacing,850000,,,,,,,,,,,,
PRO,0,A面抽屉对位Mark_X坐标,FindPos_Drawer_A_X,974.47,,,,,,,,,,,,
PRO,0,A面抽屉对位Mark_Y坐标,FindPos_Drawer_A_Y,900.63,,,,,,,,,,,,
PRO,0,A面抽屉验证Mark_X坐标,Validate_Drawer_A_X,3,,,,,,,,,,,,
PRO,0,A面抽屉验证Mark_Y坐标,Validate_Drawer_A_Y,3,,,,,,,,,,,,
PRO,0,A面X方向像素到脉冲的系数,PixelToPulse_A_X,-100,,,,,,,,,,,,
PRO,0,A面Y方向像素到脉冲的系数,PixelToPulse_A_Y,100,,,,,,,,,,,,
PRO,0,B面抽屉对位Mark_X坐标,FindPos_Drawer_B_X,11,,,,,,,,,,,,
PRO,0,B面抽屉对位Mark_Y坐标,FindPos_Drawer_B_Y,2,,,,,,,,,,,,
PRO,0,B面抽屉验证Mark_X坐标,Validate_Drawer_B_X,4,,,,,,,,,,,,
PRO,0,B面抽屉验证Mark_Y坐标,Validate_Drawer_B_Y,2,,,,,,,,,,,,
PRO,0,B面X方向像素到脉冲的系数,PixelToPulse_B_X,100,,,,,,,,,,,,
PRO,0,B面Y方向像素到脉冲的系数,PixelToPulse_B_Y,100,,,,,,,,,,,,
PRO,0,视觉对位Mark_X方向误差范围,FindPos_Drawer_X_Error,2,,,,,,,,,,,,
PRO,0,视觉对位Mark_Y方向误差范围,FindPos_Drawer_Y_Error,2,,,,,,,,,,,,
PRO,0,验证抽屉Mark_X方向误差范围,Validate_Drawer_X_Error,2,,,,,,,,,,,,
PRO,0,验证抽屉Mark_Y方向误差范围,Validate_Drawer_Y_Error,2,,,,,,,,,,,,
PRO,0,抽屉行间距,Row_Spacing,865036,,,,,,,,,,,,
PRO,0,抽屉列间距,Column_Spacing,333300,,,,,,,,,,,,
PRO,0,抽屉层数,Drawer_Rows,15,,,,,,,,,,,,
PRO,0,抽屉列数,Drawer_Columns,6,,,,,,,,,,,,
PRO,0,抽屉内行数,Rows_In_Drawer,4,,,,,,,,,,,,
PRO,0,抽屉内列数,Cols_In_Drawer,20,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,行走机构_待机点P1,MoveAxis_P1,80000,,,,,,,,,,,,
PRO,0,行走机构_进出料机构取放点P2,MoveAxis_P2,-18000,,,,,,,,,,,,
......@@ -29,7 +43,7 @@ PRO,0,料斗拉取进出轴_待机点P1,PullAxis_Inout_P1,10000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,移栽升降轴_待机点P1,Updown_P1,880000,,,,,,,,,,,,
PRO,0,移栽升降轴_A上暂存区取料高点P2,Updown_P2,1506534,,,,,,,,,,,,
PRO,0,移栽升降轴_A上暂存区取料低点P3,Updown_P3,1368381,,,,,,,,,,,,
PRO,0,移栽升降轴_A上暂存区取料低点P3,Updown_P3,1362525,,,,,,,,,,,,
PRO,0,移栽升降轴_A下暂存区放料高点P4,Updown_P4,827531,,,,,,,,,,,,
PRO,0,移栽升降轴_A下暂存区放料低点P5,Updown_P5,670000,,,,,,,,,,,,
PRO,0,移栽升降轴_B上暂存区取料高点P8,Updown_P8,1506534,,,,,,,,,,,,
......@@ -39,7 +53,7 @@ PRO,0,移栽升降轴_B下暂存区取料低点P11,Updown_P11,651000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,料斗拉取升降轴_待机点P1,PullAxis_Updown_P1,0,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面移栽X轴_待机点P1,XAxis_A_P1,661000,,,,,,,,,,,,
PRO,0,A面移栽X轴_待机点P1,XAxis_A_P1,939289,,,,,,,,,,,,
PRO,0,A面移栽X轴_A进出料暂存区取放料点P2,XAxis_A_P2,1245809,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面移栽旋转轴_待机点P1,MiddleAxis_A_P1,-918,,,,,,,,,,,,
......@@ -49,7 +63,7 @@ PRO,0,A面移栽旋转轴_A面料屉库位垂直取放料点P3,MiddleAxis_A_P3,-
PRO,0,A面移栽压紧轴_待机点P1,ComAxis_A_P1,9000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,B面移栽X轴_待机点P1,XAxis_B_P1,661000,,,,,,,,,,,,
PRO,0,B面移栽X轴_待机点P1,XAxis_B_P1,896256,,,,,,,,,,,,
PRO,0,B面移栽X轴_B进出料暂存区取放料点P2,XAxis_B_P2,1204628,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,B面移栽旋转轴_待机点P1,MiddleAxis_B_P1,-2000,,,,,,,,,,,,
......@@ -58,70 +72,70 @@ PRO,0,B面移栽旋转轴_B面料屉库位垂直取放料点P3,MiddleAxis_B_P3,-
,,,,,,,,,,,,,,,,
PRO,0,B面移栽压紧轴_待机点P1,ComAxis_B_P1,8000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,行走机构_P1速度,MoveAxis_P1_Speed,100000,,,,,,,,,,,,
PRO,0,行走机构_P2速度,MoveAxis_P2_Speed,100000,,,,,,,,,,,,
PRO,0,行走机构_P3速度,MoveAxis_P3_Speed,100000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P1速度,PullAxis_Inout_P1_Speed,100000,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P2速度,PullAxis_Inout_P2_Speed,100000,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P3速度,PullAxis_Inout_P3_Speed,120000,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P4速度,PullAxis_Inout_P4_Speed,100000,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P5速度,PullAxis_Inout_P5_Speed,100000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,移栽升降轴_P1速度,Updown_P1_Speed,200000,,,,,,,,,,,,
PRO,0,移栽升降轴_P2速度,Updown_P2_Speed,100000,,,,,,,,,,,,
PRO,0,移栽升降轴_P3速度,Updown_P3_Speed,150000,,,,,,,,,,,,
PRO,0,移栽升降轴_P4速度,Updown_P4_Speed,100000,,,,,,,,,,,,
PRO,0,移栽升降轴_P5速度,Updown_P5_Speed,150000,,,,,,,,,,,,
PRO,0,移栽升降轴_P6速度,Updown_P6_Speed,200000,,,,,,,,,,,,
PRO,0,移栽升降轴_P7速度,Updown_P7_Speed,150000,,,,,,,,,,,,
PRO,0,移栽升降轴_P8速度,Updown_P8_Speed,100000,,,,,,,,,,,,
PRO,0,移栽升降轴_P9速度,Updown_P9_Speed,150000,,,,,,,,,,,,
PRO,0,移栽升降轴_P10速度,Updown_P10_Speed,100000,,,,,,,,,,,,
PRO,0,移栽升降轴_P11速度,Updown_P11_Speed,150000,,,,,,,,,,,,
PRO,0,移栽升降轴_P12速度,Updown_P12_Speed,300000,,,,,,,,,,,,
PRO,0,移栽升降轴_P13速度,Updown_P13_Speed,150000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,料斗拉取升降轴_P1速度,PullAxis_Updown_P1_Speed,200000,,,,,,,,,,,,
PRO,0,料斗拉取升降轴_P2速度,PullAxis_Updown_P2_Speed,400000,,,,,,,,,,,,
PRO,0,料斗拉取升降轴_P3速度,PullAxis_Updown_P3_Speed,400000,,,,,,,,,,,,
PRO,0,料斗拉取升降轴_P4速度,PullAxis_Updown_P4_Speed,400000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面移栽X轴_P1速度,XAxis_A_P1_Speed,400000,,,,,,,,,,,,
PRO,0,A面移栽X轴_P2速度,XAxis_A_P2_Speed,400000,,,,,,,,,,,,
PRO,0,A面移栽X轴_P3速度,XAxis_A_P3_Speed,400000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面移栽旋转轴_P1速度,MiddleAxis_A_P1_Speed,20000,,,,,,,,,,,,
PRO,0,A面移栽旋转轴_P2速度,MiddleAxis_A_P2_Speed,60000,,,,,,,,,,,,
PRO,0,A面移栽旋转轴_P3速度,MiddleAxis_A_P3_Speed,60000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面移栽压紧轴_P1速度,ComAxis_A_P1_Speed,20000,,,,,,,,,,,,
PRO,0,A面移栽压紧轴_P2速度,ComAxis_A_P2_Speed,20000,,,,,,,,,,,,
PRO,0,A面移栽压紧轴_P3速度,ComAxis_A_P3_Speed,20000,,,,,,,,,,,,
PRO,0,行走机构_P1速度,MoveAxis_P1_Speed,600000,,,,,,,,,,,,
PRO,0,行走机构_P2速度,MoveAxis_P2_Speed,600000,,,,,,,,,,,,
PRO,0,行走机构_P3速度,MoveAxis_P3_Speed,600000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P1速度,PullAxis_Inout_P1_Speed,90000,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P2速度,PullAxis_Inout_P2_Speed,90000,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P3速度,PullAxis_Inout_P3_Speed,90000,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P4速度,PullAxis_Inout_P4_Speed,90000,,,,,,,,,,,,
PRO,0,料斗拉取进出轴_P5速度,PullAxis_Inout_P5_Speed,90000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,移栽升降轴_P1速度,Updown_P1_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P2速度,Updown_P2_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P3速度,Updown_P3_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P4速度,Updown_P4_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P5速度,Updown_P5_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P6速度,Updown_P6_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P7速度,Updown_P7_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P8速度,Updown_P8_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P9速度,Updown_P9_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P10速度,Updown_P10_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P11速度,Updown_P11_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P12速度,Updown_P12_Speed,800000,,,,,,,,,,,,
PRO,0,移栽升降轴_P13速度,Updown_P13_Speed,800000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,料斗拉取升降轴_P1速度,PullAxis_Updown_P1_Speed,800000,,,,,,,,,,,,
PRO,0,料斗拉取升降轴_P2速度,PullAxis_Updown_P2_Speed,800000,,,,,,,,,,,,
PRO,0,料斗拉取升降轴_P3速度,PullAxis_Updown_P3_Speed,800000,,,,,,,,,,,,
PRO,0,料斗拉取升降轴_P4速度,PullAxis_Updown_P4_Speed,800000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面移栽X轴_P1速度,XAxis_A_P1_Speed,800000,,,,,,,,,,,,
PRO,0,A面移栽X轴_P2速度,XAxis_A_P2_Speed,800000,,,,,,,,,,,,
PRO,0,A面移栽X轴_P3速度,XAxis_A_P3_Speed,800000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面移栽旋转轴_P1速度,MiddleAxis_A_P1_Speed,100000,,,,,,,,,,,,
PRO,0,A面移栽旋转轴_P2速度,MiddleAxis_A_P2_Speed,100000,,,,,,,,,,,,
PRO,0,A面移栽旋转轴_P3速度,MiddleAxis_A_P3_Speed,100000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面移栽压紧轴_P1速度,ComAxis_A_P1_Speed,50000,,,,,,,,,,,,
PRO,0,A面移栽压紧轴_P2速度,ComAxis_A_P2_Speed,50000,,,,,,,,,,,,
PRO,0,A面移栽压紧轴_P3速度,ComAxis_A_P3_Speed,50000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,B面移栽X轴_P1速度,XAxis_B_P1_Speed,800000,,,,,,,,,,,,
PRO,0,B面移栽X轴_P2速度,XAxis_B_P2_Speed,800000,,,,,,,,,,,,
PRO,0,B面移栽X轴_P3速度,XAxis_B_P3_Speed,800000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,B面移栽旋转轴_P1速度,MiddleAxis_B_P1_Speed,120000,,,,,,,,,,,,
PRO,0,B面移栽旋转轴_P2速度,MiddleAxis_B_P2_Speed,120000,,,,,,,,,,,,
PRO,0,B面移栽旋转轴_P3速度,MiddleAxis_B_P3_Speed,120000,,,,,,,,,,,,
PRO,0,B面移栽旋转轴_P1速度,MiddleAxis_B_P1_Speed,100000,,,,,,,,,,,,
PRO,0,B面移栽旋转轴_P2速度,MiddleAxis_B_P2_Speed,100000,,,,,,,,,,,,
PRO,0,B面移栽旋转轴_P3速度,MiddleAxis_B_P3_Speed,100000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,B面移栽压紧轴_P1速度,ComAxis_B_P1_Speed,60000,,,,,,,,,,,,
PRO,0,B面移栽压紧轴_P2速度,ComAxis_B_P2_Speed,60000,,,,,,,,,,,,
PRO,0,B面移栽压紧轴_P3速度,ComAxis_B_P3_Speed,60000,,,,,,,,,,,,
PRO,0,B面移栽压紧轴_P1速度,ComAxis_B_P1_Speed,50000,,,,,,,,,,,,
PRO,0,B面移栽压紧轴_P2速度,ComAxis_B_P2_Speed,50000,,,,,,,,,,,,
PRO,0,B面移栽压紧轴_P3速度,ComAxis_B_P3_Speed,50000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面料屉拉取进出轴_拍照点,PullAxis_Inout_CamA,10000,,,,,,,,,,,,
PRO,0,B面料屉拉取进出轴_拍照点,PullAxis_Inout_CamB,10000,,,,,,,,,,,,
PRO,0,A面料屉拉取进出轴_拍照点,PullAxis_Inout_CamA,341317,,,,,,,,,,,,
PRO,0,B面料屉拉取进出轴_拍照点,PullAxis_Inout_CamB,-361909,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,A面第一列信号屏蔽(0=屏蔽,1=开启),A_Col1_Sig_Shield,1,,,,,,,,,,,,
PRO,0,A面第一列信号屏蔽(0=屏蔽,1=开启),A_Col1_Sig_Shield,0,,,,,,,,,,,,
PRO,0,A面第二列信号屏蔽(0=屏蔽,1=开启),A_Col2_Sig_Shield,0,,,,,,,,,,,,
PRO,0,A面第三列信号屏蔽(0=屏蔽,1=开启),A_Col3_Sig_Shield,0,,,,,,,,,,,,
PRO,0,A面第四列信号屏蔽(0=屏蔽,1=开启),A_Col4_Sig_Shield,0,,,,,,,,,,,,
PRO,0,A面第五列信号屏蔽(0=屏蔽,1=开启),A_Col5_Sig_Shield,0,,,,,,,,,,,,
PRO,0,A面第六列信号屏蔽(0=屏蔽,1=开启),A_Col6_Sig_Shield,0,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,B面第一列信号屏蔽(0=屏蔽,1=开启),B_Col1_Sig_Shield,1,,,,,,,,,,,,
PRO,0,B面第一列信号屏蔽(0=屏蔽,1=开启),B_Col1_Sig_Shield,0,,,,,,,,,,,,
PRO,0,B面第二列信号屏蔽(0=屏蔽,1=开启),B_Col2_Sig_Shield,0,,,,,,,,,,,,
PRO,0,B面第三列信号屏蔽(0=屏蔽,1=开启),B_Col3_Sig_Shield,0,,,,,,,,,,,,
PRO,0,B面第四列信号屏蔽(0=屏蔽,1=开启),B_Col4_Sig_Shield,0,,,,,,,,,,,,
......
......@@ -130,7 +130,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.WaitList.Add(WaitResultInfo.WaitAxis(Config, targetPosition, targetSpeed));
Config.TargetPosition = targetPosition;
AxisManager.instance.AbsMove(Config.DeviceName, Config.GetAxisValue(), targetPosition, targetSpeed,Config.AddSpeed,Config.DelSpeed);
//LogUtil.info($"{this.AxisName} AbsMove To [{targetPosition}] [speed={targetSpeed}]");
LogUtil.info($"{this.AxisName} AbsMove To [{targetPosition}] [speed={targetSpeed}]");
}
}
......
......@@ -372,9 +372,13 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
SI_05_GetReel,
/// <summary>
/// 料仓入库:A/B面移栽X轴到P3(A/B面料屉库位取放料点)
/// 料仓入库:A/B面移栽X轴到P1
/// </summary>
SI_06_InOutBackFromBuff,
SI_06_InOutBackToP1FromBuff,
/// <summary>
/// 料仓入库:清除缓存
/// </summary>
SI_06_ClearBuffInfo,
/// <summary>
/// 料仓入库:A/B面移栽旋转轴到P3(A面料屉库位垂直取放料点)
/// </summary>
......
......@@ -109,36 +109,65 @@ namespace OnlineStore.DeviceLibrary
}
private float GetDrawerX()
{
if (CheckASide())
{
return Config.FindPos_Drawer_A_X;
}
else
{
return Config.FindPos_Drawer_B_X;
}
}
private float GetDrawerY()
{
if (CheckASide())
{
return Config.FindPos_Drawer_A_Y;
}
else
{
return Config.FindPos_Drawer_B_Y;
}
}
private float GetError_X()
{
return Config.FindPos_Drawer_X_Error;
}
private float GetError_Y()
{
return Config.FindPos_Drawer_Y_Error;
}
private bool CheckMarkXPoint(EyemOcsFXYR eyemOcsFXYR)
{
if (Math.Abs(Config.Drawer_X - eyemOcsFXYR.fX) < Config.Drawer_X_Error)
if (Math.Abs(GetDrawerX() - eyemOcsFXYR.fX) < GetError_X())
{
LogInfo($"视觉对位 {MoveInfo.SLog}:Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{Config.Drawer_X},X轴偏差{(Config.Drawer_X - eyemOcsFXYR.fX)},在误差范围内" +
LogInfo($"视觉对位 {MoveInfo.SLog}:Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{GetDrawerX()},X轴偏差{(GetDrawerX() - eyemOcsFXYR.fX)},在误差范围内" +
$"[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
AutoFindPosSaveImage($"OK_Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{Config.Drawer_X},X轴偏差{(Config.Drawer_X - eyemOcsFXYR.fX)}");
AutoFindPosSaveImage($"OK_Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{GetDrawerX()},X轴偏差{(GetDrawerX() - eyemOcsFXYR.fX)}");
return true;
}
AutoFindPosSaveImage($"NG_Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{Config.Drawer_X},X轴偏差{(Config.Drawer_X - eyemOcsFXYR.fX)}");
LogInfo($"视觉对位 {MoveInfo.SLog}:Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{Config.Drawer_X},X轴偏差{(Config.Drawer_X - eyemOcsFXYR.fX)}," +
$"行走机构相对移动{(Config.Drawer_X - eyemOcsFXYR.fX) * autoFindPos.XCoeffOfCoorToPulse}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveAxis.AbsMove(MoveInfo, Convert.ToInt32(MoveAxis.GetAclPosition() + (Config.Drawer_X - eyemOcsFXYR.fX) * autoFindPos.XCoeffOfCoorToPulse), Config.MoveAxis_P1_Speed / 10);
AutoFindPosSaveImage($"NG_Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{GetDrawerX()},X轴偏差{(GetDrawerX() - eyemOcsFXYR.fX)}");
LogInfo($"视觉对位 {MoveInfo.SLog}:Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{GetDrawerX()},X轴偏差{(GetDrawerX() - eyemOcsFXYR.fX)}," +
$"行走机构相对移动{(GetDrawerX() - eyemOcsFXYR.fX) * autoFindPos.XCoeffOfCoorToPulse}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveAxis.AbsMove(MoveInfo, Convert.ToInt32(MoveAxis.GetAclPosition() + (GetDrawerX() - eyemOcsFXYR.fX) * autoFindPos.XCoeffOfCoorToPulse), Config.MoveAxis_P1_Speed / 10);
return false;
}
private bool CheckMarkYPoint(EyemOcsFXYR eyemOcsFXYR)
{
if (Math.Abs(Config.Drawer_Y - eyemOcsFXYR.fY) < Config.Drawer_Y_Error)
if (Math.Abs(GetDrawerY() - eyemOcsFXYR.fY) < GetError_Y())
{
LogInfo($"视觉对位 {MoveInfo.SLog}:Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y - eyemOcsFXYR.fY)},在误差范围内" +
LogInfo($"视觉对位 {MoveInfo.SLog}:Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{GetDrawerY()},Y轴偏差{(GetDrawerY() - eyemOcsFXYR.fY)},在误差范围内" +
$"[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
AutoFindPosSaveImage($"OK_Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y - eyemOcsFXYR.fY)}");
AutoFindPosSaveImage($"OK_Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{GetDrawerY()},Y轴偏差{(GetDrawerY() - eyemOcsFXYR.fY)}");
return true;
}
AutoFindPosSaveImage($"NG_Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y - eyemOcsFXYR.fY)}");
UpdownAxis.AbsMove(MoveInfo, Convert.ToInt32(UpdownAxis.GetAclPosition() + (Config.Drawer_Y - eyemOcsFXYR.fY) * autoFindPos.YCoeffOfCoorToPulse), Config.Updown_P1_Speed / 10);
PullAxis_Updown.AbsMove(MoveInfo, Convert.ToInt32(PullAxis_Updown.GetAclPosition() + (Config.Drawer_Y - eyemOcsFXYR.fY) * autoFindPos.YCoeffOfCoorToPulse), Config.Updown_P1_Speed / 10);
LogInfo($"视觉对位 {MoveInfo.SLog}:Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y - eyemOcsFXYR.fY)}," +
$"移栽升降轴、料屉升降轴相对移动{(Config.Drawer_Y - eyemOcsFXYR.fY) * autoFindPos.YCoeffOfCoorToPulse}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
AutoFindPosSaveImage($"NG_Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{GetDrawerY()},Y轴偏差{(GetDrawerY() - eyemOcsFXYR.fY)}");
UpdownAxis.AbsMove(MoveInfo, Convert.ToInt32(UpdownAxis.GetAclPosition() + (GetDrawerY() - eyemOcsFXYR.fY) * autoFindPos.YCoeffOfCoorToPulse), Config.Updown_P1_Speed / 10);
PullAxis_Updown.AbsMove(MoveInfo, Convert.ToInt32(PullAxis_Updown.GetAclPosition() + (GetDrawerY() - eyemOcsFXYR.fY) * autoFindPos.YCoeffOfCoorToPulse), Config.Updown_P1_Speed / 10);
LogInfo($"视觉对位 {MoveInfo.SLog}:Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{GetDrawerY()},Y轴偏差{(GetDrawerY() - eyemOcsFXYR.fY)}," +
$"移栽升降轴、料屉升降轴相对移动{(GetDrawerY() - eyemOcsFXYR.fY) * autoFindPos.YCoeffOfCoorToPulse}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
return false;
}
private void AutoFindPosSaveImage(string imgInfo)
......@@ -243,7 +272,7 @@ namespace OnlineStore.DeviceLibrary
//取图
//Bitmap bitmap = null;
Bitmap bitmap = AcqImage(CamPosSide(MoveInfo.MoveParam.PosInfo.PosId));
int res = AutoFindPos.GetMarkInfo(bitmap, $"{MoveInfo.MoveParam.PosInfo.PosId.Substring(0, 4)}",$"row{autoFindPos.CurRow}_col{autoFindPos.CurColumn}", out ocsFXYR);
int res = AutoFindPos.GetMarkInfo(bitmap, $"{MoveInfo.MoveParam.PosInfo.PosId.Substring(0, 4)}", $"row{autoFindPos.CurRow}_col{autoFindPos.CurColumn}", out ocsFXYR);
LogInfo($"视觉对位 {MoveInfo.SLog}:取图[ret={res}],行={autoFindPos.CurRow},列={autoFindPos.CurColumn}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
if (res == 0)
{
......@@ -452,10 +481,10 @@ namespace OnlineStore.DeviceLibrary
Columns = boxEquip_Config.Drawer_Columns;
FailedDrawers = new List<string>();
}
public void SetParam(int curRow, int curColumn, float xCooef, float yCooef)
public void SetParam(int curRow, int curColumn,int startRow,int startCol, float xCooef, float yCooef)
{
CurRow = curRow;
CurColumn = curColumn;
CurRow = startRow;
CurColumn = startCol;
PreColumn = curColumn;
PreRow = curRow;
Row_Spacing = boxEquip_Config.Row_Spacing;
......@@ -471,14 +500,14 @@ namespace OnlineStore.DeviceLibrary
/// <param name="bitmap">输入图片</param>
/// <param name="markCoor">mark点坐标信息</param>
/// <returns>0 正常 -4未定位到 </returns>
public static int GetMarkInfo(Bitmap bitmap,string subpath,string filename, out EyemOcsFXYR markCoor,out Bitmap resBitmap)
public static int GetMarkInfo(Bitmap bitmap, string subpath, string filename, out EyemOcsFXYR markCoor, out Bitmap resBitmap)
{
int flag;
markCoor = new EyemOcsFXYR();
EyemImage tpDstImg;
EyemImage image = eyemCvtToEyemImage(bitmap);
flag = eyemMarkerTracing(image, 120, ref markCoor, out tpDstImg);
string path = Application.StartupPath + ConfigAppSettings.GetValue(Setting_Init.ImagePath) + subpath+"\\"+DateTime.Now.ToString("yyyyMMdd");
string path = Application.StartupPath + ConfigAppSettings.GetValue(Setting_Init.ImagePath) + subpath + "\\" + DateTime.Now.ToString("yyyyMMdd");
string path1 = path + "\\" + "Src\\";
string path2 = path + "\\" + "ResOut\\";
string time = DateTime.Now.ToString("HHmmss");
......@@ -514,11 +543,11 @@ namespace OnlineStore.DeviceLibrary
Directory.CreateDirectory(path1);
if (!System.IO.Directory.Exists(path2))
Directory.CreateDirectory(path2);
bitmap.Save(path1 + filename+$"_{flag}_{time}" + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
bitmap.Save(path1 + filename + $"_{flag}_{time}" + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
Bitmap resBitmap = eyemCvtToBitmap(tpDstImg);
if (resBitmap != null)
{
resBitmap.Save(string.Format("{0}{1}_{2}_{3}_{4}_{5}_{6}.bmp", path2, filename, flag, time,markCoor.fX, markCoor.fY, markCoor.fR));
resBitmap.Save(string.Format("{0}{1}_{2}_{3}_{4}_{5}_{6}.bmp", path2, filename, flag, time, markCoor.fX, markCoor.fY, markCoor.fR));
}
Marshal.FreeHGlobal(image.vpImage);
eyemImageFree(ref tpDstImg);
......
......@@ -60,12 +60,26 @@ namespace OnlineStore.DeviceLibrary
while (IsOpen)
{
Bitmap bmp = AcqImage(name);
// LogUtil.info($"{name} 取图");
if (bmp != null)
{
camera_event?.Invoke(new CameraArgs(name, bmp));
}
Thread.Sleep(3000 / 10);
if (MoveInfo != null)
{
if (MoveInfo.MoveType.Equals(MoveType.InStore) || MoveInfo.MoveType.Equals(MoveType.OutStore))
{
if (CheckASide() && name.Equals("box_A"))
{
SaveImage(name);
}
else
{
SaveImage("box_B");
}
}
}
Thread.Sleep(500);
}
}
void StopCamera()
......@@ -76,16 +90,17 @@ namespace OnlineStore.DeviceLibrary
}
public Bitmap AcqImage(string camName)
{
return camera.GetImage(camName);
Bitmap bitmap = camera.GetImage(camName);
return bitmap;
}
public void SaveImage(string camName, string subpath, string filename)
public void SaveImage(string camName)
{
string path = Application.StartupPath + ConfigAppSettings.GetValue(Setting_Init.ImagePath) + subpath;
string path = Application.StartupPath + ConfigAppSettings.GetValue(Setting_Init.ImagePath) + camName + "\\" + DateTime.Now.ToString("yyyyMMdd");
if (AutoSaveImage)
{
if (!System.IO.Directory.Exists(path))
Directory.CreateDirectory(path);
camera.SaveImage(camName, path, filename, System.Drawing.Imaging.ImageFormat.Bmp);
camera.SaveImage(camName, path, DateTime.Now.ToString("hhmmssfff"), System.Drawing.Imaging.ImageFormat.Bmp);
}
}
}
......
......@@ -127,6 +127,7 @@ namespace OnlineStore.DeviceLibrary
}
return false;
}
private DateTime startTime;
private void InstoreExecute()
{
switch (MoveInfo.MoveStep)
......@@ -146,19 +147,18 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SI_01_Pull_Updown_ToPosition:
MoveInfo.NextMoveStep(StepEnum.SI_01_MoveAxis_Ready);
LogInfo($"入库 {MoveInfo.SLog}:到暂存区入料口," +
$"料屉升降轴到P1点,移栽升降轴到上暂存区取料低点P3/P9[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
$"行走机构到待机点P1,料屉升降轴到P1点,移栽升降轴到上暂存区取料低点P3/P9,移栽压紧轴到压紧前点P2,移栽旋转轴到取放料水平点P2,移栽X轴到P1,料屉升降轴到P1点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveAxisToP1();
PullAxis_UpdownToP1();
UpdownAxisTo_P3_P9();
break;
case StepEnum.SI_01_MoveAxis_Ready:
MoveInfo.NextMoveStep(StepEnum.SI_02_ToBufferArea);
LogInfo($"入库 {MoveInfo.SLog}:到暂存区入料口," +
$"行走机构到取放点P2,移栽压紧轴到压紧前点P2,移栽旋转轴到取放料水平点P2,移栽X轴到P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveAxisToP2();
ComAxis_To_P2();
MiddleAxis_To_P2();
XAxis_To_P1();
break;
case StepEnum.SI_01_MoveAxis_Ready:
MoveInfo.NextMoveStep(StepEnum.SI_02_ToBufferArea);
startTime = DateTime.Now;
break;
case StepEnum.SI_02_ToBufferArea:
if (!InDoorCheck(MoveInfo.MoveParam))
{
......@@ -191,8 +191,9 @@ namespace OnlineStore.DeviceLibrary
if (!CheckInputMiddleAxisInBuff())
{
MoveInfo.NextMoveStep(StepEnum.SI_04_InOutToBuff);
LogInfo($"入库 {MoveInfo.SLog}:移栽X轴到暂存区取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
LogInfo($"入库 {MoveInfo.SLog}:移栽X轴到暂存区取放点P2,行走机构到取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
XAxis_To_P2();
MoveAxisToP2();
}
else if (MoveInfo.IsTimeOut())
{
......@@ -206,37 +207,45 @@ namespace OnlineStore.DeviceLibrary
ComAxis_To_P3();
break;
case StepEnum.SI_05_GetReel:
MoveInfo.NextMoveStep(StepEnum.SI_06_InOutBackFromBuff);
LogInfo($"入库 {MoveInfo.SLog}:移栽X轴到料屉库位取放料点P3[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
XAxis_To_P3();
MoveInfo.NextMoveStep(StepEnum.SI_06_InOutBackToP1FromBuff);
LogInfo($"入库 {MoveInfo.SLog}:移栽X轴到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
XAxis_To_P1();
break;
case StepEnum.SI_06_InOutBackFromBuff:
case StepEnum.SI_06_InOutBackToP1FromBuff:
MoveInfo.NextMoveStep(StepEnum.SI_06_ClearBuffInfo);
//LogInfo($"入库 {MoveInfo.SLog}:移栽X轴到料屉库位取放料点P3[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
//清空暂存区料盘信息
ClearInDoorBuffer();
break;
case StepEnum.SI_06_ClearBuffInfo:
//存储当前料叉信息
if (MoveInfo.MoveParam.PosInfoBack == null)
{
if (CheckOtherSideIsThereReel(out InOutPosInfo inOutPosInfo))
{
MoveInfo.NextMoveStep(StepEnum.SI_01_PullAxis_Ready);
LogInfo($"入库 {MoveInfo.SLog}:取另一面暂存区的料[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveInfo.NextMoveStep(StepEnum.SI_01_MoveAxis_Ready);
LogInfo($"入库 {MoveInfo.SLog}:取另一面暂存区的料,移栽升降轴到上暂存区取料低点P3/P9,移栽压紧轴到压紧前点P2,移栽旋转轴到取放料水平点P2,移栽X轴到P1,料屉升降轴到P1点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveInfo.MoveParam.PosInfoBack = MoveInfo.MoveParam.PosInfo.ToCopy();
MoveInfo.MoveParam.PosInfo = inOutPosInfo;
MoveInfo.MoveParam.MoveP = new LineMoveP(Config, inOutPosInfo.PosId);
UpdownAxisTo_P3_P9();
ComAxis_To_P2();
MiddleAxis_To_P2();
XAxis_To_P1();
}
else
{
MoveInfo.NextMoveStep(StepEnum.SI_07_MiddleToP3);
MiddleAxis_To_P3();
LogInfo($"入库 {MoveInfo.SLog}:另一面无料,移栽旋转轴到料屉库位垂直取放料点P3,直接入库[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
//MiddleAxis_To_P3();
LogInfo($"入库 {MoveInfo.SLog}:另一面无料,直接入库[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");//移栽旋转轴到料屉库位垂直取放料点P3
}
}
else //另一个料叉已有料,进行入库
{
MoveInfo.NextMoveStep(StepEnum.SI_07_MiddleToP3);
MiddleAxis_To_P3();
LogInfo($"入库 {MoveInfo.SLog}:另一个料叉已有料,移栽旋转轴到料屉库位垂直取放料点P3,进行入库[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
//MiddleAxis_To_P3();
LogInfo($"入库 {MoveInfo.SLog}:另一个料叉已有料,进行入库[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");//移栽旋转轴到料屉库位垂直取放料点P3
}
break;
......@@ -244,12 +253,14 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SI_07_MiddleToP3:
MoveInfo.NextMoveStep(StepEnum.SI_08_ToPosition);
LogInfo($"入库 {MoveInfo.SLog}:运行到库位,移栽升降轴到料屉上方过渡点P6/P12,行走机构到存储库位取放点位P3," +
$"料斗拉取升降轴到料屉提取低点P4,料屉拉取进出轴到拍照点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
$"料斗拉取升降轴到料屉提取低点P4,料屉拉取进出轴到拍照点,移栽旋转轴到料屉库位垂直取放料点P3,移栽X轴到料屉库位取放料点P3[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
XAxis_To_P3();
PullAxis_Inout_To_Cam();
MiddleAxis_To_P3();
MoveAxisToP3();
PullAxis_UpdownToLowP4();
UpdownAxisTo_P6_P12();
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
break;
case StepEnum.SI_08_ToPosition:
if (CamCheckReelPosition())
......@@ -300,31 +311,44 @@ namespace OnlineStore.DeviceLibrary
PullAxis_UpdownToHighP3();
break;
case StepEnum.SI_16_LiftTray:
MoveInfo.NextMoveStep(StepEnum.SI_17_PushTray);
//MoveInfo.NextMoveStep(StepEnum.SI_17_PushTray);
MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayMiddle);
LogInfo($"入库 {MoveInfo.SLog}:推到抽屉提取点,料斗拉取进出轴到料屉提取点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_P2_P4();
break;
case StepEnum.SI_17_PushTray:
MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayMiddle);
PullAxis_UpdownToMiddleP2();
//case StepEnum.SI_17_PushTray:
// MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayMiddle);
// PullAxis_UpdownToMiddleP2();
// if (CheckASide())
// {
// LogInfo($"入库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
// if (!GetShieldState(sheidAColmns[GetPosColumn()]))
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayAColumns[GetPosColumn()], IO_VALUE.HIGH));
// }
// else
// {
// LogInfo($"入库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayBColumns[GetPosColumn()]} = 1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
// if (!GetShieldState(sheidBColmns[GetPosColumn()]))
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayBColumns[GetPosColumn()], IO_VALUE.HIGH));
// }
// break;
case StepEnum.SI_18_PutTrayMiddle:
MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayDown);
//LogInfo($"入库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_UpdownToLowP4();
if (CheckASide())
{
LogInfo($"入库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
LogInfo($"入库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
if (!GetShieldState(sheidAColmns[GetPosColumn()]))
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayAColumns[GetPosColumn()], IO_VALUE.HIGH));
}
else
{
LogInfo($"入库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayBColumns[GetPosColumn()]} = 1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
LogInfo($"入库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4,同时检测{trayBColumns[GetPosColumn()]} = 1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
if (!GetShieldState(sheidBColmns[GetPosColumn()]))
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayBColumns[GetPosColumn()], IO_VALUE.HIGH));
}
break;
case StepEnum.SI_18_PutTrayMiddle:
MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayDown);
LogInfo($"入库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_UpdownToLowP4();
break;
case StepEnum.SI_18_PutTrayDown:
MoveInfo.NextMoveStep(StepEnum.SI_19_InoutBack);
LogInfo($"入库 {MoveInfo.SLog}:料斗拉取进出轴到拍照点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
......@@ -335,7 +359,7 @@ namespace OnlineStore.DeviceLibrary
if (!CheckInStoreOtherSideInfo())
{
SetBoxStatus(DeviceStatus.StoreOnline, RunStatus.Runing);
LogInfo($"入库 {MoveInfo.SLog}:入库结束[{MoveInfo.MoveParam.PosInfo.PosId}][{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
LogInfo($"入库 {MoveInfo.SLog}:入库结束[{MoveInfo.MoveParam.PosInfo.PosId}][耗时:{(DateTime.Now - startTime).TotalSeconds.ToString("f2")}秒][{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveInfo.EndMove();
AutoInout.InOutEndProcess(this, MoveType.InStore);
}
......
......@@ -15,7 +15,6 @@ namespace OnlineStore.DeviceLibrary
{
partial class BoxEquip
{
/// <summary>
/// 料盘放到出料口成功,并将料盘信息写入该口
/// </summary>
......@@ -50,9 +49,10 @@ namespace OnlineStore.DeviceLibrary
break;
case StepEnum.SO_01_MoveAxis_Ready:
MoveInfo.NextMoveStep(StepEnum.SO_02_ToPosition);
startTime = DateTime.Now;
LogInfo($"出库 {MoveInfo.SLog}:到库位,行走机构到存储库位取放点位P3,移栽升降轴到料屉上方过渡点P6/P12," +
$"料斗拉取升降轴到料屉提取低点P4,移栽压紧轴到压紧前点P2,移栽X轴到库位取放点P3,移栽旋转轴到料屉库位垂直取放料点P3,料屉拉取进出轴到拍照点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_Cam();
$"料斗拉取升降轴到料屉提取低点P4,移栽压紧轴到压紧前点P2,移栽X轴到库位取放点P3,移栽旋转轴到料屉库位垂直取放料点P3[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_Cam();//料屉拉取进出轴到拍照点
MoveAxisToP3();
UpdownAxisTo_P6_P12();
PullAxis_UpdownToLowP4();
......@@ -108,33 +108,46 @@ namespace OnlineStore.DeviceLibrary
PullAxis_UpdownToHighP3();
break;
case StepEnum.SO_10_LiftTray:
MoveInfo.NextMoveStep(StepEnum.SO_11_PushTray);
//MoveInfo.NextMoveStep(StepEnum.SO_11_PushTray);
MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayMiddle);
LogInfo($"出库 {MoveInfo.SLog}:推到抽屉提取点,料斗拉取进出轴到料屉提取点P2/P4,移栽旋转轴到取放料水平点P2,移栽X到P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_P2_P4();
MiddleAxis_To_P2();
XAxis_To_P1();
break;
case StepEnum.SO_11_PushTray:
MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayMiddle);
PullAxis_UpdownToMiddleP2();
//case StepEnum.SO_11_PushTray:
// MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayMiddle);
// PullAxis_UpdownToMiddleP2();
// if (CheckASide())
// {
// LogInfo($"出库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
// if (!GetShieldState(sheidAColmns[GetPosColumn()]))
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayAColumns[GetPosColumn()], IO_VALUE.HIGH));
// }
// else
// {
// LogInfo($"出库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayBColumns[GetPosColumn()]} = 1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
// if (!GetShieldState(sheidBColmns[GetPosColumn()]))
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayBColumns[GetPosColumn()], IO_VALUE.HIGH));
// }
// break;
case StepEnum.SO_12_PutTrayMiddle:
MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayDown);
//LogInfo($"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_UpdownToLowP4();
if (CheckASide())
{
LogInfo($"出库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
LogInfo($"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
if (!GetShieldState(sheidAColmns[GetPosColumn()]))
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayAColumns[GetPosColumn()], IO_VALUE.HIGH));
}
else
{
LogInfo($"出库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayBColumns[GetPosColumn()]} = 1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
LogInfo($"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4,同时检测{trayBColumns[GetPosColumn()]} = 1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
if (!GetShieldState(sheidBColmns[GetPosColumn()]))
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayBColumns[GetPosColumn()], IO_VALUE.HIGH));
}
break;
case StepEnum.SO_12_PutTrayMiddle:
MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayDown);
LogInfo($"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_UpdownToLowP4();
break;
case StepEnum.SO_12_PutTrayDown:
MoveInfo.NextMoveStep(StepEnum.SO_13_InoutBack);
LogInfo($"出库 {MoveInfo.SLog}:料斗拉取进出轴到拍照点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
......@@ -156,6 +169,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.MoveParam.PosInfoBack = MoveInfo.MoveParam.PosInfo.ToCopy();
MoveInfo.MoveParam.PosInfo = inOutParam.PosInfo.ToCopy();
MoveInfo.MoveParam.MoveP = new LineMoveP(Config, inOutParam.PosInfo.PosId);
PullAxis_Inout_To_Cam();
return;
}
}
......@@ -172,6 +186,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.MoveParam.PosInfoBack = MoveInfo.MoveParam.PosInfo.ToCopy();
MoveInfo.MoveParam.PosInfo = inOutParam.PosInfo.ToCopy();
MoveInfo.MoveParam.MoveP = new LineMoveP(Config, inOutParam.PosInfo.PosId);
PullAxis_Inout_To_Cam();
return;
}
}
......@@ -179,19 +194,19 @@ namespace OnlineStore.DeviceLibrary
}
//直接出库,执行该步骤的情况:1.另一个料叉有料;2.另一面有出库任务但出料口有料;3.另一面没有出库任务;
MoveInfo.NextMoveStep(StepEnum.SO_14_GetReels_Ready);
MoveAxisToP1();
PullAxis_UpdownToP1();
UpdownAxisTo_P4_P10();
if (MoveInfo.MoveParam.PosInfoBack == null)
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.barcode}]取料完成,准备送往出料口。料屉升降轴到P1点,移栽升降轴到下暂存区放料高点P4/P10");
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.barcode}]取料完成,准备送往出料口。行走机构到待机点P1,料屉升降轴到P1点,移栽升降轴到下暂存区放料高点P4/P10");
else
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}][{MoveInfo.MoveParam.PosInfoBack.ToStr()}]取料完成,准备送往出料口。料屉升降轴到P1点,移栽升降轴到下暂存区放料高点P4/P10");
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}][{MoveInfo.MoveParam.PosInfoBack.ToStr()}]取料完成,准备送往出料口。行走机构到待机点P1,料屉升降轴到P1点,移栽升降轴到下暂存区放料高点P4/P10");
break;
case StepEnum.SO_14_GetReels_Ready:
//已出一边的料,切换到另一边
MoveInfo.NextMoveStep(StepEnum.SO_15_ToBufferArea);
LogInfo($"出库 {MoveInfo.SLog}:到暂存区出料口," +
$"行走机构到进出料机构取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveAxisToP2();
//LogInfo($"出库 {MoveInfo.SLog}:到暂存区出料口," +
// $"行走机构到进出料机构取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
break;
case StepEnum.SO_15_ToBufferArea:
if (!OutDoorCheck(MoveInfo.MoveParam))
......@@ -208,8 +223,9 @@ namespace OnlineStore.DeviceLibrary
if(!CheckInputMiddleAxisInBuff())
{
MoveInfo.NextMoveStep(StepEnum.SO_17_InOutToBuff);
LogInfo($"出库 {MoveInfo.SLog}:移栽X轴到进出料暂存区取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
LogInfo($"出库 {MoveInfo.SLog}:移栽X轴到进出料暂存区取放点P2,行走机构到进出料机构取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
XAxis_To_P2();
MoveAxisToP2();
}
else if (MoveInfo.IsTimeOut())
{
......@@ -225,7 +241,7 @@ namespace OnlineStore.DeviceLibrary
break;
case StepEnum.SO_18_PutReel:
MoveInfo.NextMoveStep(StepEnum.SO_19_InOutBackFromBuff);
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}]出库完成,移栽X轴到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
LogInfo($"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}]出库完成[耗时:{(DateTime.Now-startTime).TotalSeconds.ToString("f2")}秒],移栽X轴到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
XAxis_To_P1();
break;
case StepEnum.SO_19_InOutBackFromBuff:
......
......@@ -619,10 +619,27 @@ namespace OnlineStore.DeviceLibrary
{
PullAxis_Updown.AbsMove(MoveInfo, Config.PullAxis_Updown_P1, Config.PullAxis_Updown_P1_Speed);
}
if (!PullAxis_Inout.IsInPosition(Config.PullAxis_Inout_P1))
if(PullAxis_Inout.IsInPosition(Config.PullAxis_Inout_CamA) || PullAxis_Inout.IsInPosition(Config.PullAxis_Inout_CamB)
|| PullAxis_Inout.IsInPosition(Config.PullAxis_Inout_P1))
{
PullAxis_Inout.AbsMove(MoveInfo, Config.PullAxis_Inout_P1, Config.PullAxis_Inout_P1_Speed);
}
else
{
if (CheckASide())
{
PullAxis_Inout.AbsMove(MoveInfo, Config.PullAxis_Inout_CamA, Config.PullAxis_Inout_P1_Speed);
}
else
{
PullAxis_Inout.AbsMove(MoveInfo, Config.PullAxis_Inout_CamB, Config.PullAxis_Inout_P1_Speed);
}
//else
//{
// PullAxis_Inout.AbsMove(MoveInfo, Config.PullAxis_Inout_P1, Config.PullAxis_Inout_P1_Speed);
//}
}
if (MoveInfo.MoveStep.Equals(StepEnum.SI_00_StartInstore))
{
MoveInfo.NextMoveStep(StepEnum.SI_01_PullAxis_Ready);
......@@ -631,7 +648,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(StepEnum.SO_01_PullAxis_Ready);
}
LogInfo($"{InOutType} {MoveInfo.SLog}:料屉拉取升降轴、料屉拉取进出轴到待机点P1");
LogInfo($"{InOutType} {MoveInfo.SLog}:料屉拉取升降轴到待机点P1、料屉拉取进出轴到拍照点");
}
/// <summary>
/// 判断行走机构是否在安全位置
......@@ -689,19 +706,50 @@ namespace OnlineStore.DeviceLibrary
return false;
}
if (Math.Abs(Config.Drawer_X - ocsFXYR.fX) < Config.Drawer_X_Error && Math.Abs(Config.Drawer_Y - ocsFXYR.fY) < Config.Drawer_Y_Error)
if (Math.Abs(GetValidateDrawerX() - ocsFXYR.fX) < GetValidateDrawerXError() && Math.Abs(GetValidateDrawerY() - ocsFXYR.fY) < GetValidateDrawerYError())
{
CamDetectError = false;
return true;
}
else
{
SetWarnMsg($"相机检查库位异常 {MoveInfo.SLog}:Mark点Y轴坐标{ocsFXYR.fY},模板Mark点Y轴坐标{Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y - ocsFXYR.fY)};" +
$"Mark点X轴坐标{ ocsFXYR.fX},模板Mark点X轴坐标{ Config.Drawer_X},X轴偏差{ (Config.Drawer_X - ocsFXYR.fX)},");
SetWarnMsg($"相机检查库位异常 {MoveInfo.SLog}:Mark点Y轴坐标{ocsFXYR.fY},模板Mark点Y轴坐标{GetValidateDrawerY()},Y轴偏差{(GetValidateDrawerY() - ocsFXYR.fY)};" +
$"Mark点X轴坐标{ ocsFXYR.fX},模板Mark点X轴坐标{GetValidateDrawerX()},X轴偏差{ (GetValidateDrawerX() - ocsFXYR.fX)},");
}
CamDetectError = true;
return false;
}
private float GetValidateDrawerX()
{
if(CheckASide())
{
return Config.Validate_Drawer_A_X;
}
else
{
return Config.Validate_Drawer_B_X;
}
}
private float GetValidateDrawerY()
{
if (CheckASide())
{
return Config.Validate_Drawer_A_Y;
}
else
{
return Config.Validate_Drawer_B_Y;
}
}
private float GetValidateDrawerXError()
{
return Config.Validate_Drawer_X_Error;
}
private float GetValidateDrawerYError()
{
return Config.Validate_Drawer_Y_Error;
}
#endregion
#region 入库
private DateTime startInStoreTime = DateTime.Now;
......
......@@ -72,25 +72,94 @@ namespace OnlineStore.LoadCSVLibrary
public ConfigMoveAxis ComAxis_B { get; set; }
#endregion
/// <summary>
/// 抽屉Mark_X坐标
/// A面抽屉对位Mark_X坐标
/// </summary>
[ConfigProAttribute("Drawer_X")]
public float Drawer_X { get; set; }
[ConfigProAttribute("FindPos_Drawer_A_X")]
public float FindPos_Drawer_A_X { get; set; }
/// <summary>
/// 抽屉Mark_Y坐标
/// A面抽屉对位Mark_Y坐标
/// </summary>
[ConfigProAttribute("Drawer_Y")]
public float Drawer_Y { get; set; }
[ConfigProAttribute("FindPos_Drawer_A_Y")]
public float FindPos_Drawer_A_Y { get; set; }
/// <summary>
/// A面抽屉对位Mark_X坐标
/// </summary>
[ConfigProAttribute("Validate_Drawer_A_X")]
public float Validate_Drawer_A_X { get; set; }
/// <summary>
/// A面抽屉对位Mark_Y坐标
/// </summary>
[ConfigProAttribute("Validate_Drawer_A_Y")]
public float Validate_Drawer_A_Y { get; set; }
/// <summary>
/// A面X方向像素到脉冲的系数
/// </summary>
[ConfigProAttribute("PixelToPulse_A_X")]
public float PixelToPulse_A_X { get; set; }
/// <summary>
/// A面Y方向像素到脉冲的系数
/// </summary>
[ConfigProAttribute("PixelToPulse_A_Y")]
public float PixelToPulse_A_Y { get; set; }
/// <summary>
/// B面抽屉对位Mark_X坐标
/// </summary>
[ConfigProAttribute("FindPos_Drawer_B_X")]
public float FindPos_Drawer_B_X { get; set; }
/// <summary>
/// B面抽屉对位Mark_Y坐标
/// </summary>
[ConfigProAttribute("FindPos_Drawer_B_Y")]
public float FindPos_Drawer_B_Y { get; set; }
/// <summary>
/// B面抽屉对位Mark_X坐标
/// </summary>
[ConfigProAttribute("Validate_Drawer_B_X")]
public float Validate_Drawer_B_X { get; set; }
/// <summary>
/// B面抽屉对位Mark_Y坐标
/// </summary>
[ConfigProAttribute("Validate_Drawer_B_Y")]
public float Validate_Drawer_B_Y { get; set; }
/// <summary>
/// B面X方向像素到脉冲的系数
/// </summary>
[ConfigProAttribute("PixelToPulse_B_X")]
public float PixelToPulse_B_X { get; set; }
/// <summary>
/// B面Y方向像素到脉冲的系数
/// </summary>
[ConfigProAttribute("PixelToPulse_B_Y")]
public float PixelToPulse_B_Y { get; set; }
/// <summary>
/// 抽屉Mark_X方向误差范围
/// </summary>
[ConfigProAttribute("Drawer_X_Error")]
public float Drawer_X_Error { get; set; }
[ConfigProAttribute("FindPos_Drawer_X_Error")]
public float FindPos_Drawer_X_Error { get; set; }
/// <summary>
/// 抽屉Mark_Y方向误差范围
/// </summary>
[ConfigProAttribute("Drawer_Y_Error")]
public float Drawer_Y_Error { get; set; }
[ConfigProAttribute("FindPos_Drawer_Y_Error")]
public float FindPos_Drawer_Y_Error { get; set; }
/// <summary>
/// 验证抽屉Mark_X方向误差范围
/// </summary>
[ConfigProAttribute("Validate_Drawer_X_Error")]
public float Validate_Drawer_X_Error { get; set; }
/// <summary>
/// 验证抽屉Mark_Y方向误差范围
/// </summary>
[ConfigProAttribute("Validate_Drawer_Y_Error")]
public float Validate_Drawer_Y_Error { get; set; }
/// <summary>
/// 抽屉行间距
/// </summary>
......@@ -112,6 +181,19 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("Drawer_Columns")]
public int Drawer_Columns { get; set; }
/// <summary>
/// 抽屉内行数
/// </summary>
[ConfigProAttribute("Rows_In_Drawer")]
public int Rows_In_Drawer { get; set; }
/// <summary>
/// 抽屉内列数
/// </summary>
[ConfigProAttribute("Cols_In_Drawer")]
public int Cols_In_Drawer { get; set; }
/// <summary>
/// PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,,,,,,,,
/// </summary>
[ConfigProAttribute("IsDebug")]
......
......@@ -32,66 +32,81 @@
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.label11 = new System.Windows.Forms.Label();
this.txtColumnSpacing = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.label8 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.btnStopUpdate = new System.Windows.Forms.Button();
this.btnUpdate = new System.Windows.Forms.Button();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.txtCoofY = new System.Windows.Forms.TextBox();
this.label15 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.txtStartCol = new System.Windows.Forms.TextBox();
this.txtCoffX = new System.Windows.Forms.TextBox();
this.label16 = new System.Windows.Forms.Label();
this.txtRowSpacing = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.txtDrawerColumns = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.txtDrawerRows = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.txtColumnSpacing = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
this.txtStartRow = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.txtCurRow = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.txtCurCol = new System.Windows.Forms.TextBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.label6 = new System.Windows.Forms.Label();
this.textBox3 = new System.Windows.Forms.TextBox();
this.txtRowsInDrawer = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.textBox4 = new System.Windows.Forms.TextBox();
this.button5 = new System.Windows.Forms.Button();
this.label2 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.txtColsInDrawer = new System.Windows.Forms.TextBox();
this.txtDrawerRows = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.txtDrawerColumns = new System.Windows.Forms.TextBox();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.label22 = new System.Windows.Forms.Label();
this.button14 = new System.Windows.Forms.Button();
this.button13 = new System.Windows.Forms.Button();
this.label21 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.btnPullUpdwnToPos1 = new System.Windows.Forms.Button();
this.btnMoveAxisToPos1 = new System.Windows.Forms.Button();
this.btnUndwnToPos1 = new System.Windows.Forms.Button();
this.btnInoutToPosition1 = new System.Windows.Forms.Button();
this.label17 = new System.Windows.Forms.Label();
this.txtMark_X = new System.Windows.Forms.TextBox();
this.btnAcquireImage1 = new System.Windows.Forms.Button();
this.label19 = new System.Windows.Forms.Label();
this.txtMark_Y = new System.Windows.Forms.TextBox();
this.txtMark_Y_err = new System.Windows.Forms.TextBox();
this.label21 = new System.Windows.Forms.Label();
this.label20 = new System.Windows.Forms.Label();
this.txtMark_X_err = new System.Windows.Forms.TextBox();
this.label19 = new System.Windows.Forms.Label();
this.txtMark_Y = new System.Windows.Forms.TextBox();
this.label17 = new System.Windows.Forms.Label();
this.txtMark_X = new System.Windows.Forms.TextBox();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.label3 = new System.Windows.Forms.Label();
this.button6 = new System.Windows.Forms.Button();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.button8 = new System.Windows.Forms.Button();
this.listBox1 = new System.Windows.Forms.ListBox();
this.label8 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.button7 = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.groupBox7 = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.txtMarkX_Validate = new System.Windows.Forms.TextBox();
this.btnAcquireImage2 = new System.Windows.Forms.Button();
this.label4 = new System.Windows.Forms.Label();
this.txtMarkY_Validate = new System.Windows.Forms.TextBox();
this.txtMarkY_err_Validate = new System.Windows.Forms.TextBox();
this.label22 = new System.Windows.Forms.Label();
this.label23 = new System.Windows.Forms.Label();
this.txtMarkX_err_Validate = new System.Windows.Forms.TextBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.tabPage4 = new System.Windows.Forms.TabPage();
this.button12 = new System.Windows.Forms.Button();
this.button11 = new System.Windows.Forms.Button();
this.listBox1 = new System.Windows.Forms.ListBox();
this.btnStopVision = new System.Windows.Forms.Button();
this.btnPauseVision = new System.Windows.Forms.Button();
this.label18 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.textBox7 = new System.Windows.Forms.TextBox();
this.label16 = new System.Windows.Forms.Label();
this.textBox8 = new System.Windows.Forms.TextBox();
this.button10 = new System.Windows.Forms.Button();
this.label13 = new System.Windows.Forms.Label();
this.textBox5 = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.textBox6 = new System.Windows.Forms.TextBox();
this.button9 = new System.Windows.Forms.Button();
this.btnStartVision = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.lblResult = new System.Windows.Forms.Label();
this.chkBoxCloseCam = new System.Windows.Forms.CheckBox();
this.checkBoxOpenAuto = new System.Windows.Forms.CheckBox();
this.button4 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.btnSave = new System.Windows.Forms.Button();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.radioButton2 = new System.Windows.Forms.RadioButton();
this.radioButton1 = new System.Windows.Forms.RadioButton();
......@@ -99,9 +114,15 @@
this.tableLayoutPanel1.SuspendLayout();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox3.SuspendLayout();
this.tabPage2.SuspendLayout();
this.groupBox6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.tabPage3.SuspendLayout();
this.groupBox7.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.tabPage4.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
......@@ -110,15 +131,15 @@
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.tabControl1, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.groupBox1, 0, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 66.66666F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tableLayoutPanel1.Size = new System.Drawing.Size(800, 450);
this.tableLayoutPanel1.TabIndex = 0;
//
......@@ -129,492 +150,704 @@
this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Controls.Add(this.tabPage4);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(3, 153);
this.tabControl1.Location = new System.Drawing.Point(3, 103);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(794, 294);
this.tabControl1.Size = new System.Drawing.Size(794, 344);
this.tabControl1.TabIndex = 0;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.label11);
this.tabPage1.Controls.Add(this.txtColumnSpacing);
this.tabPage1.Controls.Add(this.label12);
this.tabPage1.Controls.Add(this.txtRowSpacing);
this.tabPage1.Controls.Add(this.label9);
this.tabPage1.Controls.Add(this.txtDrawerColumns);
this.tabPage1.Controls.Add(this.label10);
this.tabPage1.Controls.Add(this.txtDrawerRows);
this.tabPage1.Controls.Add(this.label6);
this.tabPage1.Controls.Add(this.textBox3);
this.tabPage1.Controls.Add(this.label7);
this.tabPage1.Controls.Add(this.textBox4);
this.tabPage1.Controls.Add(this.button5);
this.tabPage1.Controls.Add(this.label2);
this.tabPage1.Controls.Add(this.textBox2);
this.tabPage1.Controls.Add(this.label1);
this.tabPage1.Controls.Add(this.textBox1);
this.tabPage1.Controls.Add(this.groupBox5);
this.tabPage1.Controls.Add(this.groupBox4);
this.tabPage1.Controls.Add(this.groupBox3);
this.tabPage1.Location = new System.Drawing.Point(4, 26);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(786, 264);
this.tabPage1.Size = new System.Drawing.Size(786, 314);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "设置模板抽屉信息";
this.tabPage1.Text = "参数设置";
this.tabPage1.UseVisualStyleBackColor = true;
//
// label11
// groupBox5
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(227, 169);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(140, 17);
this.label11.TabIndex = 19;
this.label11.Text = "抽屉层间距(脉冲值):";
this.groupBox5.Controls.Add(this.label8);
this.groupBox5.Controls.Add(this.progressBar1);
this.groupBox5.Controls.Add(this.btnStopUpdate);
this.groupBox5.Controls.Add(this.btnUpdate);
this.groupBox5.Location = new System.Drawing.Point(420, 6);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(360, 285);
this.groupBox5.TabIndex = 22;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "更新抽屉内的库位位置";
//
// txtColumnSpacing
// label8
//
this.txtColumnSpacing.Location = new System.Drawing.Point(373, 166);
this.txtColumnSpacing.Name = "txtColumnSpacing";
this.txtColumnSpacing.Size = new System.Drawing.Size(100, 23);
this.txtColumnSpacing.TabIndex = 18;
this.txtColumnSpacing.Text = "1";
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(23, 165);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(43, 17);
this.label8.TabIndex = 10;
this.label8.Text = "label8";
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(26, 123);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(283, 28);
this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
this.progressBar1.TabIndex = 9;
//
// btnStopUpdate
//
this.btnStopUpdate.Location = new System.Drawing.Point(200, 60);
this.btnStopUpdate.Name = "btnStopUpdate";
this.btnStopUpdate.Size = new System.Drawing.Size(109, 46);
this.btnStopUpdate.TabIndex = 8;
this.btnStopUpdate.Text = "停止";
this.btnStopUpdate.UseVisualStyleBackColor = true;
this.btnStopUpdate.Click += new System.EventHandler(this.btnStopUpdate_Click);
//
// btnUpdate
//
this.btnUpdate.Location = new System.Drawing.Point(26, 60);
this.btnUpdate.Name = "btnUpdate";
this.btnUpdate.Size = new System.Drawing.Size(110, 46);
this.btnUpdate.TabIndex = 4;
this.btnUpdate.Text = "更新";
this.btnUpdate.UseVisualStyleBackColor = true;
this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click);
//
// groupBox4
//
this.groupBox4.BackColor = System.Drawing.Color.Bisque;
this.groupBox4.Controls.Add(this.txtCoofY);
this.groupBox4.Controls.Add(this.label15);
this.groupBox4.Controls.Add(this.label13);
this.groupBox4.Controls.Add(this.txtStartCol);
this.groupBox4.Controls.Add(this.txtCoffX);
this.groupBox4.Controls.Add(this.label16);
this.groupBox4.Controls.Add(this.txtRowSpacing);
this.groupBox4.Controls.Add(this.label12);
this.groupBox4.Controls.Add(this.txtColumnSpacing);
this.groupBox4.Controls.Add(this.label11);
this.groupBox4.Controls.Add(this.label14);
this.groupBox4.Controls.Add(this.txtStartRow);
this.groupBox4.Controls.Add(this.label1);
this.groupBox4.Controls.Add(this.txtCurRow);
this.groupBox4.Controls.Add(this.label2);
this.groupBox4.Controls.Add(this.txtCurCol);
this.groupBox4.Location = new System.Drawing.Point(6, 94);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(408, 197);
this.groupBox4.TabIndex = 21;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "视觉对位参数";
//
// txtCoofY
//
this.txtCoofY.Location = new System.Drawing.Point(237, 168);
this.txtCoofY.Name = "txtCoofY";
this.txtCoofY.Size = new System.Drawing.Size(100, 23);
this.txtCoofY.TabIndex = 24;
this.txtCoofY.Text = "100";
this.txtCoofY.TextChanged += new System.EventHandler(this.txtChanged);
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(6, 177);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(235, 17);
this.label15.TabIndex = 25;
this.label15.Text = "Y方向系数(Mark点Y轴->料屉升降轴):";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(209, 46);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(80, 17);
this.label13.TabIndex = 23;
this.label13.Text = "抽屉开始列:";
//
// txtStartCol
//
this.txtStartCol.Location = new System.Drawing.Point(295, 43);
this.txtStartCol.Name = "txtStartCol";
this.txtStartCol.Size = new System.Drawing.Size(100, 23);
this.txtStartCol.TabIndex = 22;
this.txtStartCol.Text = "1";
this.txtStartCol.TextChanged += new System.EventHandler(this.txtChanged);
//
// txtCoffX
//
this.txtCoffX.Location = new System.Drawing.Point(237, 135);
this.txtCoffX.Name = "txtCoffX";
this.txtCoffX.Size = new System.Drawing.Size(100, 23);
this.txtCoffX.TabIndex = 22;
this.txtCoffX.Text = "100";
this.txtCoffX.TextChanged += new System.EventHandler(this.txtChanged);
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(6, 141);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(225, 17);
this.label16.TabIndex = 23;
this.label16.Text = "X方向系数(Mark点X轴->行走机构):";
//
// txtRowSpacing
//
this.txtRowSpacing.Location = new System.Drawing.Point(216, 106);
this.txtRowSpacing.Name = "txtRowSpacing";
this.txtRowSpacing.Size = new System.Drawing.Size(100, 23);
this.txtRowSpacing.TabIndex = 16;
this.txtRowSpacing.Text = "1";
this.txtRowSpacing.TextChanged += new System.EventHandler(this.txtChanged);
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(227, 125);
this.label12.Location = new System.Drawing.Point(59, 108);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(140, 17);
this.label12.TabIndex = 17;
this.label12.Text = "抽屉列间距(脉冲值):";
//
// txtRowSpacing
// txtColumnSpacing
//
this.txtRowSpacing.Location = new System.Drawing.Point(373, 122);
this.txtRowSpacing.Name = "txtRowSpacing";
this.txtRowSpacing.Size = new System.Drawing.Size(100, 23);
this.txtRowSpacing.TabIndex = 16;
this.txtRowSpacing.Text = "1";
this.txtColumnSpacing.Location = new System.Drawing.Point(216, 77);
this.txtColumnSpacing.Name = "txtColumnSpacing";
this.txtColumnSpacing.Size = new System.Drawing.Size(100, 23);
this.txtColumnSpacing.TabIndex = 18;
this.txtColumnSpacing.Text = "1";
this.txtColumnSpacing.TextChanged += new System.EventHandler(this.txtChanged);
//
// label9
// label11
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(18, 166);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(68, 17);
this.label9.TabIndex = 15;
this.label9.Text = "抽屉列数:";
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(60, 80);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(140, 17);
this.label11.TabIndex = 19;
this.label11.Text = "抽屉层间距(脉冲值):";
//
// txtDrawerColumns
// label14
//
this.txtDrawerColumns.Location = new System.Drawing.Point(104, 163);
this.txtDrawerColumns.Name = "txtDrawerColumns";
this.txtDrawerColumns.Size = new System.Drawing.Size(100, 23);
this.txtDrawerColumns.TabIndex = 14;
this.txtDrawerColumns.Text = "1";
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(5, 46);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(80, 17);
this.label14.TabIndex = 23;
this.label14.Text = "抽屉开始层:";
//
// label10
// txtStartRow
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(18, 122);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(68, 17);
this.label10.TabIndex = 13;
this.label10.Text = "抽屉层数:";
this.txtStartRow.Location = new System.Drawing.Point(91, 43);
this.txtStartRow.Name = "txtStartRow";
this.txtStartRow.Size = new System.Drawing.Size(100, 23);
this.txtStartRow.TabIndex = 22;
this.txtStartRow.Text = "1";
this.txtStartRow.TextChanged += new System.EventHandler(this.txtChanged);
//
// txtDrawerRows
// label1
//
this.txtDrawerRows.Location = new System.Drawing.Point(104, 119);
this.txtDrawerRows.Name = "txtDrawerRows";
this.txtDrawerRows.Size = new System.Drawing.Size(100, 23);
this.txtDrawerRows.TabIndex = 12;
this.txtDrawerRows.Text = "1";
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(5, 19);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(80, 17);
this.label1.TabIndex = 1;
this.label1.Text = "抽屉所在层:";
//
// txtCurRow
//
this.txtCurRow.Location = new System.Drawing.Point(91, 16);
this.txtCurRow.Name = "txtCurRow";
this.txtCurRow.Size = new System.Drawing.Size(100, 23);
this.txtCurRow.TabIndex = 0;
this.txtCurRow.Text = "1";
this.txtCurRow.TextChanged += new System.EventHandler(this.txtChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(209, 19);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(80, 17);
this.label2.TabIndex = 3;
this.label2.Text = "抽屉所在列:";
//
// txtCurCol
//
this.txtCurCol.Location = new System.Drawing.Point(295, 16);
this.txtCurCol.Name = "txtCurCol";
this.txtCurCol.Size = new System.Drawing.Size(100, 23);
this.txtCurCol.TabIndex = 2;
this.txtCurCol.Text = "1";
this.txtCurCol.TextChanged += new System.EventHandler(this.txtChanged);
//
// groupBox3
//
this.groupBox3.BackColor = System.Drawing.Color.DarkGray;
this.groupBox3.Controls.Add(this.label6);
this.groupBox3.Controls.Add(this.txtRowsInDrawer);
this.groupBox3.Controls.Add(this.label7);
this.groupBox3.Controls.Add(this.txtColsInDrawer);
this.groupBox3.Controls.Add(this.txtDrawerRows);
this.groupBox3.Controls.Add(this.label9);
this.groupBox3.Controls.Add(this.label10);
this.groupBox3.Controls.Add(this.txtDrawerColumns);
this.groupBox3.Location = new System.Drawing.Point(5, 6);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(408, 82);
this.groupBox3.TabIndex = 20;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "抽屉信息";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(227, 68);
this.label6.Location = new System.Drawing.Point(185, 50);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(104, 17);
this.label6.TabIndex = 11;
this.label6.Text = "抽屉内库位列数:";
//
// textBox3
// txtRowsInDrawer
//
this.textBox3.Location = new System.Drawing.Point(337, 65);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(100, 23);
this.textBox3.TabIndex = 10;
this.textBox3.Text = "20";
this.txtRowsInDrawer.Location = new System.Drawing.Point(295, 18);
this.txtRowsInDrawer.Name = "txtRowsInDrawer";
this.txtRowsInDrawer.Size = new System.Drawing.Size(100, 23);
this.txtRowsInDrawer.TabIndex = 8;
this.txtRowsInDrawer.Text = "4";
this.txtRowsInDrawer.TextChanged += new System.EventHandler(this.txtChanged);
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(227, 24);
this.label7.Location = new System.Drawing.Point(185, 24);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(104, 17);
this.label7.TabIndex = 9;
this.label7.Text = "抽屉内库位行数:";
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(337, 21);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(100, 23);
this.textBox4.TabIndex = 8;
this.textBox4.Text = "4";
// txtColsInDrawer
//
// button5
this.txtColsInDrawer.Location = new System.Drawing.Point(295, 47);
this.txtColsInDrawer.Name = "txtColsInDrawer";
this.txtColsInDrawer.Size = new System.Drawing.Size(100, 23);
this.txtColsInDrawer.TabIndex = 10;
this.txtColsInDrawer.Text = "20";
this.txtColsInDrawer.TextChanged += new System.EventHandler(this.txtChanged);
//
this.button5.Location = new System.Drawing.Point(514, 59);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(146, 41);
this.button5.TabIndex = 7;
this.button5.Text = "确认";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// label2
// txtDrawerRows
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 71);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(80, 17);
this.label2.TabIndex = 3;
this.label2.Text = "抽屉所在列:";
this.txtDrawerRows.Location = new System.Drawing.Point(79, 21);
this.txtDrawerRows.Name = "txtDrawerRows";
this.txtDrawerRows.Size = new System.Drawing.Size(100, 23);
this.txtDrawerRows.TabIndex = 12;
this.txtDrawerRows.Text = "1";
this.txtDrawerRows.TextChanged += new System.EventHandler(this.txtChanged);
//
// textBox2
// label9
//
this.textBox2.Location = new System.Drawing.Point(104, 68);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(100, 23);
this.textBox2.TabIndex = 2;
this.textBox2.Text = "1";
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(5, 50);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(68, 17);
this.label9.TabIndex = 15;
this.label9.Text = "抽屉列数:";
//
// label1
// label10
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(18, 27);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(80, 17);
this.label1.TabIndex = 1;
this.label1.Text = "抽屉所在层:";
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(5, 24);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(68, 17);
this.label10.TabIndex = 13;
this.label10.Text = "抽屉层数:";
//
// textBox1
// txtDrawerColumns
//
this.textBox1.Location = new System.Drawing.Point(104, 24);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(100, 23);
this.textBox1.TabIndex = 0;
this.textBox1.Text = "1";
this.txtDrawerColumns.Location = new System.Drawing.Point(79, 47);
this.txtDrawerColumns.Name = "txtDrawerColumns";
this.txtDrawerColumns.Size = new System.Drawing.Size(100, 23);
this.txtDrawerColumns.TabIndex = 14;
this.txtDrawerColumns.Text = "1";
this.txtDrawerColumns.TextChanged += new System.EventHandler(this.txtChanged);
//
// tabPage2
//
this.tabPage2.Controls.Add(this.label22);
this.tabPage2.Controls.Add(this.button14);
this.tabPage2.Controls.Add(this.button13);
this.tabPage2.Controls.Add(this.label21);
this.tabPage2.Controls.Add(this.txtMark_Y_err);
this.tabPage2.Controls.Add(this.label20);
this.tabPage2.Controls.Add(this.txtMark_X_err);
this.tabPage2.Controls.Add(this.label19);
this.tabPage2.Controls.Add(this.txtMark_Y);
this.tabPage2.Controls.Add(this.label17);
this.tabPage2.Controls.Add(this.txtMark_X);
this.tabPage2.Controls.Add(this.groupBox6);
this.tabPage2.Controls.Add(this.pictureBox1);
this.tabPage2.Controls.Add(this.label3);
this.tabPage2.Controls.Add(this.button6);
this.tabPage2.Location = new System.Drawing.Point(4, 26);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(786, 264);
this.tabPage2.Size = new System.Drawing.Size(786, 214);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "配置模板抽屉";
this.tabPage2.Text = "配置对位抽屉模板[相机在中间位置]";
this.tabPage2.UseVisualStyleBackColor = true;
//
// label22
// groupBox6
//
this.groupBox6.Controls.Add(this.btnPullUpdwnToPos1);
this.groupBox6.Controls.Add(this.btnMoveAxisToPos1);
this.groupBox6.Controls.Add(this.btnUndwnToPos1);
this.groupBox6.Controls.Add(this.btnInoutToPosition1);
this.groupBox6.Controls.Add(this.label17);
this.groupBox6.Controls.Add(this.txtMark_X);
this.groupBox6.Controls.Add(this.btnAcquireImage1);
this.groupBox6.Controls.Add(this.label19);
this.groupBox6.Controls.Add(this.txtMark_Y);
this.groupBox6.Controls.Add(this.txtMark_Y_err);
this.groupBox6.Controls.Add(this.label21);
this.groupBox6.Controls.Add(this.label20);
this.groupBox6.Controls.Add(this.txtMark_X_err);
this.groupBox6.Location = new System.Drawing.Point(398, 6);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(373, 278);
this.groupBox6.TabIndex = 15;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "groupBox6";
//
// btnPullUpdwnToPos1
//
this.btnPullUpdwnToPos1.Location = new System.Drawing.Point(156, 213);
this.btnPullUpdwnToPos1.Name = "btnPullUpdwnToPos1";
this.btnPullUpdwnToPos1.Size = new System.Drawing.Size(125, 45);
this.btnPullUpdwnToPos1.TabIndex = 17;
this.btnPullUpdwnToPos1.Text = "抽屉升降轴到位";
this.btnPullUpdwnToPos1.UseVisualStyleBackColor = true;
//
// btnMoveAxisToPos1
//
this.btnMoveAxisToPos1.Location = new System.Drawing.Point(156, 162);
this.btnMoveAxisToPos1.Name = "btnMoveAxisToPos1";
this.btnMoveAxisToPos1.Size = new System.Drawing.Size(125, 45);
this.btnMoveAxisToPos1.TabIndex = 16;
this.btnMoveAxisToPos1.Text = "行走机构到位";
this.btnMoveAxisToPos1.UseVisualStyleBackColor = true;
//
// btnUndwnToPos1
//
this.btnUndwnToPos1.Location = new System.Drawing.Point(6, 213);
this.btnUndwnToPos1.Name = "btnUndwnToPos1";
this.btnUndwnToPos1.Size = new System.Drawing.Size(125, 45);
this.btnUndwnToPos1.TabIndex = 15;
this.btnUndwnToPos1.Text = "移栽升降轴到位";
this.btnUndwnToPos1.UseVisualStyleBackColor = true;
//
// btnInoutToPosition1
//
this.btnInoutToPosition1.Location = new System.Drawing.Point(6, 162);
this.btnInoutToPosition1.Name = "btnInoutToPosition1";
this.btnInoutToPosition1.Size = new System.Drawing.Size(125, 45);
this.btnInoutToPosition1.TabIndex = 14;
this.btnInoutToPosition1.Text = "进出轴到位";
this.btnInoutToPosition1.UseVisualStyleBackColor = true;
//
this.label22.AutoSize = true;
this.label22.Location = new System.Drawing.Point(289, 265);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(98, 17);
this.label22.TabIndex = 14;
this.label22.Text = "获取mark点结果";
//
// button14
//
this.button14.Location = new System.Drawing.Point(570, 114);
this.button14.Name = "button14";
this.button14.Size = new System.Drawing.Size(210, 45);
this.button14.TabIndex = 13;
this.button14.Text = "保存Mark点参数";
this.button14.UseVisualStyleBackColor = true;
this.button14.Click += new System.EventHandler(this.button14_Click);
//
// button13
//
this.button13.Location = new System.Drawing.Point(570, 60);
this.button13.Name = "button13";
this.button13.Size = new System.Drawing.Size(210, 45);
this.button13.TabIndex = 12;
this.button13.Text = "取像并获取Mark点坐标";
this.button13.UseVisualStyleBackColor = true;
this.button13.Click += new System.EventHandler(this.button13_Click);
// label17
//
// label21
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(6, 28);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(112, 17);
this.label17.TabIndex = 5;
this.label17.Text = "抽屉Mark_X坐标:";
//
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(291, 148);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(159, 17);
this.label21.TabIndex = 11;
this.label21.Text = "抽屉Mark_Y坐标误差范围:";
// txtMark_X
//
this.txtMark_X.Location = new System.Drawing.Point(167, 22);
this.txtMark_X.Name = "txtMark_X";
this.txtMark_X.Size = new System.Drawing.Size(100, 23);
this.txtMark_X.TabIndex = 4;
this.txtMark_X.Text = "1";
//
// btnAcquireImage1
//
this.btnAcquireImage1.Location = new System.Drawing.Point(273, 22);
this.btnAcquireImage1.Name = "btnAcquireImage1";
this.btnAcquireImage1.Size = new System.Drawing.Size(86, 123);
this.btnAcquireImage1.TabIndex = 12;
this.btnAcquireImage1.Text = "取像";
this.btnAcquireImage1.UseVisualStyleBackColor = true;
this.btnAcquireImage1.Click += new System.EventHandler(this.btnAcquireImage1_Click);
//
// label19
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(6, 59);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(111, 17);
this.label19.TabIndex = 7;
this.label19.Text = "抽屉Mark_Y坐标:";
//
// txtMark_Y
//
this.txtMark_Y.Location = new System.Drawing.Point(167, 56);
this.txtMark_Y.Name = "txtMark_Y";
this.txtMark_Y.Size = new System.Drawing.Size(100, 23);
this.txtMark_Y.TabIndex = 6;
this.txtMark_Y.Text = "1";
//
// txtMark_Y_err
//
this.txtMark_Y_err.Location = new System.Drawing.Point(454, 142);
this.txtMark_Y_err.Location = new System.Drawing.Point(167, 122);
this.txtMark_Y_err.Name = "txtMark_Y_err";
this.txtMark_Y_err.Size = new System.Drawing.Size(100, 23);
this.txtMark_Y_err.TabIndex = 10;
this.txtMark_Y_err.Text = "1";
//
// label21
//
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(6, 125);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(159, 17);
this.label21.TabIndex = 11;
this.label21.Text = "抽屉Mark_Y允许误差范围:";
//
// label20
//
this.label20.AutoSize = true;
this.label20.Location = new System.Drawing.Point(290, 100);
this.label20.Location = new System.Drawing.Point(6, 86);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(160, 17);
this.label20.TabIndex = 9;
this.label20.Text = "抽屉Mark_X坐标误差范围:";
this.label20.Text = "抽屉Mark_X允许误差范围:";
//
// txtMark_X_err
//
this.txtMark_X_err.Location = new System.Drawing.Point(454, 97);
this.txtMark_X_err.Location = new System.Drawing.Point(167, 86);
this.txtMark_X_err.Name = "txtMark_X_err";
this.txtMark_X_err.Size = new System.Drawing.Size(100, 23);
this.txtMark_X_err.TabIndex = 8;
this.txtMark_X_err.Text = "1";
//
// label19
// pictureBox1
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(326, 60);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(111, 17);
this.label19.TabIndex = 7;
this.label19.Text = "抽屉Mark_Y坐标:";
this.pictureBox1.Location = new System.Drawing.Point(5, 6);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(387, 278);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBox1.TabIndex = 3;
this.pictureBox1.TabStop = false;
//
// txtMark_Y
// tabPage3
//
this.txtMark_Y.Location = new System.Drawing.Point(454, 60);
this.txtMark_Y.Name = "txtMark_Y";
this.txtMark_Y.Size = new System.Drawing.Size(100, 23);
this.txtMark_Y.TabIndex = 6;
this.txtMark_Y.Text = "1";
this.tabPage3.Controls.Add(this.groupBox7);
this.tabPage3.Controls.Add(this.pictureBox2);
this.tabPage3.Location = new System.Drawing.Point(4, 26);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Size = new System.Drawing.Size(786, 214);
this.tabPage3.TabIndex = 4;
this.tabPage3.Text = "配置验证抽屉模板[相机在两边位置]";
this.tabPage3.UseVisualStyleBackColor = true;
//
// label17
// groupBox7
//
this.groupBox7.Controls.Add(this.button1);
this.groupBox7.Controls.Add(this.button2);
this.groupBox7.Controls.Add(this.button3);
this.groupBox7.Controls.Add(this.button4);
this.groupBox7.Controls.Add(this.label3);
this.groupBox7.Controls.Add(this.txtMarkX_Validate);
this.groupBox7.Controls.Add(this.btnAcquireImage2);
this.groupBox7.Controls.Add(this.label4);
this.groupBox7.Controls.Add(this.txtMarkY_Validate);
this.groupBox7.Controls.Add(this.txtMarkY_err_Validate);
this.groupBox7.Controls.Add(this.label22);
this.groupBox7.Controls.Add(this.label23);
this.groupBox7.Controls.Add(this.txtMarkX_err_Validate);
this.groupBox7.Location = new System.Drawing.Point(408, 14);
this.groupBox7.Name = "groupBox7";
this.groupBox7.Size = new System.Drawing.Size(373, 278);
this.groupBox7.TabIndex = 17;
this.groupBox7.TabStop = false;
this.groupBox7.Text = "groupBox7";
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(315, 17);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(112, 17);
this.label17.TabIndex = 5;
this.label17.Text = "抽屉Mark_X坐标:";
// button1
//
// txtMark_X
this.button1.Location = new System.Drawing.Point(156, 213);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(125, 45);
this.button1.TabIndex = 17;
this.button1.Text = "抽屉升降轴到位";
this.button1.UseVisualStyleBackColor = true;
//
this.txtMark_X.Location = new System.Drawing.Point(454, 17);
this.txtMark_X.Name = "txtMark_X";
this.txtMark_X.Size = new System.Drawing.Size(100, 23);
this.txtMark_X.TabIndex = 4;
this.txtMark_X.Text = "1";
// button2
//
// pictureBox1
this.button2.Location = new System.Drawing.Point(156, 162);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(125, 45);
this.button2.TabIndex = 16;
this.button2.Text = "行走机构到位";
this.button2.UseVisualStyleBackColor = true;
//
this.pictureBox1.Location = new System.Drawing.Point(5, 6);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(249, 223);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBox1.TabIndex = 3;
this.pictureBox1.TabStop = false;
// button3
//
this.button3.Location = new System.Drawing.Point(6, 213);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(125, 45);
this.button3.TabIndex = 15;
this.button3.Text = "移栽升降轴到位";
this.button3.UseVisualStyleBackColor = true;
//
// button4
//
this.button4.Location = new System.Drawing.Point(6, 162);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(125, 45);
this.button4.TabIndex = 14;
this.button4.Text = "进出轴到位";
this.button4.UseVisualStyleBackColor = true;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(451, 184);
this.label3.Location = new System.Drawing.Point(6, 28);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(43, 17);
this.label3.TabIndex = 1;
this.label3.Text = "label3";
this.label3.Size = new System.Drawing.Size(112, 17);
this.label3.TabIndex = 5;
this.label3.Text = "抽屉Mark_X坐标:";
//
// button6
// txtMarkX_Validate
//
this.button6.Location = new System.Drawing.Point(570, 6);
this.button6.Name = "button6";
this.button6.Size = new System.Drawing.Size(210, 45);
this.button6.TabIndex = 0;
this.button6.Text = "打开伺服调试界面配置抽屉的位置以及其内的库位位置";
this.button6.UseVisualStyleBackColor = true;
this.button6.Click += new System.EventHandler(this.button6_Click);
this.txtMarkX_Validate.Location = new System.Drawing.Point(167, 22);
this.txtMarkX_Validate.Name = "txtMarkX_Validate";
this.txtMarkX_Validate.Size = new System.Drawing.Size(100, 23);
this.txtMarkX_Validate.TabIndex = 4;
this.txtMarkX_Validate.Text = "1";
//
// tabPage3
// btnAcquireImage2
//
this.tabPage3.Controls.Add(this.button8);
this.tabPage3.Controls.Add(this.listBox1);
this.tabPage3.Controls.Add(this.label8);
this.tabPage3.Controls.Add(this.progressBar1);
this.tabPage3.Controls.Add(this.button7);
this.tabPage3.Controls.Add(this.label5);
this.tabPage3.Location = new System.Drawing.Point(4, 26);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Size = new System.Drawing.Size(786, 264);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "更新库位位置信息";
this.tabPage3.UseVisualStyleBackColor = true;
this.btnAcquireImage2.Location = new System.Drawing.Point(273, 22);
this.btnAcquireImage2.Name = "btnAcquireImage2";
this.btnAcquireImage2.Size = new System.Drawing.Size(86, 123);
this.btnAcquireImage2.TabIndex = 12;
this.btnAcquireImage2.Text = "取像";
this.btnAcquireImage2.UseVisualStyleBackColor = true;
this.btnAcquireImage2.Click += new System.EventHandler(this.btnAcquireImage2_Click);
//
// button8
// label4
//
this.button8.Location = new System.Drawing.Point(408, 46);
this.button8.Name = "button8";
this.button8.Size = new System.Drawing.Size(163, 46);
this.button8.TabIndex = 7;
this.button8.Text = "中断";
this.button8.UseVisualStyleBackColor = true;
this.button8.Click += new System.EventHandler(this.button8_Click);
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(6, 59);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(111, 17);
this.label4.TabIndex = 7;
this.label4.Text = "抽屉Mark_Y坐标:";
//
// listBox1
// txtMarkY_Validate
//
this.listBox1.FormattingEnabled = true;
this.listBox1.ItemHeight = 17;
this.listBox1.Location = new System.Drawing.Point(19, 132);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(679, 157);
this.listBox1.TabIndex = 6;
this.txtMarkY_Validate.Location = new System.Drawing.Point(167, 56);
this.txtMarkY_Validate.Name = "txtMarkY_Validate";
this.txtMarkY_Validate.Size = new System.Drawing.Size(100, 23);
this.txtMarkY_Validate.TabIndex = 6;
this.txtMarkY_Validate.Text = "1";
//
// label8
// txtMarkY_err_Validate
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(390, 14);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(43, 17);
this.label8.TabIndex = 5;
this.label8.Text = "label8";
this.txtMarkY_err_Validate.Location = new System.Drawing.Point(167, 122);
this.txtMarkY_err_Validate.Name = "txtMarkY_err_Validate";
this.txtMarkY_err_Validate.Size = new System.Drawing.Size(100, 23);
this.txtMarkY_err_Validate.TabIndex = 10;
this.txtMarkY_err_Validate.Text = "1";
//
// progressBar1
// label22
//
this.progressBar1.Location = new System.Drawing.Point(19, 98);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(679, 28);
this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
this.progressBar1.TabIndex = 4;
this.label22.AutoSize = true;
this.label22.Location = new System.Drawing.Point(6, 125);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(159, 17);
this.label22.TabIndex = 11;
this.label22.Text = "抽屉Mark_Y允许误差范围:";
//
// button7
// label23
//
this.button7.Location = new System.Drawing.Point(198, 46);
this.button7.Name = "button7";
this.button7.Size = new System.Drawing.Size(163, 46);
this.button7.TabIndex = 3;
this.button7.Text = "更新所有抽屉内的库位位置";
this.button7.UseVisualStyleBackColor = true;
this.button7.Click += new System.EventHandler(this.button7_Click_1);
this.label23.AutoSize = true;
this.label23.Location = new System.Drawing.Point(6, 86);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(160, 17);
this.label23.TabIndex = 9;
this.label23.Text = "抽屉Mark_X允许误差范围:";
//
// label5
// txtMarkX_err_Validate
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(16, 14);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(43, 17);
this.label5.TabIndex = 2;
this.label5.Text = "label5";
this.txtMarkX_err_Validate.Location = new System.Drawing.Point(167, 86);
this.txtMarkX_err_Validate.Name = "txtMarkX_err_Validate";
this.txtMarkX_err_Validate.Size = new System.Drawing.Size(100, 23);
this.txtMarkX_err_Validate.TabIndex = 8;
this.txtMarkX_err_Validate.Text = "1";
//
// pictureBox2
//
this.pictureBox2.Location = new System.Drawing.Point(5, 14);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(389, 278);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pictureBox2.TabIndex = 16;
this.pictureBox2.TabStop = false;
//
// tabPage4
//
this.tabPage4.Controls.Add(this.button12);
this.tabPage4.Controls.Add(this.button11);
this.tabPage4.Controls.Add(this.listBox1);
this.tabPage4.Controls.Add(this.btnStopVision);
this.tabPage4.Controls.Add(this.btnPauseVision);
this.tabPage4.Controls.Add(this.label18);
this.tabPage4.Controls.Add(this.label15);
this.tabPage4.Controls.Add(this.textBox7);
this.tabPage4.Controls.Add(this.label16);
this.tabPage4.Controls.Add(this.textBox8);
this.tabPage4.Controls.Add(this.button10);
this.tabPage4.Controls.Add(this.label13);
this.tabPage4.Controls.Add(this.textBox5);
this.tabPage4.Controls.Add(this.label14);
this.tabPage4.Controls.Add(this.textBox6);
this.tabPage4.Controls.Add(this.button9);
this.tabPage4.Controls.Add(this.btnStartVision);
this.tabPage4.Location = new System.Drawing.Point(4, 26);
this.tabPage4.Name = "tabPage4";
this.tabPage4.Size = new System.Drawing.Size(786, 264);
this.tabPage4.Size = new System.Drawing.Size(786, 214);
this.tabPage4.TabIndex = 3;
this.tabPage4.Text = "视觉对位";
this.tabPage4.UseVisualStyleBackColor = true;
//
// button12
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.ItemHeight = 17;
this.listBox1.Location = new System.Drawing.Point(214, 45);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(386, 191);
this.listBox1.TabIndex = 23;
//
this.button12.Location = new System.Drawing.Point(526, 70);
this.button12.Name = "button12";
this.button12.Size = new System.Drawing.Size(163, 46);
this.button12.TabIndex = 22;
this.button12.Text = "结束";
this.button12.UseVisualStyleBackColor = true;
this.button12.Click += new System.EventHandler(this.button12_Click);
// btnStopVision
//
// button11
this.btnStopVision.Location = new System.Drawing.Point(21, 190);
this.btnStopVision.Name = "btnStopVision";
this.btnStopVision.Size = new System.Drawing.Size(163, 46);
this.btnStopVision.TabIndex = 22;
this.btnStopVision.Text = "结束";
this.btnStopVision.UseVisualStyleBackColor = true;
this.btnStopVision.Click += new System.EventHandler(this.button12_Click);
//
this.button11.Location = new System.Drawing.Point(620, 15);
this.button11.Name = "button11";
this.button11.Size = new System.Drawing.Size(163, 46);
this.button11.TabIndex = 21;
this.button11.Text = "暂停";
this.button11.UseVisualStyleBackColor = true;
this.button11.Click += new System.EventHandler(this.button11_Click);
// btnPauseVision
//
this.btnPauseVision.Location = new System.Drawing.Point(21, 128);
this.btnPauseVision.Name = "btnPauseVision";
this.btnPauseVision.Size = new System.Drawing.Size(163, 46);
this.btnPauseVision.TabIndex = 21;
this.btnPauseVision.Text = "暂停";
this.btnPauseVision.UseVisualStyleBackColor = true;
this.btnPauseVision.Click += new System.EventHandler(this.button11_Click);
//
// label18
//
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(385, 132);
this.label18.Location = new System.Drawing.Point(356, 14);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(80, 17);
this.label18.TabIndex = 20;
this.label18.Text = "抽屉当前行列";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(9, 135);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(235, 17);
this.label15.TabIndex = 18;
this.label15.Text = "Y方向系数(Mark点Y轴->料屉升降轴):";
//
// textBox7
//
this.textBox7.Location = new System.Drawing.Point(266, 132);
this.textBox7.Name = "textBox7";
this.textBox7.Size = new System.Drawing.Size(100, 23);
this.textBox7.TabIndex = 17;
this.textBox7.Text = "100";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(9, 99);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(225, 17);
this.label16.TabIndex = 16;
this.label16.Text = "X方向系数(Mark点X轴->行走机构):";
//
// textBox8
//
this.textBox8.Location = new System.Drawing.Point(266, 93);
this.textBox8.Name = "textBox8";
this.textBox8.Size = new System.Drawing.Size(100, 23);
this.textBox8.TabIndex = 15;
this.textBox8.Text = "100";
//
// button10
//
this.button10.Location = new System.Drawing.Point(228, 30);
this.button10.Location = new System.Drawing.Point(21, 14);
this.button10.Name = "button10";
this.button10.Size = new System.Drawing.Size(163, 46);
this.button10.TabIndex = 14;
......@@ -622,71 +855,43 @@
this.button10.UseVisualStyleBackColor = true;
this.button10.Click += new System.EventHandler(this.button10_Click);
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(9, 62);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(80, 17);
this.label13.TabIndex = 13;
this.label13.Text = "抽屉开始列:";
//
// textBox5
//
this.textBox5.Location = new System.Drawing.Point(95, 59);
this.textBox5.Name = "textBox5";
this.textBox5.Size = new System.Drawing.Size(100, 23);
this.textBox5.TabIndex = 12;
this.textBox5.Text = "1";
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(9, 18);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(80, 17);
this.label14.TabIndex = 11;
this.label14.Text = "抽屉开始层:";
//
// textBox6
//
this.textBox6.Location = new System.Drawing.Point(95, 15);
this.textBox6.Name = "textBox6";
this.textBox6.Size = new System.Drawing.Size(100, 23);
this.textBox6.TabIndex = 10;
this.textBox6.Text = "1";
// btnStartVision
//
// button9
//
this.button9.Location = new System.Drawing.Point(451, 15);
this.button9.Name = "button9";
this.button9.Size = new System.Drawing.Size(163, 46);
this.button9.TabIndex = 7;
this.button9.Text = "开始";
this.button9.UseVisualStyleBackColor = true;
this.button9.Click += new System.EventHandler(this.button9_Click);
this.btnStartVision.Location = new System.Drawing.Point(21, 66);
this.btnStartVision.Name = "btnStartVision";
this.btnStartVision.Size = new System.Drawing.Size(163, 46);
this.btnStartVision.TabIndex = 7;
this.btnStartVision.Text = "开始";
this.btnStartVision.UseVisualStyleBackColor = true;
this.btnStartVision.Click += new System.EventHandler(this.button9_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.lblResult);
this.groupBox1.Controls.Add(this.chkBoxCloseCam);
this.groupBox1.Controls.Add(this.checkBoxOpenAuto);
this.groupBox1.Controls.Add(this.button4);
this.groupBox1.Controls.Add(this.button3);
this.groupBox1.Controls.Add(this.button2);
this.groupBox1.Controls.Add(this.button1);
this.groupBox1.Controls.Add(this.btnSave);
this.groupBox1.Controls.Add(this.groupBox2);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(3, 3);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(794, 144);
this.groupBox1.Size = new System.Drawing.Size(794, 94);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "流程";
this.groupBox1.Text = "操作";
//
// lblResult
//
this.lblResult.AutoSize = true;
this.lblResult.Location = new System.Drawing.Point(563, 49);
this.lblResult.Name = "lblResult";
this.lblResult.Size = new System.Drawing.Size(0, 17);
this.lblResult.TabIndex = 8;
//
// chkBoxCloseCam
//
this.chkBoxCloseCam.AutoSize = true;
this.chkBoxCloseCam.Location = new System.Drawing.Point(596, 62);
this.chkBoxCloseCam.Location = new System.Drawing.Point(6, 49);
this.chkBoxCloseCam.Name = "chkBoxCloseCam";
this.chkBoxCloseCam.Size = new System.Drawing.Size(154, 21);
this.chkBoxCloseCam.TabIndex = 7;
......@@ -697,60 +902,32 @@
// checkBoxOpenAuto
//
this.checkBoxOpenAuto.AutoSize = true;
this.checkBoxOpenAuto.Location = new System.Drawing.Point(31, 22);
this.checkBoxOpenAuto.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.checkBoxOpenAuto.Location = new System.Drawing.Point(9, 22);
this.checkBoxOpenAuto.Name = "checkBoxOpenAuto";
this.checkBoxOpenAuto.Size = new System.Drawing.Size(99, 21);
this.checkBoxOpenAuto.Size = new System.Drawing.Size(112, 23);
this.checkBoxOpenAuto.TabIndex = 4;
this.checkBoxOpenAuto.Text = "开启视觉对位";
this.checkBoxOpenAuto.UseVisualStyleBackColor = true;
this.checkBoxOpenAuto.CheckedChanged += new System.EventHandler(this.checkBoxOpenAuto_CheckedChanged);
//
// button4
//
this.button4.Location = new System.Drawing.Point(432, 86);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(146, 41);
this.button4.TabIndex = 3;
this.button4.Text = "④视觉对位";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// button3
//
this.button3.Location = new System.Drawing.Point(270, 86);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(146, 41);
this.button3.TabIndex = 2;
this.button3.Text = "③更新库位位置信息";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button2
// btnSave
//
this.button2.Location = new System.Drawing.Point(432, 27);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(146, 41);
this.button2.TabIndex = 1;
this.button2.Text = "②配置模板抽屉";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button1
//
this.button1.Location = new System.Drawing.Point(270, 27);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(146, 41);
this.button1.TabIndex = 0;
this.button1.Text = "①设置模板抽屉信息";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
this.btnSave.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.btnSave.Location = new System.Drawing.Point(396, 31);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(147, 55);
this.btnSave.TabIndex = 7;
this.btnSave.Text = "保存参数";
this.btnSave.UseVisualStyleBackColor = false;
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// groupBox2
//
this.groupBox2.BackColor = System.Drawing.Color.YellowGreen;
this.groupBox2.Controls.Add(this.radioButton2);
this.groupBox2.Controls.Add(this.radioButton1);
this.groupBox2.Location = new System.Drawing.Point(31, 62);
this.groupBox2.Location = new System.Drawing.Point(171, 22);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(200, 70);
this.groupBox2.TabIndex = 6;
......@@ -799,12 +976,20 @@
this.tableLayoutPanel1.ResumeLayout(false);
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.tabPage2.ResumeLayout(false);
this.tabPage2.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.tabPage3.ResumeLayout(false);
this.tabPage3.PerformLayout();
this.groupBox7.ResumeLayout(false);
this.groupBox7.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.tabPage4.ResumeLayout(false);
this.tabPage4.PerformLayout();
this.groupBox1.ResumeLayout(false);
......@@ -822,33 +1007,20 @@
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.TabPage tabPage4;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox txtCurCol;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox txtCurRow;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.RadioButton radioButton2;
private System.Windows.Forms.RadioButton radioButton1;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Button button7;
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.TextBox txtColsInDrawer;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Button button8;
private System.Windows.Forms.Button button9;
private System.Windows.Forms.TextBox txtRowsInDrawer;
private System.Windows.Forms.Button btnStartVision;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox txtColumnSpacing;
private System.Windows.Forms.Label label12;
......@@ -858,18 +1030,10 @@
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox txtDrawerRows;
private System.Windows.Forms.Button button10;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox textBox5;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.TextBox textBox6;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox textBox7;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.TextBox textBox8;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.Button button12;
private System.Windows.Forms.Button button11;
private System.Windows.Forms.Button btnStopVision;
private System.Windows.Forms.Button btnPauseVision;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Label label21;
private System.Windows.Forms.TextBox txtMark_Y_err;
......@@ -879,10 +1043,46 @@
private System.Windows.Forms.TextBox txtMark_Y;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.TextBox txtMark_X;
private System.Windows.Forms.Button button14;
private System.Windows.Forms.Button button13;
private System.Windows.Forms.Label label22;
private System.Windows.Forms.Button btnAcquireImage1;
private System.Windows.Forms.CheckBox checkBoxOpenAuto;
private System.Windows.Forms.CheckBox chkBoxCloseCam;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox txtStartCol;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.TextBox txtStartRow;
private System.Windows.Forms.TextBox txtCoofY;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox txtCoffX;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Button btnStopUpdate;
private System.Windows.Forms.Button btnUpdate;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.Button btnUndwnToPos1;
private System.Windows.Forms.Button btnInoutToPosition1;
private System.Windows.Forms.Button btnPullUpdwnToPos1;
private System.Windows.Forms.Button btnMoveAxisToPos1;
private System.Windows.Forms.GroupBox groupBox7;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox txtMarkX_Validate;
private System.Windows.Forms.Button btnAcquireImage2;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox txtMarkY_Validate;
private System.Windows.Forms.TextBox txtMarkY_err_Validate;
private System.Windows.Forms.Label label22;
private System.Windows.Forms.Label label23;
private System.Windows.Forms.TextBox txtMarkX_err_Validate;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.Label lblResult;
private System.Windows.Forms.ListBox listBox1;
}
}
\ No newline at end of file
......@@ -21,123 +21,239 @@ namespace OnlineStore.XLRStore
CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
boxEquip = StoreManager.XLRStore.boxEquip;
chkBoxCloseCam.Checked =bool.Parse(Common.ConfigAppSettings.GetValue(Setting_Init.CloseCamDetect));
chkBoxCloseCam.Checked = bool.Parse(Common.ConfigAppSettings.GetValue(Setting_Init.CloseCamDetect));
SetState(false);
}
BoxEquip boxEquip;
string posSide = "AA";
private void SetState(bool state)
{
button1.Enabled = state;
button2.Enabled = state;
button3.Enabled = state;
button4.Enabled = state;
tabControl1.Enabled = state;
chkBoxCloseCam.Enabled = state;
}
private void button1_Click(object sender, EventArgs e)
/// <summary>
/// 保存参数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSave_Click(object sender, EventArgs e)
{
tabControl1.SelectedIndex = 0;
boxEquip.Config.Drawer_Rows = int.Parse(txtDrawerRows.Text);
boxEquip.Config.Drawer_Columns = int.Parse(txtDrawerColumns.Text);
boxEquip.Config.Rows_In_Drawer = int.Parse(txtRowsInDrawer.Text);
boxEquip.Config.Cols_In_Drawer = int.Parse(txtColsInDrawer.Text);
boxEquip.Config.Column_Spacing = int.Parse(txtColumnSpacing.Text);
boxEquip.Config.Row_Spacing = int.Parse(txtRowSpacing.Text);
boxEquip.Config.FindPos_Drawer_X_Error = int.Parse(txtMark_X_err.Text);
boxEquip.Config.FindPos_Drawer_Y_Error = int.Parse(txtMark_Y_err.Text);
boxEquip.Config.Validate_Drawer_X_Error = int.Parse(txtMarkX_err_Validate.Text);
boxEquip.Config.Validate_Drawer_Y_Error = int.Parse(txtMarkY_err_Validate.Text);
if (posSide.Equals("AA"))
{
boxEquip.Config.PixelToPulse_A_X = int.Parse(txtCoffX.Text);
boxEquip.Config.PixelToPulse_A_Y = int.Parse(txtCoofY.Text);
boxEquip.Config.FindPos_Drawer_A_X = float.Parse(txtMark_X.Text);
boxEquip.Config.FindPos_Drawer_A_Y = float.Parse(txtMark_Y.Text);
boxEquip.Config.Validate_Drawer_A_X = float.Parse(txtMarkX_Validate.Text);
boxEquip.Config.Validate_Drawer_A_Y = float.Parse(txtMarkY_Validate.Text);
}
else
{
boxEquip.Config.PixelToPulse_B_X = int.Parse(txtCoffX.Text);
boxEquip.Config.PixelToPulse_B_Y = int.Parse(txtCoofY.Text);
boxEquip.Config.FindPos_Drawer_B_X = float.Parse(txtMark_X.Text);
boxEquip.Config.FindPos_Drawer_B_Y = float.Parse(txtMark_Y.Text);
boxEquip.Config.Validate_Drawer_B_X = float.Parse(txtMarkX_Validate.Text);
boxEquip.Config.Validate_Drawer_B_Y = float.Parse(txtMarkY_Validate.Text);
}
StoreManager.SaveBoxConfig(boxEquip.Config);
}
private void button2_Click(object sender, EventArgs e)
private void FrmAutoFindPos_Load(object sender, EventArgs e)
{
tabControl1.SelectedIndex = 1;
label3.Text = string.Format("需要配置的模板抽屉为:{0}面,{1}行,{2}列", posSide, textBox1.Text, textBox2.Text);
label5.Text = string.Format("更新其他抽屉使用的模板抽屉为:{0}面,{1}行,{2}列", posSide, textBox1.Text, textBox2.Text);
txtDrawerRows.Text = boxEquip.Config.Drawer_Rows.ToString();
txtDrawerColumns.Text = boxEquip.Config.Drawer_Columns.ToString();
txtRowsInDrawer.Text = boxEquip.Config.Rows_In_Drawer.ToString();
txtColsInDrawer.Text = boxEquip.Config.Cols_In_Drawer.ToString();
txtColumnSpacing.Text = boxEquip.Config.Column_Spacing.ToString();
txtRowSpacing.Text = boxEquip.Config.Row_Spacing.ToString();
txtMark_X_err.Text = boxEquip.Config.FindPos_Drawer_X_Error.ToString();
txtMark_Y_err.Text = boxEquip.Config.FindPos_Drawer_Y_Error.ToString();
txtMarkX_err_Validate.Text = boxEquip.Config.Validate_Drawer_X_Error.ToString();
txtMarkY_err_Validate.Text = boxEquip.Config.Validate_Drawer_Y_Error.ToString();
UpdateData();
}
private void button3_Click(object sender, EventArgs e)
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
tabControl1.SelectedIndex = 2;
label3.Text = string.Format("需要配置的模板抽屉为:{0}面,{1}行,{2}列", posSide, textBox1.Text, textBox2.Text);
label5.Text = string.Format("更新其他抽屉使用的模板抽屉为:{0}面,{1}行,{2}列", posSide, textBox1.Text, textBox2.Text);
posSide = "AA";
UpdateData();
}
private void button4_Click(object sender, EventArgs e)
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
tabControl1.SelectedIndex = 3;
posSide = "BB";
UpdateData();
}
private void UpdateData()
{
if (posSide.Equals("AA"))
{
txtMark_X.Text = boxEquip.Config.FindPos_Drawer_A_X.ToString();
txtMark_Y.Text = boxEquip.Config.FindPos_Drawer_A_Y.ToString();
txtMarkX_Validate.Text = boxEquip.Config.Validate_Drawer_A_X.ToString();
txtMarkY_Validate.Text = boxEquip.Config.Validate_Drawer_A_Y.ToString();
txtCoffX.Text = boxEquip.Config.PixelToPulse_A_X.ToString();
txtCoofY.Text = boxEquip.Config.PixelToPulse_A_Y.ToString();
}
else
{
txtMark_X.Text = boxEquip.Config.FindPos_Drawer_B_X.ToString();
txtMark_Y.Text = boxEquip.Config.FindPos_Drawer_B_Y.ToString();
txtMarkX_Validate.Text = boxEquip.Config.Validate_Drawer_B_X.ToString();
txtMarkY_Validate.Text = boxEquip.Config.Validate_Drawer_B_Y.ToString();
txtCoffX.Text = boxEquip.Config.PixelToPulse_B_X.ToString();
txtCoofY.Text = boxEquip.Config.PixelToPulse_B_Y.ToString();
}
groupBox5.Text = string.Format("更新其他抽屉内的库位,数据源为:{0}面,{1}层,{2}列", posSide, txtCurRow.Text, txtCurCol.Text);
groupBox6.Text = string.Format("当前抽屉:{0}面,{1}层,{2}列", posSide, txtCurRow.Text, txtCurCol.Text);
groupBox7.Text = string.Format("当前抽屉:{0}面,{1}层,{2}列", posSide, txtCurRow.Text, txtCurCol.Text);
}
int rows_in_drawer = 0;
int colmns_in_drawer = 0;
bool isBreak = false;
private void button5_Click(object sender, EventArgs e)
private void button9_Click(object sender, EventArgs e)
{
label3.Text = string.Format("需要配置的模板抽屉为:{0}面,{1}行,{2}列", posSide, textBox1.Text, textBox2.Text);
label5.Text = string.Format("更新其他抽屉使用的模板抽屉为:{0}面,{1}行,{2}列", posSide, textBox1.Text, textBox2.Text);
boxEquip.Config.Column_Spacing = int.Parse(txtColumnSpacing.Text);
boxEquip.Config.Row_Spacing = int.Parse(txtRowSpacing.Text);
boxEquip.Config.Drawer_Rows = int.Parse(txtDrawerRows.Text);
boxEquip.Config.Drawer_Columns = int.Parse(txtDrawerColumns.Text);
txtColumnSpacing.Text = boxEquip.Config.Column_Spacing.ToString();
txtRowSpacing.Text = boxEquip.Config.Row_Spacing.ToString();
txtDrawerRows.Text = boxEquip.Config.Drawer_Rows.ToString();
txtDrawerColumns.Text = boxEquip.Config.Drawer_Columns.ToString();
StoreManager.SaveBoxConfig(boxEquip.Config);
button2.Enabled = true;
btnStartVision.Enabled = false;
btnPauseVision.Enabled = true;
timer1.Enabled = true;
timer1.Start();
StringBuilder head2 = new StringBuilder(boxEquip.CID + posSide + txtStartRow.Text.PadLeft(2, '0') + txtStartCol.Text.PadLeft(2, '0') + "0101");
boxEquip.autoFindPosMode = true;
boxEquip.StartFindPos(new InOutParam(new InOutPosInfo("AutoFindPos", head2.ToString())));
}
private void FrmAutoFindPos_Load(object sender, EventArgs e)
private void button10_Click(object sender, EventArgs e)
{
txtColumnSpacing.Text = boxEquip.Config.Column_Spacing.ToString();
txtRowSpacing.Text = boxEquip.Config.Row_Spacing.ToString();
txtDrawerRows.Text = boxEquip.Config.Drawer_Rows.ToString();
txtDrawerColumns.Text = boxEquip.Config.Drawer_Columns.ToString();
txtMark_X.Text = boxEquip.Config.Drawer_X.ToString();
txtMark_Y.Text = boxEquip.Config.Drawer_Y.ToString();
txtMark_X_err.Text = boxEquip.Config.Drawer_X_Error.ToString();
txtMark_Y_err.Text = boxEquip.Config.Drawer_Y_Error.ToString();
button9.Enabled = false;
button11.Enabled = false;
button12.Enabled = false;
boxEquip.autoFindPos.SetParam(int.Parse(txtCurRow.Text), int.Parse(txtCurCol.Text), int.Parse(txtStartRow.Text),int.Parse(txtStartCol.Text),float.Parse(txtCoffX.Text), float.Parse(txtCoofY.Text));
StringBuilder head2 = new StringBuilder(boxEquip.CID + posSide + txtStartRow.Text.PadLeft(2, '0') + txtStartCol.Text.PadLeft(2, '0'));
head2.Append("0101");
LineMoveP lineMoveP = new LineMoveP();
lineMoveP.UpdatePosById(head2.ToString());
boxEquip.autoFindPos.PullUpdown_Diff_mid = lineMoveP.PullAxis_Updown_P2 - lineMoveP.PullAxis_Updown_P4;
boxEquip.autoFindPos.PullUpdown_Diff_high = lineMoveP.PullAxis_Updown_P3 - lineMoveP.PullAxis_Updown_P4;
boxEquip.autoFindPos.UpdownAxis_Diff_Upper_Low = lineMoveP.Updown_P7_P13 - lineMoveP.Updown_P6_P12;
boxEquip.autoFindPos.Startposition_MoveAxis = lineMoveP.MoveAxis_P3;
boxEquip.autoFindPos.Startposition_PullUpdpwnAxis = lineMoveP.PullAxis_Updown_P4;
boxEquip.autoFindPos.Startposition_UpDownAxis = lineMoveP.Updown_P6_P12;
int.TryParse(txtRowsInDrawer.Text, out rows_in_drawer);
int.TryParse(txtColsInDrawer.Text, out colmns_in_drawer);
boxEquip.autoFindPos.RowsInDraw = rows_in_drawer;
boxEquip.autoFindPos.ColumnsInDraw = colmns_in_drawer;
btnStartVision.Enabled = true;
boxEquip.autoFindPosMode = false;
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
private void timer1_Tick(object sender, EventArgs e)
{
posSide = "AA";
label18.Text = $"当前抽屉的行:{boxEquip.autoFindPos.CurRow},列:{boxEquip.autoFindPos.CurColumn}";
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
private void button11_Click(object sender, EventArgs e)
{
posSide = "BB";
if (btnPauseVision.Text.Equals("暂停"))
{
boxEquip.autoFindPosMode = false;
btnPauseVision.Text = "继续";
btnStopVision.Enabled = true;
}
else
{
boxEquip.autoFindPosMode = true;
btnPauseVision.Text = "暂停";
btnStopVision.Enabled = false;
}
}
FrmAxisMove frmAxisMove = null;
private void button6_Click(object sender, EventArgs e)
private void button12_Click(object sender, EventArgs e)
{
boxEquip.FindPosEnd();
btnPauseVision.Enabled = false;
btnStopVision.Enabled = false;
}
/// <summary>
/// 取像并获取mark点坐标
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAcquireImage1_Click(object sender, EventArgs e)
{
if (frmAxisMove == null)
Bitmap bitmap = null;
bool rtn = false;
eyemLib_Sharp.EyemLibDemo.EyemOcsFXYR eyemOcsFXYR;
if (posSide.Equals("AA"))
{
frmAxisMove = new FrmAxisMove(true);
frmAxisMove.Show();
bitmap = boxEquip.AcqImage("box_A");
}
else
{
if (frmAxisMove.IsDisposed)
bitmap = boxEquip.AcqImage("box_B");
}
pictureBox1.Image = null;
if (bitmap != null)
{
int res = AutoFindPos.GetMarkInfo(bitmap, boxEquip.CID + posSide + "_Manual", string.Format("{0}", DateTime.Now.ToString("yyyyMMddhhmmss")), out eyemOcsFXYR, out Bitmap bitmap1);
if (bitmap1 != null)
pictureBox1.Image = bitmap1;
else
pictureBox1.Image = bitmap;
if (res == 0)
{
frmAxisMove = new FrmAxisMove(true);
frmAxisMove.Show();
txtMark_X.Text = eyemOcsFXYR.fX.ToString("f2");
txtMark_Y.Text = eyemOcsFXYR.fY.ToString("f2");
lblResult.Text = "获取mark点信息成功";
lblResult.BackColor = Color.Green;
}
else
{
frmAxisMove.Activate();
lblResult.Text = "获取mark点信息失败,异常码:" + res;
lblResult.BackColor = Color.Red;
}
}
else
{
lblResult.Text = "取像失败,请检查相机参数";
lblResult.BackColor = Color.Red;
}
}
private void button7_Click(object sender, EventArgs e)
private void checkBoxOpenAuto_CheckedChanged(object sender, EventArgs e)
{
button3.Enabled = true;
SetState(checkBoxOpenAuto.Checked);
}
int rows_in_drawer = 0;
int colmns_in_drawer = 0;
private void chkBoxCloseCam_CheckedChanged(object sender, EventArgs e)
{
boxEquip.CloseCamDetect = chkBoxCloseCam.Checked;
Common.ConfigAppSettings.SaveValue(Setting_Init.CloseCamDetect, boxEquip.CloseCamDetect.ToString());
}
/// <summary>
/// 更新
/// 选择抽屉并更新到其他抽屉
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button7_Click_1(object sender, EventArgs e)
private void btnUpdate_Click(object sender, EventArgs e)
{
label5.Text = string.Format("更新其他抽屉使用的模板抽屉为:{0}面,{1}行,{2}列", posSide, textBox1.Text, textBox2.Text);
int.TryParse(textBox4.Text, out rows_in_drawer);
int.TryParse(textBox3.Text, out colmns_in_drawer);
int.TryParse(txtRowsInDrawer.Text, out rows_in_drawer);
int.TryParse(txtColsInDrawer.Text, out colmns_in_drawer);
progressBar1.Maximum = boxEquip.Config.Drawer_Rows * boxEquip.Config.Drawer_Columns * rows_in_drawer * colmns_in_drawer;
progressBar1.Minimum = 0;
......@@ -154,8 +270,6 @@ namespace OnlineStore.XLRStore
string info = "";
bool ok = false;
isBreak = false;
if (listBox1.Items.Count > 0)
listBox1.Items.Clear();
Task.Factory.StartNew(new Action(() =>
{
......@@ -173,7 +287,7 @@ namespace OnlineStore.XLRStore
head1.Append(d.ToString().PadLeft(2, '0'));
head1.Append(k.ToString().PadLeft(2, '0'));
BoxPosition ktkPosition = CSVPositionReader<BoxPosition>.GetPositon(head1.ToString());
StringBuilder head2 = new StringBuilder(boxEquip.CID + posSide + textBox1.Text.PadLeft(2, '0') + textBox2.Text.PadLeft(2, '0'));
StringBuilder head2 = new StringBuilder(boxEquip.CID + posSide + txtCurRow.Text.PadLeft(2, '0') + txtCurCol.Text.PadLeft(2, '0'));
head2.Append(d.ToString().PadLeft(2, '0'));
head2.Append(k.ToString().PadLeft(2, '0'));
BoxPosition srcPosition = CSVPositionReader<BoxPosition>.GetPositon(head2.ToString());
......@@ -183,10 +297,6 @@ namespace OnlineStore.XLRStore
ktkPosition.ComAxis_AB_P3 = srcPosition.ComAxis_AB_P3;
ktkPosition.PullAxis_Inout_P2_P4 = srcPosition.PullAxis_Inout_P2_P4;
ktkPosition.PullAxis_Inout_P3_P5 = srcPosition.PullAxis_Inout_P3_P5;
//ktkPosition.PullAxis_Updown_P3 = srcPosition.PullAxis_Updown_P3;
//ktkPosition.PullAxis_Updown_P4 = srcPosition.PullAxis_Updown_P4;
//ktkPosition.Updown_P6_P12 = srcPosition.Updown_P6_P12;
//ktkPosition.Updown_P7_P13 = srcPosition.Updown_P7_P13;
ktkPosition.XAxis_AB_P3 = srcPosition.XAxis_AB_P3;
bool result = CSVPositionReader<BoxPosition>.SavePostion(positionConfigFile, ktkPosition);
if (result)
......@@ -207,8 +317,6 @@ namespace OnlineStore.XLRStore
}
label8.Text = info;
label8.BackColor = ok ? Color.Green : Color.Red;
if (!ok)
listBox1.Items.Add(info);
count++;
progressBar1.Value = count; ;
System.Threading.Thread.Sleep(50);
......@@ -223,84 +331,27 @@ namespace OnlineStore.XLRStore
label8.Text = info;
label8.BackColor = Color.Green;
}));
}
bool isBreak = false;
private void button8_Click(object sender, EventArgs e)
{
isBreak = true;
}
private void button9_Click(object sender, EventArgs e)
{
button9.Enabled = false;
button11.Enabled = true;
timer1.Enabled = true;
timer1.Start();
StringBuilder head2 = new StringBuilder(boxEquip.CID + posSide + textBox6.Text.PadLeft(2, '0') + textBox5.Text.PadLeft(2, '0') + "0101");
boxEquip.autoFindPosMode = true;
boxEquip.StartFindPos(new InOutParam(new InOutPosInfo("AutoFindPos", head2.ToString())));
}
private void button10_Click(object sender, EventArgs e)
{
boxEquip.autoFindPos.SetParam(int.Parse(textBox6.Text), int.Parse(textBox5.Text), float.Parse(textBox8.Text), float.Parse(textBox7.Text));
StringBuilder head2 = new StringBuilder(boxEquip.CID + posSide + textBox6.Text.PadLeft(2, '0') + textBox5.Text.PadLeft(2, '0'));
head2.Append("0101");
LineMoveP lineMoveP = new LineMoveP();
lineMoveP.UpdatePosById(head2.ToString());
boxEquip.autoFindPos.PullUpdown_Diff_mid = lineMoveP.PullAxis_Updown_P2 - lineMoveP.PullAxis_Updown_P4;
boxEquip.autoFindPos.PullUpdown_Diff_high = lineMoveP.PullAxis_Updown_P3 - lineMoveP.PullAxis_Updown_P4;
boxEquip.autoFindPos.UpdownAxis_Diff_Upper_Low = lineMoveP.Updown_P7_P13 - lineMoveP.Updown_P6_P12;
boxEquip.autoFindPos.Startposition_MoveAxis = lineMoveP.MoveAxis_P3;
boxEquip.autoFindPos.Startposition_PullUpdpwnAxis = lineMoveP.PullAxis_Updown_P4;
boxEquip.autoFindPos.Startposition_UpDownAxis = lineMoveP.Updown_P6_P12;
int.TryParse(textBox4.Text, out rows_in_drawer);
int.TryParse(textBox3.Text, out colmns_in_drawer);
boxEquip.autoFindPos.RowsInDraw = rows_in_drawer;
boxEquip.autoFindPos.ColumnsInDraw = colmns_in_drawer;
button9.Enabled = true;
boxEquip.autoFindPosMode = false;
}
private void timer1_Tick(object sender, EventArgs e)
/// <summary>
/// 文本框内容变化
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtChanged(object sender, EventArgs e)
{
label18.Text = $"当前抽屉的行:{boxEquip.autoFindPos.CurRow},列:{boxEquip.autoFindPos.CurColumn}";
groupBox5.Text = string.Format("更新其他抽屉内的库位,数据源为:{0}面,{1}层,{2}列", posSide, txtCurRow.Text, txtCurCol.Text);
groupBox6.Text = string.Format("当前抽屉:{0}面,{1}层,{2}列", posSide, txtCurRow.Text, txtCurCol.Text);
groupBox7.Text = string.Format("当前抽屉:{0}面,{1}层,{2}列", posSide, txtCurRow.Text, txtCurCol.Text);
}
private void button11_Click(object sender, EventArgs e)
private void btnStopUpdate_Click(object sender, EventArgs e)
{
if (button11.Text.Equals("暂停"))
{
boxEquip.autoFindPosMode = false;
button11.Text = "继续";
button12.Enabled = true;
}
else
{
boxEquip.autoFindPosMode = true;
button11.Text = "暂停";
button12.Enabled = false;
}
isBreak = true;
}
private void button12_Click(object sender, EventArgs e)
{
boxEquip.FindPosEnd();
button11.Enabled = false;
button12.Enabled = false;
}
/// <summary>
/// 取像并获取mark点坐标
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button13_Click(object sender, EventArgs e)
private void btnAcquireImage2_Click(object sender, EventArgs e)
{
Bitmap bitmap = null;
bool rtn = false;
eyemLib_Sharp.EyemLibDemo.EyemOcsFXYR eyemOcsFXYR;
if (posSide.Equals("AA"))
{
......@@ -315,47 +366,32 @@ namespace OnlineStore.XLRStore
{
int res = AutoFindPos.GetMarkInfo(bitmap, boxEquip.CID + posSide + "_Manual", string.Format("{0}", DateTime.Now.ToString("yyyyMMddhhmmss")), out eyemOcsFXYR, out Bitmap bitmap1);
if (bitmap1 != null)
pictureBox1.Image = bitmap1;
pictureBox2.Image = bitmap1;
else
pictureBox1.Image = bitmap;
pictureBox2.Image = bitmap;
if (res == 0)
{
txtMark_X.Text = eyemOcsFXYR.fX.ToString("f2");
txtMark_Y.Text = eyemOcsFXYR.fY.ToString("f2");
label22.Text = "获取mark点信息成功";
label22.BackColor = Color.Green;
txtMarkX_Validate.Text = eyemOcsFXYR.fX.ToString("f2");
txtMarkY_Validate.Text = eyemOcsFXYR.fY.ToString("f2");
lblResult.Text = "获取mark点信息成功";
lblResult.BackColor = Color.Green;
}
else
{
label22.Text = "获取mark点信息失败,异常码:" + res;
label22.BackColor = Color.Red;
lblResult.Text = "获取mark点信息失败,异常码:" + res;
lblResult.BackColor = Color.Red;
}
}
else
{
label22.Text = "取像失败,请检查相机参数";
label22.BackColor = Color.Red;
lblResult.Text = "取像失败,请检查相机参数";
lblResult.BackColor = Color.Red;
}
}
private void button14_Click(object sender, EventArgs e)
{
boxEquip.Config.Drawer_X = float.Parse(txtMark_X.Text);
boxEquip.Config.Drawer_Y = float.Parse(txtMark_Y.Text);
boxEquip.Config.Drawer_X_Error = float.Parse(txtMark_X_err.Text);
boxEquip.Config.Drawer_Y_Error = float.Parse(txtMark_Y_err.Text);
StoreManager.SaveBoxConfig(boxEquip.Config);
}
private void checkBoxOpenAuto_CheckedChanged(object sender, EventArgs e)
private void btnSaveMarkInfo2_Click(object sender, EventArgs e)
{
SetState(checkBoxOpenAuto.Checked);
}
private void chkBoxCloseCam_CheckedChanged(object sender, EventArgs e)
{
boxEquip.CloseCamDetect = chkBoxCloseCam.Checked;
Common.ConfigAppSettings.SaveValue(Setting_Init.CloseCamDetect, boxEquip.CloseCamDetect.ToString());
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!