cmmCmpTrgSetOneData¶
SYNOPSIS¶
VT_I4 cmmCmpTrgSetOneData(
[in] VT_I4 Axis, [in] VT_R8 Data
)
DESCRIPTION¶
위치비교출력기에 1 회의 비교데이터를 설정합니다. 모션컨트롤러는 카운터 의 값을 cmmCmpTrgSetOneData() 함수의 Data 값과 비교하여 비교조건 을 충족하면 CMP 단자로 출력 을 내보냅니다.
PARAMETER¶
Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다.
Data : 비교 대상 레퍼런스(Reference)값. 비교기는 지정한 카운트값을 이 값과 비교하여 CMP 출력을 내보냅니다. “Unit distance”에 의해 정의되는 논리적 거리 단위를 사용하며, 절대좌표값으로 설정하여야 합니다.
REFERENCE¶
논리적 거리 단위는 cmmCfgSetUnitDist() 함수에 의해 결정됩니다.
이 함수를 사용하면 하나의 비교데이터만 설정할 수 있습니다. 이 함수를 사용하면서 여러 포인트에서 위치비교출력을 하려면 사용자가 Command 나 Feedback 카운트값을 모니터링하거나 인터럽트 이벤트를 활용하여 다음 데이터 포인트를 설정할 시점을 결정하여야 합니다. 따라서 여러 개의 포인트에서 위치비교출력을 연속적으로 사용하려면 cmmCmpTrgContRegTable() 이나 cmmCmpTrgContBuildTable() 함수를 사용하여 데이터를 등록하고 cmmCmpTrgContStart() 함수에 의해 시작되는 “연속적인 위치비교출력” 기능을 사용하는 것이 바람직합니다.
이 함수는 cmmCmpTrgContStart() 함수나 cmmCmpTrgContStop() 함수와 함께 사용되는 함수가 아닙니다.
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
cmERR_NONE |
수행 성공 |
EXAMPLE¶
아래의 예제에서는 X 축의 Command(cmCNT_COMM) 위치값이 10000 이 되면 CMP 트리거 펄스를 출력하도록 하는 것입니다. 이때 (+)방향쪽으로 이동시에만 트리거펄스가 출력되고 (-)방향으로 이동할 때는 출력하지 않도록(cmEQ_PDIR) 합니다.
1 2 3 4 | C/C++
CmpTrgSetConfig(cmX1, cmCNT_COMM, cmEQ_PDIR);
CmpTrgSetOneData (cmX1, 10000);
|
1 2 3 4 | Visual Basic
Call CmpTrgSetConfig(cmX1, cmCNT_COMM, cmEQ_PDIR)
Call CmpTrgSetOneData (cmX1, 10000)
|
1 2 3 4 | Delphi
CmpTrgSetConfig(cmX1, cmCNT_COMM, cmEQ_PDIR);
CmpTrgSetOneData (cmX1, 10000);
|