#region 点位运动
/// <summary>
/// 点位运动
/// </summary>
/// <param name="axis">轴号</param>
/// <param name="acc">加速度 </param>
/// <param name="dec">减速度</param>
/// <param name="vel">目标速度</param>
/// <param name="velStart">起跳速度 默认值为 0</param>
/// <param name="smooth">平滑时间 [0, 50]</param>
/// <param name="pos">目标位置</param>
public void PointMovement(short axis, double acc, double dec, double vel = 50, double velStart = 0, short smooth = 25, int pos = 0)
{
int sts;
uint pClock;
TTrapPrm _trapPrm;
//清除轴的报警和限位
GT_ClrSts(_cardNum, axis, 1);
//伺服使能
GT_AxisOn(_cardNum, axis);
//设置点位模式
GT_PrfTrap(_cardNum, axis);
GT_GetTrapPrm(_cardNum, axis, out _trapPrm);
_trapPrm.acc = acc;//加速度
_trapPrm.dec = dec;//减速度
_trapPrm.velStart = velStart;//
_trapPrm.smoothTime = smooth;
GT_SetTrapPrm(_cardNum, axis, ref _trapPrm);
GT_SetPos(_cardNum, axis, pos);
GT_SetVel(_cardNum, axis, vel);
GT_Update(_cardNum, (1 << (axis - 1)));
do
{
// 读取AXIS轴的状态
GT_GetSts(_cardNum, axis, out sts, 1, out pClock);
/* // 读取AXIS轴的规划位置
GT_GetPrfPos(_cardNum, axis,, 1,out pClock);*/
} while (Convert.ToBoolean(sts & 0x400));// 等待AXIS轴规划停止
GT_Stop(_cardNum, axis, axis);
}
#endregion