6. Advanced Motion Control

6.1. 속도 및 위치 오버라이딩(Overriding)

6.1.1. Basic Function

함수명

함수 설명

cmmOverrideSpeedSet

단축 모션 작업이 진행되고 있는 중에 속도를 변경합니다.

cmmOverrideSpeedSetAll

다축 모션 작업이 진행되고 있는 대상 모션 채널들에 대하여 동시에 속도를 변경합니다.

cmmOverrideMove

단축 구동 함수를 통해서 구동되는 단축 상대 좌표이송 모션에 대하여 상대 좌표상의 목표 논리 거리 값을 수정합니다.

cmmOverrideMoveTo

단축 구동 함수를 통해서 구동되는 단축 절대 좌표이송 모션에 대하여 절대 좌표상의 목표 논리 거리 값을 수정합니다.

6.2. Master/Slave 동기제어

6.2.1. Basic Function

함수명

함수 설명

cmmMsRegisterSlave

대상 모션 채널에 대해서 Master / Slave 동기 구동의 Slave 축으로 등록합니다. 해당 축의 이전 축은 묵시적으로 Master 축이 되며 Slave 축은 Master 축과 동기 되어 구동됩니다.

cmmMsUnregisterSlave

대상 모션 채널에 대해서 Master / Slave 동기 구동의 Slave 축으로서의 자격을 명시적으로 소멸합니다. 이 함수의 호출 후에 대상 모션 채널은 Slave 모드가 해제됩니다.

cmmMsCheckSlaveState

대상 모션 채널에 대해서 Master / Slave 동기 구동의 Slave 축으로서의 자격에 대해서 조회합니다. 이 함수를 통해 대상 모션 채널이 Slave 축으로서 정상 등록되어 있는지에 대한 여부에 대한 상태를 알 수 있습니다.

cmmMsGetMasterAxis

대상 모션 채널에 대해서 Master / Slave 동기 구동의 Master 축을 조회하여 해당 Slave 축의 Master 축의 번호를 반환합니다.

6.3. 확장 보간제어(Extended Interpolation Motion)

6.3.1. Basic Function

헬리칸 보간제어와 관련된 함수들은 다음의 표와 같습니다.

함수명

함수 설명

cmmIxxHelOnceSetSpeed

대상 모션 채널에 대해서 헬리컬보간 작업을 수행할 때의 속도 패턴 및 관련 환경을 설정합니다.

cmmIxxHelOnceGetSpeed

대상 모션 채널에 대해서 헬리컬 보간 작업을 수행할 때의 속도 패턴 및 관련 환경을 반환합니다.

cmmIxxHelOnce

대상 모션 채널에 대해서 2 축 원호간과 1 축또는 2 축 직선 보간 을 동시에 시작하고 동시에 종료하는 헬러킬 보간 구동을 동작합니다. 이 구동 함수는 구동 시작 후 바로 반환되지 않습니다.

cmmIxxHelOnceStart

대상 모션 채널에 대해서 2 축 원호간과 1 축또는 2 축 직선 보간 을 동시에 시작하고 동시에 종료하는 헬러킬 보간 구동을 동작합니다. 이 구동 함수는 구동 시작 후 바로 반환됩니다.

커미조아의 정밀 스플라인 보간 위치 계산에 관련된 함수는 다음과 같습니다.

함수명

함수 설명

cmmIxxSplineBuild

Cubic Spline 보간 구동의 목표 좌표를 생성하기 위해 전달된 샘플 좌표를 통해 생성 후 최종 좌표를반환 합니다.
이 함수는 순수한 Cublic Spline 보간법의 좌표만을 생성합니다.

6.4. 리스트 모션(Listed Motion)

6.4.1. Basic Function

함수명

함수 설명

cmmLmMapAxes

Listed Motion 에서 사용되는 모든 축들을 지정한 Index 로 등록합니다. 32Bit 형 전달 인자 2 개를 통해 최대 64 개의 모션 채널을 대상으로 리스트 모션에 사용될 수 있습니다.

cmmLmBeginList

Listed Motion 에서 사용되는 함수의 등록을 시작합니다. 이 함수가 시작 된 이후로는 리스트 모션을 지원하는 함수는 cmmLmEndList 함수를 사용할 때까지 리스트 모션 대상 함수로서의 자격으로 추가됩니다.

cmmLmEndList

Listed Motion 에서 사용되는 함수의 등록을 종료합니다. cmmLmBeginList 함수와 cmmLmEndList 함수 사이에 있는 존재하는 리스트 모션을 지원하는 함수의 등록을 명시적으로 완료하게 됩니다.

cmmLmIsDone

Listed Motion 의 동작의 완료 상태를 확인합니다.

cmmLmWaitDone

Listed Motion 의 동작의 완료를 위해 대기 합니다.

cmmLmCurSequence

Listed Motion 에서 등록된 작업 중에서 현재 수행되고 있는 작업의 번호를 반환합니다.

cmmLmImmediacySet

Listed Motion 의 추후의 추가 기능을 위해 예약된 함수입니다.

cmmLmStartMotion

Listed Motion 에서 등록된 작업을 대상으로 실제 Listed Motion 을 수행합니다.

cmmLmAbortMotion

Listed Motion 을 수행하고 있는 상황에서 현재 실행중인 Listed Motion 을 중단합니다.

cmmLmDoPutOne

Listed Motion 에서 단일 채널을 대상으로 디지털 출력 명령을 추가합니다. 실제 Listed Motion 수행시에 한 개의 채널에 대해서 지정한 디지털 출력 명령을 수행합니다. 이 함수에서 사용되는 출력 채널은 모션 보드 상의 지역 출력 채널입니다.

cmmLmDoPutMulti

Listed Motion 에서 다중 채널을 대상으로 디지털 출력 명령을 추가합니다. 실제 Listed Motion 수행시에 다수의 채널에 대해서 지정한 디지털 출력 명령을 수행합니다. 이 함수에서 사용되는 출력 채널은 모션 보드 상의 지역 출력 채널입니다.

cmmLmDoPulseOne

Listed Motion 에서 단일 채널을 대상으로 디지털 펄스 신호 출력 명령을 추가합니다. 실제 Listed Motion 수행시에 단일의 채널에 대해서 지정한 디지털 펄스 신호 출력 명령을 수행합니다. 이 함수에서 사용되는 출력 채널은 모션 보드 상의 지역 출력 채널입니다.

cmmLmDoPulsemulti

Listed Motion 에서 다중 채널을 대상으로 디지털 펄스 신호 출력 명령을 추가합니다. 실제 Listed Motion 수행시에 다중의 채널에 대해서 지정한 디지털 펄스 신호 출력 명령을 수행합니다. 이 함수에서 사용되는 출력 채널은 모션 보드 상의 지역 출력 채널입니다.

cmmLmxStart

Extend Listed Motion 에서 등록된 작업을 대상으로 실제 Listed Motion 을 수행합니다.

cmmLmxPause

Extend Listed Motion 수행 중 명령 시퀀스를 일시 정지하고 싶을 때 사용되는 함수입니다.

cmmLmxResume

Extend Listed Motion 수행 중 cmmLmxPause() 명령에 의해 일시 정지된 명령 시퀀스를 재개하고자 할 때 사용합니다.

cmmLmxEnd

Extend Listed Motion 작업을 종료 합니다.

cmmLmxSetSeqMode

Extend Listed Motion 수행 중에 새로운 이송 명령을 예약하려 하는데 이미 명령 버퍼(Extend Listed Motion Buffer) 가 이미 꽉 차있는 경우에 어떻게 처리할 지에 대한 모드를 설정합니다.

cmmLmxGetSeqMode

Extend Listed Motion 수행 중에 새로운 이송 명령을 예약하려 하는데 이미 명령 버퍼(Extend Listed Motion Buffer) 가 이미 꽉 차있는 경우에 어떻게 처리할 지에 대해 설정된 모드를 반환합니다.

cmmLmxSetNextItemId

Extend Listed Motion 에서 수행할 명령(Item)에 대해 Sequence Item Id 를 설정합니다.

cmmLmxGetNextItemId

Extend Listed Motion 에서 다음 수행할 명령(Item)에 해당하는 Sequence Item Id 를 반환합니다.

cmmLmxSetNextItemParam

Extend Listed Motion 에서 다음 수행 예정인 명령에 대한 함수 파라미터 설정 값 설정합니다.

cmmLmxGetNextItemParam

Extend Listed Motion 에서 다음 수행 예정인 명령에 대한 함수 파라미터 설정 값 반환합니다.

cmmLmxGetRunItemParam

Extend Listed Motion 에서 현재 수행 중인 명령에 대한 함수 파라미터 설정 값 반환합니다.

cmmLmxGetRunItemStaPos

Extend Listed Motion 수행 중에 현재 수행 중인 명령(Current Sequence Item Id) 이 수행되기 직전에 해당 축의 Command Pulse Position 값을 반환 합니다.

cmmLmxGetRunItemTargPos

Extend Listed Motion 수행 중에 현재 수행 중인 명령(Current Sequence Item Id) 에 대해 해당 축의 목표 좌표에 해당하는 Command Pulse Position 값을 반환 합니다.

cmmLmxGetSts

Extend Listed Motion 에서 현재 수행 중인 Sequence 명령에 대한 상태 값을 Status Id 값을 통해 확인이 가능한 함수 입니다.