상품

그림 1의 인덱스 레지스터 응용 회로에서 "IR1"의 주소 업데이트 처리가 제대로 되지 않습니다. 왜 그런가요?

등록일
2025. 12. 17.

그림 1의 인덱스 레지스터 응용 회로에서 "IR1"의 주소 업데이트 처리가 제대로 되지 않습니다. 왜 그런가요?



■먼저, 래더 회로의 동작 사양부터
래더 회로의 문제점을 설명하기 전에 시스템의 동작 사양을 설명합니다.

※ 누름 스위치 1~32 중 어느 하나가 눌렸을 때 2CH의 입력 신호(BCD 4자리 데이터)를 아래 요령으로 DM100~DM131에 저장합니다.
 
 
<프로그램: CS/CJ 시리즈>  그림 1


■본 래더의 문제점에 관하여
이 래더 회로의 문제점은 대체 어디에 있을까요?
결론부터 말씀드리면, 회로 번호 10의 --[MOV 2,IR1+]의 오토인크리먼트 옵션/,IR1+ 사용법에 문제가 있습니다.

~오토인크리먼트 옵션 /,IR□+란?~


그림 1의 래더로 설명하겠습니다. 회로 번호 10에서 --[MOV 2 ,IR1+]가 실행된 직후 IR1의 내용이 +1 주소로 업데이트되게 되는데, 본 회로에서는 전단의 --| |--,IR0+가 OFF인 경우 MOV 명령 자체가 실행되지 않으므로, 중요한 오토인크리먼트 처리도 실행되지 않게 됩니다. IR1의 주소 업데이트 처리가 제대로 이루어지지 않는 원인은 여기에 있습니다.

(참고) --||--,IR0+나 여기에는 나오지 않지만, --(,IR□+)~OUT 명령~과 같이 신호의 1/0 상태와 무관하게 매 스캔마다 실행되는 <상시 실행 타입> 명령어에서는 이러한 문제가 발생하지 않습니다.

■IR1의 주소를 매 스캔마다 업데이트하는 회로(예)
 
<프로그램: CS/CJ 시리즈>  그림 2                

[설명] 
(1) --[MOV 2 ,IR1+]의 <+옵션>을 중단하고, 그림 2와 같이 --[MOV 2 ,IR1]로 합니다.
(2) 대신 상시 ON 플래그(P_On)의 a 접점과 --[++L IR1]의 조합으로 FOR~NEXT 루프의 매 스캔마다 IR1의 내용을 +1 주소로 이동시킵니다.


《참고 정보》
인덱스 레지스터의 기본 사양에 대해 자세히 알고 싶으신 분은 아래의 『매뉴얼』이나 『해설 자료』를 참조하십시오. 

(1) 매뉴얼
  
매뉴얼 다운로드는 무료 회원 가입이 필요합니다.

(2) 해설 자료
『인덱스 레지스터의 기초』(1)
indexreg5.pdf

『인덱스 레지스터의 기초』(2)
indexreg6.pdf

『인덱스 레지스터의 응용/,IR□의 주소 업데이트 회로 예』
indexreg7.pdf