Skip to main content

Auswirkungen auf Symbole

Programmierbausteine und Variablen können in Folge von Attributpragmas ihr Verhalten bezüglich der Symbolkonfiguration ändern.

Weitere Beschreibungen finden Sie auf der jeweiligen Hilfeseite des betroffenen Pragmas.

Pragma mit Attribut

Auswirkung

Siehe auch

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

keine

{attribute 'call_after_init'}

keine

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

keine

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

keine

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

keine

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

{attribute 'conditionalshow'}

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

{attribute 'conditionalshow_all_locals'}

Die ausgezeichneten Variablen sind verborgen und können folglich nicht exportiert werden.

Wenn aber von der kompilierten Bibliothek auch die Quellcodedatei vorhanden ist oder wenn CODESYS mit der Kommandozeilenoption conditionalshowsymbols gestartet wurde, sind trotz Pragma die ausgezeichneten Variablen sichtbar.

conditionalshow

conditionalshow_all_locals

{attribute 'const_replaced'}

{attribute 'const_non_replaced'}

Ersetzte Konstanten stehen im Symbolkonfigurationseditor nicht zur Verfügung und können folglich nicht exportiert werden.

Ob eine Konstante ersetzt wird, hängt davon ab, ob die Compileroption Konstanten ersetzen für alle Konstanten aktiviert wurde und ob Pragmas bei einzelnen Konstanten die Compileroption überschreiben.

const_replaced, const_non_replaced

{attribute 'dataflow'}

keine

{attribute 'displaymode':= <displaymode> }

keine

{attribute 'enable_dynamic_creation'}

keine

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

keine

{attribute 'ExpandFully'}

keine

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

keine

{attribute 'hide'}

Variablen sind verborgen und können folglich nicht exportiert werden

hide

{attribute 'hide_all_locals'}

Variablen sind verborgen und können folglich nicht exportiert werden

hide_all_locals

{attribute 'initialize_on_call'}

keine

{attribute 'init_namespace'}

keine

{attribute 'init_on_onlchange' }

keine

{attribute 'instance-path'}

keine

{attribute 'io_function_block'}

{attribute 'io_function_block_mapping'}

keine

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

keine

{attribute 'linkalways'}

Programmierbausteine und Bibliotheksbausteine werden in die Compileliste eingebunden und können somit exportiert werden

linkalways

{attribute 'monitoring' := 'variable'}

{attribute 'monitoring' := 'call'}

Eigenschaften PROPERTY oder Funktionen (FUNCTION) stehen als Symbol zur Verfügung

monitoring

{'no_assign' }

{'no_assign_warning' }

keine

{attribute 'no_check'}

keine

{attribute 'no_copy'}

keine

{attribute 'no-exit'}

keine

{attribute 'no_init'}

{attribute 'no-init'}

{attribute 'noinit'}

keine

{attribute 'no_instance_in_retain'}

keine

{attribute 'no_virtual_actions'}

keine

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

keine

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

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

keine

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

keine

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

Kann zu einer absichtlich falschen Speicherausrichtung führen

{attribute 'ProcessValue'}

keine

{attribute 'qualified_only'}

keine

{attribute 'reflection'}

keine

{attribute 'subsequent'}

keine

{attribute 'suppress_warning'}

keine

suppress_warning

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

Variable wird als Symbol exportiert

Nur wenn im Symbolkonfigurationseditor die Option Ansicht, Über Attribut exportierte Symbole aktiviert ist, wird die Variable in der Symbolliste angezeigt. In der Spalte Attribut sind die Zugriffsrechte, die mit dem Pragma definiert wurden, visualisiert.

Attribut: symbol

{attribute 'to_string'}

keine

{warning disable <compiler ID> }

{warning restore <compiler ID> }

keine