cmlDoPutMulti


SYNOPSYS

VT_I4 cmlDoPutMulti ([in] VT_I4 BoardID, [in] VT_I4 Axis, [in] VT_I4 IniChannel,
[in] VT_I4 NumChannels, [in] VT_I4 OutStates )

DESCRIPTION

  • 모션 디지털 출력이 지원되는 제품에서 cmlDoPutOne() 함수는 다중 채널 대한 디지털 출력 상태를 발생시키며, cmlDoGetMulti() 함수는 다중 채널에 대한 디지털 출력 상태를 반환합니다.

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

PARAMETER

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

▶ Axis: 사용자가 제어하고자 하는 축 혹은 노드릴스터 ID 번호

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

▶ NumChannels : 시작 채널로부터 몇 개의 채널의 상태를 확인할 것인지에 대한 값을 전달합니다. (최대 32개 채널까지 설정 가능합니다.)

▶ OutStates : 다중 채널에 대한 출력 상태를 발생 혹은 출력 상태를 반환합니다. 이 출력 상태는 BitMask(비트 마스크) 로 설정되며, 설정된 비트가 1일 경우 디지털 출력(Digital Out)이 발생합니다.

Value

Meaning

0 (cmlFALSE)

OFF

1 (cmlTRUE)

ON

RETURN VALUE

Value

Meaning

음수

수행 실패

0(ERR_NONE)

수행 성공

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 C/C++
 #include ‚ComiMLink2_SDK.h‛
 #include ‚ComiMLink2_SDK_Def.h‛
 #define INI_CH  0
 #define NUM_CH  4
 Long BoardID = 0;
 long nGetDoOutStates =0;
 // 0~3 번 찿널의 디지털 출력 상태를 1(ON)으로 설정합니다.
 if (cmlDoPutOne (BoardID, 0, INI_CH, NUM_CH, 0xF ) != ERR_NONE )
 {
 OutputDebugString ( " cmlDoPutOne function Fail" );
 }
 // 0~3 번 찿널의 디지털 출력 상태를 nGetDoOutStates변수로 반홖합니다.
 if (cmlDoGetMulti (BoardID, 0, INI_CH, NUM_CH, &nDoOutStates ) != ERR_NONE )
 {
 OutputDebugString ( " cmlDoGetMulti function Fail" );
 }
 // cmlDoGetMulti ()함수에 의해 읽어 본 0~3번 찿널의 출력 찿널 상태 값을
 // 실제 설정한 값(0xF)과 비교합니다.
 if ( nDoOutStates != 0xF )
 {
 OutputDebugString ( " cmlDoGetMulti function don't set Correctly" );
 }