컴파일러는 물리적 어드레스에 직접 지정되지 않은 각 변수에 메모리 영역을 지정해야 합니다.
를 사용하여 시스템(컴파일러) 및 유저에 예약된 메모리 영역을 정의할 수 있는 유지 또는 비유지 메모리 영역을 정의합니다. 슬라이더를 움직이거나 슬라이더를 두 번 클릭하여 메모리 영역을 조정합니다.
메모리 영역에는 다음이 포함됩니다.
[플래그 워드 WR],
[데이터 레지스터 DT] 및
[파일 레지스터 FL]. 사용하는 PLC 기종에 따라 다름
자세한 내용은 어드레스 정의를 참조해 주십시오.
[글로벌 변수에 따르는 시스템 영역을 최대화 합니다]를 사용하여 자동으로 시스템에 최대 어드레스 영역을 시스템(컴파일러)에 제공합니다. 유저 영역(유저에서 입력한 변수에 의해 정의된 영역)은 명시적 어드레스가 있는 글로벌 변수에서 할당된 영역으로 제한됩니다.
[글로벌 변수에 따르는 시스템 영역을 최대화 합니다]를 선택한 경우, 명시적 어드레스는 계산되지 않으므로, 에디터 본문에서 명시적 어드레스를 사용하지 마십시오.
예를 들어, 본문에서 직접 R110 및 R200을 사용하면 WR11과 WR20이 고려되지 않습니다.
다음 예에서와 같이 명시적 어드레스가 있는 글로벌 변수를 사용하면 WR11과 WR20을 고려합니다.
전원 차단 또는 RUN 모드에서 PROG 모드로 전환되면 비유지 영역의 값이 손실되고 유지 영역의 값이 유지됩니다. 프로그램이 PLC에 다운로드될 때까지 초기화되지 않습니다.
[글로벌 유지 변수를 제외한 모든 변수를 명시적 어드레스로 초기화]를 활성화하면, 유저가 할당한 어드레스에 대한 변수가 초기화되지 않습니다. 아래에서
FP2, FP3, FP-C 및 FP5의 경우 파일 레지스터의 크기(FL)를 [프로젝트] 페인( )에서 설정할 수 있습니다.
[프로젝트] 페인( 아래)에서 자동 유지되는 영역의 어드레스를 설정할 수 있습니다.
컴파일러 옵션을 변경하면 모든 프로젝트를 컴파일해야 합니다.
글로벌 변수 리스트에서 어드레스를 수신하지 않은 각 변수는 컴파일러에 의해 자동으로 메모리 영역에 지정됩니다.
모든 메모리 영역이 모든 PLC 기종(연한 회색으로 강조 표시)에 적용되는 것이 아닙니다.
다음 표는 지정된 클래스와 데이터 형식의 변수를 할당하는 컴파일러를 보여줍니다.
클래스 |
데이터 형식 |
메모리 영역 |
---|---|---|
VAR, VAR_GLOBAL |
BOOL |
플래그 워드 WR, 비유지 |
VAR_RETAIN, VAR_GLOBAL_RETAIN |
BOOL |
플래그 워드 WR, 유지 |
VAR, VAR_GLOBAL |
INT, DINT, WORD, DWORD, TIME, REAL, STRING |
데이터 레지스터 DT, 비 유지 파일 레지스터 FL, 비 유지 |
VAR_RETAIN, VAR_GLOBAL_RETAIN |
INT, DINT, WORD, DWORD, TIME, REAL, STRING |
데이터 레지스터 DT, 유지 파일 레지스터 FL, 유지 |
또한 컴파일러는 루프에 필요한 라벨을 자동으로 만듭니다.
를 사용하여 시스템(컴파일러)의 라벨 수를 지정할 수 있습니다.
컴파일러의 표준 설정을 활성화하려면 [초기값]을 선택합니다.