Definition und Zweck:
Ein Pragma (aus dem Griechischen „pragma“ für Handlung, Sache) ist eine spezielle Anweisung oder Direktive in der Programmierung, die nicht Teil der eigentlichen Programmlogik ist, sondern dem Compiler oder der Entwicklungsumgebung zusätzliche Informationen oder Anweisungen zur Verfügung stellt. Pragmas beeinflussen, wie der Code übersetzt (kompiliert) oder behandelt wird.
Im Gegensatz zu normalen Befehlen, die zur Laufzeit ausgeführt werden, werden Pragmas zur Compile-Zeit (oder zur Link-Zeit) verarbeitet. Sie sind oft herstellerspezifisch und nicht Teil der standardisierten Programmiersprache.
Relevanz in der SPS-Programmierung:
Pragmas werden in SPS-Programmierumgebungen verwendet, um spezifische Eigenschaften von Variablen, Bausteinen oder Programmabschnitten zu beeinflussen, die nicht direkt über die standardisierte Sprachsyntax ausgedrückt werden können:
- Speicherzuteilung: Anweisungen an den Compiler, wie Variablen im Speicher der SPS abgelegt werden sollen (z.B. in bestimmten Speicherbereichen, als remanent).
- Optimierung: Hinweise zur Optimierung des generierten Codes (z.B. für Geschwindigkeit oder Speicherplatz).
- Fehlerbehandlung: Beeinflussung des Verhaltens bei bestimmten Fehlertypen.
- Versionskontrolle: Kann Hinweise für die Versionsverwaltung enthalten.
- Attribut-Zuweisung: Zuweisung von zusätzlichen Attributen zu Variablen oder Bausteinen, die von der Engineering-Software oder der Runtime verwendet werden.
Beispiele für Pragmas (symbolisch):
{#PRAGMA UDT_REM_VAR}: Könnte eine Anweisung sein, dass die folgenden UDT-Variablen remanent gespeichert werden sollen.{#PRAGMA CPU_FAST_ACCESS}: Könnte eine Anweisung sein, dass auf die folgenden Variablen mit optimiertem, schnellem Zugriff zugegriffen werden soll.{#region ... #endregion}: (In einigen Umgebungen) Zur Gliederung von Code-Abschnitten im Editor.
Vorsicht bei der Verwendung:
Da Pragmas oft herstellerspezifisch sind, kann die Portabilität von Code, der Pragmas verwendet, eingeschränkt sein. Sie sollten nur dann eingesetzt werden, wenn die gewünschte Funktionalität nicht auf Standard-Weise erreicht werden kann.
Pragmas sind ein Werkzeug für fortgeschrittene Programmierer, um die generierten Programme gezielt zu beeinflussen und spezifische Anforderungen zu erfüllen.
→ Siehe auch: Programmierung, Compiler, SPS-Programmierung, Remanenz, Speicher, Optimierung

