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[] 배열로 입력 데이터 확인 가능
|