리니어 카운터
리니어 카운터 동작
리니어 카운터가 선택되면 카운터 동작은 –2,147,483,648 ~ 2,147,483,647 사이에서 동작합니다. 리니어 카운터는 Preset 기능과 일치출력 기능과 조합하여 사용할 수 있습니다.
Overflow 에러
카운터 형식이 리니어 카운터 일 때 감산으로 동작될 때 –2,147,483,648를 초과 하거나 가산 일 때 2,147,483,647을 초과하는 경우에 발생 합니다.
Overflow가 발생하면 버퍼메모리의 Overflow 검출 영역(ch1:02H / ch2:22H)이 1로 셋 되고 카운트가 정지합니다.펄스 입력이 계속 들어오더라도 카운트 값은 –2,147,483,648나 +2,147,483,647로 고정 됩니다.
Preset이 수행 되면 오버플로 에러가 삭제 됩니다. Preset이 수행 되면 버퍼메모리의 Overflow 검출 영역이 0으로 됩니다.
[참 고] 리니어 카운트로 사용하다 링 카운터를 사용 할때
리니어 카운터가 가산으로 운전 할 때는 현재 카운트 값이 링 카운터의 최대값 보다 큰 경우 링 카운터의 최대값보다 적거나 같은 값으로 프리셋을 해 주고 감산으로 동작 할 때는 최소값보다 크거나 같은 값으로 프리셋 해야 링 카운터로 동작 합니다.
프리셋을 하지 않으면 리니어 카운터로 운전 합니다. (링 카운터 최대값 > 최소값 일 경우)
링 카운터
링 카운터 동작
링 카운터 동작이 선택 되면 버퍼 메모리의 링 카운터의 최소값(ch1:16H,17H / ch2:36H,37H)과 최대값(ch1:18H, 19H / ch2:38H, 39H)사이의 값에서 반복적으로 동작이 됩니다. 링 카운터 동작 Overflow에러는 발생하지 않습니다. 링 카운터는 Preset 기능과 일치출력기능과 조합하여 사용할 수 있습니다.
링 카운터 카운트 범위
링 카운터의 카운트 범위는 카운트 허가 명령(Y04(Y0C))이 on이거나 Preset이 실행 되었을 때의 카운터 현재값(ch1:2H, 3H / ch2:22H, 23H)과 링 카운터의 최대값과 최소값 사이에 의해 결정됩니다.
주로 링 카운터의 최소 값 <= 현재 값 <= 링 카운터의 최대값 범위에서 사용됩니다.
"링 카운터의 최소값 <= 현재 값 <= 링 카운터의 최대값" 인 경우
경 우 | 설 명 |
업 카운터 인 경우 | 현재 값이 링 카운터의 최대값에 도달 한 경우 링 카운터의 최소값이 자동적으로 현재 값에 저장됩니다. |
다운 카운터 인 경우 | 현재 값이 링 카운터의 최소값에 도달 한 경우 링 카운터의 현재 값은 그 값을 보유하고 있다가 다음 감산 펄스가 들어오면 링 카운터의 최대값 -1의 값이 현재 값에 저장됩니다. |
업 카운터나 다운 카운터로 동작 할 동안 버퍼메모리의 카운트 현재 값을 저장하는 영역에는 링 카운터의 최대값은 저장되지 않습니다.
"현 재값 <= 링 카운터의 최소값" 또는 "현재 값 >= 링 카운터의 최대값" 인 경우
경 우 | 설 명 |
업 카운터 인 경우 | 현재 값이 링 카운터의 최소값에 도달 한 경우 링 카운터의 현재 값은 그 값을 보유 하고 있다가 다음 가산 펄스가 들어오면 "링 카운터 최대값 + 1"의 값이 현재 값에 저장 됩니다. |
다운 카운터 인 경우 | 현재 값이 링 카운터의 최대값에 도달 한 경우 링 카운터의 최소값이 자동적으로 현재 값에 저장 됩니다. |
업 카운터나 다운 카운터로 동작 할 동안 버퍼메모리의 카운트 현재 값을 저장하는 영역에는 링 카운터의 최대값은 저장되지 않습니다.
링 카운터의 최대값과 최소값이 같은 경우
링 카운터의 범위는 현재 값은 고려하지 않고 32bit의 signed binary 값의 어느 것이나 다루게 됩니다.
링 카운터의 최대값과 최소값이 같은 경우
링 카운터의 범위는 현재 값은 고려하지 않고 32bit의 signed binary 값의 어느 것이나 다루게 됩니다.
Add Comment