Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
11.10.2020
Размер:
3.68 Mб
Скачать

Ein Beispielprogramm 57

Die Steuerung einer Ampelanlage

Damit ist die erste Ausbauphase unseres Programms beendet. Sie können es nun übersetzen und auch in der Simulation testen.

3.1.14ABLAUF zweite Ausbaustufe

Damit sich in unserem Diagramm wenigstens eine Alternativverzweigung befindet, und damit wir unsere Ampelanlage nachts abstellen können, bauen wir in unser Programm nun einen Zähler ein, der nach einer bestimmten Zahl von Ampelzyklen die Anlage abstellt.

Zunächst brauchen wir also eine neue Variable ZAEHLER vom Typ INT. Deklarieren Sie diese wie gehabt im Deklarationsteil von PLC_PRG, und initialisieren Sie sie in Init mit 0.

x Aktion Init, zweite Fassung

Markieren Sie nun die Transition nach Schalt1 und fügen Sie einen Schritt und eine Transition danach ein. Markieren Sie die neu entstandene Transition und fügen Sie eine Alternativverzweigung links davon ein. Fügen Sie nach der linken Transition einen Schritt und eine Transition ein. Fügen Sie nach der nun neu entstandenen Transition einen Sprung nach Schalt1 ein.

Benennen Sie die neu entstandenen Teile wie folgt: Der obere der beiden neuen Schritte soll "Zählen" heißen, der untere "Aus". Die Transitionen heißen (von oben nach unten und von links nach rechts) BEENDEN, TRUE und VERZ.OK. Der neu entstandene Teil sollte also so aussehen wie der hier schwarz umrandete Teil:

x Einbau Zähler

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

58 Ein Beispielprogramm

Die Steuerung einer Ampelanlage

Es gibt also zwei neue Aktionen und eine neue Transitionsbedingung zu implementieren. Beim Schritt Zaehlen geschieht nichts anderes, als daß ZAEHLER um eins erhöht wird:

x Aktion Zaehlen

Die Transition BEENDEN überprüft, ob der Zähler größer als eine bestimmte Zahl ist, z.B.wir mal 7:

x Transition BEENDEN

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

Ein Beispielprogramm 59

Die Steuerung einer Ampelanlage

Bei Aus wird der Status beider Ampeln auf 5 (AUS) gesetzt, (wobei jede andere beliebige Zahl ungleich 1,2,3 oder 4 für diesen Status gewählt werden könnte), der ZAEHLER wird auf 0 zurückgesetzt und eine Verzögerungszeit von 10 Sekunden festgelegt:

x Aktion Aus

3.1.15Das Ergebnis

In unserer Ampelstadt wird es also nach sieben Ampelzyklen Nacht, für zehn Sekunden schaltet die Ampel sich aus, dann wird es wieder Tag, die Ampelanlage schaltet sich wieder ein, und das ganze geht wieder von vorn los.

3.1.16PLC_PRG

Im Baustein ABLAUF haben wir den zeitlichen Ablauf der Phasen der beiden Ampeln definiert und korreliert. Da wir jedoch die Ampelanlage als Modul eines Bussystems, z.b. CAN, ansehen wollen, müssen wir nun im Baustein PLC_PRG entsprechende Einund Ausgangsvariablen für die Kommunikation über einen Bus zur Verfügung stellen. Wir wollen die Ampelanlage über einen EIN-Schalter in Betrieb nehmen und wir wollen bei jedem Schritt in ABLAUF jeder der sechs Lampen (jede Ampel Rot, Grün, Gelb) die jeweilige "Signalanweisung" zusenden. Für diese sechs Ausgänge und einen Eingang deklarieren wir nun – bevor wir das Programm im Editor erstellen - entsprechende boolsche Variablen und weisen sie dabei gleichzeitig den zugehörigen IEC-Adressen zu.

Im Deklarationseditor von PLC_PRG deklarieren wir zunächst die Variablen Ampel1 und Ampel2 vom Typ Ampel.

x Deklaration Ampel1 und Ampel2

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32

60 Ein Beispielprogramm

Die Steuerung einer Ampelanlage

Diese übergeben bei jedem Schritt im Baustein ABLAUF die boolschen Werte für jede der sechs Lampen an die oben geforderten sechs Ausgänge. Die sechs dafür vorgesehenen Ausgangsvariablen deklarieren wir jedoch nicht innerhalb des PLC_PRG-Bausteins, sondern unter Ressourcen bei den Globalen Variablen. Ebenso die boolsche Eingangsvariable EIN, über die die Variable START im Baustein ABLAUF auf TRUE gesetzt werden kann. Auch EIN wird eine IEC-Adresse zugeordnet.

Wählen Sie also das Registerblatt Ressourcen und öffnen die Liste Globale Variablen.

Deklarieren Sie folgendermaßen:

x Deklaration der Ein-/Ausgangsvariablen für die CAN-Konfiguration

Dem Namen der Variable (z.B. EIN) folgt nach AT mit einem Prozentzeichen beginnend die IEC-Adresse. I steht dabei für Eingang, Q für Ausgang, B (in diesem Beispiel verwendet) steht für Byte und mit 0.0 (0.1, 0.2 usw.) werden die einzelnen Bits des Moduls angesprochen. Die erforderliche Steuerungskonfiguration werden wir in diesem Beispiel nicht vornehmen, da sie davon abhängt, welchen Ausstattung an Konfigurationsdateien Ihnen zur Verfügung stehen. Sehen Sie hierzu bitte das Kapitel Resourcen, Steuerungskonfiguration.

Wir wollen nun den Baustein PLC_PRG fertigstellen.

Dazu gehen wir ins Editorfenster. Wir haben den freigraphischen Funktionsplaneditor CFC gewählt, dementsprechend erhalten wir unter der Menüleiste die CFC-Symbolleiste mit den verfügbaren Bauelementen .

Klicken Sie mit der rechten Maustaste ins Editorfenster und wählen Sie das Element Baustein. Klicken Sie auf den Text AND und schreiben Sie stattdessen "ABLAUF". Daraufhin erhalten Sie den Baustein ABLAUF mit

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32