• 검색 결과가 없습니다.

XGK 추가 디바이스영역

문서에서 PLC-XGK 초급 (페이지 128-133)

3.1 아날로그 데이터 레지스터 U

슬롯에 장착된 특수모듈(A/D,D/A,HSC 등)로부터 데이터를 읽어오는데 사용되는 레지스터입니다.

백플레인 컨트롤러에 의해 장착된 특수모듈의 데이터가 리프레시 영역에 자동으로 갱신됩니다.

U 영역은 한 슬롯당 32 개 워드가 할당되어 있습니다.

따라서 U 영역은 XGK 의 경우 총 4,096 워드( 8 베이스 * 16 슬롯 * 32 워드 = 4,096 워드)로 XGB 의 경우 총 256 워드( 1 베이스 * 16 슬롯 * 32 워드 = 256 워드) 로 이루어져 있습니다.

각 슬롯에 따라 사용하는 U 영역 값은 고정된 값으로, 모듈이 장착된 슬롯이건 빈 슬롯이건 상 관없이 고정된 값으로 사용됩니다.

U 영역의 기본적인 표현방법은 Uxy.z 로 표현하며 여기서 x 는 베이스번호 0~ 7 를 설정하고, y 는 슬롯번호인 0 ~ F 를 설정하며, z 는 특수모듈 내부메모리의 워드번호를 설정합니다.

U 영역 또한 비트표현이 가능하며 이때 표현 방법은 U3A.12.x (x:비트위치, 16 진수표기)

실제로 지정된 슬롯에 특수모듈이 없거나 유효한 데이터 영역을 벗어나게 지정했을 경우, 그 지 정된 영역의 값은 0 이 되고 에러는 발생하지 않습니다.

예를 들어, 3 번 베이스의 1 번 슬롯에 장착된 특수모듈의 리프레시 영역이 4 개 (0 번~3 번)의 워 드까지만 유효한 영역이라면, 4 번워드 (U31.04)는 0 으로 읽혀지게 됩니다. 따라서 D00004 에는 h00F3 이 저장됩니다.

P00052

ADD h00F3 U31.04 D00004

장착된 특수모듈의 리프레시 영역 이외의 값을 읽거나 쓰고자 할 경우에는 PUT(P), GET(P)명령을 사용하십시오. 각 모듈의 영역에 대한 정보는 해당 모듈 설명서를 참조하십시오.

장착된 모듈이 D/A 변환모듈일 경우에는 해당 모듈의 U 영역에 데이터를 쓰면 스캔 END 에서 리프레시되어 출력됩니다. 만약, D/A 변환모듈이 아닌 모듈이 장착된 위치에 데이터를 저장하는 명령어를 사용했을 경우에는 NOP 처리 합니다. 이 경우 에러가 발생하지 않습니다.

3.2 파일 레지스터 R

파일 레지스터는 내부 플래시 메모리 사용을 위한 전용 레지스터입니다. 플래시 메모리는 데이 터를 저장하는데 약간의 시간이 소요되어 스캔 프로그램 수행중에 데이터를 저장할 수 없습니 다. 이런 문제 때문에 플래시 메모리 데이터를 파일 레지스터로 옮겨서 스캔 프로그램에서 사 용하고, 데이터 저장이 필요할 경우 다시 플래시 메모리로 저장하는 방식으로 사용됩니다.

1) 특징

(1) 내부 플래시 메모리 사용을 위한 전용 레지스터로 내부 플래시의 블록 한 개를 파일 레지스 터의 블록으로 읽어오거나 쓰는데 사용됩니다.

블록 0

블록 1

R00000

R00000 R32767

R32767 ZR65535

ZR00000

~ ~

~

파일 레지스터(R, ZR) 내부 플래시 메모리

블록 0

(32K WORD)

블록 1

(32K WORD)

블록 31

(32K WORD)

~

EBREAD

EBWRITE

* EBREAD, EBWRITE는 플래시 전용명령으로 자세한 설명은 파일관련 명령어에 있습니다.

(2) 한 블록*1)의 크기는 32K 워드(XGK), 10K 워드(XGB 콤팩트형)로 내부 플래시 메모리의 블록 크기와 같습니다.

(3) 파일 레지스터의 데이터를 EBWRITE 명령을 이용해 플래시 메모리에 WRITE 하면 데이터를 영구적으로 보존할 수 있습니다.

(4) 파일 레지스터는 래치영역 1 과 동일하게 동작합니다. 즉, 리셋 스위치를 통한 Overall 리셋, D.CLR 키를 이용한 리셋, XG5000 을 통한 리셋시에 데이터가 0 으로 지워집니다.

(5) 파일레지스터의 블록을 플래시 메모리의 블록으로 READ/WRITE 하기 위해서는 여러 스캔이 걸립니다. 완료 여부는 F160(_RBLOCK_RD_FLAG), F162(_RBLOCK_WR_FLAG)의 해당 블록의 비트 로 확인할 수 있습니다.

*1) XGK-CPUS, XGK-CPUE, XGB 콤팩트형(XBC-DxxH)의 경우 파일레지스터는 1 개의 블록(블록 0)만 제공됩니다.

XGK-CPUU, XGK-CPUH, XGK-CPUA 는 2 개의 블록이 제공됩니다. 내부 플래시 메모리는 XGK 에서 32 블록,

(6) 인덱스 기능과 간접지정 모두 사용이 가능합니다. 이때, ZR 의 경우 간접지정의 범위는 ZR0

~ZR32767 워드까지만 가능하고, 인덱스 기능([Z])은 사용한 ZR 의 디바이스 번호에서 -32768~32767 범위내에서 사용 가능합니다. R 의 경우는 간접지정, 인덱스 모두 설정한 블록 범 위내에서 사용가능합니다. 해당 블록을 벗어날 경우 인덱스 초과 에러가 발생합니다.

2) 크기

구 분 XGK-CPUS/CPUE

XGK-CPUU/CPUH/CPUA XGB 콤팩트형(XBC-DxxH)

파일 레지스터 32K WORD * 1 블록 32K WORD * 2 블록 10K WORD * 1 블록

내부 플래시 메모리 32K WORD * 32 블록 32K WORD * 32 블록 10K WORD * 2 블록

3) 표현방법

R - 파일 레지스터 블록단위 표현 ( 1 블록당 32Kword 고정 ) ZR - 파일 레지스터 전체 표현(표현범위는 기종에 따라 다름 )

플래시 영역은 디바이스명이 없고, 전용명령어로 액세스할 수 있습니다.

디바이스명 비트표현

워드표현

(DW 포함)

쓰기 읽기 # [Z] 데이터 보관

R O O O O O O 래치영역 1 수

ZR X O O O O O 래치영역 1 수

내부 플래시 X X 전용명령 전용명

령 X X 영구적

XGK-CPUH 의 경우, 파일레지스터 구성 예

4) 에러 플래그

번호 크기 명칭 내용 비고

F158 Word 블럭 No.플래그 현재 사용중인 블럭 No 를 표기

F1590 BIT 플래시 블록 읽기 대표플 래그

플래시 블록 읽기 플래그가 하나라 도 ON 되어 있으면 ON

F1591 BIT 플래시 블록 쓰기 대표플 래그

플래시 블록 쓰기 플래그가 하나라 도 ON 되어 있으면 ON

F1592 BIT

플래시 블록 쓰기 에러

대표플래그

플래시 블록 쓰기 에러 플래그가 하 나라도 ON 되어 있으면 ON

F1600

~ F161F

BIT 플래시 블록 n 읽기 플래

그 블록 n 에 데이터를 읽을 때 ON 32 개

F1620

~ F163F

BIT 플래시 블록 n 쓰기 플래

그 블록 n 에 데이터를 쓸 때 ON 32 개

F1640

~ F165F BIT

플래시 블록 n 쓰기 에러

플래그

블록 n 에 데이터 쓰기를 실패했을 때 ON. 에러 발생시 해당 쓰기 플래 그 및 쓰기 대표 플래그도 ON 상태 유지

32 개

알아두기

(1) R, ZR 디바이스는 XGB 표준형에서 제공되지 않습니다.

따라서 플래시 읽기 쓰기를 지원하지 않으며 해당 에러 플래그도 지원하지 않습니다.

3.3 인덱스 레지스터 Z

특징

- 인덱스 레지스터를 사용해서 디바이스를 설정하는 방법으로 시퀀스 프로그램에서 인덱스 기능을 사용 하면, 사용되는 디바이스는 직접 지정하는 디바이스 번호에 인덱스 레지스터의 값을 더한 위치를 가지 게 됩니다. 예를 들어, P10[Z1]을 사용했을 경우, Z1 의 내용이 5 였다면, P(10+5) = P15 가 사용대상이 됩 니다.

- 인덱스 레지스터 Z0 ~ Z127 (128 개) - 지정할 수 있는 값의 범위: -32768~32767 - 워드/비트 디바이스의 인덱스 기능 - 간접지정에도 사용가능

- 인덱스 결과 영역 초과시 연산 에러 플래그 SET (F110)

사용 가능 디바이스

- 비트 디바이스: P, M, L, K, F, T, C

- 워드 디바이스: Z, U, D, R, N, T 의 현재값, C 의 현재값

사용방법

- 사용하고자 하는 오퍼랜드 뒤에 []을 이용하여 사용.

- 비트 디바이스의 경우: 해당 명령어에 사용되는 오퍼랜드의 종류(비트/워드)에 따라 비트/워드 단위로 인덱스 처리.

예 1) LOAD P10[Z1]: 만약 Z1 의 값이 5 라면 LOAD P(10+5)  LOAD P15(비트)가 됩니다.

예 2) MOV P10[Z1] D10: 여기서 P10 은 워드를 의미하므로 P10[Z1]은 P(10+5) = P15 워드가 됩니다.

- 워드 디바이스의 경우: 워드 단위로만 인덱스 처리. 절대 비트 단위 인덱스 처리 불가능.

예) LOAD D10[Z1].5: 만약 Z1 의 값이 5 라면, LOAD D(10+5).5  LOAD D15.5 가 됩니다.

주의) LOAD D10.5[Z1]과 같은 표현은 사용할 수 없습니다.

- 이 인덱스 기능은 배열의 의미를 갖는 변수에서, 인덱스로 지정된 변수 값을 취하거나 인덱스로 지정 된 변수에 값을 저장할 때 유용하게 사용할 수 있습니다.

문서에서 PLC-XGK 초급 (페이지 128-133)

관련 문서