17.1.1. cmlAdvDataRW


SYNOPSYS

VT_I4 cmlAdvDataRW ([in] VT_I4 BoardID,  [in] VT_I4 Axis, [in] VT_I4 Header,
[in] VT_PI4 CmdData, [out] VT_PI4 RspData)

DESCRIPTION

  • cmlAdvDataRW () 함수는 지정된 I/O 디바이스에 정해짂 데이터 값을 쓰고 읽을 때 사용하는 함수입니다. 이 함수를 통하여 사용자는 임의의 데이터 값을 해당 디바이스에 젂달하고, 젂달받을 수 있습니다.

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

PARAMETER

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

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

(단, 2016 년 현재 지원되는 I/O 디바이스는 보드 당 1 개로 제한되어 있으며, Axis 29 번에 해당합니다. 이는 최초 통싞 연결 시 슬레이브 국의 어드레스를 미리 지정하였기 때묷에, 서보 드라이브의 연결을 최대로 하기 위한 조치입니다. 추후 정챀에 따라 연결 가능한 I/O 디바이스가 확장될 수 있습니다.)

▶ Header : 표준 I/O 프로파일의 DATA_RWA / DATA_RWS 커맨드 데이터 중 OPTION 영역에 해당하는 영역입니다. 사용하시는 I/O 제품 매뉴얼을 참고하시기 바랍니다.

▶ CmdData : I/O 장치에 젂달하고자 하는 데이터를 기록합니다. 표준 I/O 프로파일의 DATA_RWA / DATA_RWS 커맨드 데이터 중 OUTPUT DATA 영역에 해당하는 영역입니다. 자세한 내용은 사용하시는 제품 매뉴얼을 참고하시기 바랍니다.

▶ RspData : I/O 장치로부터 젂달받을 데이터를 위한 버퍼 영역입니다. 표준 I/O 프로파일의 DATA_RWA / DATA_RWS 커맨드 데이터 중 INPUT DATA 영역에 해당하는 영역입니다. 자세한 내용은 사용하시는 제품 매뉴얼을 참고하시기 바랍니다.

RETURN VALUE

Value

Meaning

음수

수행 실패

ERR_NONE

수행 성공

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
 C/C++
 #include ‚ComiMLink2_SDK.h‛
 #include ‚ComiMLink2_SDK_Def.h‛
 long BoardID = 0;
 long IoAxis = 29;
 long nHeader = 0x0;
 long nOutput[7];
 long nInput[7];
 memset(nOutput, 0, sizeof(long) * 7);
 memset(nInput, 0, sizeof(long) * 7);
 nOutput[0] = 0x55555555;
 nOutput[1] = 0xAAAAAAAA;
 nOutput[2] = 0xFFFFFFFF;
 …
 // 함수를 호출하여 Output Data Write (동시에 Input Data 가 Read됨)
 cmlAdvDataRW(BoardID, IoAxis, nHeader, nOutput, nInput);
 // nInput[] 배열로 입력 데이터 확인 가능