/// <summary> /// Jog /// </summary> /// <param name="Axis"></param> /// <param name="dir"></param> /// <param name="JogVel"></param> /// <param name="JogAcc"></param> /// <param name="JogDcc"></param> public void Jog(short Axis, short dir, decimal JogVel, decimal JogAcc, decimal JogDcc) { //定义Jog运动参数变量 MC.TJogPrm prfJog = new MC.TJogPrm(); //将轴设置为Jog模式 Gts_Return = MC.GT_PrfJog(Axis); LogErr?.Invoke("Motion--将轴设置为Jog模式", Gts_Return); //读取轴jog运动参数 Gts_Return = MC.GT_GetJogPrm(Axis, out prfJog); LogErr?.Invoke("Motion--读取轴jog运动参数", Gts_Return); //设置要修改的参数 prfJog.acc = Convert.ToDouble(JogAcc / Program.SystemContainer.SysPara.Gts_Acc_reference); //加速度 prfJog.dec = Convert.ToDouble(JogDcc / Program.SystemContainer.SysPara.Gts_Acc_reference); //减速度 //设置jog运动参数 Gts_Return = MC.GT_SetJogPrm(Axis, ref prfJog); LogErr?.Invoke("Motion--设置jog运动参数", Gts_Return); //设置轴Jog运行速度 if (dir == 0) //Jog+ { Gts_Return = MC.GT_SetVel(Axis, Convert.ToDouble(JogVel / Program.SystemContainer.SysPara.Gts_Vel_reference)); LogErr?.Invoke("Motion--设置轴Jog运行速度", Gts_Return); } else // Jog- { Gts_Return = MC.GT_SetVel(Axis, Convert.ToDouble(-JogVel / Program.SystemContainer.SysPara.Gts_Vel_reference)); LogErr?.Invoke("Motion--设置轴Jog运行速度", Gts_Return); } //启动轴运动 Gts_Return = MC.GT_Update(1 << (Axis - 1)); LogErr?.Invoke("Motion--启动轴运动", Gts_Return); }