Overview on User Program Size and Operands of AC500 CPUs¶
The following tables show the values set for the program memory and the operands in AC500 targets.
CPUs in lifecycle state “Active” | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter / CPU | Unit | PM554-x PM564-x |
PM554-x-ETH PM564-x-ETH |
PM556-x-ETH | PM572 | PM573-ETH | PM582 | PM583-ETH | PM585-ETH PM590-ETH |
PM591-ETH | PM592-ETH |
Available as of PS501 version | V1.3.2 | V2.0.2 | V2.3.0 | V2.0.0 | V2.0.0 | V2.0.0 | V2.0.0 | V2.0.0 | V2.0.0 | V2.1.0 | |
Available as of firmware version | V1.3.0 | V2.0.5 | V2.3.0 | V2.0.2 | V2.0.2 | V2.0.2 | V2.0.2 | V2.0.2 | V2.0.2 | V2.1.3 | |
User program (code) see remark 1 | kB | 128 | 128 | 512 | 128 | 512 | 512 | 1024 | 2048 = 2 MB | 4096 = 4 MB | 4096 = 4 MB |
Number of POUs | 2048 | 2048 | 2048 | 2048 | 2048 | 2048 | 2048 | 4096 | 4096 | 4096 | |
Number of tasks | 2 | 2 | 2 | 3 | 3 | 3 | 16 | 16 | 16 | 16 | |
Floating point processor see remark 2 | no | no | no | no | no | no | no | yes | yes | yes | |
Global and local variables: VAR or VAR GLOBAL | kb | 10 | 10 | 64 | 116 | 224 | 128 | 736 | 1536 | 4096 | 4096 |
RETAIN area: VAR RETAIN or VAR RETAIN PERSISTENT see remark 3 | kb | 1 | 1 | 1 | 4 | 32 | 32 | 32 | 512 | 512 | 512 |
Addressable flag area: VAR AT %Mx.y VAR RETAIN AT %Mx.y VAR RETAIN PERSISTENT AT %Mx.y see remark 4 | kb | 2 | 2 | 64 | 4 | 128 | 128 | 128 | 512 | 512 | 512 |
PERSISTENT area: VAR AT %Rx.y | kb | 1 | 1 | 4 | 4 | 4 | 128 | 128 | 512 | 512 | 512 |
Total variables (sum of VAR, RETAIN, %M and %R) | kb | 14 | 14 | 133 | 128 | 388 | 416 | 1024 | 3072 | 5632 | 5632 |
Inputs %I see remark 5 | kb | 4 | 4 | 4 | 24 | 24 | 24 | 24 | 24 | 24 | 24 |
Outputs %Q see remark 5 | kb | 4 | 4 | 4 | 24 | 24 | 24 | 24 | 24 | 24 | 24 |
CPUs in lifecycle state “Classic” (should not be used for planning and commissioning of new installations) | ||||||
---|---|---|---|---|---|---|
Parameter / CPU | Unit | PM571(-ETH) | PM581(-ETH/-ARCNET) | PM582(-ETH) | PM590(-ETH/-ARCNET) | PM591(-ETH/-ARCNET) |
Available as of PS501 version | V1.3.2 | V1.3.2 | V1.3.2 | V1.3.2 | V1.3.2 | |
Available as of firmware version | V1.4.2 | V1.4.2 | V1.4.5 | V1.4.5 | V1.4.5 | |
User program (code) see remark 1 | kB | 64 | 256 | 512 | 2048 = 2 MB | 4096 = 4 MB |
Number of POUs | 2048 | 2048 | 2048 | 4096 | 4096 | |
Number of tasks | 3 | 3 | 3 | 16 | 16 | |
Floating point processor see remark 2 | no | no | no | yes | yes | |
Global and local variables: VAR or VAR GLOBAL | kB | 16 | 128 | 128 | 1024 | 2048 |
RETAIN area: VAR RETAIN or VAR RETAIN PERSISTENT see remark 3 | kB | 4 | 32 | 32 | 512 | 512 |
Addressable flag area: VAR AT %Mx.y VAR RETAIN AT %Mx.y VAR RETAIN PERSISTENT AT %Mx.y see remark 4 | kB | 4 | 128 | 128 | 512 | 512 |
PERSISTENT area: VAR AT %Rx.y | kB | 4 | 128 | 128 | 512 | 512 |
Total variables (sum of VAR, RETAIN, %M and %R) | kB | 28 | 416 | 416 | 2560 | 3584 |
Inputs %I see remark 5 | kB | 24 | 24 | 24 | 24 | 24 |
Outputs %Q see remark 5 | kB | 24 | 24 | 24 | 24 | 24 |
Remark 1:
The user program is composed of:
- the compiled code of all POUs called in the program,
- the initialization code for the variables and
- the code to restore the variables set as PERSISTENT (this does not include variables in the PERSISTENT area (%R area)!).
The configuration data are not considered in the user program size.
As of Control Builder version 1.2, the user program size (code size) is shown in the CoDeSys message box when compiling:
POU indexes: 262 (25%)
Size of data used: 1069 of 262144 bytes (0.41%)
Size of Retain data used: 0 of 32768 bytes (0.00%)
Code size: 6726 bytes
0 errors, 0 warnings
Remark 2:
All AC500 CPUs can perform floating point operations. For CPUs without floating point processor (PM57x and PM58x), these operations are performed by an emulation library and are therefore slower. Emulation is faster for LREAL variables than for REAL variables. Thus, the use of LREAL variables is recommended.
Remark 3:
The information shown in the message box does only contain the Retain data of the RETAIN area, and not the variables of the addressable flag area %Mx.y. that are declared as VAR RETAIN.
Remark 4:
Data in %M area are not buffered.
Remark 5:
The assignment of the inputs and outputs is described in detail in the chapter “AC500 inputs, outputs and flags”.