R : 인덱스 명령

인덱스 레지스터 R 디바이스는 16 개의 인덱스 레지스터를 활용하여 메모리의 간접 지정을 사용할 수 있습니다.

 

인덱스 지정

인덱스 지정

인덱스 레지스터는 시퀀스프로그램내에서 디바이스 메모리의 어드레스를 간접 지정 하는 기능을 수행합니다.
CIMON PLC CPU는 총 16 개의 인덱스 레지스터를 제공하며, 각 인덱스 레지스터는 16 비트 길이의 오프셋 값을 보관 할 수 있습니다. (-32768 – 32767 or 0000h – FFFFh).
이 인덱스 레지스터들은 ‘R00’ - ‘R15’ 형태의 표기법으로 구별됩니다. 아래의 예제 프로그램은 인덱스 지정방식으로 작성된 간단한 시퀀스 프로그램을 보여줍니다.

image-20241126-003848.png

인덱스 레지스터에 저장된 값이 의미하는 데이터 타입은 그것이 사용되는 디바이스 메모리의 종류에 따라 결정됩니다. 아래의 표에서 자세히 설명합니다.

 

Device

À妽º µ¥ÀÌÅÍ ÇüÅÂ

ºñ°í

X, Y, M, L, K, F

인덱스 레지스터에 저장된 값은 bit 오프셋으로 처리됩니다.(XPnA, CPnA)

 

XPnA, CPnA를 제외한 모든 CPU에서는 word 오프셋으로 처리됩니다.

XPnA, CPnA CPU Type

워드 연산 명령에서 인덱스 레지스터를 사용한 경우, 인덱스 레지스터의 값을 16으로 나눈 몫을 사용하고 나머지 값은 버림 처리됩니다. 즉, 아래의 예와 같은 명령에서는, R0 에 19가 저장되어 있다고 가정한다면,

MOV M30R0 D100

M40에 저장된 값이 D100으로 전달됩니다. 따라서, 위의 예와 같은 경우에는 인덱스 레지스터 R0의 값이 16에서 31 범위의 어떤 값이 저장되어 있더라도 동일한 결과를 보여주게 됩니다.

XPnA, CPnA를 제외한 모든 CPU

워드 연산 명령에서 인덱스 레지스터를 사용한 경우, 인덱스 레지스터의 값 만큼 디바이스 주소를 이동하여 처리됩니다. 즉, 아래의 예와 같은 명령에서 R0에 19가 저장되어 있다고 가정한다면,

MOV M30R0 D100

M30 에 19Word만큼 자리 이동하여 M220 값이 D100으로 전달됩니다.

D

인덱스 레지스터에 저장된 값은 워드 오프셋으로 처리됩니다.

 

T, C, S, Z

이 디바이스 메모리 영역은 인덱스 지정 방식을 사용 할 수 없습니다.

지원 CPU 버전 정보

지원 CPU 버전 정보

인덱스 방식의 프로그래밍은 아래 버전의 CPU 펌웨어에서 지원 됩니다.

• CPnA 시리즈

CM1-CP4A/B/C/D/U, CM1-CP3A/B/P/U - V3.0 이상

• XPnA 시리즈

CM1-XP1A/2A/3A/1R - V3.0 이상

• PLC-S 시리즈

CM3-SP32MDT/MDC, CM3-SP16MDR - V3.0 이상

• PLC-S Block

CM3-SB16MDT, CM3-SP16MDTV - V3.0 이상

• XPnE, XPnF, XP1S, CPnE/F 전체 버전
• UPnF 전체 버전
• SPROA/L 전체 버전
• SPLUS 전체 버전

 

지원 CICON 버전정보

지원 CICON 버전정보

인덱스 방식의 프로그래밍은 아래 버전의 CICON 에서 지원됩니다.

  • CICON 버전 : V2.0 이후