cmcPmIxMapAxes


SYNOPSYS

VT_I4 cmcPmIxMapAxes([in] VT_I4 BoardID,  [in] VT_I4 NodeId, [in] VT_I4 MapIndex, [in] VT_I4 MapMask )

DESCRIPTION

  • 이 함수는 보간작업을 수행할 축들을 맵번호(Map index)로 맵핑(Mapping)합니다. 맵번호는 다른 “기본보간제어”에 관련된 함수들의 첫번째 매개 변수(媒介變數)로 전달되므로써 각 함수들이 제어해야할 축들에 대한 정보가 간편하게 전달됩니다. 따라서 다른 “기본보간제어”에 관련된 함수들을 사용하기전에 가장 먼저 이 함수를 사용하여 “기본보간제어”에 사용할 축들을 맵핑하여야 합니다.

  • 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cmcPm 가 붙지 않습니다.

PARAMETER

▶ BoardId: 사용자가 설정한 디바이스(보드) ID.

▶ NodeId : 노드 번호. 노드 번호는 3부터 시작합니다.

▶ MapIndex : 맵번호(Map index), 이 번호 범위는 0 ~ 15 입니다.

▶ MapMask: 축맵에 포함할 축들을 지정할 마스크 값(32비트, BIT0 ~ BIT31). 이 값의 BIT0~BIT31을 이용하여 그룹에 포함할 축들을 지정합니다. 각 비트의 값이 0이면 해당 축(비트의 순서와 일치하는 축)은 배제되는 것이며 1이면 해당 축이 포함되는 것입니다. 이 매개 변수(媒介變數)의 각 비트별 정보는 아래 표와 같습니다.

Warning

보간 제어는 대상 원격 노드 내의 축들로 제한되며, 축 그릅에 포함할 축 번호는 원격 노드안에서의 제한된 통합 축 번호로 설정하여야 합니다. 즉, 대상 원격 노드의 첫번째 모션 모듈에 속한 첫번째 축이 0번 축이 됩니다.

  • 예) 8축을 사용하는 경우

Bit Number

Meaning

BIT0

0번 축의 포함여부: 0 => 포함안함 / 1 => 포함

BIT1

1번 축의 포함여부: 0 => 포함안함 / 1 => 포함

BIT2

2번 축의 포함여부: 0 => 포함안함 / 1 => 포함

BIT3

3번 축의 포함여부: 0 => 포함안함 / 1 => 포함

BIT4

4번 축의 포함여부: 0 => 포함안함 / 1 => 포함

BIT5

5번 축의 포함여부: 0 => 포함안함 / 1 => 포함

BIT6

6번 축의 포함여부: 0 => 포함안함 / 1 => 포함

BIT7

7번 축의 포함여부: 0 => 포함안함 / 1 => 포함

RETURN VALUE

Value

Meaning

음수

수행 실패

ERR_NONE

수행 성공

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
 C/C++
 #include “ComiMLink3_SDK.h”
 #include “ComiMLink3_SDK_Def.h”
 #define MAP0 0
 // 보간 맵 번호
 // BoardID 는 0이라 지정합니다.
 /* 다음과 같은 2개의 원격 노드가 존재한다고 가정합니다.
 Node Master 1 : NodeID = 1, 16 Axes
 Node Master 2 : NodeID = 2, 8 Axes
 19 번, 20번 축을 대상으로 보간 맵 설정을 수행합니다.
 보간 제어는 원격 노드안의 제한된 통합 축 번호로 관리되므로, 2번째 원격 노드에서의 통합 축 번호인 2번, 3번 축을 MapMask 로
 설정하여야 합니다. */
 //2번 노드에 있는 0번 축과 1번 축을 하나의 맵으로 묶습니다.
 cmcPmIxMapAxes(BoardID, 3, MAP0,  ccmcX1_MASK | ccmcY1_MASK );
 //MAP0로 묶여 있는 축들을 해제 합니다.
 cmcPmIxUnMapAxes(BoardID, 3, MAP0 );