1、运动到指定点,JOG运动,运动结束的判断
2、优化测试用例
This commit is contained in:
@@ -430,9 +430,12 @@ namespace HSI_SEVENOCEAN_EF1_CsTest.HSI
|
||||
|
||||
public enum HSI_MOTION_AXIS_TYPE
|
||||
{
|
||||
HSI_MOTION_AXIS_X = 0x0001, // This is the default "Sensor level" X Axis - use on single X axis machines
|
||||
HSI_MOTION_AXIS_Y = 0x0002, // This is the default "Sensor level" Y Axis - use on single Y axis machines
|
||||
HSI_MOTION_AXIS_Z = 0x0004, // This is the default "Sensor level" Z Axis - use on single Z axis machines
|
||||
//HSI_MOTION_AXIS_X = 0x0001, // This is the default "Sensor level" X Axis - use on single X axis machines
|
||||
//HSI_MOTION_AXIS_Y = 0x0002, // This is the default "Sensor level" Y Axis - use on single Y axis machines
|
||||
//HSI_MOTION_AXIS_Z = 0x0004, // This is the default "Sensor level" Z Axis - use on single Z axis machines
|
||||
HSI_MOTION_AXIS_X = 0x0001, //对应ACS 0轴 X
|
||||
HSI_MOTION_AXIS_Y = 0x0000, //对应ACS 1轴 Y
|
||||
HSI_MOTION_AXIS_Z = 0x0004, //对应ACS 4轴 Z
|
||||
HSI_MOTION_AXIS_R = 0x0008, // This is the default "Sensor level" R Axis - use on single R axis machines
|
||||
HSI_MOTION_AXIS_X1 = 0x0010, // This is the 1st X Axis - use on multiple axis machines when specific axis needed
|
||||
HSI_MOTION_AXIS_Y1 = 0x0020, // This is the 1st Y Axis - use on multiple axis machines when specific axis needed
|
||||
|
||||
@@ -41,17 +41,18 @@ namespace HSI_SEVENOCEAN_EF1_CsTest
|
||||
Console.WriteLine("Motion.Startup:{0}", rStatus);
|
||||
|
||||
//5 获取EF3固件版本号,待测试
|
||||
var EF3Version = new byte[20];
|
||||
//IntPtr intPtrEF3Version = IntPtr.Zero;
|
||||
IntPtr intPtrEF3Version = Marshal.StringToHGlobalAnsi("");
|
||||
rStatus = Interface.MotionGetFirewareVerion(intPtrEF3Version);
|
||||
Console.WriteLine("Interface.MotionGetFirewareVerion: {0}", rStatus);
|
||||
Marshal.Copy(intPtrEF3Version, EF3Version, 0, EF3Version.Length);
|
||||
Console.WriteLine("EF3 FirewareVerion Version: {0}", Encoding.UTF8.GetString(EF3Version));
|
||||
//var EF3Version = new byte[20];
|
||||
////IntPtr intPtrEF3Version = IntPtr.Zero;
|
||||
//IntPtr intPtrEF3Version = Marshal.StringToHGlobalAnsi("");
|
||||
//rStatus = Interface.MotionGetFirewareVerion(intPtrEF3Version);
|
||||
//Console.WriteLine("Interface.MotionGetFirewareVerion: {0}", rStatus);
|
||||
//Marshal.Copy(intPtrEF3Version, EF3Version, 0, EF3Version.Length);
|
||||
//Console.WriteLine("EF3 FirewareVerion Version: {0}", Encoding.UTF8.GetString(EF3Version));
|
||||
|
||||
var bHomed = true;
|
||||
rStatus = Motion.IsHomed(ref bHomed);
|
||||
Console.WriteLine("Motion.IsHomed:{0}", rStatus);
|
||||
//6 是否回家
|
||||
//var bHomed = true;
|
||||
//rStatus = Motion.IsHomed(ref bHomed);
|
||||
//Console.WriteLine("Motion.IsHomed:{0}", rStatus);
|
||||
var bexit = false;
|
||||
var SpeedGear = 1.0;
|
||||
var dPos = new double[3];
|
||||
@@ -62,18 +63,18 @@ namespace HSI_SEVENOCEAN_EF1_CsTest
|
||||
switch (info.Key)
|
||||
{
|
||||
case ConsoleKey.P:
|
||||
dPos[0] += 10.0;
|
||||
dPos[1] += 10.0;
|
||||
rStatus = Motion.SetPositionXyz(Def.HSI_MOTION_AXIS_ALL, dPos[0], dPos[1], dPos[2],
|
||||
Def.HSI_MOTION_MOVE_TYPE.HSI_MOTION_MOVE_NOWAIT, 0.0);
|
||||
Console.WriteLine("Motion.SetPositionXyz:{0},{1},{2} {3}", dPos[0], dPos[1], dPos[2],rStatus);
|
||||
|
||||
dPos[0] += 10.0; //X轴
|
||||
dPos[1] += 20.0; //Y轴
|
||||
dPos[2] += 30.0; //Y轴
|
||||
rStatus = Motion.SetPositionXyz(Def.HSI_MOTION_AXIS_ALL, dPos[0], dPos[1], dPos[2],Def.HSI_MOTION_MOVE_TYPE.HSI_MOTION_MOVE_WAIT, 0.0);
|
||||
Console.WriteLine("Motion.SetPositionXyz:{0:f4},{1:f4},{2:f4} {3}", dPos[0], dPos[1],
|
||||
dPos[2],
|
||||
rStatus);
|
||||
break;
|
||||
case ConsoleKey.Enter:
|
||||
rStatus = Motion.GetPositionXyz(Def.HSI_MOTION_AXIS_ALL, ref dPos[0], ref dPos[1],
|
||||
ref dPos[2], ref dTime);
|
||||
rStatus = Motion.GetPositionXyz(Def.HSI_MOTION_AXIS_ALL, ref dPos[0], ref dPos[1], ref dPos[2], ref dTime);
|
||||
Console.WriteLine("Motion.GetPositionXyz:{0}", rStatus);
|
||||
Console.WriteLine("Motion.XYZ:{0},{1},{2}", dPos[0], dPos[1], dPos[2]);
|
||||
Console.WriteLine("Motion.XYZ:{0:f4},{1:f4},{2:f4}", dPos[0], dPos[1], dPos[2]);
|
||||
break;
|
||||
case ConsoleKey.Escape:
|
||||
bexit = true;
|
||||
@@ -82,50 +83,71 @@ namespace HSI_SEVENOCEAN_EF1_CsTest
|
||||
rStatus = Motion.StopJog();
|
||||
Console.WriteLine("Motion.StopJog:{0}", rStatus);
|
||||
break;
|
||||
|
||||
// Z轴运动
|
||||
case ConsoleKey.NumPad1:
|
||||
case ConsoleKey.D1:
|
||||
SpeedGear = 1.0;
|
||||
Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.NumPad2:
|
||||
case ConsoleKey.D2:
|
||||
SpeedGear = 2.0;
|
||||
Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.NumPad3:
|
||||
case ConsoleKey.D3:
|
||||
SpeedGear = 3.0;
|
||||
Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.NumPad4:
|
||||
case ConsoleKey.D4:
|
||||
SpeedGear = 4.0;
|
||||
Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.LeftArrow:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_X, -SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(X,{1}):{0}", rStatus, SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.RightArrow:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_X, SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(X,{1}):{0}", rStatus, SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.DownArrow:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Y, -SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(Y,{1}):{0}", rStatus, SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.UpArrow:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Y, SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(Y,{1}):{0}", rStatus, SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.PageUp:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Z, SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(Z,{1}):{0}", rStatus, SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.PageDown:
|
||||
case ConsoleKey.NumPad3:
|
||||
case ConsoleKey.D3:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Z, -SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(Z,{1}):{0}", rStatus, SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(Z,{1}):{0}", rStatus, -SpeedGear);
|
||||
break;
|
||||
|
||||
//Y轴运动
|
||||
case ConsoleKey.NumPad2:
|
||||
case ConsoleKey.D2:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Y, -SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(Y,{1}):{0}", rStatus, -SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.NumPad8:
|
||||
case ConsoleKey.D8:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_Y, SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(Y,{1}):{0}", rStatus, SpeedGear);
|
||||
break;
|
||||
|
||||
// X轴运动
|
||||
case ConsoleKey.NumPad4:
|
||||
case ConsoleKey.D4:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_X, -SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(X,{1}):{0}", rStatus, -SpeedGear);
|
||||
break;
|
||||
case ConsoleKey.NumPad6:
|
||||
case ConsoleKey.D6:
|
||||
rStatus = Motion.Jog((uint)Def.HSI_MOTION_AXIS_TYPE.HSI_MOTION_AXIS_X, SpeedGear);
|
||||
Console.WriteLine("Motion.Jog(X,{1}):{0}", rStatus, SpeedGear);
|
||||
break;
|
||||
|
||||
//加减速
|
||||
case ConsoleKey.Add:
|
||||
SpeedGear += 1.0;
|
||||
Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
|
||||
break;
|
||||
|
||||
case ConsoleKey.Subtract:
|
||||
SpeedGear -= 1.0;
|
||||
if (SpeedGear < 1.0)
|
||||
{
|
||||
SpeedGear = 1.0;
|
||||
}
|
||||
|
||||
Console.WriteLine("Motion.SpeedGera:{0}", SpeedGear);
|
||||
break;
|
||||
|
||||
//case ConsoleKey.LeftArrow:
|
||||
// break;
|
||||
//case ConsoleKey.RightArrow:
|
||||
// break;
|
||||
//case ConsoleKey.DownArrow:
|
||||
// break;
|
||||
//case ConsoleKey.UpArrow:
|
||||
// break;
|
||||
//case ConsoleKey.PageUp:
|
||||
// break;
|
||||
//case ConsoleKey.PageDown:
|
||||
// break;
|
||||
default:
|
||||
Console.WriteLine("Invalid");
|
||||
break;
|
||||
@@ -137,7 +159,6 @@ namespace HSI_SEVENOCEAN_EF1_CsTest
|
||||
Console.WriteLine("Motion.Startup:{0}", rStatus);
|
||||
}
|
||||
|
||||
|
||||
rStatus = Interface.Shutdown();
|
||||
Console.WriteLine("Interface.Shutdown:{0}", rStatus);
|
||||
|
||||
|
||||
@@ -108,9 +108,12 @@ SCALE_RESOLUTION_8=0.0004
|
||||
|
||||
[LIMIT]
|
||||
;负限位(mm),必须是负数
|
||||
NEG_WORKING_LIMIT_1=-260.0
|
||||
NEG_WORKING_LIMIT_2=-40.0
|
||||
NEG_WORKING_LIMIT_3=-40.0
|
||||
;NEG_WORKING_LIMIT_1=-260.0
|
||||
;NEG_WORKING_LIMIT_2=-40.0
|
||||
;NEG_WORKING_LIMIT_3=-40.0
|
||||
NEG_WORKING_LIMIT_1=-1.0
|
||||
NEG_WORKING_LIMIT_2=-1.0
|
||||
NEG_WORKING_LIMIT_3=-1.0
|
||||
NEG_WORKING_LIMIT_4=-40.0
|
||||
NEG_WORKING_LIMIT_5=-40.0
|
||||
NEG_WORKING_LIMIT_6=-40.0
|
||||
@@ -118,9 +121,12 @@ NEG_WORKING_LIMIT_7=-40.0
|
||||
NEG_WORKING_LIMIT_8=-40.0
|
||||
|
||||
;正限位(mm),必须是正数
|
||||
POS_WORKING_LIMIT_1=40.0
|
||||
POS_WORKING_LIMIT_2=160.0
|
||||
POS_WORKING_LIMIT_3=160.0
|
||||
;POS_WORKING_LIMIT_1=40.0
|
||||
;POS_WORKING_LIMIT_2=160.0
|
||||
;POS_WORKING_LIMIT_3=160.0
|
||||
POS_WORKING_LIMIT_1=500.0
|
||||
POS_WORKING_LIMIT_2=500.0
|
||||
POS_WORKING_LIMIT_3=250.0
|
||||
POS_WORKING_LIMIT_4=200.0
|
||||
POS_WORKING_LIMIT_5=200.0
|
||||
POS_WORKING_LIMIT_6=200.0
|
||||
|
||||
Reference in New Issue
Block a user