Table of Contents
수 시스템 (Number System)
래더로직에서 사용하는 기본 데이터 처리 단위는 워드(16비트)와 더블워드(32비트)입니다.
큐블록 레더 환경은 시스템 예약 주소와의 간섭을 방지하기 위해 엄격한 수치 범위를 준수해야 합니다.
1. 메모리 구조 (D영역)
- D영역(Data Register): 기본적으로 16비트(1 Word) 단위로 구성됩니다.
- 더블워드 처리: 32비트 데이터를 다루기 위해서는 연속된 2개의 D영역이 필요합니다. (예: D0와 D1을 합쳐 하나의 32비트 값 저장)
2. 데이터 타입 및 범위 제한
본 시스템은 하드웨어 제어 포트(P, WP 등)와의 데이터 충돌을 방지하기 위해 부호 없는 양수(Unsigned Integer) 사용을 원칙으로 합니다.
| 단위 | 비트 수 | 10진수 사용 범위 | 16진수 사용 범위 |
|---|---|---|---|
| 워드 (Word) | 16-bit | 0 ~ 65,535 | 0000H ~ FFFFH |
| 더블워드 (D-Word) | 32-bit | 0 ~ 2,147,418,111 | 00000000H ~ 7FFEFFFFH |
3. 상한치 제한
시스템 예약 주소와의 충돌
- 0x7FFF1000 ~ 0x7FFFFFFF 영역은 하드웨어 입출력 포트(P0, WP0 등)를 제어하기 위한 Memory-Mapped I/O 주소로 예약되어 있습니다.
- 워드(Word)와 더블워드(D-Word) 모두 양수(Unsigned) 처리를 권장합니다. 특히 더블워드는 시스템 예약 주소 영역(0x7FFF1000 이상)을 침범하지 않도록 상한치 0x7FFEFFFF** 이내에서만 사용해야 합니다.
잘못된 사용 예시
더블워드에 시스템 상한을 초과하는 값(예: 0xEE6B4000)을 입력하면 아래와 같이 에러가 발생하거나 잘못된 연산 결과가 나옵니다.
반드시 아래와 같이 상한치 미만의 양수 값을 사용하십시오.
아래와 같이 음수를 DWMOV로 넣을 수는 있지만, 이는 예기치 못한 시스템 에러가 발생할 수 있으므로, 피해야 합니다.
