Skip to main content

Effects on symbols

POUs and variables can change their behavior with respect to the symbol configuration as a result of attribute pragmas.

For more descriptions, see the help page of the affected pragma.

Pragma with attribute

Effect

See also

{attribute 'call_after_global_init_slot' := ' <slot> '}

None

{attribute 'call_after_init'}

None

{attribute 'call_after_online_change_slot' := ' <slot> '}

None

{attribute 'call_before_global_exit_slot' := ' <slot> '

None

{attribute 'call_on_type_change':= ' comma separated list of referenced function blocks> '}

None

{attribute 'conditionalshow' := ' <some text> '}

{attribute 'conditionalshow'}

{attribute 'conditionalshow_all_locals' := ' <some text> '}

{attribute 'conditionalshow_all_locals'}

The decorated variables are hidden and therefore cannot be exported.

However, if the source code file from the compiled library is available, or if CODESYS has been started with the command-line option conditionalshowsymbols, then the decorated variables are visible despite the pragma.

conditionalshow

conditionalshow_all_locals

{attribute 'const_replaced'}

{attribute 'const_non_replaced'}

Replaced constants are not available in the symbol configuration editor and therefore cannot be exported.

A constant being replaced depends on whether or not the Replace constants compiler option has been selected for all constants and whether or not pragmas overwrite the compiler option for individual constants.

const_replaced, const_non_replaced

{attribute 'dataflow'}

None

{attribute 'displaymode':= <displaymode> }

None

{attribute 'enable_dynamic_creation'}

None

{attribute 'estimated-stack-usage' := ' <estimated stack size in bytes> '}

None

{attribute 'ExpandFully'}

None

{attribute 'global_init_slot' := '<slot>'}

None

{attribute 'hide'}

Variables are hidden and therefore cannot be exported.

hide

{attribute 'hide_all_locals'}

Variables are hidden and therefore cannot be exported.

hide_all_locals

{attribute 'initialize_on_call'}

None

{attribute 'init_namespace'}

None

{attribute 'init_on_onlchange' }

None

{attribute 'instance-path'}

None

{attribute 'io_function_block'}

{attribute 'io_function_block_mapping'}

None

{attribute 'is_connected' := ' <input variable> '}

None

{attribute 'linkalways'}

POUs and library POUs are integrated in the compile list and therefore cannot be exported.

linkalways

{attribute 'monitoring' := 'variable'}

{attribute 'monitoring' := 'call'}

PROPERTY properties or functions (FUNCTION) are available as symbols.

monitoring

{'no_assign' }

{'no_assign_warning' }

None

{attribute 'no_check'}

None

{attribute 'no_copy'}

None

{attribute 'no-exit'}

None

{attribute 'no_init'}

{attribute 'no-init'}

{attribute 'noinit'}

None

{attribute 'no_instance_in_retain'}

None

{attribute 'no_virtual_actions'}

None

{attribute 'pingroup' := ' <group name> '}

None

{attribute 'pin_presentation_order_inputs' := '< input name > '( , <next input name> )* }

{attribute 'pin_presentation_order_outputs' := '< output name > '( , <next output name> )* }

None

{attribute 'obsolete' := 'user defined text'}

None

{attribute 'pack_mode' := ' <pack mode value> '}

Can lead to intentional memory misalignment

{attribute 'ProcessValue'}

None

{attribute 'qualified_only'}

None

{attribute 'reflection'}

None

{attribute 'subsequent'}

None

{attribute 'suppress_warning'}

None

suppress_warning

{attribute 'symbol' := '<access possibilities>'}

Variable is exported as symbol.

The variable is displayed in the symbol list only when the View, Symbols Exported via Attribute option is selected in the symbol configuration editor. The access rights, which have been defined with the pragma, are displayed In the Attribute column.

Attribute: symbol

{attribute 'to_string'}

None

{warning disable <compiler ID> }

{warning restore <compiler ID> }

None