cmmCmpQue_Enque¶
SYNOPSIS¶
VT_I4 cmmCmpQue_Enque(
[in] VT_I4 Axis, [in] VT_I4 CmpSrc,
[in] VT_I4 CmpMethod, [in] VT_I4 CmpData
)
DESCRIPTION¶
cmmCmpQue_Enque() 함수는 예약 큐에 위치비교 조건 및 비교데이터를 등록합니다. 여기에 등록된 위치비교 데이터는 최초의 데이터부터 순차적으로 비교됩니다.
PARAMETER¶
Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다.
CmpSrc : cmmCmpQue_Enque 함수의 인자이며, 비교 대상 카운터를 설정합니다.
Value |
Meaning |
---|---|
0 또는 cmCNT_COMM |
Command Counter |
1 또는 cmCNT_FEED |
Feedback Counter |
2 또는 cmCNT_DEV |
Deviation Counter : Command 와 Feedback counter 의 편차 카운터 |
3 또는 cmCNT_GEN |
General Counter : 사용자의 정의에 따라 여러가지 용도로 사용될 수 있는 카운터 |
CmpMethod : cmmCmpQue_Enque 함수의 인자이며, CMP 신호 출력 조건을 설정합니다. 즉, 비교 대상 카운트값과 사용자가 지정한 데이터 값을 어떻게 비교하여 CMP 신호 출력을 발생할지에 대한 조건을 결정합니다.
Value |
Meaning |
---|---|
0 (cmDISABLE) |
Disable comparator |
1 (cmEQ_BIDIR) |
CmpData = CmpSrc_Value (regardless of counting direction) |
2 (cmEQ_PDIR) |
CmpData = CmpSrc_Value (while counting up) |
3 (cmEQ_NDIR) |
CmpData = CmpSrc_Value (while counting down) |
4 (cmLESS) |
CmpData > CmpSrc_Value |
5 (cmGREATER) |
CmpData < CmpSrc_Value |
CmpData: cmmCmpQue_Enque 함수의 인자이며, CMP 신호 출력 위치를 설정합니다.
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
cmERR_NONE |
수행 성공 |
EXAMPLE¶
아래의 예제에서는 X 축에 대하여 CMP 큐의 크기 만큼 반복하면서 매 1000pulse 위치마다 비교지점을 설정하는 것입니다. 이 때 비교되는 카운터는 Command Counter 가 되며, 증가하는 방향(cmEQ_PDIR)으로 정확히 일치하는 경우에만 CMP 가 출력되도록 지정하였습니다.
1 2 3 4 5 6 7 | C/C++
int i = 0;
for(i = 0; i < DEFAULT_QUE_SIZE; i++) {
cmmCmpQue_Enque( cmX1, cmCNT_COMM, cmEQ_PDIR, 1000 * i );
}
|