IAxis
단일 모션 축을 제어하기 위한 포괄적인 인터페이스입니다.
네임스페이스: ControlBee.Interfaces
상속: IDeviceChannel
속성
| 이름 | 타입 | 설명 |
|---|---|---|
InitializeSequence | IInitializeSequence | 이 축의 초기화 시퀀스입니다. |
ResolutionValue | double | 이 축의 분해능(펄스당 단위)입니다. |
초기화 메서드
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);
매개변수:
value—true이면 활성화,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— 목표 위치입니다.@override—true이면 진행 중인 이동을 오버라이드합니다.
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— 이동 방향입니다.@override—true이면 진행 중인 이동을 오버라이드합니다.
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;