cmlPmSxSetOptSyncMode


SYNOPSYS

VT_I4 cmlPmSxSetOptSyncMode([in] VT_I4 BoardID,  [in] VT_I4 NodeId, [in] VT_I4 Channel,
[in] VT_I4 Mode, [in] VT_I4 RefAxis, [in] VT_I4 Condition )

DESCRIPTION

  • 지정한 축에 대하여 이송명령을 전달되었을 때 이송동작의 시작이 다른축(Other Axis)의 동작 상황에 동기되어 시작되도록 할 때 사용하는 함수입니다. 예를 들어 X 축의 이송시작이 Y 축의 가속이 완료되는 시점 또는 감속이 시작되는 시점에 수행되도록 하고자할 때 이 함수를 사용하면 해당 동작을 구현할 수 있습니다.

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

PARAMETER

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

▶ NodeId : 사용자가 제어하고자 하는 노드 번호.

▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다.

▶ Mode : cmlPmSxSetOptSyncMode 함수의 인자이며, 동기모드를 지정합니다. 이 값의 의미는 다음과 같습니다..

Value

Meaning

0
동기모드를 사용하지 않습니다. 따라서 이송명령이 하달되면 바로 이송을 시작합니다.
- 이 모드에서는 RefAxis 와 Condition 매개 변수가 무시됩니다.
1
Start by Internal Synch. Signal 모드 : 내부동기 신호에 의하여 이송이 시작됩니다.
바로 이송을 시작하지 않고 내부동기 신호가 발생할 때 실제 이송이 시작됩니다.
내부동기 신호는 Condition 매개 변수에 의해서 지정된 조건이 만족되면 자동으로 발생됩니다.
- 이 모드에서는 RefAxis 와 Condition 매개 변수가 모두 참조됩니다.
2
Start by Other Axis / Axes Stop 모드: RefAxis 매개 변수에 의하여 지정된 축의 이송이 완료될 때
이송을 시작합니다. 따라서 RefAxis 에 의하여 지정된 축이 이송이 완료되지 않은 상태에서
이송명령이 하달되면 RefAxis 축이 정지 하는 순간에 실제 이송이 시작됩니다.
- 이 모드에서는 RefAxis 만 참조 되며, Condition 매개 변수는 무시됩니다.

▶ Mode : cmlPmSxGetOptSyncMode 함수의 인자이며, 동기모드를의 상태를 반환합니다. 이 값의 의미는 다음과 같습니다.

▶ RefAxis : cmlPmSxSetOptSyncMode 함수의 인자이며, 내부 동기신호를 발생할 때 참조할 축 번호 또는 마스크를지정합니다. 이 값을 지정하는 방식은 Mode 매개 변수(媒介變數)의 값에 따라서 아래와 같이 달라집니다.

▪ Mode 매개 변수(媒介變數)가 “1”인 경우: 이 모드에서는 이 값에 축 번호를 지정합니다. 단, 주의할

것은 Axis 매개 변수(媒介變數)가 0 ~ 3 사이의 축인 경우에는 이 값도 0 ~ 3 이어야 합니다. 그리고 Axis 매개 변수(媒介變數)가 4 ~ 7 사이의 축인 경우에는 이 값도 4 ~ 7 이어야 합니다.

▪ Mode 매개 변수(媒介變數)가 “2”인 경우: 이 모드에서는 이 값에 축 마스크를 지정합니다. 이

모드에서는 참조 축을 여러 개 설정할 수 있으며, 각 비트별로 값이 1 인 경우 해당 축이 참조됩니다. 예를 들어 Axis0 과 Axis2 의 두축이 모두 정지(停止)하는 시점에 출발하고자 한다면 RefAxis 값은 0x5 (bit0 과 bit2 를 1 로 만듬)로 설정합니다. 단, 주의할 것은 Axis 매개 변수(媒介變數)가 0 ~ 3 사이의 축인 경우에는 이 값도 BIT0 ~ BIT3 만 사용할 수 있으며, Axis 매개 변수(媒介變數)가 4 ~ 7 사이의 축인 경우에는 이 값도 BIT4 ~ BIT7 만 사용할 수 있습니다.

▶ RefAxis : cmlPmSxGetOptSyncMode 함수의 인자이며, 내부 동기신호를 발생할 때 참조하는 축 번호 또는 마스크를 반환합니다.

▶ Condition : cmlPmSxSetOptSyncMode 함수의 인자이며, 이 값은 Mode 매개 변수(媒介變數)가 “1”로 지정되었을 때에만의미를 가집니다. 단, 이때 각 조건의 주체가 되는 축은 RefAxis 매개 변수(媒介變數)에 의해서 지정된 축입니다.

Value

Meaning

0
범용비교기의 조건이 충족되었을 때 이송을 시작합니다. 단, 이 방법을 사용하려면
cmmCmpGenSetConfig() 함수의 CmpAction 매개 변수를 0으로 하여야 합니다.

1

참조축이 가속을 시작할 때 이송을 시작합니다.

2

참조축이 가속을 끝내고 정속모드로 들어서는 순간에 이송을 시작합니다.

3

참조축이 감속을 시작할 때 이송을 시작합니다.

4

참조축이 감속을 끝낼 때 이송을 시작합니다.

5

-SL 신호가 검출되었을 때 이송을 시작합니다.

6

+SL 신호가 검출되었을 때 이송을 시작합니다.

7

범용 비교기에 설정된 조건이 만족되었을 때 이송을 시작합니다.

8

TRG-CMP 조건이 만족되었을 때 이송을 시작합니다.

▶ Condition : cmlPmSxGetOptSyncMode 함수의 인자이며, 변환하는 값의 의미는 다음과 같습니다.

Value

Meaning

0

범용비교기의 조건이 충족되었을 때 이송을 시작합니다.

1

참조축이 가속을 시작할 때 이송을 시작합니다.

2

참조축이 가속을 끝내고 정속모드로 들어서는 순간에 이송을 시작합니다.

3

참조축이 감속을 시작할 때 이송을 시작합니다.

4

참조축이 감속을 끝낼 때 이송을 시작합니다.

5

-SL 신호가 검출되었을 때 이송을 시작합니다.

6

+SL 신호가 검출되었을 때 이송을 시작합니다.

7

범용 비교기에 설정된 조건이 만족되었을 때 이송을 시작합니다.

8

TRG-CMP 조건이 만족되었을 때 이송을 시작합니다.

RETURN VALUE

Value

Meaning

음수

수행 실패

ERR_NONE

수행 성공