
- •Wichtige Erläuterungen
- •Rechtliche Grundlagen
- •Urheberschutz
- •Personalqualifikation
- •Bestimmungsgemäßer Gebrauch
- •Symbole
- •Schriftkonventionen
- •Darstellungen der Zahlensysteme
- •Gültigkeitsbereich
- •Abkürzungen
- •Lieferumfang
- •Systemvoraussetzungen
- •Installation
- •Deinstallation
- •Programmstart
- •Wichtige Hinweise
- •WAGO-I/O-PRO 32 V2.2 Übersicht
- •Was ist WAGO-I/O-PRO 32
- •Wie ist ein Projekt strukturiert?
- •Wie erstelle ich mein Projekt?
- •Wie kann ich mein Projekt testen?
- •Debugging
- •Fazit
- •Bestandteile eines Projekts
- •Projekt
- •Baustein
- •Funktion
- •Funktionsblock
- •Instanzen von Funktionsblöcken
- •Aufruf eines Funktionsblocks
- •Programm
- •Aktion
- •Resourcen
- •Bibliotheken
- •Datentypen
- •Visualisierung
- •Die Sprachen
- •Anweisungsliste (AWL)
- •Modifikatoren und Operatoren in AWL
- •Strukturierter Text (ST)
- •Ausdrücke
- •Auswertung von Ausdrücken
- •Zuweisungsoperator
- •Aufruf von Funktionsblöcken in ST
- •RETURN-Anweisung
- •IF-Anweisung
- •CASE-Anweisung
- •FOR-Schleife
- •WHILE-Schleife
- •REPEAT-Schleife
- •EXIT-Anweisung
- •Ablaufsprache (AS)
- •Schritt
- •Aktion
- •Transition / Transitionsbedingung
- •Aktiver Schritt
- •IEC-Schritt
- •Qualifier
- •Implizite Variablen in AS
- •AS-Flags
- •Alternativzweig
- •Parallelzweig
- •Sprung
- •Funktionsplan (FUP)
- •Der freigraphische Funktionsplaneditor (CFC)
- •Kontaktplan (KOP)
- •Kontakt
- •Spule
- •Funktionsblöcke im Kontaktplan
- •Set/Reset-Spulen
- •Debugging, Onlinefunktionalitäten
- •Traceaufzeichnung
- •Debugging
- •Breakpoint
- •Einzelschritt
- •Einzelzyklus
- •Werte Online verändern
- •Monitoring
- •Simulation
- •Logbuch
- •Die Norm
- •Ein Beispielprogramm
- •Die Steuerung einer Ampelanlage
- •Bausteine erzeugen
- •Was macht AMPEL?
- •Was macht WARTEN?
- •Was macht ABLAUF?
- •Was macht PLC_PRG ?
- •"AMPEL"-Deklaration
- •"AMPEL"-Rumpf
- •Anbinden der standard.lib
- •"WARTEN" Deklaration
- •"WARTEN"-Rumpf
- •"ABLAUF" erste Ausbaustufe
- •Aktionen und Transitionsbedingungen
- •ABLAUF zweite Ausbaustufe
- •Das Ergebnis
- •Ampelsimulation
- •Die Visualisierung einer Ampelanlage
- •Erstellen einer neuen Visualisierung
- •Element in Visualisierung einfügen
- •Die weiteren Ampellichter
- •Das Ampelgehäuse
- •Die zweite Ampel
- •Schrift in der Visualisierung
- •Die Komponenten von WAGO-I/O-PRO 32
- •Hauptfenster
- •Menüleiste
- •Funktionsleiste
- •Object Organizer
- •Bildschirmteiler
- •Arbeitsbereich
- •Meldungsfenster
- •Statusleiste
- •Kontextmenü
- •Optionen
- •'Projekt''Optionen'
- •Optionen für Laden & Speichern
- •Optionen für Benutzerinformation
- •Optionen für Editor
- •Optionen für Arbeitsbereich
- •Optionen für Farben
- •Optionen für Verzeichnisse
- •Optionen für Logbuch'
- •Übersetzungsoptionen
- •Kennworte
- •Optionen für 'Sourcedownload'
- •Optionen für 'Symbolkonfiguration'
- •Optionen für 'Makros'
- •Projekte verwalten
- •'Datei' 'Neu'
- •'Datei' 'Öffnen'
- •'Datei' 'Schließen'
- •'Datei' 'Speichern'
- •'Datei' 'Speichern unter'
- •'Datei' 'Archiv speichern/versenden...'
- •'Datei' 'Drucken'
- •'Datei' 'Einstellungen Dokumentation'
- •'Datei' 'Beenden'
- •'Projekt' 'Übersetzen'
- •'Projekt' 'Alles übersetzen'
- •'Projekt' 'Alles bereinigen'
- •'Projekt' 'In andere Sprache übersetzen'
- •Übersetzungsdatei erstellen
- •Bearbeiten der Übersetzungsdatei
- •'Projekt' 'Dokumentieren'
- •'Projekt' 'Exportieren'
- •'Projekt' 'Importieren'
- •'Projekt' 'Kopieren'
- •'Projekt' 'Vergleichen'
- •Durchführung Projektvergleich
- •Darstellung des Vergleichsergebnisses
- •'Extras' 'Nächster Unterschied'
- •'Extras' 'Vorheriger Unterschied'
- •'Extras' 'Änderung übernehmen'
- •'Extras' 'Einzelne Änderung übernehmen'
- •'Extras' 'Eigenschaften übernehmen'
- •'Extras' 'Zugriffsrechte übernehmen'
- •'Projekt' 'Projektinformation'
- •'Projekt' 'Global Suchen'
- •'Projekt' 'Global Ersetzen'
- •'Projekt' 'Überprüfen'
- •Unbenutzte Variablen
- •Überlappende Speicherbereiche
- •Konkurrierender Zugriff
- •Mehrfaches Speichern auf Output
- •Arbeitsgruppen
- •'Projekt' 'Passwörter für Arbeitsgruppen'
- •Objekte verwalten
- •Objekt
- •Ordner
- •'Neuer Ordner'
- •'Knoten Expandieren' 'Knoten Kollabieren'
- •'Projekt' 'Objekt löschen'
- •'Projekt' 'Objekt einfügen'
- •'Projekt' 'Objekt umbenennen'
- •'Projekt' 'Objekt konvertieren'
- •'Projekt' 'Objekt kopieren'
- •'Projekt' 'Objekt bearbeiten'
- •'Projekt' 'Objekt Zugriffsrechte'
- •'Projekt' 'Objekt Eigenschaften'
- •'Projekt' 'Aktion hinzufügen'
- •'Projekt' 'Instanz öffnen'
- •'Projekt' 'Aufrufbaum ausgeben'
- •'Projekt' 'Querverweisliste ausgeben'
- •Allgemeine Editierfunktionen
- •Bearbeiten' 'Rückgängig'
- •'Bearbeiten' 'Wiederherstellen'
- •'Bearbeiten' 'Ausschneiden'
- •'Bearbeiten' 'Kopieren'
- •'Bearbeiten' 'Einfügen'
- •'Bearbeiten' 'Löschen'
- •'Bearbeiten' 'Suchen'
- •'Bearbeiten' 'Weitersuchen'
- •'Bearbeiten' 'Ersetzen'
- •'Bearbeiten' 'Eingabehilfe'
- •Strukturierte Darstellung
- •'Bearbeiten' 'Variablen Deklaration'
- •'Bearbeiten' 'Nächster Fehler'
- •'Bearbeiten' 'Vorheriger Fehler'
- •'Bearbeiten' 'Makros'
- •Allgemeine Online Funktionen
- •'Online' 'Einloggen'
- •Wenn sich das System meldet
- •'Online' 'Ausloggen'
- •'Online' 'Laden'
- •'Online' 'Start'
- •'Online' 'Stop'
- •'Online' 'Reset'
- •'Online' 'Breakpoint an/aus'
- •'Online' 'Einzelschritt über'
- •'Online' 'Einzelschritt in'
- •'Online' 'Einzelzyklus'
- •'Online' 'Werte schreiben'
- •'Online' 'Werte forcen'
- •'Online' 'Forcen aufheben'
- •'Online' 'Aufrufhierarchie'
- •'Online' 'Ablaufkontrolle'
- •'Online' 'Simulation'
- •'Online' 'Kommunikationsparameter'
- •Darstellung im Dialog 'Kommunikationsparameter'
- •Tips zum Editieren der Parameter im Kommunkationsparameter-Dialog:
- •Online' 'Quellcode laden'
- •'Online' 'Bootprojekt erzeugen'
- •'Online' 'Datei in Steuerung schreiben'
- •'Online' 'Datei aus Steuerung laden'
- •Logbuch
- •'Fenster' 'Logbuch'
- •Menü Logbuch
- •Fenster anordnen
- •'Fenster' 'Nebeneinander'
- •'Fenster' 'Untereinander'
- •'Fenster' 'Überlappend'
- •'Fenster' 'Symbole anordnen'
- •'Fenster' 'Alle Schließen'
- •'Fenster' 'Meldungen'
- •'Fenster' 'Bibliotheksverwaltung'
- •'Fenster' 'Logbuch'
- •Die rettende Hilfe
- •'Hilfe''Inhalt und Index'
- •Hilfe-Hauptfenster
- •Stichwort-Fenster
- •Kontextsensitive Hilfe
- •Die Editoren
- •Allgemeines zu den Editoren
- •Druckgrenzen
- •Kommentar
- •Zoom zu aufgerufenem Baustein
- •'Extras' 'Instanz öffnen'
- •Der Deklarationseditor
- •Deklarationsteil
- •Eingabevariablen
- •Ausgabevariablen
- •EinAusgabevariablen
- •Lokale Variablen
- •Remanente Variablen
- •Konstanten, Typed Literals
- •Externe Variablen
- •Schlüsselwörter
- •Variablendeklaration
- •AT-Deklaration
- •'Einfügen' 'Deklarations Schlüsselworte'
- •'Einfügen' 'Typen'
- •Syntaxcoloring
- •Kurzformmodus
- •Automatisch deklarieren
- •Zeilennummern im Deklarationseditor
- •Deklarationen als Tabelle
- •'Einfügen' 'Neue Deklaration'
- •Pragma-Anweisung
- •Deklarationseditoren im Online Modus
- •Die Texteditoren
- •'Einfügen''Operator' in Texteditoren
- •'Einfügen''Operand' in Texteditoren
- •'Einfügen''Funktion' in Texteditoren
- •'Einfügen''Funktionsblock' in Texteditoren
- •Bausteinaufruf mit Ausgangsparametern in Texteditoren
- •Die Texteditoren im Online Modus
- •'Extras' 'Monitoring Einstellungen'
- •Was passiert an einem Breakpoint?
- •Zeilennummern des Texteditors
- •Der Anweisungslisteneditor
- •AWL im Online Modus
- •Der Editor für Strukturierten Text
- •Die graphischen Editoren
- •Zoom
- •Netzwerk
- •Sprungmarken
- •Netzwerkkommentare,'Extras' 'Optionen'
- •Die Netzwerkeditoren im Online Modus
- •Der Funktionsplaneditor
- •Cursorpositionen im FUP
- •Wie man im FUP den Cursor setzt
- •'Einfügen' 'Zuweisung' im FUP
- •'Einfügen' 'Sprung' im FUP
- •'Einfügen' 'Return' im FUP
- •'Einfügen' 'Baustein' im FUP
- •'Einfügen' 'Eingang'
- •'Einfügen' 'Ausgang'
- •'Extras' 'Negation'
- •'Extras' 'Set/Reset'
- •Der Funktionsplan im Online Modus
- •Der Kontaktplaneditor
- •'Einfügen' 'Kontakt' im KOP
- •'Einfügen' 'Paralleler Kontakt' im KOP
- •'Einfügen' 'Funktionsblock im KOP'
- •'Einfügen' 'Spule' im KOP
- •'Einfügen' 'Baustein mit EN im KOP'
- •'Einfügen' 'Einfügen an Baustein' im KOP
- •'Einfügen' 'Sprung' im KOP
- •'Einfügen' 'Return' im KOP
- •'Extras' 'Dahinter Einfügen' im KOP
- •'Extras' 'Darunter Einfügen' im KOP
- •'Extras' 'Darüber Einfügen' im KOP
- •'Extras' 'Negation' im KOP
- •'Extras' 'Set/Reset' im KOP
- •Der Kontaktplan im Online Modus
- •Der Ablaufspracheneditor
- •Blöcke markieren im AS
- •'Einfügen' 'Sprung'
- •'Einfügen' 'Eingangsaktion hinzufügen'
- •'Einfügen' 'Ausgangsaktion hinzufügen'
- •'Extras' 'Marke zu Parallelzweig hinzufügen'
- •Sprungmarke löschen
- •'Extras' 'Einfügen danach'
- •'Extras' 'Zoom Aktion/Transition'
- •'Extras' 'Lösche Aktion/Transition'
- •'Extras' 'Schritt Attribute'
- •'Extras' 'Zeitenüberblick'
- •'Extras' 'Optionen'
- •'Extras' 'Aktion assoziieren'
- •Die Ablaufsprache im Online Modus
- •Der freigraphische Funktionsplaneditor
- •Cursorpositionen im CFC
- •'Einfügen' 'Baustein' im CFC
- •'Einfügen' 'Ausgang' im CFC
- •'Einfügen' 'Sprung' im CFC
- •'Einfügen' 'Marke' im CFC
- •'Einfügen' 'Return' im CFC
- •'Einfügen' 'Kommentar' im CFC
- •'Einfügen' 'Bausteineingang' im CFC
- •'Extras' 'Negieren' im CFC
- •'Extras' 'Set/Reset' im CFC
- •'Extras' 'EN/ENO' im CFC
- •'Extras' 'Eigenschaften...' im CFC
- •Elemente selektieren im CFC
- •Elemente verschieben im freigraphischen Funktionsplaneditor
- •Elemente kopieren im CFC
- •Verbindungen erstellen
- •Verbindungen löschen
- •Verbindungen ändern
- •'Extras' 'Verbindungsmarke'
- •Inputs/Outputs "On the fly" einfügen
- •Abarbeitungsreihenfolge
- •'Reihenfolge' 'Anzeigen'
- •'Extras' 'Reihenfolge' 'Topologisch anordnen'
- •'Extras' 'Reihenfolge' 'Eins vor'
- •'Extras' 'Reihenfolge' 'Eins zurück'
- •'Extras' 'Reihenfolge' 'An den Anfang'
- •'Extras' 'Reihenfolge' 'Ans Ende'
- •'Extras' 'Makro erzeugen'''
- •'Extras' 'In Makro springen''
- •'Extras' 'Makro expandieren''
- •Rückkopplungen
- •CFC im Online Modus'
- •'Extras' 'Zoom'
- •Übersicht Resourcen
- •Globale Variablen
- •Globale Variablen editieren
- •Mehrere Variablenlisten
- •Globale Variablen
- •Anlegen einer Globalen Variablenliste
- •Editieren der Listen für Globale Variablen
- •Globale Konstanten
- •Variablenkonfiguration
- •Beispiel Variablenkonfiguration
- •'Einfügen''Alle Instanzpfade'
- •Dokumentvorlage
- •PLC Browser
- •Steuerungskonfiguration
- •Steuerungsauswahl
- •Taskkonfiguration
- •Beispiel für eine Taskkonfiguration
- •Welche Task wird bearbeitet?
- •Arbeiten in der Taskkonfiguration
- •'Extras' 'Eigenschaften''
- •'Extras' 'Debug Task festlegen'
- •Traceaufzeichnung
- •'Extras' 'Tracekonfiguration'
- •'Extras' 'Trace starten'
- •'Extras' 'Trace lesen'
- •'Extras' 'Trace automatisch lesen'
- •'Extras' 'Trace stoppen'
- •Auswahl der darzustellenden Variablen
- •Darstellung der Traceaufzeichnung
- •'Extras' 'Cursor ausgeben'
- •'Extras' 'Mehrkanal'
- •'Extras' 'Koordinatennetz'
- •'Extras' 'Strecken'
- •'Extras' 'Komprimieren'
- •'Extras' 'Trace speichern'
- •'Extras' 'Trace laden'
- •Watch und Rezepturverwalter
- •'Einfügen' 'Neue Watchliste'
- •'Extras' 'Watchliste Umbenennen'
- •'Extras' 'Watchliste speichern'
- •'Extras' 'Watchliste laden'
- •'Extra' 'Monitoring aktiv'
- •'Extras' 'Rezeptur schreiben'
- •'Extras' 'Rezeptur lesen'
- •Werte forcen und schreiben im Watch Manager
- •Bibliotheksverwaltung
- •Bibliotheksverwalter
- •Bibliotheksverwalter nutzen
- •Standardbibliothek
- •Benutzerdefinierte Bibliotheken
- •'Einfügen' 'weitere Bibliothek'
- •Bibliothek entfernen
- •Visualisierung in WAGO-I/O-PRO 32
- •Visualisierung
- •Visualisierung erstellen
- •Visualisierungselemente einfügen
- •Visualisierungselemente einfügen
- •'Einfügen' 'Rechteck'
- •'Einfügen' 'Abgerundetes Rechteck'
- •'Einfügen' 'Ellipse'
- •'Einfügen' 'Polygon'
- •'Einfügen' 'Linie'
- •'Einfügen' 'Kurve'
- •'Einfügen' 'Bitmap'
- •'Einfügen' 'Visualisierung'
- •'Einfügen' 'Schaltfläche'
- •Arbeiten mit Visualisierungselementen
- •Visualisierungselemente selektieren
- •Ändern von Visualisierungselementen
- •Verschieben von Visualisierungselementen
- •Kopieren von Visualisierungselementen
- •Statusleiste in der Visualisierung
- •Visualisierungselemente konfigurieren
- •'Extras' 'Konfigurieren'
- •Platzhalter
- •'Extras' 'Platzhalterliste'
- •Form
- •Text
- •Linienstärke
- •Farben
- •Bewegung absolut
- •Bewegung relativ
- •Variablen
- •Eingabe
- •Tooltip
- •Bitmap
- •Visualisierung
- •Gruppierung von Elementen
- •Weitere Funktionen für Visualisierungselemente
- •'Extras' 'Nach vorn bringen'
- •'Extras' 'Nach hinten legen'
- •'Extras' 'Hintergrund Bitmap auswählen'
- •'Extras' 'Hintergrund Bitmap löschen'
- •'Extras' 'Ausrichten'
- •'Extras' 'Alles Markieren'
- •'Extras' 'Selektieren'
- •'Extras' 'Elementliste'
- •'Extras' 'Einstellungen'
- •Tastaturbedienung - im Online Modus
- •Datei Drucken im Online Modus
- •Visualisierungen in Bibliotheken
- •DDE Kommunikation mit WAGO-I/O-PRO 32
- •DDE Schnittstelle des WAGO-I/O-PRO 32 Programmiersystems
- •Aktivieren der DDE Schnittstelle
- •Allgemeines Ansprechen von Daten
- •Welche Variablen können gelesen werden?
- •Variablen Verknüpfen mit WORD
- •Variablen Verknüpfen mit EXCEL
- •Variablen Ansprechen mit Intouch
- •Tastaturbedienung
- •Bedienung
- •Tastenkombinationen
- •Die Datentypen
- •Datentypen
- •Standard Datentypen
- •BOOL
- •Ganzzahlige Datentypen
- •REAL
- •STRING
- •Zeitdatentypen
- •Definierte Datentypen
- •Array
- •Funktion Checkbounds
- •Pointer
- •Aufzählungstyp
- •Strukturen
- •Referenzen
- •Unterbereichstypen
- •Die IEC Operatoren
- •Die IEC Operatoren
- •Arithmetische Operatoren
- •INDEXOF
- •SIZEOF
- •Bitstring Operatoren
- •Bit-Shift Operatoren
- •Auswahloperatoren
- •LIMIT
- •Vergleichsoperatoren
- •Adreßoperatoren
- •Inhaltsoperator
- •Aufrufoperator
- •Typkonvertierungen
- •BOOL_TO-Konvertierungen
- •TO_BOOL-Konvertierungen
- •Konvertierungen zwischen ganzzahligen Zahlentypen
- •REAL_TO-Konvertierungen
- •STRING_TO-Konvertierungen
- •TRUNC
- •Numerische Operatoren
- •SQRT
- •ASIN
- •ACOS
- •ATAN
- •EXPT
- •Die Elemente der Standardbibliothek
- •String Funktionen
- •LEFT
- •RIGHT
- •CONCAT
- •INSERT
- •DELETE
- •REPLACE
- •FIND
- •Bistabile Funktionsblöcke
- •SEMA
- •Flankenerkennung
- •R_TRIG
- •F_TRIG
- •Zähler
- •CTUD
- •Timer
- •Die Bibliothek UTIL.LIB
- •BCD-Konvertierung
- •Bit-/Byte-Funktionen
- •EXTRACT
- •PACK
- •PUTBIT
- •UNPACK
- •Mathematische Hilfsfunktionen
- •DERIVATIVE
- •INTEGRAL
- •STATISTICS_INT
- •STATISTICS_REAL
- •VARIANCE
- •Regler
- •Signalgeneratoren
- •BLINK
- •Funktionsmanipulatoren
- •CHARCURVE
- •RAMP_INT
- •RAMP_REAL
- •Analogwertverarbeitung
- •HYSTERESIS
- •LIMITALARM

176 • Die Editoren
Der Deklarationseditor
Gegebenenfalls geben Sie einen Kommentar ein. Der Kommentar kann mittels der Tastenkombination <Strg>+<Eingabetaste> mit Zeilenumbrüchen versehen werden.
Durch Drücken von OK wird der Deklarationsdialog geschlossen und die Variable gemäß IEC-Syntax in den entsprechenden Deklarationseditor eingetragen.
Hinweis:
Den Dialog zur Variablendeklaration erhalten Sie ebenfalls auf Anfrage über den Befehl 'Bearbeiten' 'Variablen' Deklaration' (siehe Allgemeine Editierfunktionen). Steht der Cursor auf einer Variablen, kann im Offline Modus mit <Shift> <F2> das Autodeclare-Fenster mit den aktuellen variablenbezogenen Einstellungen geöffnet werden.
5.2.17Zeilennummern im Deklarationseditor
Im Offline Modus markiert ein einfacher Klick auf eine spezielle
Zeilennummer die gesamte Textzeile.
Im Online Modus läßt ein einzelner Klick auf eine bestimmte Zeilennummer die Variable in dieser Zeile aufoder zuklappen, falls es sich um eine strukturierte Variable handelt.
5.2.18Deklarationen als Tabelle
Ist die Option Deklarationen als Tabelle im Optiondialog in der Kategorie Editor aktiviert, erhalten Sie den Deklarationseditor in einer tabellarischen Darstellung. Wie in einem Karteikasten können Sie einzeln die Registerkarten der jeweiligen Variablenarten auswählen und die Variablen editieren.
Für jede Variable erhalten Sie folgende Felder zum Eintrag:
Name: |
Geben Sie den Bezeichner der Variablen ein. |
Adresse: |
Geben Sie gegebenenfalls die Adresse der Variablen ein (AT- |
|
Deklaration) |
Typ: |
Geben Sie den Typ der Variablen ein. (Bei der Instanziierung |
|
eines Funktionsblocks, den Funktionsblock) |
Initial: |
Geben Sie eine eventuelle Initialisierung der Variablen ein. |
|
(entsprechend dem Zuweisungsoperator " := ") |
Kommentar: |
Geben Sie hier einen Kommentar ein. |
Die beiden Darstellungsarten des Deklarationseditors können problemlos ge wechselt werden. Im Online Modus gibt es für die Darstellung des Deklarationseditors keine Unterschiede.
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

Die Editoren • 177
Der Deklarationseditor
Um eine neue Variable zu editieren, führen Sie den Befehl 'Einfügen' 'Neue Deklaration' aus.
x Deklarationseditor als Tabelle
5.2.19'Einfügen' 'Neue Deklaration'
Mit diesem Befehl tragen Sie eine neue Variable in die Deklarationstabelle des Deklarationseditors ein. Befindet sich die aktuelle Cursorposition in einem Feld der Tabelle, wird die neue Variable vor dieser Zeile eingefügt, ansonsten ans Ende der Tabelle angefügt. Außerdem können Sie ans Ende der Tabelle eine neue Deklaration anfügen, indem Sie im letzten Feld der Tabelle die rechte Pfeiltaste oder die Tabulatortaste betätigen.
Sie erhalten eine Variable, die als Vorbelegung im Feld Name 'Name', und im Feld Typ 'Bool' stehen hat. Diese Werte sollten Sie in die gewünschten Werte ändern. Name und Typ genügen für eine vollständige Variablendeklaration.
5.2.20Pragma-Anweisung
Die Pragma-Anweisung dient zum Steuern des Übersetzungsvorgangs. Sie wird steht mit zusätzlichem Text in einer Programmzeile oder in einer eigenen Zeile des Deklarationseditors.
Die Pragma-Anweisung wird in geschweifte Klammern gefaßt (Großoder Kleinschreibung wird nicht berücksichtigt):
{ <Anweisungstext> }
Kann der Compiler den Anweisungstext nicht sinnvoll interpretieren, so wird das gesamte Pragma wie ein Kommentar behandelt und überlesen. Es wird jedoch eine Warnung ausgegeben: "Ignoriere Compilerdirektive '<Anweisungstext>'!".
Abhängig vom Pragmatyp und -inhalt wirkt ein Prama auf die Zeile, in der es steht, bzw. auf alle folgenden Zeilen, bis es mit einem entsprechenden Pragma wieder aufgehoben wird oder bis dasselbe Pragma mit anderen Parametern ausgeführt oder das Ende der Datei erreicht wird. Als Datei wird hierbei
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

178 • Die Editoren
Der Deklarationseditor
verstanden: Deklarationsteil, Implementationsteil, Globale Variablenliste, Typdeklaration.
Die öffnende Klammer darf unmittelbar auf einen Variablennamen folgen. Öffnende und schließende Klammer müssen sich in derselben Zeile befinden.
Folgendes Pragma steht derzeit zur Verfügung: {flag}.
{flag [<flags>] [off|on]}
Mit diesem Pragma können die Eigenschaften einer Variablendeklaration beeinflußt werden.
<flags> kann eine Kombination der folgenden Flags sein:
noinit: |
Die Variable wird nicht initialisiert. |
nowatch: |
Die Variable wird nicht gemonitort |
noread: |
Die Variable wird ohne Leserecht in die Symboldatei |
|
exportiert |
nowrite: |
Die Variable wird ohne Schreibrecht in die Symboldatei |
|
exportiert |
noread, |
Die Variable wird nicht in die Symboldatei exportiert |
nowrite: |
|
Mit der Modifikation "on" wirkt das Pragma auf alle folgenden Variablendeklarationen, bis es vom Pragma {flag off} aufgehoben wird, bzw. bis es von einem anderen {flag <flags> on}-Pragma überschrieben wird.
Ohne die Modifikation mit "on" oder "off" wirkt das Pragma nur auf die aktuelle Variablendeklaration (das ist die Deklaration, die mit dem nächsten Strichpunkt abgeschlossen wird).
Beispiele:
Die Variable a wird nicht initialisiert und nicht gemonitort. Die Variable b wird nicht initialisiert:
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

Die Editoren • 179
Der Deklarationseditor
VAR
a : INT {flag noinit, nowatch}; b : INT {flag noinit };
END_VAR
VAR
{flag noinit, nowatch on} a : INT;
{flag noinit on} b : INT;
{flag off}
END_VAR
Beide Variablen werden nicht initialisiert:
{flag noinit on}
VAR
a : INT; b : INT;
END_VAR
{flag off}
VAR
{flag noinit on} a : INT;
b : INT;
{flag off}
END_VAR
Die Flags "noread" und "nowrite" dienen dazu, in einem Baustein, der Leseund/oder Schreibrecht hat, einzelne Variablen mit einem eingeschränkten Zugriffsrecht zu versehen. Der Default für eine Variable ist die Einstellung, die der Baustein hat, in dem die Variable deklariert ist. Hat eine Variable weder Lesenoch Schreibrecht, dann wird sie nicht in die Symboldatei exportiert.
Beispiele:
Der Baustein wird mit Leseund Schreibrecht versehen, dann kann mit den folgenden Pragmas Variable a nur mit Schreibrecht, Variable b überhaupt nicht exportieren.
VAR
a : INT {flag noread};
b : INT {flag noread, nowrite};
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

180 • Die Editoren
Der Deklarationseditor
END_VAR
VAR
{flag noread on} a : INT;
{flag noread, nowrite on} b : INT;
{flag off}
END_VAR
Beide Variablen a und b werden nicht in die Symboldatei exportiert.
{ flag noread, nowrite on } VAR
a : INT; b : INT; END_VAR {flag off}
VAR
{ flag noread, nowrite on } a : INT;
b : INT; {flag off} END_VAR
Das Pragma wirkt additiv auf alle untergeordneten Variablendeklarationen.
Beispiel: (alle verwendeten Bausteine werden mit Leseund Schreibrecht exportiert)
a : afb;
...
FUNCTION_BLOCK afB VAR
b : bfb {flag nowrite}; c : INT;
END_VAR
...
FUNCTION_BLOCK bfB VAR
d : INT {flag noread}; e : INT {flag nowrite}; END_VAR
"a.b.d": Wird nicht exportiert.
"a.b.e": Wird nur mit Leserecht exportiert.
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32