コード例 #1
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionSetDifferentialOutputMapping(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_SetDifferentialOutputMapping(handle, DiffFunSel, (AsuMotionBitMaskType)0);

            if (ret == 3)
            {
                Print("配置运动卡差分输出的信号映射 成功");
            }
            else
            {
                Print("配置运动卡差分输出的信号映射 失败");
            }
        }
コード例 #2
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionSetAccelaration(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_SetAccelaration(handle, ref Accelaration);

            if (ret == 3)
            {
                Print("配置运动卡规划运动的加速度 成功");
            }
            else
            {
                Print("配置运动卡规划运动的加速度 失败");
            }
        }
コード例 #3
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionSetStepsPerUnit(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_SetStepsPerUnit(handle, ref StepsPerUnit);

            if (ret == 3)
            {
                Print("配置单位脉冲数 成功");
            }
            else
            {
                Print("配置单位脉冲数 失败");
            }
        }
コード例 #4
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionSetWorkOffset(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_SetWorkOffset(handle, ref WorkOffset);

            if (ret == 3)
            {
                Print("配置工作偏移 成功");
            }
            else
            {
                Print("配置工作偏移 失败");
            }
        }
コード例 #5
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionConfigDeviceDefault(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_ConfigDeviceDefault(handle);

            if (ret == 3)
            {
                Print("设备 " + NumOfCurDevice + " 初始化为默认成功");
            }
            else
            {
                Print("设备 " + NumOfCurDevice + " 初始化为默认失败");
            }
        }
コード例 #6
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionSetSmoothCoff(object sender, EventArgs e)
        {
            int ret = AsuInvoke.Asu_Motion_SetSmoothCoff(handle, 100, 64);

            if (ret == 3)
            {
                Print("配置光滑系数和脉冲延时 成功");
            }
            else
            {
                Print("配置光滑系数和脉冲延时 失败");
            }
        }
コード例 #7
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionClose(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_Close(handle);

            if (ret == 3)
            {
                Print("设备 " + NumOfCurDevice + " 关闭 成功");
            }
            else
            {
                Print("设备 " + NumOfCurDevice + " 关闭 失败");
            }
        }
コード例 #8
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionStopAll(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_CardPlanStopAll(handle);

            if (ret == 3)
            {
                Print("停止由运动控制卡规划的所有轴的运动 成功");
            }
            else
            {
                Print("停止由运动控制卡规划的所有轴的运动 失败");
            }
        }
コード例 #9
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionSetMaxSpeed(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_SetMaxSpeed(handle, ref MaxSpeed);

            if (ret == 3)
            {
                Print("配置运动卡规划运动的最大速度 成功");
            }
            else
            {
                Print("配置运动卡规划运动的最大速度 失败");
            }
        }
コード例 #10
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
 private void AsuMotionOpen(object sender, EventArgs e)
 {
     NumOfCurDevice = this.cbb_DeviceInfo.SelectedIndex + 1;
     //NumOfCurDevice = 1;
     handle = AsuInvoke.AsuMotion_Open(NumOfCurDevice);
     if (handle == IntPtr.Zero)
     {
         Print("打开设备 " + NumOfCurDevice + " 成功");
     }
     else
     {
         Print("打开设备 " + NumOfCurDevice + " 失败");
     }
 }
コード例 #11
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionEStop(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_EStop(handle);

            switch (ret)
            {
            case 3:
                Print("急停 成功");
                break;

            default:
                Print("急停 失败");
                break;
            }
        }
コード例 #12
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionCardPlanStop(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_CardPlanStop(handle, AsuMotionAxisMaskType.AsuMotion_AxisMask_All);

            switch (ret)
            {
            case 3:
                Print("停止由运动控制卡规划的特定轴的运动 成功");
                break;

            default:
                Print("停止由运动控制卡规划的特定轴的运动 失败");
                break;
            }
        }
コード例 #13
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionGetMaxSpeed(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_GetMaxSpeed(handle, out MaxSpeed);

            switch (ret)
            {
            case 3:
                Print("当前各坐标轴最大速度获取 成功");
                break;

            default:
                Print("当前各坐标轴最大速度获取 失败");
                break;
            }
        }
コード例 #14
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionGetSmoothCoff(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_GetSmoothCoff(handle, out uint pSmoothCoff);

            switch (ret)
            {
            case 3:
                Print("光滑系数获取 成功");
                break;

            default:
                Print("光滑系数获取 失败");
                break;
            }
        }
コード例 #15
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionGetStepsPerUnit(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_GetStepsPerUnit(handle, out AsuMotionAxisDataInt stepsPerUnit);

            switch (ret)
            {
            case 3:
                Print("单位距离脉冲数获取 成功");
                break;

            default:
                Print("单位距离脉冲数获取 失败");
                break;
            }
        }
コード例 #16
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void GetDeviceInfo(object sender, EventArgs e)
        {
            byte[] serial = new byte[100];
            NumOfCurDevice = this.cbb_DeviceInfo.SelectedIndex + 1;
            //NumOfCurDevice = 1;
            int ret = AsuInvoke.Asu_GetDeviceInfo(NumOfCurDevice, out serial);

            if (ret == 3)
            {
                Print("获取设备 " + NumOfCurDevice + " 信息成功,序列号为:" + Encoding.UTF8.GetString(serial));
            }
            else
            {
                Print("获取设备 " + NumOfCurDevice + " 信息失败");
            }
        }
コード例 #17
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionGetInputIO(object sender, EventArgs e)
        {
            ushort[] Input = new ushort[2];

            int ret = AsuInvoke.AsuMotion_GetInputIO(handle, out Input);

            switch (ret)
            {
            case 3:
                Print("输入口状态获取 成功");
                break;

            default:
                Print("输入口状态获取 失败");
                break;
            }
        }
コード例 #18
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionIsDone(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_IsDone(handle);

            if (ret == 3)
            {
                Print("当前运动卡处于 空闲 状态");
            }
            else if (ret == 4)
            {
                Print("当前运动卡处于 运动 状态");
            }
            else // -1
            {
                Print("查询当前运动卡状态 发生异常");
            }
        }
コード例 #19
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionGetOutputIO(object sender, EventArgs e)
        {
            ushort[] DIO = new ushort[3];
            DIO[0] = 0x503;

            int ret = AsuInvoke.AsuMotion_GetOutputIO(handle, out DIO);

            switch (ret)
            {
            case 3:
                Print("输出口状态获取 成功");
                break;

            default:
                Print("输出口状态获取 失败");
                break;
            }
        }
コード例 #20
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionAddCircleWithSyncIO(object sender, EventArgs e)
        {
            AsuDll.AsuMotionAxisData end = new AsuDll.AsuMotionAxisData()
            {
                x = 0, y = 0, z = 0, a = 0, b = 0, c = 0, u = 0, v = 0, w = 0
            };                                                                                                                               // 坐标轴数据
            AsuDll.AsuMotionCartesian center = new AsuDll.AsuMotionCartesian()
            {
                x = 1, y = 1, z = 1
            };
            AsuDll.AsuMotionCartesian normal = new AsuDll.AsuMotionCartesian()
            {
                x = 2, y = 2, z = 2
            };
            int    turn       = 1;
            double vel        = 1;
            double ini_maxvel = 1;
            double acc        = 1;

            int ret = AsuInvoke.AsuMotion_AddCircleWithSyncIO(handle, ref end, ref center, ref normal, turn, vel, ini_maxvel, acc, Digital, Analog);

            switch (ret)
            {
            case 0:
                Print("添加同步IO空间圆弧插补规划 成功");
                break;

            case 1:
                Print("添加同步IO空间圆弧插补规划 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;

            case 2:
                Print("添加同步IO空间圆弧插补规划 失败");
                break;

            case 5:
                Print("添加同步IO空间圆弧插补规划 失败,缓冲区已满");
                break;

            default:
                Print("添加同步IO空间圆弧插补规划 失败,当前状态下不能进行PC的规划,因为前面提交的其他操作还未完成");
                break;
            }
        }
コード例 #21
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionDirectPlanFlush(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_DirectPlanFlush(handle);

            switch (ret)
            {
            case 0:
                Print("将缓冲区中添加的直接规划刷新 成功");
                break;

            case 1:
                Print("将缓冲区中添加的直接规划刷新 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;

            default:
                Print("将缓冲区中添加的直接规划刷新 失败,当前缓冲区满,等待一会再添加");
                break;
            }
        }
コード例 #22
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionDirectPlanChangeIO(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_DirectPlanChangeIO(handle, Digital, Analog);

            switch (ret)
            {
            case 0:
                Print("添加一次IO变化 成功");
                break;

            case 1:
                Print("添加一次IO变化 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;

            default:
                Print("添加一次IO变化 失败,当前缓冲区满,等待一会再添加");
                break;
            }
        }
コード例 #23
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionGoHome(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_GoHome(handle, AsuMotionHomingType.AsuMotion_Homing_AtSwitch, AsuMotionAxisMaskType.AsuMotion_AxisMask_All, 2, ref Accelaration, ref MaxSpeed);

            switch (ret)
            {
            case 0:
                Print("请求一次回原点 成功");
                break;

            case 1:
                Print("请求一次回原点 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;

            default:
                Print("请求一次回原点 失败,当前状态下不能进行回原点,因为前面提交的其他操作还未完成");
                break;
            }
        }
コード例 #24
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionSetCurrentPostion(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_SetCurrentPostion(handle, ref AsuMotionPos);

            switch (ret)
            {
            case 0:
                Print("设置当前坐标 成功");
                break;

            case 1:
                Print("设置当前坐标 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;

            default:
                Print("设置当前坐标 失败");
                break;
            }
        }
コード例 #25
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionSetHomingSignal(object sender, EventArgs e)
        {
            byte[] InputIOPin = new byte[9] {
                1, 2, 3, 4, 5, 6, 7, 8, 9
            };

            int ret = AsuInvoke.AsuMotion_SetHomingSignal(handle, InputIOPin);

            switch (ret)
            {
            case 0:
                Print("配置回原点的管脚 成功");
                break;

            default:
                Print("配置回原点的管脚 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;
            }
        }
コード例 #26
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionResume(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_Resume(handle);

            switch (ret)
            {
            case 0:
                Print("恢复暂停的运动 成功");
                break;

            case 1:
                Print("恢复暂停的运动 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;

            default:
                Print("恢复暂停的运动 失败");
                break;
            }
        }
コード例 #27
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionAbort(object sender, EventArgs e)
        {
            int ret = AsuInvoke.Asu_MotionAbort(handle);

            switch (ret)
            {
            case 0:
                Print("放弃当前的运动规划 成功");
                break;

            case 1:
                Print("放弃当前的运动规划 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;

            default:
                Print("放弃当前的运动规划 失败");
                break;
            }
        }
コード例 #28
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionSetStopType(object sender, EventArgs e)
        {
            double tolerance = 1.6;
            int    ret       = AsuInvoke.Asu_MotionSetStopType(handle, AsuMotionStopType.AsuMotion_Stop_Type_Exact, tolerance);

            switch (ret)
            {
            case 0:
                Print("设置停止类型 成功");
                break;

            case 1:
                Print("设置停止类型 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;

            default:
                Print("设置停止类型 失败");
                break;
            }
        }
コード例 #29
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void GetDeviceNum(object sender, EventArgs e)
        {
            int ret = AsuInvoke.Asu_GetDeviceNum();

            if (ret == 0)
            {
                CountOfDevice = 0;
                this.cbb_DeviceInfo.Items.Add("No Device Found");
                this.cbb_DeviceInfo.SelectedIndex = 0;
                Print("没有设备连接");
            }
            else
            {
                CountOfDevice = ret;
                while (ret > 0)
                {
                    this.cbb_DeviceInfo.Items.Add(ret);
                    ret--;
                }
                Print("有 " + ret + " 台设备连接");
            }
        }
コード例 #30
0
ファイル: Frm_Main.cs プロジェクト: JasmineZK/AsuMotionDevice
        private void AsuMotionMoveAbsolute(object sender, EventArgs e)
        {
            int ret = AsuInvoke.AsuMotion_MoveAbsolute(handle, AsuMotionAxisMaskType.AsuMotion_AxisMask_All, ref PositionGiven);

            switch (ret)
            {
            case 0:
                Print("绝对位置移动 成功");
                break;

            case 1:
                Print("绝对位置移动 失败,设备句柄为空指针,一般因为没有打开设备导致");
                break;

            case 2:
                Print("绝对位置移动 失败");
                break;

            default:
                Print("绝对位置移动 失败,当前状态下不能进行运动控制卡的规划,因为前面提交的其他操作还未完成");
                break;
            }
        }