반응형
회전하는 제품에 있는 자석의 NS극 개수를 계수할 때 사용한다.
- 최소 극 인식 값을 넘어갔을 때만 카운트 된다.
- 이미 한 쪽 극수 카운팅이 되면 반대쪽 최소 극 인식 값을 넘어가야 카운트 된다.
- 최소 극 인식 값을 사용하여 노이즈나, 진동 구간에서 카운트를 방지한다.
void proc_Count_Pole () {
//NValue = N극 가우스값
//SValue = S극 가우스값
//iMinGauss = 최소 극인식 가우스 값
// N극이 극인식 가우스 값 이상일 때
if ( NValue >= iMinGauss) { // N극 카운트 안 됐으면 카운트업
if (iPoleCNTSet != 1) {
NPoleCNT++; // 극 수 증가
iPoleCNTSet = 1;
}
}
// S극이 극인식 가우스 값 이상일 때
if (SValue >= iMinGauss) { // S극 카운트 안 됐으면 카운트업
if (iPoleCNTSet != 2) {
SPoleCNT++; // 극 수 증가
iPoleCNTSet = 2;
}
}
NSPoleCNT = NPoleCNT + SPoleCNT; // 극 수 합
}
반응형