Exemple #1
0
        /// <summary>
        /// 请求一次回原点
        /// 返回0 成功;
        /// 返回1 设备句柄为空指针,一般因为没有打开设备导致;
        /// 返回7 当前状态下不能进行回原点,因为前面提交的其他操作还未完成
        /// </summary>
        /// <param name="handle">设备句柄</param>
        /// <param name="type">设置回原点的方式,目前支持三种方式</param>
        /// <param name="axisMask">配置当前需要运行的轴</param>
        /// <param name="count">设置回原点采用多次回原点时,回原点的次数</param>
        /// <param name="acceleration">一个存储各轴加速度的结构体</param>
        /// <param name="maxSpeed">一个存储各轴速度的结构体</param>
        /// <returns></returns>
        public static int AsuMotion_GoHome(IntPtr handle,
                                           AsuMotionHomingType type,
                                           AsuMotionAxisMaskType axisMask,
                                           ushort count,
                                           ref AsuMotionAxisData acceleration,
                                           ref AsuMotionAxisData maxSpeed)
        {
            AsuMotionError ret = AsuMotionGoHome(handle, type, axisMask, count, ref acceleration, ref maxSpeed);

            switch (ret)
            {
            case AsuMotionError.AsuMotion_Error_Ok:
                LogHelper.WriteLog("请求一次回原点 成功");
                return(0);

            case AsuMotionError.AsuMotion_Device_Is_Null:
                LogHelper.WriteLog("请求一次回原点 失败,设备句柄为空指针,一般因为没有打开设备导致" + "---" + AsuMotion_GetErrorMessage(1));
                return(1);

            default:
                LogHelper.WriteLog("请求一次回原点 失败,当前状态下不能进行回原点,因为前面提交的其他操作还未完成" + "---" + AsuMotion_GetErrorMessage(7));
                return(7);     // AsuMotion_CurrentState_Isnot_Idle
            }
        }
 public static extern AsuMotionError AsuMotionGoHome(IntPtr AsuMotion,
                                                     AsuMotionHomingType Type,
                                                     AsuMotionAxisMaskType AxisMask,
                                                     ushort Count,
                                                     ref AsuMotionAxisData Acceleration,
                                                     ref AsuMotionAxisData MaxSpeed);