본문으로 건너뛰기

IMotionDevice

모션 제어 장치 드라이버를 위한 인터페이스입니다. 서보 모터와 액추에이터를 제어하는 메서드를 제공합니다.

네임스페이스: DeviceBase

상속

이 인터페이스는 IDevice를 확장합니다.

메서드

Enable

모션 채널을 활성화하거나 비활성화합니다.

void Enable(int channel, bool value);

매개변수:

  • channel — 채널 번호입니다.
  • value — 활성화하려면 true, 비활성화하려면 false입니다.

IsEnabled

모션 채널이 활성화되어 있는지 확인합니다.

bool IsEnabled(int channel);

매개변수:

  • channel — 채널 번호입니다.

반환값: 활성화되어 있으면 true, 비활성화되어 있으면 false입니다.

TrapezoidalMove

사다리꼴 모션 프로파일 이동을 실행합니다.

void TrapezoidalMove(
int channel,
int position,
int velocity,
int acceleration,
int deceleration
);

매개변수:

  • channel — 채널 번호입니다.
  • position — 장치 단위의 목표 위치입니다.
  • velocity — 장치 단위/초의 최대 속도입니다.
  • acceleration — 장치 단위/초²의 가속도입니다.
  • deceleration — 장치 단위/초²의 감속도입니다.

Wait (오버로드 1)

채널에서 모션이 완료될 때까지 대기합니다(타임아웃 없음).

void Wait(int channel);

매개변수:

  • channel — 채널 번호입니다.

Wait (오버로드 2)

타임아웃을 사용하여 채널에서 모션이 완료될 때까지 대기합니다.

void Wait(int channel, int timeout);

매개변수:

  • channel — 채널 번호입니다.
  • timeout — 밀리초 단위의 최대 대기 시간입니다.

IsMoving

채널이 현재 이동 중인지 확인합니다.

bool IsMoving(int channel);

매개변수:

  • channel — 채널 번호입니다.

반환값: 채널이 이동 중이면 true, 정지 상태이면 false입니다.

SetCommandPosition

채널의 명령 위치를 설정합니다.

void SetCommandPosition(double position);

매개변수:

  • position — 명령 위치 값입니다.

SetActualPosition

채널의 실제 위치를 설정합니다(일반적으로 홈 설정이나 교정에 사용됩니다).

void SetActualPosition(double position);

매개변수:

  • position — 실제 위치 값입니다.

사용 예시

IMotionDevice motionDevice = ...;

// 장치 초기화
motionDevice.Init(config);

// 모터 활성화
motionDevice.Enable(0, true);

// 활성화 확인
if (motionDevice.IsEnabled(0))
{
// 사다리꼴 프로파일로 이동 실행
motionDevice.TrapezoidalMove(
channel: 0,
position: 10000,
velocity: 5000,
acceleration: 10000,
deceleration: 10000
);

// 모션 완료 대기 (5초 타임아웃)
motionDevice.Wait(0, 5000);

// 여전히 이동 중인지 확인
bool moving = motionDevice.IsMoving(0);
}

// 완료 시 비활성화
motionDevice.Enable(0, false);

// 정리
motionDevice.Dispose();

참고사항

  • 모션 명령을 실행하기 전에 채널을 활성화해야 합니다.
  • 사다리꼴 모션 프로파일은 부드러운 가속과 감속을 제공합니다.
  • 위치, 속도, 가속도 및 감속도 값은 장치별 단위입니다.
  • 모션 오류 시 무한 차단을 방지하기 위해 타임아웃과 함께 Wait를 사용하세요.

참고