링 카운터 최대값 수정 활용 예제
링 카운터 최대값 수정 활용 예제
1상2체배 Low Active를 이용하여 링(Ring) 가산카운트를 진행 후 링 카운트의 최대값(50,100,150) 이 변경되어 가산 카운트가 반복 진행 되는 예제 입니다.
a ) 회로 결선
리니어 카운터를 이용한 예제’ 결선과 동일합니다.
b ) 고속 카운터 특수 프로그램
① 시작어드레스 M, 100(사용자 임의로 원하는 범위 내 설정 가능) , 채널 1 설정
② 채널 설정 ‘카운터 사용’ check
③ 카운터 종류는 링 카운트, 펄스입력 모드는 1상 PLS/DIR(2체배, Low Active) 설정
④ 링 카운터 최대값을 50으로 설정
c ) 스캔 프로그램 작성
스캔 프로그램을 이용하여 다음과 같이 구성합니다.
① Ring Counter Low Active 가산 카운트 신호 인가
F92 : 0.2초 주기 Y11 ON/OFF, Y10 OFF (가산 카운트)
② 메모리의 초기값을 설정 합니다.F12( Scan On 후 off ) : 메모리의 초기값을 설정 하기 위한 Flags
MOV 50 M170 : M170메모리 주소(링 카운트 최대값)에 50값 적용
③ D0 가 0일 때에는 M170 (링카운트 최대값)을 50으로 적용
③ D0 가 1일 때에는 M170 (링카운트 최대값)을 100으로 적용
④ D0 가 2일 때에는 M170 (링카운트 최대값)을 150으로 적용
④ 카운트 값이 링카운트 최대값을 초과하면 캐리(M300 SET)가 발생한다.
이때 캐리가 발생 하면 D0를 1 증가 시키며 D0가 2를 초과 하는 경우 0을 준다. 그리고 캐리를 리셋한다 (M300 RST).
d ) 동작 확인
① 0부터 50까지 링카운트(가산카운트) 후 최대값이 100으로 변경되어 0부터 카운트 시작
② 0부터 100까지 링 카운트 후 최대값이 150 으로 변경되어 0부터 카운트 시작
③ ‘①’,’②’의 과정이 반복 되어 진행