| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using SKMC.Api.Motion.Model;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace SKMC.Api.Motion.Driver
- {
- /// <summary>
- /// 运动控制高级功能接口
- /// </summary>
- public interface IMotionDriverAdvance
- {
- /// <summary>
- /// 创建多轴插补坐标
- /// </summary>
- /// <param name="InterpNo">插补系编号</param>
- /// <param name="axisNos">关联的电机轴集合</param>
- /// <returns>执行结果, 0执行成功, 其他为错误码</returns>
- int CreateMultiInterpSys(short InterpNo, short[] axisNos);
- /// <summary>
- /// 删除多轴插补坐标
- /// </summary>
- /// <param name="InterpNo">插补系编号</param>
- /// <returns>执行结果, 0执行成功, 其他为错误码</returns>
- int RemoveMultiInterpSys(short InterpNo);
- /// <summary>
- /// 添加多轴插补数据(两轴)
- /// </summary>
- /// <param name="InterpNo">插补系编号</param>
- /// <param name="axis1Data">轴1的绝对位置集合,需要关联CreateMultiInterpSys的axisNos[0]</param>
- /// <param name="axis2Data">轴2的绝对位置集合,需要关联CreateMultiInterpSys的axisNos[1]</param>
- /// <param name="speed">基础速度</param>
- /// <param name="acc">基础加速度</param>
- /// <param name="blendType">过渡类型</param>
- /// <param name="blendRatio">过渡曲率</param>
- /// <returns></returns>
- int AddMultiInterpData(short InterpNo, List<double> axis1Data, List<double> axis2Data,
- double speed, double acc, short blendType = 1, double blendRatio = 0.1);
- /// <summary>
- /// 清除多轴插补数据
- /// </summary>
- /// <param name="InterpNo">插补系编号</param>
- /// <returns></returns>
- int ClearMultiInterpData(short InterpNo);
- /// <summary>
- /// 清除多轴插补错误/报警
- /// </summary>
- /// <param name="InterpNo">插补系编号</param>
- /// <returns></returns>
- int ClearMultiInterpError(short InterpNo);
- /// <summary>
- /// 开始多轴插补移动
- /// </summary>
- /// <param name="InterpNo">插补系编号</param>
- /// <returns></returns>
- int StartMultiInterpMove(short InterpNo);
- /// <summary>
- /// 等待多轴插补移动到位
- /// </summary>
- /// <param name="InterpNo">插补系编号</param>
- /// <param name="timeout">超时时间(毫秒)</param>
- /// <param name="errAction">运行异常或超时后的处理</param>
- /// <returns></returns>
- int WaitMultiInterpArrival(short InterpNo, int timeout, Action errAction);
- /// <summary>
- /// 停止多轴插补移动(到位后需要调用)
- /// </summary>
- /// <param name="InterpNo">插补系编号</param>
- /// <returns></returns>
- int StopMultiInterpMove(short InterpNo);
- }
- }
|