User Tools

Site Tools

한국어

cubloc:ladder_number:index

Number System (CUBLOC Ladder Logic)

The basic data processing units used in ladder logic are Word (16-bit) and Double Word (32-bit). In the CUBLOC ladder environment, strict numerical ranges must be observed to prevent interference with system-reserved addresses.

1. Memory Structure (D-Area)

  • D-Area (Data Register): Basically composed of 16-bit (1 Word) units.
  • Double Word Processing: To handle 32-bit data, two consecutive D-areas are required (e.g., combining D0 and D1 to store a single 32-bit value).

2. Data Types and Range Limits

This system operates on the principle of using Unsigned Integers to prevent data collisions with hardware control ports (P, WP, etc.).

Unit Bit Count Decimal Range Hexadecimal Range
Word 16-bit 0 ~ 65,535 0000H ~ FFFFH
Double Word (D-Word) 32-bit 0 ~ 2,147,418,111 00000000H ~ 7FFEFFFFH
Critical Notice: Both Word and Double Word (D-Word) should be processed as Unsigned (Positive). In particular, Double Words must be used within the upper limit of 0x7FFEFFFF to avoid encroaching on the system-reserved address area (0x7FFF1000 and above).

3. Upper Limit Restrictions

Collision with System Reserved Addresses

  • The area from 0x7FFF1000 to 0x7FFFFFFF is reserved for Memory-Mapped I/O addresses to control hardware I/O ports (P0, WP0, etc.).
  • Prohibition of Negative Numbers (2's Complement): If the Most Significant Bit (MSB) is set to 1 to represent a negative number (e.g., 0x80000000 or higher), the system may misinterpret it as a system-reserved address rather than a number, causing calculation errors or hardware malfunctions.
  • Recommendation: If negative arithmetic is required, do not use signed values directly. Instead, manage a separate D-area as a sign flag (e.g., 0: Positive, 1: Negative) within your logic.

Operational Cautions

  • If a calculation result exceeds 2,147,418,111 (0x7FFEFFFF), it overlaps with internal system addresses, resulting in data corruption.
  • You must implement logic to filter or cap values before they exceed this upper limit during input or arithmetic processes.

Usage Examples

Entering a value that exceeds the system limit into a Double Word (e.g., 0xEE6B4000) will result in an error or incorrect calculation results, as shown below:

Always ensure you use positive values below the upper limit:

While it is technically possible to input negative numbers using DWMOV, this should be avoided as it can trigger unpredictable system errors:

Go CUBLOC Ladder Logic home

cubloc/ladder_number/index.txt · Last modified: by admin