Object ‘POU Locations’¶
This object is available only for specific controllers. It is displayed automatically in the device tree. The object cannot be added or removed manually. The object can be used for mapping the executable code of an application in different code areas on the controller. Specifically small controllers often have limited internal code areas (flash memory). If one or more additional code areas (for example, external flash memory) are available on the controller, then the location of the code POUs of an application can be changed specifically. In the case of a safety device (SIL2), this can also be used for moving non-safety-relevant code POUs or entire libraries into this external memory.
If there are no specific requirements, then the code POUs are stored sequentially in the code areas (default). This means that the next code POUs are stored in the next areas only when the first code area is filled. In the POU Locations editor, you will see the current location of the POUs in the memory areas and you can change them specifically. Especially in the case of a safety application, this may be necessary for getting all safe POUs into the safe internal memory area.
Editor ‘POU Locations’
Double-clicking the POU Locations object in the device tree of the controller opens the editor. Then it receives the entry <application>. After a code generation, all program blocks of the application are displayed with the respective object type, current position in the memory, and code size.
In the Configured location column, you can set one of the memory areas other than the Current location for each POU or library.
In order to move the POUs to the recently configured memory locations, you first have to Clean and then Generate code again.
Note
Make sure to pay attention to the messages in the category POU Locations. This also shows when a code POU cannot be moved as expected.
Clean | Deletion of the compile information for the application. Corresponds to the menu command | . Requirement for moving the POUs to the configured memory locations.
Generate code | Starting of the code generation for the application. Corresponds to the menu command | . Requirement for moving the POUs to the configured memory locations.
Items | Objects of the application, including the objects from the referenced libraries |
Type | Object type; examples: Function block, Method, Library |
Current location | Current memory location of the POU: area_<n> . |
Configured location | Configured memory location where the POU is moved at the next code generation. Possible values:
|
Code size | Code size of the POU (in bytes) |