데이터 래칭
IREF를 사용하여 함수 블록 명령어에 입력 데이터를 지정하면 IREF의 데이터는 그 함수 블록 루틴의 스캔에 맞춰 래칭됩니다. IREF는 프로그램 범위와 컨트롤러 범위 태그의 데이터를 래칭합니다. 컨트롤러는 매 스캔 시작 시점에 IREF 데이터를 모두 업데이트합니다.

이 보기에서 tagA의 값은 루틴 실행 시작 시점에 저장됩니다. 저장된 값은 Block_01이 실행될 때 사용됩니다. 같은 값은 Block_02가 실행될 때에도 사용됩니다. 루틴 실행 중 tagA의 값이 변하면 IREF에 저장된 tagA의 값은 다음 루틴 실행 때까지 변하지 않습니다.

이 예는 위와 동일합니다. tagA의 값은 루틴 실행 시작 시점에 한 번만 저장됩니다. 루틴은 이 저장된 값을 루틴 내내 이용합니다.

같은 루틴의 여러 IREF와 OREF에서 같은 태그를 이용할 수 있습니다. IREF의 태그 값은 루틴에서 스캔마다 래칭되므로 OREF가 루틴 실행 중 다른 값을 획득하더라도 IREF는 모두 같은 값을 이용합니다.
이 보기에서 루틴이 이 스캔을 시작할 때 tagA의 값이 25.4이고 Block_01이 tagA의 값을 50.9로 바꾸면 Block_02로 연결된 두 번째 IREF는 Block_02가 이 스캔을 실행할 때 25.4를 계속 사용합니다. tagA 값 50.9는 다음 스캔이 시작될 때까지 이 루틴에서 어떤 IREF도 사용하지 않습니다.

의견을 작성 부탁드립니다.