Skip to content

MPG (Manual Pulse Generator) 구동

개요

EXPP, EXMP 신호로 입력된 펄스 개수와 설정된 배율에 의해 결정된 이동거리를 지정된 주파수로 펄스를 출력하는 기능이다.

mpg

Note) MPG 구동 기능은 펄스 출력형 모션 제어기(PCI-N804/404, RTEX-PM)에서만 사용할 수 있는 기능이다.

MPG 외부와의 인터페이스

EXPP, EXMP 신호를 통해는 모션 제어기와 외부 로터리 인코더가 연결되며, 최대 1.2MHz 신호를 입력받을 수 있는 고속 포토커플러가 사용되었다. 입력 펄스 형태는 인코더 인터페이스와 동일한 형태로 아래와 같다.

입력 펄스 형태

mpg

Note) PCI-N804/404의 경우 MPG 입력 신호는 각 축에 독립적으로 입력되는 것이 아니고 두 축이 공동으로 사용하는데, 0축에 입력되는 MPG 신호는 2축, 1축에 입력되는 MPG 신호는 3축, 4축에 입력되는 MPG 신호는 6축, 5축에 입력되는 MPG 신호는 7축에서 공통으로 사용한다. 즉 2/3/6/7축과 연결되는 외부 컨넥트 J2/J4의 MPG 신호 입력 핀은 사용되지 않는다.

EXPP/EXMP 신호의 확인

EXPP / EXMP 신호의 현재 상태를 확인하기 위해서 따로 준비되어 있는 함수는 없으나, Mechanical Signal의 8번과 9번 비트가 각각 EXMP와 EXPP로 연결되어 있으므로 이를 통해 현재 상태를 확인할 수 있다.
Mechanical Signal을 확인하기 위해서는 AxmStatusReadMechanical 함수를 사용하며, 이를 비트 연산하여 다음과 같이 EXPP와 EXMP를 확인한다.

// PCI-N804/404에서 EXPP / EXMP 신호를 확인한다.
AxmStatusReadMechanical(AXIS_0, &MechanicalStatus);
if(MechanicalStatus & QIMECHANICAL_EXMP_LEVEL) { bExmp = 1; } else { bExmp = 0; }
if(MechanicalStatus &QIMECHANICAL_EXPP_LEVEL) { bExpp = 1; } else { bExpp = 0; }
printf("\rEXPP : %x , EXMP : %x ",bExpp,bExmp);

QIMECHANICAL_EXMP_LEVEL, QIMECHANICAL_EXPP_LEVEL은 PCI-N804/404의 MechanicalStatus의 비트 11, 비트 12를 의미한다

MPG 구동 함수의 사용

MPG 구동을 Set하면 그때부터 자동으로 EXPP핀과 EXMP핀에 신호가 들어오는 것에 따라 구동된다. 위치 구동 모드로 사용하기 위해서는 아래와 같이 설정한다.

//0축을 위치 구동 모드로 입력된 펄스당 10만큼씩 이동되도록 설정
AxmMPGSetRatio(0, 10, 4096 );
AxmMPGSetEnable(0, MPG_DIFF_ONE_PHASE, 0, 10, 200, 400);

// 0축의 Mpg 신호의 설정을 반환한다.
long lpInputMethod, lpDriveMode;
double dpVel, dpAccel, dpDecel, dpMPGPos;
double dMPGdenominator, dMPGnumerator;

AxmMPGGetEnable(0, &lpInputMethod, & lpDriveMode, &dpMPGPos, & dpVel);
AxmMPGGetRatio(0, &dMPGnumerator, &dMPGdenominator);

여기서 dMPGdenominator = 4096, MPGnumerator=1 가 의미하는 것은 MPG 한바퀴에 200펄스면 그대로 1:1로 1펄스씩 출력함을 의미한다. 만약 dMPGdenominator = 4096, MPGnumerator=2 로 했을 경우는 1:2로 2펄스씩 출력을 내보낸다는 의미이다.

여기에 MPG PULSE = ((Numerator) * (Denominator) / 4096) 칩 내부에 출력되는 계산 식이다.

MPG 구동을 해제하고자 한다면 다음과 같이 한다.

// Ex17_AXM_QIMPG.cpp : Defines the entry point for the console application.
// MPG 구동을 한다.
#include "stdafx.h"
#include "AXL.h"
#include <conio.h>
#include "stdio.h"

#define AXIS_0 0

void main(void)
{
    // 라이브러리를 초기화한다.
    // 7은 IRQ를 뜻한다. PCI에서 자동으로 IRQ가 설정된다.
    DWORD Code = AxlOpen(7);
    if (Code == AXT_RT_SUCCESS)
    {
        printf("라이브러리가 초기화되었습니다.\n");

        //모션 모듈이 있는지 검사
        DWORD uStatus;
        Code = AxmInfoIsMotionModule(&uStatus);

        if(Code == AXT_RT_SUCCESS)
        {
            if(uStatus == STATUS_EXIST)
            {
                printf("모션모듈이존재합니다.\n");

                // 0축의 +End limit 과 -End limit 의 Active level 을 HIGH로 설정한다.
                AxmSignalSetLimit(AXIS_0, 0, HIGH, HIGH);
                // 0축의 Inpositon 신호의 입력 레벨을 HIGH로 설정한다.
                AxmSignalSetInpos(AXIS_0, HIGH);
                // 0축의 알람 신호의 입력 레벨을 LOW로 설정한다.
                AxmSignalSetServoAlarm(AXIS_0, LOW);
                // 0축의 비상 정지 신호(ESTOP)의 Active 입력 레벨을 HIGH로 설정한다.
                AxmSignalSetStop(AXIS_0, 0, HIGH);
                //0축 지령 값을 mm 단위가 되도록 한다.
                AxmMotSetMoveUnitPerPulse(AXIS_0, 10, 10000);
                //0축의 초기 속도를 1로 설정한다. Default : 1
                AxmMotSetMinVel(AXIS_0, 1);
                //0축의 펄스 출력 방식을 TwoCwCcwHigh로 한다.
                AxmMotSetPulseOutMethod(AXIS_0, TwoCcwCwHigh);
                //지정 축에 Encoder 입력 방식을 4체배로 설정한다.
                AxmMotSetEncInputMethod(AXIS_0, ObverseSqr4Mode);

                //상대 위치 S자 속도 프로파일을 사용
                AxmMotSetAbsRelMode(AXIS_0, 1);
                AxmMotSetProfileMode(AXIS_0, 3); 

                //Servo On
                AxmSignalServoOn(AXIS_0, ENABLE);

                // help Message
                printf("[INFORMATION]*********************************** \n");
                printf("[ESC] : Exit. \n");
                printf("[1] : MPG_POS_DRV. \n");
                printf("[2] : MPG_CONTI_DRV. \n");
                printf("************************************************ \n");

                BOOL fExit = FALSE;
                DWORD MechanicalStatus;
                BOOL bExmp, bExpp;
                double dVelocity = 2000; //속도 사용 설정 값
                double dAccel = 4000; //가속도 사용 설정 값
                double dDecel = 4000; //감속도 사용 설정 값
                long lInputMethod;
                long lDriveMode;
                long lDirMode =0; //PCI-N804/404에서 사용 안 함
                long lUserDir =0; //PCI-N804/404에서 사용 안 함
                double dMPGPosition = 10; // MPG_PRESET_MODE 모드일 경우 이동 거리
                double dMPGdenominator = 4095;

                // MPG(수동 펄스 발생 장치 입력)구동 시 나누기 값(입력값에 +1로 계산됨)
                double dMPGnumerator = 0;
                // MPG(수동 펄스 발생 장치 입력)구동 시 곱하기 값(입력값에 +1로 계산됨)

                while (!fExit) // 무한 루프
                {
                    if (kbhit()) // 아무 키나 누르면
                    {
                        int ch = getch();
                        switch (ch)
                        {
                            case 27: // Esc key
                            fExit = TRUE;
                            AxmMPGReset(AXIS_0); // MPG 구동을 종료한다.
                            AxmSignalServoOn(AXIS_0, DISABLE); //Servo Off
                            break;

                            case '1':
                            //MPG 구동을 종료한다.
                            AxmMPGReset(AXIS_0);

                            printf("\nMPG_PRESET_MODE로 MPG구동을시작한다.\n");
                            lInputMethod= 0; //입력 신호 방식 MPG_DIFF_ONE_PHASE (0)
                            lDriveMode= 1; // MPG_CONTI_DRV (0), MPG_POS_DRV (1)
                            // MPG_ABS_COMMAND_POS(2), MPG_ABS_ACTUAL_POS(3),
                            // MPG_ABS_COMMAND_ZERO(4), MPG_ABS_ACTUAL_ZERO(5)

                            AxmMPGSetRatio(AXIS_0, dMPGnumerator, dMPGdenominator );
                            AxmMPGSetEnable(AXIS_0,lInputMethod,lDriveMode,dMPGPosition, dVelocity, dAccel);
                            break;

                            case '2':
                            //MPG 구동을 종료한다.
                            AxmMPGReset(AXIS_0);

                            printf("\nMPG_CONT_MODE로 MPG 구동을 시작한다.\n");
                            lInputMethod = 4;
                            //입력신호방식 MPG_LEVEL_ONE_PHASE(4)
                            lDriveMode= 0; // MPG_CONTI_DRV (0), MPG_POS_DRV (1)
                            // MPG_ABS_COMMAND_POS(2), MPG_ABS_ACTUAL_POS(3),
                            // MPG_ABS_COMMAND_ZERO(4),MPG_ABS_ACTUAL_ZERO(5)

                            AxmMPGSetEnable(AXIS_0, lInputMethod, lDriveMode,dMPGPosition, dVelocity, dAccel);
                            AxmMPGSetRatio(AXIS_0, dMPGnumerator, dMPGdenominator );
                            break;
                        }
                    }

                    AxmStatusReadMechanical(AXIS_0, &MechanicalStatus);

                    if(MechanicalStatus &QIMECHANICAL_EXMP_LEVEL) { bExmp = 1; }
                    else { bExmp = 0; }

                    if(MechanicalStatus &QIMECHANICAL_EXPP_LEVEL) { bExpp = 1; }
                    else { bExpp = 0; }

                    printf("\rEXPP : %x , EXMP : %x ",bExpp,bExmp);
                } //End of While()
            }
            else
            printf ("AxmInfoIsMotionModule() : ERROR ( NOT STATUS_EXIST ) code 0x%x\n",Code);
        }
        else
            printf ("AxmInfoIsMotionModule() : ERROR ( Return FALSE ) code 0x%x\n",Code);
    }
    else
        printf ("AxlOpen() : ERROR code 0x%x\n",Code);

    // 라이브러리를 종료한다.
    if (AxlClose())
        printf("라이브러리가 종료되었습니다.\n");
    else
        printf("라이브러리가 정상적으로 종료되지 않았습니다.\n");
}

MPG 구동 함수

Function Description
AxmMPGSetEnable 지정 축에 MPG 입력 방식, 드라이브 구동 모드, 이동 거리, 속도 등을 설정한다.
AxmMPGGetEnable 지정 축에 MPG 입력 방식, 드라이브 구동 모드, 이동 거리, 속도 등을 반환한다.
AxmMPGSetRatio 지정 축에 MPG 드라이브 구동 모드에서 한 펄스당 이동할 펄스 비율을 설정한다.
AxmMPGGetRatio 지정 축에 MPG 드라이브 구동 모드에서 한 펄스당 이동할 펄스 비율을 반환한다.
AxmMPGReset 지정 축에 MPG 드라이브 설정을 해제한다.

AxmMPGSetEnable

Purpose

지정 축에 MPG 입력 방식, 드라이브 구동 모드, 이동 거리 , 이동 속도 등을 설정한다.

A Serviceable Product

BPHR / BPFR BEHR / BEFR PCI-Nx04 PCIe-Nx04
O O O O
PCI-Rxx04 PCIe-Rxx04-RTEX PCI-Rxx04-MLII PCI-Rxx00-MLIII
A4N A5N/A6N PM A4N A5N/A6N PM SGDV SGDV SGD7 PM
PCI-Rxx04-SIIIH PCIe-Rxx04-SIIIH PCIe-Rxx05-MLIII PCIe-RxxIF-ECAT
MR-J4-B PM MR-J4-B PM SGDV SGD7 PM Servo PM
PCIe-Rxx05-ECAT PCIe-Rxx05-ECAT-E
Servo PM Servo PM

Format

C++
DWORD AxmMPGSetEnable(long lAxisNo, long lInputMethod, long lDriveMode, double dMPGPos, double dVel, double dAccel);
C#
uint AxmMPGSetEnable(int lAxisNo, int lInputMethod, int lDriveMode, double dMPGPos, double dVel, double dAccel);

Parameters

[in/out] Name [Init Value] Explanation
[in]lAxisNo 채널(축) 번호(0 ~ (최대 축 수 – 1))
[in]lInputMethod 입력 신호 방식: AXT_MOTION_MPG_INPUT_METHOD
- [00h] MPG 입력 방식 One Phase
- [01h] 지원하지 않음.
- [02h] MPG 입력 방식 TwoPhase2
- [03h] MPG 입력 방식 TwoPhase4
[in]lDriveMode Mpg 동작 모드
- [00h] MPG 연속 모드
[in]dMPGPos MPG_PRESET_MODE 모드일 경우 이동 거리
[in]dVel Mpg 속도
[in]dAccel Reserved

Return Values

[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO : 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO : 해당 축이 존재하지 않음

Description

지정 축에 MPG 드라이브 지정 펄스 구동 모드에서 사용할 이동 거리, 구동 모드 및 구동 방향 등을 설정한다. 여기서 dMPGdenominator = 4095, MPGnumerator=0 가 의미하는 것은 MPG 한 바퀴에 200 펄스면 그대로 1:1 로 1 펄스씩 출력함을 의미한다.
만약 dMPGdenominator = 4095, MPGnumerator=1 로 했을 경우에는 1:2 로 2 펄스씩 출력을 내보낸다는 의미이다. 여기에 MPG PULSE = ( (Numerator ) * (Denominator )/ 4096 ) 칩 내부에 출력이 나가는 계산 식이다.

주의 사항

AxmMPGSetEnable 수행 후 AxmMPGReset 하기 전까지 정상 상태에서는 모션 구동 중 상태(AxmStatusReadInMotion 함수로 확인)

예제 코드

// 0축에 Mpg 신호를 설정한다.
AxmMPGSetEnable(0, MPG_DIFF_ONE_PHASE, 0, 10, 50, 200);
AxmMPGSetRatio(0, 1, 4096 );

// 0축의 Mpg 신호 설정을 반환한다.
long lpInputMethod, lpDriveMode;
double dpVel, dpAccel, dpDecel, dpMPGPos, dMPGdenominator, dMPGnumerator, dVel, dAccel;

AxmMPGGetEnable(0, &lpInputMethod, &lpDriveMode, &dpMPGPos, &dVel, &dAccel);
AxmMPGGetRatio(0, &dMPGnumerator, &dMPGdenominator);

AxmMPGGetEnable

Purpose

지정 축의 MPG 입력 방식, 드라이브 구동 모드, 이동 거리 등을 반환한다.

A Serviceable Product

BPHR / BPFR BEHR / BEFR PCI-Nx04 PCIe-Nx04
O O O O
PCI-Rxx04 PCIe-Rxx04-RTEX PCI-Rxx04-MLII PCI-Rxx00-MLIII
A4N A5N/A6N PM A4N A5N/A6N PM SGDV SGDV SGD7 PM
PCI-Rxx04-SIIIH PCIe-Rxx04-SIIIH PCIe-Rxx05-MLIII PCIe-RxxIF-ECAT
MR-J4-B PM MR-J4-B PM SGDV SGD7 PM Servo PM
PCIe-Rxx05-ECAT PCIe-Rxx05-ECAT-E
Servo PM Servo PM

Format

C++
DWORD AxmMPGGetEnable(long lAxisNo, long *lpInputMethod, long *lpDriveMode, double *dpMPGPos , double *dpVel, double *dpAccel);
C#
uint AxmMPGGetEnable(int lAxisNo, ref int lpInputMethod, ref int lpDriveMode, ref double dpMPGPos, ref double dpVel, ref double dpAccel);

Parameters

[in/out] Name [Init Value] Explanation
[in]lAxisNo 채널(축) 번호(0 ~ (최대 축 수 – 1))
[out]lpInputMethod 입력 신호 방식
[out]lpDriveMode Mpg 동작 모드
[out]dpMPGPos MPG_PRESET_MODE 모드일 경우 이동 거리
[out]dpVel 속도
[out]dpAccel Reserved

Return Values

[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO : 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO : 해당 축이 존재하지 않음

Description

AxmMPGSetEnable로 설정된 지정 축의 MPG 입력 방식, 드라이브 구동 모드, 이동 거리 등을 반환한다.

예제 코드

// 0축의 Mpg 신호를 설정한다.
AxmMPGSetEnable (0, MPG_DIFF_ONE_PHASE, 0, 10, 50, 200);
AxmMPGSetRatio(0, 1, 4096 );

// 0축의 Mpg 신호 설정을 반환한다.
long lpInputMethod, lpDriveMode;
double dpVel, dpAccel, dpDecel, dpMPGPos;
double dMPGdenominator, dMPGnumerator, dVel, dAccel;

AxmMPGGetEnable(0, &lpInputMethod, & lpDriveMode, &dpMPGPos, &dVel, &dAccel);
AxmMPGGetRatio(0, &dMPGnumerator, &dMPGdenominator);

AxmMPGSetRatio

Purpose

지정 축에 MPG 드라이브 구동 모드에서 한 펄스당 이동할 펄스 비율을 설정한다.

A Serviceable Product

BPHR / BPFR BEHR / BEFR PCI-Nx04 PCIe-Nx04
O O O O
PCI-Rxx04 PCIe-Rxx04-RTEX PCI-Rxx04-MLII PCI-Rxx00-MLIII
A4N A5N/A6N PM A4N A5N/A6N PM SGDV SGDV SGD7 PM
PCI-Rxx04-SIIIH PCIe-Rxx04-SIIIH PCIe-Rxx05-MLIII PCIe-RxxIF-ECAT
MR-J4-B PM MR-J4-B PM SGDV SGD7 PM Servo PM
PCIe-Rxx05-ECAT PCIe-Rxx05-ECAT-E
Servo PM Servo PM

Format

C++
DWORD AxmMPGSetRatio(long lAxisNo, double dMPGnumerator, double dMPGdenominator);
C#
uint AxmMPGSetRatio(int lAxisNo, double dMPGnumerator, double dMPGdenominator);

Parameters

[in/out] Name [Init Value] Explanation
[in]lAxisNo 채널(축) 번호(0 ~ (최대 축 수 – 1))
[in]dMPGnumerator 수동 펄스 발생 장치 입력 구동 시 곱하기 값(입력값 계산됨)을 최대 0 에서 64까지 설정 가능
MPG PULSE = (uNumerator )* (uDenominator)/ 4096
[in]dMPGdenominator (수동 펄스 발생 장치 입력)구동 시 나누기 값(입력값 계산됨)을 최대 0 에서 4096까지 설정 가능

Return Values

[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO : 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO : 해당 축이 존재하지 않음

Description

지정 축에 MPG 드라이브 지정 펄스 구동 모드에서 사용할 이동 거리, 구동 모드 및 구동 방향 등을 설정한다. 여기서 dMPGdenominator = 4096, MPGnumerator=1 의미하는 것은 MPG 한 바퀴에 200 펄스면 그대로 1:1 로 1 펄스씩 출력함을 의미한다.
만약 dMPGdenominator = 4096, MPGnumerator = 2 로 했을 경우에는 1:2 로 2 펄스씩 출력을 내보낸다는 의미이다. 여기에 MPG PULSE = ( (Numerator ) * (Denominator )/ 4096 ) 칩 내부에 출력이 나가는 계산 식이다.

예제 코드

// 0축의 Mpg 신호를 설정한다.
AxmMPGSetEnable(0, MPG_DIFF_ONE_PHASE, 1, 10, 50, 200);
AxmMPGSetRatio(0, 1, 4096 );

// 0축의 Mpg 신호를 설정을 반환한다.
long lpInputMethod, lpDriveMode;
double dpVel, dpAccel, dpDecel, dpMPGPos;
double dMPGdenominator, dMPGnumerator, dVel, dAccel;

AxmMPGGetEnable(0, &lpInputMethod, &lpDriveMode, &dpMPGPos, &dVel, &dAccel);
AxmMPGGetRatio(0, &dMPGnumerator, &dMPGdenominator);

AxmMPGGetRatio

Purpose

지정 축의 MPG 드라이브 구동 모드에서 한 펄스당 이동할 펄스 비율을 반환한다.

A Serviceable Product

BPHR / BPFR BEHR / BEFR PCI-Nx04 PCIe-Nx04
O O O O
PCI-Rxx04 PCIe-Rxx04-RTEX PCI-Rxx04-MLII PCI-Rxx00-MLIII
A4N A5N/A6N PM A4N A5N/A6N PM SGDV SGDV SGD7 PM
PCI-Rxx04-SIIIH PCIe-Rxx04-SIIIH PCIe-Rxx05-MLIII PCIe-RxxIF-ECAT
MR-J4-B PM MR-J4-B PM SGDV SGD7 PM Servo PM
PCIe-Rxx05-ECAT PCIe-Rxx05-ECAT-E
Servo PM Servo PM

Format

C++
DWORD AxmMPGGetRatio(long lAxisNo, DWORD *upMPGnumerator, DWORD *upMPGdenominator);
C#
uint AxmMPGGetRatio(int lAxisNo, ref double upMPGnumerator, ref double upMPGdenominator);

Parameters

[in/out] Name [Init Value] Explanation
[in]lAxisNo 채널(축) 번호(0 ~ (최대 축 수 – 1))
[out]upMPGnumerator 수동 펄스 발생 장치 입력 구동 시 곱하기 값(입력값 계산됨)을 최대 0 에서 64까지 설정 가능
MPG PULSE = (uNumerator )* (uDenominator)/ 4096
[out]upMPGdenominator (수동 펄스 발생 장치 입력)구동 시 나누기 값(입력값 계산됨)을 최대 0에서 4096까지 설정 가능

Return Values

[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO : 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO : 해당 축이 존재하지 않음

Description

AxmMPGSetRatio로 설정된 지정 축에 MPG 구동 모드에서 한 펄스당 이동할 펄스 비율을 반환한다.

예제 코드

// 0축에 Mpg 신호를 설정한다.
AxmMPGSetEnable(0, MPG_DIFF_ONE_PHASE, 1, 10, 50, 200);
AxmMPGSetRatio(0, 1, 4096 );

// 0축의 Mpg 신호 설정을 반환한다.
long lpInputMethod, lpDriveMode;
double dpVel, dpAccel, dpDecel, dpMPGPos;
double dMPGdenominator, dMPGnumerator, dVel, dAccel;

AxmMPGGetEnable(0, &lpInputMethod, & lpDriveMode, &dpMPGPos, &dVel, &dAccel);
AxmMPGGetRatio(0, &dMPGnumerator, &dMPGdenominator);

AxmMPGReset

Purpose

지정 축의 MPG 드라이브 설정을 해제한다.

A Serviceable Product

BPHR / BPFR BEHR / BEFR PCI-Nx04 PCIe-Nx04
O O O O
PCI-Rxx04 PCIe-Rxx04-RTEX PCI-Rxx04-MLII PCI-Rxx00-MLIII
A4N A5N/A6N PM A4N A5N/A6N PM SGDV SGDV SGD7 PM
PCI-Rxx04-SIIIH PCIe-Rxx04-SIIIH PCIe-Rxx05-MLIII PCIe-RxxIF-ECAT
MR-J4-B PM MR-J4-B PM SGDV SGD7 PM Servo PM
PCIe-Rxx05-ECAT PCIe-Rxx05-ECAT-E
Servo PM Servo PM

Format

C++
DWORD AxmMPGReset(long lAxisNo);
C#
uint AxmMPGReset(int lAxisNo);

Parameters

[in/out] Name [Init Value] Explanation
[in]lAxisNo 채널(축) 번호(0 ~ (최대 축 수 – 1))

Return Values

[0000] AXT_RT_SUCCESS : 함수 실행 성공
[4053] AXT_RT_MOTION_NOT_INITIAL_AXIS_NO : 해당 축 모션 초기화 실패
[4101] AXT_RT_MOTION_INVALID_AXIS_NO : 해당 축이 존재하지 않음

Description

AxmMPGSetEnable로 설정된 지정 축의 MPG 드라이브 지정 펄스 구동 모드에서 사용할 이동 거리, 구동 모드 및 구동 방향 등 MPG 드라이브 설정을 해제한다.

예제 코드

// 0축의 MPG 드라이브 설정을 해제한다.
AxmMPGReset(0);