본문으로 건너뛰기

IAxis

단일 모션 축을 제어하기 위한 포괄적인 인터페이스입니다.

네임스페이스: ControlBee.Interfaces

상속: IDeviceChannel

속성

이름타입설명
InitializeSequenceIInitializeSequence이 축의 초기화 시퀀스입니다.
ResolutionValuedouble이 축의 분해능(펄스당 단위)입니다.

초기화 메서드

Initialize

이 축의 전체 초기화 시퀀스를 실행합니다.

void Initialize();

BuiltinInitialize

사용자 정의 시퀀스 없이 내장 초기화 로직을 실행합니다.

void BuiltinInitialize();

OnBeforeInitialize

초기화 시퀀스가 시작되기 전에 호출됩니다.

void OnBeforeInitialize();

SetInitializeAction

초기화 중 실행할 사용자 정의 초기화 액션을 설정합니다.

void SetInitializeAction(Action initializeAction);

매개변수:

  • initializeAction — 실행할 액션입니다.

IsInitializing

축이 현재 초기화 중인지 확인합니다.

bool IsInitializing();

반환값: 축이 초기화 중이면 true입니다.

IsInitialized

축이 초기화되었는지 확인합니다.

bool IsInitialized();

반환값: 축이 초기화되었으면 true입니다.

활성화 / 알람 메서드

Enable

축 서보를 활성화하거나 비활성화합니다.

void Enable();
void Enable(bool value);

매개변수:

  • valuetrue이면 활성화, false이면 비활성화합니다.

Disable

축 서보를 비활성화합니다.

void Disable();

IsEnabled

축 서보가 활성화되어 있는지 확인합니다.

bool IsEnabled();

반환값: 서보가 활성화되어 있으면 true입니다.

IsAlarmed

축이 알람 상태인지 확인합니다.

bool IsAlarmed();

반환값: 축이 알람 상태이면 true입니다.

ClearAlarm

축의 알람 상태를 해제합니다.

void ClearAlarm();

이동 메서드

Move

축을 절대 위치로 이동하도록 명령합니다.

void Move(double position);
void Move(double position, bool @override);

매개변수:

  • position — 목표 위치입니다.
  • @overridetrue이면 진행 중인 이동을 오버라이드합니다.

MoveAndWait

위치로 이동하고 이동이 완료될 때까지 대기합니다.

void MoveAndWait(double position, PositionType type = PositionType.CommandAndActual);

매개변수:

  • position — 목표 위치입니다.
  • type — 완료 확인을 위한 위치 타입입니다.

RelativeMove

지정된 거리만큼 상대 이동을 명령합니다.

void RelativeMove(double distance);

매개변수:

  • distance — 이동할 거리입니다.

RelativeMoveAndWait

상대 이동을 명령하고 완료될 때까지 대기합니다.

void RelativeMoveAndWait(double distance);

VelocityMove

지정된 방향으로 연속 속도 이동을 시작합니다.

void VelocityMove(AxisDirection direction);
void VelocityMove(AxisDirection direction, bool @override);

매개변수:

  • direction — 이동 방향입니다.
  • @overridetrue이면 진행 중인 이동을 오버라이드합니다.

Stop

축을 감속하여 정지시킵니다.

void Stop();

EStop

축을 즉시 비상 정지시킵니다.

void EStop();

Abort

현재 작업을 중단합니다.

void Abort();

Wait

현재 이동이 완료될 때까지 대기합니다.

void Wait(PositionType type = PositionType.CommandAndActual);

IsMoving

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

bool IsMoving(PositionType type = PositionType.CommandAndActual);

반환값: 축이 이동 중이면 true입니다.

IsVelocityMoving

축이 속도 이동 모드인지 확인합니다.

bool IsVelocityMoving();

반환값: 축이 속도 이동 중이면 true입니다.

준비된 이동 메서드

PrepareMove

나중에 실행할 절대 이동을 큐에 추가합니다.

void PrepareMove(double position);

PrepareRelativeMove

나중에 실행할 상대 이동을 큐에 추가합니다.

void PrepareRelativeMove(double distance);

ExecutePreparedMoves

큐에 있는 모든 준비된 이동을 실행합니다.

void ExecutePreparedMoves();

ExecutePreparedMovesWhenCountIs

큐가 지정된 수에 도달하면 준비된 이동을 실행합니다.

void ExecutePreparedMovesWhenCountIs(int count);

ClearPreparedMoves

큐에 있는 모든 준비된 이동을 지웁니다.

void ClearPreparedMoves();

WaitUntilMoveQueueEmpty

이동 큐가 비워질 때까지 대기합니다.

void WaitUntilMoveQueueEmpty(int millisecondsTimeout = 10000);

매개변수:

  • millisecondsTimeout — 최대 대기 시간(밀리초). 기본값은 10000입니다.

GetPreparedMoveCount

큐에 있는 준비된 이동 수를 반환합니다.

int GetPreparedMoveCount();

위치 메서드

GetPosition

축의 현재 위치를 반환합니다.

double GetPosition(PositionType type = PositionType.Command);

매개변수:

  • type — 위치 타입(명령 또는 실제)입니다.

반환값: 현재 위치 값입니다.

SetPosition

위치 카운터를 지정된 값으로 설정합니다.

void SetPosition(double position, PositionType type = PositionType.CommandAndActual);

ClearPosition

위치 카운터를 초기화(영점)합니다.

void ClearPosition(PositionType type = PositionType.CommandAndActual);

IsNear

축이 지정된 위치의 범위 내에 있는지 확인합니다.

bool IsNear(double position, double range);

반환값: 범위 내에 있으면 true입니다.

WaitNear

축이 지정된 위치의 범위 내에 도달할 때까지 대기합니다.

bool WaitNear(double position, double range);

IsFar

축이 지정된 위치에서 범위 밖에 있는지 확인합니다.

bool IsFar(double position, double range);

WaitFar

축이 지정된 위치에서 범위 밖으로 이동할 때까지 대기합니다.

bool WaitFar(double position, double range);

IsPosition

비교 타입을 사용하여 위치를 확인합니다.

bool IsPosition(PositionComparisonType type, double position);

WaitForPosition

위치가 비교 기준을 충족할 때까지 대기합니다.

bool WaitForPosition(PositionComparisonType type, double position);

속도 메서드

SetSpeed

후속 이동을 위한 속도 프로파일을 설정합니다.

void SetSpeed(IVariable speedProfileVariable);
void SetSpeed(SpeedProfile speedProfile);

GetJogSpeed

지정된 레벨의 조그 속도 프로파일을 반환합니다.

SpeedProfile GetJogSpeed(JogSpeedLevel jogSpeedLevel);

GetNormalSpeed

일반 운전 속도 프로파일을 반환합니다.

SpeedProfile GetNormalSpeed();

GetInitSpeed

초기화 속도 프로파일을 반환합니다.

SpeedProfile GetInitSpeed();

GetInitPos

초기화(홈) 위치를 반환합니다.

Position1D GetInitPos();

GetVelocity

축의 현재 속도를 반환합니다.

double GetVelocity(VelocityType type);

SetTorque

축의 토크 값을 설정합니다.

void SetTorque(double torque);

센서 메서드

GetSensorValue

지정된 센서의 값을 읽습니다.

bool GetSensorValue(AxisSensorType type);

GetSensorValueOrTrue

센서 값을 읽으며, 센서를 사용할 수 없는 경우 true를 반환합니다.

bool GetSensorValueOrTrue(AxisSensorType type);

GetSensorValueOrFalse

센서 값을 읽으며, 센서를 사용할 수 없는 경우 false를 반환합니다.

bool GetSensorValueOrFalse(AxisSensorType type);

WaitSensor

지정된 센서가 예상 값에 도달할 때까지 대기합니다.

void WaitSensor(AxisSensorType type, bool waitingValue, int millisecondsTimeout);

SearchZPhase

지정된 거리에 걸쳐 Z상(인덱스) 신호를 검색합니다.

void SearchZPhase(double distance);

소프트웨어 리밋 메서드

SetSoftwareLimit

소프트웨어 위치 제한을 구성합니다.

void SetSoftwareLimit(bool enable, double negativeLimit, double positiveLimit);

GetUseSoftwareLimit

소프트웨어 제한이 활성화되어 있는지 확인합니다.

bool GetUseSoftwareLimit();

GetPositiveSoftwareLimitPosition

양의 소프트웨어 제한 위치를 반환합니다.

double GetPositiveSoftwareLimitPosition();

GetNegativeSoftwareLimitPosition

음의 소프트웨어 제한 위치를 반환합니다.

double GetNegativeSoftwareLimitPosition();

특수 메서드

SpecialCommand

임의의 데이터로 특수 명령을 축에 보냅니다.

void SpecialCommand(Dictionary<string, object?> data);

이벤트

InitializedChanged

축의 초기화 상태가 변경될 때 발생합니다.

event EventHandler<bool>? InitializedChanged;

참고