- •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
52 • Ein Beispielprogramm
Die Steuerung einer Ampelanlage
Für unsere Zwecke benötigen wir den Baustein TP, einen Pulsgeber. Dieser hat zwei Eingänge (IN, PT) und zwei Ausgänge (Q, ET). TP macht nun folgendes:
Solange IN FALSE ist, ist ET 0 und Q FALSE. Sobald IN den Wert TRUE liefert, wird im Ausgang ET die Zeit in Millisekunden hochgezählt. Wenn ET den Wert PT erreicht, wird ET nicht mehr weitergezählt. Q liefert unterdessen so lange TRUE wie ET kleiner als PT ist. Sobald der Wert PT erreicht ist, liefert Q wieder FALSE.
Um den Baustein TP im Baustein WARTEN verwenden zu können, müssen wir von TP eine lokale Instanz anlegen. Dazu deklarieren wir uns eine lokale Variable ZAB (für Zeit abgelaufen) vom Typ TP (zwischen den Schlüsselwörtern VAR, END_VAR).
Der Deklarationsteil von WARTEN sieht somit wie folgt aus:
x Funktionsblock WARTEN, Deklarationsteil
3.1.10"WARTEN"-Rumpf
Um den gewünschten Timer zu realisieren, muß der Rumpf des Bausteins wie folgt ausprogrammiert werden:
x Funktionsblock WARTEN, Anweisungsteil
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32
Ein Beispielprogramm • 53
Die Steuerung einer Ampelanlage
Zunächst wird abgefragt, ob Q bereits auf TRUE gesetzt ist (ob also bereits gezählt wird), in diesem Fall ändern wir nichts an der Belegung von ZAB, sondern rufen den Funktionsblock ZAB ohne Eingabe auf (um zu prüfen, ob die Zeit bereits abgelaufen ist).
Andernfalls setzen wir die Variable IN in ZAB auf FALSE, und damit gleichzeitig ET auf 0 und Q auf FALSE. So sind alle Variablen auf den gewünschten Anfangszustand gesetzt. Nun speichern wir die benötigte Zeit aus der Variablen ZEIT in der Variablen PT, und rufen ZAB mit IN:=TRUE auf. Im Funktionsblock ZAB wird nun die Variable ET hochgezählt bis sie den Wert ZEIT erreicht, dann wird Q auf FALSE gesetzt.
Der negierte Wert von Q wird nach jedem Durchlauf von WARTEN in OK gespeichert. sobald Q FALSE ist, liefert also OK TRUE.
Der Timer ist hiermit fertig. Nun gilt es, unsere beiden Funktionsblöcke WARTEN und AMPEL im Hauptprogramm PLC_PRG zusammen zubringen.
3.1.11"ABLAUF" erste Ausbaustufe
Zunächst deklarieren wir uns die Variablen, die wir brauchen. Das sind eine Eingangsvariable START vom Typ BOOL, zwei Ausgangsvariablen AMPEL1_STATUS und AMPEL2_STATUS vom Typ INT, eine Variable ZAEHLER vom Typ INT und eine vom Typ WARTEN (VERZ wie Verzögerung). Das Programm ABLAUF sieht nun folgendermaßen aus:
x Programm ABLAUF, erste Ausbaustufe, Deklarationsteil
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32
54 • Ein Beispielprogramm
Die Steuerung einer Ampelanlage
3.1.12Ein AS-Diagramm erstellen
Das Anfangsdiagramm eines Bausteins in AS besteht stets aus einer Aktion "Init" einer nachfolgenden Transition "Trans0" und einem Sprung zurück zu Init. Wir müssen dies etwas erweitern.
Legen wir zunächst die Struktur des Diagramms fest, bevor wir die einzelnen Aktionen und Transitionen programmieren. Erstmal benötigen wir für jede Ampelphase einen Schritt. Fügen Sie diesen ein, indem Sie Trans0 markieren, und 'Einfügen' 'Schritt-Transition (danach)' wählen. Wiederholen Sie diesen Vorgang noch dreimal.
Wenn Sie direkt auf den Namen einer Transition oder eines Schrittes klicken, dann wird dieser markiert, und Sie können ihn verändern. Nennen Sie die erste Transition nach Init "START", alle anderen Transitionen "VERZ.OK".
Die erste Transition schaltet durch, wenn START auf TRUE gesetzt wird, alle anderen dann, wenn VERZ in OK TRUE ausgibt, also wenn die eingegebene Zeit abgelaufen ist.
Die Schritte erhalten (von oben nach unten) die Namen Schalt1, Gruen2, Schalt2, Gruen1, wobei Init seinen Namen natürlich behält. "Schalt" soll jedesmal eine Gelbphase bedeuten, bei Gruen1 wird AMPEL1 bei Gruen2 AMPEL2 grün sein. Ändern Sie zuletzt noch die Rücksprungadresse von Init nach Schalt1. Wenn Sie alles richtig gemacht haben, dann müßte das Diagramm nun folgendermaßen aussehen:
x Programm ABLAUF, erste Ausbaustufe, Anweisungsteil
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32
Ein Beispielprogramm • 55
Die Steuerung einer Ampelanlage
Nun müssen wir die einzelnen Schritte ausprogrammieren. Wenn Sie auf dem Feld eines Schrittes einen Doppelklick ausführen, öffnen Sie einen Dialog zum Öffnen einer neuen Aktion. In unserem Fall werden wir als Sprache jeweils AWL (Anweisungsliste) verwenden.
3.1.13Aktionen und Transitionsbedingungen
In der Aktion zum Schritt Init werden die Variablen initialisiert, der STATUS von AMPEL1 soll 1 (grün) sein. Der Status von AMPEL2 soll 3 (rot) sein. Die Aktion Init sieht dann so aus:
x Aktion Init
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32
56 • Ein Beispielprogramm
Die Steuerung einer Ampelanlage
Bei Schalt1 wechselt der STATUS von AMPEL1 auf 2 (gelb), der von AMPEL2 auf 4 (gelb-rot). Außerdem wird nun eine Verzögerungszeit von 2000 Millisekunden festgelegt. Die Aktion sieht nun wie folgt aus:
x Aktion Schalt1
Bei Gruen2 ist AMPEL1 rot (STATUS:=3), AMPEL2 grün (STATUS:=1), und die Verzögerungszeit ist auf 5000 Millisekunden gesetzt.
x Aktion Gruen2
Bei Schalt2 wechselt der STATUS von AMPEL1 auf 4 (gelb-rot), der von AMPEL2 auf 2 (gelb). Es wird nun eine Verzögerungszeit von 2000 Millisekunden festgelegt.
x Aktion Schalt2
Bei Gruen1 ist AMPEL1 grün (STATUS:=1), AMPEL2 rot (STATUS:=3), und die Verzögerungszeit wird auf 5000 Millisekunden eingestellt.
x Aktion Gruen1
WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32
