p um rz
Vo ersn
Nu
p um rz
Vo ersn
Nu
p um rz
Vo ersn
Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B. Plagemann Original . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . de Layout . . . . . . . . . . . . . . . . Festo AG & Co. KG, Abtl. KG-GD Satz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DUCOM Ausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . de 0402NH Bezeichnung
Nu
p um rz
Vo ersn
. . . . . . . . . . . . . . . . . . . . . . P.BE-FST4-LB-DE
E (Festo AG & Co. KG, D-73726 Esslingen, 2004) Internet: http://www.festo.com e-mail: service_international@festo.com Weitergabe sowie Vervielfltigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts verboten, soweit nicht ausdrcklich gestattet. Zuwiderhandlungen verpflichten zu I
Schadenersatz. Alle Rechte vorbehalten, insbesondere das Recht, Patent-, Gebrauchsmuster- oder Geschmacksmusteranmeldungen durchzufhren.
Nu
p um rz
Vo ersn
II
Inhaltsverzeichnis
Bestimmungsgeme Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zielgruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wichtige Benutzerhinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. 1.1 1.2 2. 2.1 3. Nu 3.1 Programmieren fr die Automatisierungstechnik . . . . . . . . . . . . . . . . . . . . Zu diesem Buch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmieren fr die Automatisierungstechnik oder den PC . . . . . . . . . . . X X XI 1-1 1-4 1-4 2-1 2-3 3-1 3-5 3-5 3-6 3-7 3-11 3-30 3-34 3-37 3-40 3-42 3-43
p um rz
Vo ersn
3.2
Projekt, E/As, Programm, Projektbaum, WENN ... DANN ... SONST . . . . . . . 3.1.1 Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Steuerungstyp auswhlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 E/A-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Programmieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 bersetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.6 Projekt laden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.7 Prfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.8 Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.9 Das Projekt Garage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
III
4. 4.1
Ein etwas greres Projekt mit FST: Die Bohrmaschine steuern . . . . . . . . Die Bohrmaschine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Die Bedienung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Die Aktorik und Sensorik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.3 Das Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.4 Die Belegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die ersten Schritte des Projektes in Anweisungsliste11/12 . . . . . . . . . . . . . 4.3.1 Programm starten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Sequentielles Programm (SCHRITT) . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Projekt laden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die ersten Schritte des Projektes in Kontaktplan15 . . . . . . . . . . . . . . . . . . . . 4.4.1 Programm starten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Sequentielles Programm (SCHRITT) . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Die Schrittprogrammierung mit Zhlern . . . . . . . . . . . . . . . . . . . . . 4.4.4 Projekt laden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1 4-4 4-4 4-5 4-6 4-7 4-8 4-10 4-10 4-11 4-12 4-13 4-13 4-14 4-19 4-20 5-1
4.2 4.3
4.4
Nu
5. 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 6. 6.1 6.2 6.3 6.4
p um rz
Vo ersn
Der SCHRITT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Der Inhalt eines Schritts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Die Weiterschaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Der Name des Schrittes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Der Sprung von Schritt zu Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Der letzte Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 Die alternative Schrittkette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 Die parallele Schrittkette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 Multitasking mit FST: Betriebsarten der Bohrmaschine . . . . . . . . . . . . . . . Programme arbeiten simultan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programme beaufsichtigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programme zeitgesteuert starten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Daten austauschen zwischen Programmen . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 6-3 6-5 6-7 6-8
IV
7-1
Automatikprogramm starten und stoppen . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Der Tippbetrieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 Die Flankenerkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 7.3.1 Programmierung der Flankenerkennung . . . . . . . . . . . . . . . . . . . . . 7-11 Das Richtprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13 Die Bohrmaschine wchst in Kontaktplan . . . . . . . . . . . . . . . . . . . . . . . . . .
Nu 9.
9.1
8.4
p um rz
Automatikprogramm starten und stoppen . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Der Tippbetrieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Die Flankenerkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 8.3.1 Programmierung der Flankenerkennung . . . . . . . . . . . . . . . . . . . . . 8-9 Das Richtprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11
Vo ersn
8-1
Zeiten und Zhler mit FST in Anweisungsliste . . . . . . . . . . . . . . . . . . . . . . . Der Zeitbaustein27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Beginnen wir mit einem einfachen Beispiel: . . . . . . . . . . . . . . . . . . 9.1.2 Der Timer ohne Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.3 Die Anzugsverzgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.4 Die Abfallverzgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.5 Der Blinker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Zhlerbaustein28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Der Vorwrtszhler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2 Der Rckwrtszhler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3 Der Zhler ohne den Zhler(baustein)29 . . . . . . . . . . . . . . . . . . . . . 9.2.4 Zeiten und Zhler kombinieren30 . . . . . . . . . . . . . . . . . . . . . . . . . . . Grenzen des Einsatzes von Zeiten und Zhlern . . . . . . . . . . . . . . . . . . . . . . . Praktische Anwendung von Zeiten und Zhler . . . . . . . . . . . . . . . . . . . . . . . . 9.4.1 Das Garagentor mit Zeiten/Zhlern32 . . . . . . . . . . . . . . . . . . . . . . .
9-1 9-3 9-4 9-7 9-8 9-10 9-12 9-13 9-13 9-15 9-18 9-20 9-23 9-24 9-24
9.2
9.3 9.4
10. 10.1
Zeiten und Zhler mit FST in Kontaktplans . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Der Zeitbaustein33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Beginnen wir mit einem einfachen Beispiel: . . . . . . . . . . . . . . . . . . 10.1.2 Die Einschaltverzgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.3 Die Abfallverzgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.4 Der Zeitbaustein im Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Zhlerbaustein34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 Der Vorwrtszhler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.2 Der Universalzhler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.3 Zeiten und Zhler kombinieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grenzen des Einsatzes von Zeiten und Zhlern . . . . . . . . . . . . . . . . . . . . . . . 10-3 10-4 10-6 10-7 10-9 10-11 10-11 10-13 10-14 10-16
10.2
Unterprogramme mit FST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1 11-4 11-7 11-7 11-8 11-11 11-14 11-15 11-17 11-17 11-19
p um rz
Vo ersn
bergabe- und Rckgabeparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Beispiel Rckgabeparameter in Anweisungsliste . . . . . . . . . . . . . . 11.2.2 Beispiel bergabeparameter in Anweisungsliste . . . . . . . . . . . . . . 11.2.3 Beispiel bergabe- und Rckgabeparameter in Anweisungsliste . 11.2.4 Beispiel Rckgabeparameter in Kontaktplan . . . . . . . . . . . . . . . . . 11.2.5 Beispiel bergabeparameter in Kontaktplan . . . . . . . . . . . . . . . . . . Unterprogramme mit FST: Eigene Bausteine erstellen . . . . . . . . . . . . . . . . . 11.3.1 Mein eigener Schiebe-Baustein . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unterschied BAF/BAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fehler erkennen mit FST: Das FST Fehlerprogramm . . . . . . . . . . . . . . . . . . 12-1 Allgemeines zu Fehlern in einem FST System . . . . . . . . . . . . . . . . . . . . . . . . . Das Verhalten bei einem Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Fehlerprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3.1 Das Fehlerverhalten mit Fehlerprogramm: . . . . . . . . . . . . . . . . . . . . 12.3.2 Das Garagentor mit Fehlerprogramm . . . . . . . . . . . . . . . . . . . . . . . . 12.3.3 Die Beschreibung eines Fehlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3 12-6 12-8 12-9 12-10 12-12
VI
13. 13.1
Bedienen mit FST: Bedienterminals anschlieen und programmieren . . . 13-1 Der Anschluss der Bedienterminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.1 Die EXT Schnittstelle in den FECs (Front End Controller) . . . . . . . . . 13.1.2 Kommunikation zwischen FED und Programmier-PC . . . . . . . . . . . FED Designer und FST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.1 Eine Variable auf dem Display anzeigen . . . . . . . . . . . . . . . . . . . . . 13.2.2 Eine Variable vom Display aus verndern . . . . . . . . . . . . . . . . . . . . Das FED im Ethernet Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.1 Das FED Designer Projekt fr die Ethernet Kommunikation . . . . . . 13.3.2 Mehrere Steuerungen im Netzwerk an einem FED . . . . . . . . . . . . . 13-4 13-5 13-6 13-8 13-11 13-13 13-14 13-14 13-17
13.2
13.3
14.
Nu
14.2 14.3
14.1
p um rz
Vernetzen mit FST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1 14-3 14-6 14-7 14-11 14-12 14-13 14-16 14-17 14-18 14-18 14-21 14-22 14-22 14-30 14-30 14-31 14-33 14-34 14-36 14-36
Vo ersn
14.4 14.5
Voraussetzung fr die Nutzung von Ethernet der TCP/IP Treiber . . . . . . . 14.1.1 Exkurs IP Adresse und Netzmaske . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.2 Ist die Steuerung im Netz zu finden? . . . . . . . . . . . . . . . . . . . . . . . . 14.1.3 DHCP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.4 Programmabhngige IP Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . Programmieren und Fehlersuche im Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kommunizieren zwischen den Steuerungen im Netz . . . . . . . . . . . . . . . . . . . 14.3.1 IP_Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.2 Easy_S und Easy_R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.3 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.4 berwachung der Datenkommunikation . . . . . . . . . . . . . . . . . . . . . Kommunizieren zu Windows Anwendungen mit DDE . . . . . . . . . . . . . . . . . . 14.4.1 Mit DDE zu Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einige Regeln fr die Nutzung von Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.1 Ethernet ist genormt: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.2 Ethernet hat genormte Kabel und Stecker . . . . . . . . . . . . . . . . . . . . 14.5.3 HUBs und Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.4 Mit Ethernet von der Fertigung ins Bro . . . . . . . . . . . . . . . . . . . . . 14.5.5 EasyIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.6 Die Regeln fr die Nutzung von Ethernet (10 MBit/s) . . . . . . . . . . .
VII
Der WEB Server in der Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1 Was ist ein WEB Server? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WEB Server und FST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.1 Notwendige Browser Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.2 Einige Regeln des FST WEB Server . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.3 Wo sind die HTML-Seiten? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTML Seiten fr den WEB Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.1 Die erste HTML Seite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.2 Ein wenig mehr Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.3 Zugriff auf den Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-3 15-4 15-5 15-6 15-6 15-11 15-11 15-13 15-14
15.3
16. 16.1 16.2 16.3 16.4 17. 17.1 17.2 17.3 17.4
Nu
p um rz
Vo ersn
Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1 Allgemeine FST Fehlernummern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Festo Feldbus Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AS-Interface Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Profibus DP (CP62) Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3 17-4 17-5 17-6
VIII
18. 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 18.10 18.11 18.12 18.13 18.14 18.15 18.16 18.17 18.18 19. 20. 20.1
Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1 32 Bit Arithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AS-Interface Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bildschirm- und Tastatur Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dateibehandlungsbausteine (Nur HC1X und HC20 CPUs) . . . . . . . . . . . . . . . Datum- und Uhrzeit Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FEC Remote E/A-Erweiterung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Festo Feldbus Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Festo Feldbus Slave Baustein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inkremental-Encoder der FEC und HC0X CPUs . . . . . . . . . . . . . . . . . . . . . . . . Profibus DP (CP62) Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Profibus FMS (CP62) Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PID Treiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programme beeinflussen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Serielle Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sonstige Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schneller Zhler bei FEC und HC0x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . String Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TCP/IP Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3 18-3 18-4 18-5 18-5 18-6 18-6 18-7 18-7 18-8 18-8 18-8 18-9 18-10 18-11 18-11 18-11 18-13
Nu
p um rz
Vo ersn
Treiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1 Der FST CI-Kommandointerpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1 Die FST Operanden / Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1.1 Operanden anzeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1.2 Operanden ndern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einige sonstige Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-3 20-4 20-4 20-4
20.2
IX
Bestimmungsgeme Verwendung
Mit diesem Software-Paket kann der Anwender, der mit der jeweiligen SPS/IPC vertraut ist, die Konfiguration, Programmierung und Inbetriebnahme der vom Software-Paket unter
Zielgruppe
Nu
p um rz
Vo ersn
Beachten Sie die in den jeweiligen Kapiteln angegebenen Normen sowie die Vorschriften der Berufsgenossenschaften, des Techn. berwachungsvereins, die VDE-Bestimmungen oder entsprechende nationale Bestimmungen.
Dieses Handbuch richtet sich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, Monteure, usw., die sich zum ersten Mal mit softwareuntersttzter Inbetriebnahme von SPS/IPC befassen.
Information: Ihre Ansprechpartner fr Technische Untersttzung zu diesem Produkt finden Sie auf den Internetseiten von Festo unter der Adresse: www.festo.com [landesspezifische Homepage/Business Area Pneumatic/Landesrubrik] Information: Ergnzende Software zu Ihrem Produkt (insbesondere Step 7 Funktionsbausteine und GDD-Profibus-Dateien finden Sie auf den Internetseiten von Festo unter der Adresse: www.festo.com [Business Area Pneumatic/Service & Support/Download Area].
Nu
p um rz
Vo ersn
Diese Beschreibung enthlt Hinweise auf mgliche Gefahren, die bei unsachgemem Einsatz des Produkts auftreten knnen. Diese Hinweise sind mit einem Signalwort (Warnung, Vorsicht, usw.) gekennzeichnet, schattiert gedruckt und zustzlich durch ein Piktogramm gekennzeichnet. Folgende Gefahrenhinweise werden unterschieden:
Warnung ... bedeutet, dass bei Missachten schwerer Personen- oder Sachschaden entstehen kann.
Vorsicht ... bedeutet, dass bei Missachten Personen- oder Sachschaden entstehen kann.
Zustzlich kennzeichnet das folgende Piktogramm Textstellen, die Ttigkeiten mit elektrostatisch gefhrdeten Bauelementen beschreiben: Elektrostatisch gefhrdete Bauelemente: Unsachgeme Handhabung kann zu Beschdigungen von Bauelementen fhren.
XI
Nu
p um rz
Vo ersn
Zubehr: Angaben ber notwendiges oder sinnvolles Zubehr zum Festo Produkt.
Textkennzeichnungen
Der Auflistungspunkt kennzeichnet Ttigkeiten, die in beliebiger Reihenfolge durchgefhrt werden knnen.
1. Ziffern kennzeichnen Ttigkeiten, die in der angegebenen Reihenfolge durchzufhren sind. Spiegelstriche kennzeichnen allgemeine Aufzhlungen.
XII
Kapitel 1
Nu
p um rz
Vo ersn
1-1
Inhaltsverzeichnis
1. 1.1 1.2
Programmieren fr die Automatisierungstechnik . . . . . . . . . . . . . . . . . . . . Zu diesem Buch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmieren fr die Automatisierungstechnik oder den PC . . . . . . . . . . .
Nu
s per m r zu
1-2
Nu
p um rz
Vo ersn
Automatisierung kann man definieren als Einsatz von Rechnern zum selbstttigen Betrieb technischer Prozesse. Ausgangspunkt der Automatisierung ist ein technischer Prozess der so betrieben werden soll, dass bestimmte Ziele (z.B. Wirtschaftlichkeit, Sicherheit, Verfgbarkeit) erreicht werden. Damit dies selbstttig, d.h. ohne permanentes Eingreifen des Menschen erfolgt, wird eine Automatisierungseinrichtung bentigt. Sie realisiert die Funktionen Signalerfassung, Signalverarbeitung und Signalausgabe. Die Realisierung des Verarbeitungs-Algorithmus erfolgt als logische und arithmetische Verknpfungen, frher auf der Basis unterschiedlicher Hilfsenergien (z.B. elektrisch, pneumatisch, hydraulisch), heute fast ausschlielich als Programme in Rechnern.1
Rechnernetz
Automatisierungssystem
Bild 1/1:
http://alex.fh-trier.de/info/automatisierung.html
1-3
1.1
Zu diesem Buch
In diesem Buch wird beschrieben, wie dieser VerarbeitungsAlgorithmus mit Hilfe der FST2 Software entwickelt, getestet und optimiert wird. Ziel ist, dass mit Hilfe des Buches ein eigenstndiges Erlernen und Erfahren der wesentlichen und notwendigen Eigenschaften der FST Software mglich ist. Alle Beispiele wurden mit der FST Software Version 4.1 entwickelt.
1.2
Im Gegensatz zu Programmen, die beispielsweise fr PCs oder Handheld Computer geschrieben werden, mssen Programme fr die Automatisierungstechnik in der Regel ohne permanentes Eingreifen des Menschen funktionieren. Whrend also beispielsweise die Textverarbeitung, mit der dieser Text erfasst wird, eine stndige Betreuung durch den bedienenden Menschen verlangt, muss der Schweiroboter die Kfz-Karosserie verschweien, ohne dass stndig Menschen eingreifen mssen. Dennoch werden selbstverstndlich Menschen bentigt, damit der technische Prozess berhaupt zustande kommt. Es bedarf also der planenden und programmierenden Hand sowie des bedienenden Eingriffs. Das Planen und Programmieren erfolgt heute praktisch immer an PCs, die fr diesen Zweck speziell entwickelte Programmiersoftware nutzen. Das Ausfhren der Programme erfolgt dann in der Steuerung. Damit sind wir an einem wesentlichen Unterschied zwischen der Programmierung fr typische PC-Anwendungen und der fr typische Automatisierungsanwendungen angelangt: In der Automatisierungstechnik sind der Programmier-Rechner und der Steuerungs-Rechner zwei getrennte unabhngige Einheiten.
1-4
Nu
p um rz
Vo ersn
Wir gehen also in der Automatisierungstechnik immer davon aus, dass mindestens zwei Gerte bentigt werden: Das Programmiergert und das Steuerungsgert, einfacher: Die Steuerung.
1-5
Nu
p um rz
Vo ersn
1-6
Kapitel 2
Nu
p um rz
Vo ersn
2-1
Inhaltsverzeichnis
2. 2.1
2-1 2-3
Nu
s per m r zu
2-2
2.1
bersicht
Nr.
1
Was tun
Nu
3 4 5
p um rz
Vo ersn
Im Folgenden soll die Vorgehensweise der Programmierung mit FST im Detail erlutert werden. Sie werden einen mglichst vollstndigen berblick erhalten. Was auch immer beschrieben wird, es gibt eine gemeinsame Basis fr die Bearbeitung eines Automatisierungsprojektes mit einigen grundlegenden immer notwendigen Aufgaben:
Mit der FST Software knnen Sie ganz unterschiedliche CPUs einer ganzen Steuerungsfamilie programmieren. Es drfte kaum ein Automatisierungsprojekt ohne Ein- und Ausgnge geben. Mindestens ein Programm 0 ist zwingend notwendig Entscheidung, ob Kontaktplan oder Anweisungsliste benutzt werden soll Hierzu werden Sie automatisch aufgefordert Dafr muss eine Verbindung zur Steuerung bestehen Und evtl. korrigieren, verbessern, optimieren Beschreiben, kommentieren, drucken
E/A-Konfiguration Programmieren
6 7 8 9
Bild 2/3:
2-3
Nu
p um rz
Vo ersn
2-4
Kapitel 3
Nu
p um rz
Vo ersn
3-1
Inhaltsverzeichnis
3. 3.1
Parameter einstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projekt, E/As, Programm, Projektbaum, WENN ... DANN ... SONST . . . . . . . 3.1.1 Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Steuerungstyp auswhlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 E/A-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Programmieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 bersetzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.6 Projekt laden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.7 Prfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.8 Dokumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.9 Das Projekt Garage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-1 3-5 3-5 3-6 3-7 3-11 3-30 3-34 3-37 3-40 3-42 3-43
Nu
3.2
s per m r zu
3-2
Das erste praktische Beispiel soll sich eine Kleinststeuerung zum Vorbild nehmen und auch diese nochmals reduziert auf die einfachsten Grundfunktionen: Ein Garagentor soll von innen und auen geffnet und geschlossen werden.
3 2
p um rz
Vo ersn
Das Garagentor soll so gesteuert werden, dass das Tor von innen und auen jederzeit geschlossen werden kann das Tor von auen nur bei gleichzeitigem Bettigen des Schlsselschalters und des AUF Tasters geffnet werden kann das Tor von innen jederzeit geffnet werden kann das Tor beim ffnen immer bis zum Endschalter (oben) fhrt das Tor beim Schlieen nur solange schliet, wie der ZUTaster bettigt ist.
3-3
Bild 3/5:
Nu
p um rz
Vo ersn
Als Steuerung wird ein IPC FEC FC203 benutzt, also eine Kompaktsteuerung mit 12 Ein- und 8 Ausgngen.
Beispiel ebenso benutzt werden. Anbieten wrde sich fr dieses Beispiel auch ein IPC FEC Standard, etwa der FC400. Aber auch ein IPC PS1 wre einsetzbar, der wegen seines modularen Aufbaus mehr erweiterungsmglichkeiten bietet.
3-4
3.1
3.1.1
Projekt
Nu
p um rz
Vo ersn
Bild 3/7:
3-5
3.1.2
Steuerungstyp auswhlen
Bitte whlen Sie die richtige Steuerung hier der FEC Compact5 aus und vergeben Sie, wenn gewnscht einen Kommentar.
Nu
p um rz
Vo ersn
Bild 3/8:
Wenn Sie einen FEC Standard benutzen, dann muss dieses Bild so aussehen:
Bild 3/9:
3-6
3.1.3
E/A-Konfiguration
Bitte ffnen Sie die E/A-Konfiguration mit einem Doppelklick auf den Eintrag im FST Projektbaum.
Bild 3/10:
Nu
p um rz
Vo ersn
Sie sehen, dass hier bereits ein E/A-Modul eingetragen ist. Fr alle Steuerungen, bei denen zwingend immer ein bestimmtes E/A-Modul vorhanden ist, wird dieses automatisch eingetragen. Unter der Spalte EW erkennen Sie, dass die Eingnge mit E0.0 beginnen, in der Spalte AW erkennen Sie, dass die Ausgnge mit A0.0 beginnen. Diese Vorgabe knnen Sie bei Bedarf ndern.
3-7
Bild 3/11:
Nu
p um rz
Vo ersn
3-8
E/A-Adressen
Vielleicht ist es nicht ganz einfach zu verstehen, was diese Adressen sollen. Das Beispiel des Garagentors zeigt, dass fr einen Prozess Sensoren, Aktoren und die Steuerung notwendig sind. Sensoren und Aktoren sind eigenstndige Gerte (ein Grenztaster, ein Taster, ein Temperaturwchter, ein Ventil, ein Schtz, ein Motor ....). Damit die Steuerung mit diesen Gerten etwas anfangen kann, muss es eine Verbindung geben zwischen den Sensoren/Aktoren und der Steuerung:
Nu
p um rz
Vo ersn
Bild 3/12: Die Verbindung von den Sensoren und zu den Aktoren erfolgt ber die E/A-Module. Diese E/A-Module bentigen einen Namen, damit die CPU mit ihnen kommunizieren kann. Dabei erfolgt die Namensgebung bei FST immer wortweise, daher das EW fr Eingangswort und das AW fr Ausgangswort. Innerhalb eines Wortes kann dann auf ein einzelnes Bit zugegriffen werden. Bei greren oder vernetzten Steuerung knnen das viele E/A-Module sein.
3-9
Nu
p um rz
Vo ersn
Im Grunde handelt es sich um nichts anderes als um eine Adresse. Wenn ein Brieftrger Briefe austrgt, dann hat er beispielsweise 16 verschiedene Briefe fr die Kaiserstrae die Steuerung wrde sagen: Daten fr das Ausgangswort AW66. In der Kaiserstrae werden die Briefe an 16 Briefksten verteilt die Steuerung wrde an die Ausgangsbits verteilen: A66.0, A66.1, A66.2 .... A66.15 Die Belegliste fr dieses Beispiel wrde so aussehen:
Bild 3/13:
3-10
3.1.4
Programmieren
Das Programmieren wird in der Praxis meist damit begonnen, dass in die Belegungsliste die Ein- und Ausgnge eingetragen werden. So soll auch hier vorgegangen werden.
Nu
p um rz
Vo ersn
Bild 3/14:
In der leeren Belegliste knnen Sie wieder mit einem Doppelklick oder mit dem Kontextmen der rechten Maustaste den ersten Operanden eintragen.
Bild 3/15:
3-11
Nun tragen Sie alle Operanden in die Belegliste ein. Das folgende Bild zeigt eine mgliche Belegliste.((FST_de_016))
Nu
p um rz
Vo ersn
Eine Liste aller FST Operanden finden Sie im Kapitel der FST CIKommandointerpreter auf Seite XX
3-12
Nu
p um rz
Vo ersn
Bild 3/17: Jetzt whlen Sie die gewnschte Programmiersprache. Beachten Sie bitte, dass Sie zwischen Anweisungsliste und Kontaktplan nicht automatisch bersetzen knnen. Eine Festlegung fr eine der beiden Sprachen gilt also fr das gesamte Programm. Dagegen knnen innerhalb eines Projektes Programme mit verschiedenen Programmiersprachen gemischt werden Programm 0 knnte also in Anweisungsliste (AWL), Programm 12 aber in Kontaktplan (KOP) geschrieben sein.
Bild 3/18:
7
Wenn Sie in Kontaktplan programmieren mchten, wechseln Sie bitte zum Kapitel Programm als Kontaktplan.
3-13
Nu
p um rz
Vo ersn
Bild 3/19: Typ: Programm oder BAP oder BAF hier bleibt es bei Programm Nummer: 0 ... 63 hier bleibt es bei 0 Version: 1 ... 9 hier bleibt es bei 1 Kommentar: Garagentorsteuerung
3-14
Mit dem Klick auf OK wird das noch leere Programmfenster geffnet. Sollte die Schnelleingabe bei Ihnen nicht sichtbar sein, dann knnen Sie sie ffnen, indem Sie im Men Ansicht auf Schnelleingabe klicken.
Nu
p um rz
Vo ersn
Bild 3/21: Dabei knnen Sie nahezu alle Eintragungen mit der Schnelleingabe und der Maus ttigen oder alles tippen mit der Tastatur (oder beliebig mischen).
3-15
Auch die Nutzung des Symbols im Vergleich zur absoluten Operandenadresse ist frei gestellt. Das folgende Programm ist also gleichwertig:
WENN
DANN
WENN DANN
Nu
p um rz
RESET
Vo ersn
offen Motor_auf
Auf_in: Taster AUF innen Auf_auss: Taster AUF auen Schluess: Schlsselschalter auen Motor_auf: K1: Garagentor ffnen
Mit der Zeile DANN SETZE A0.0 haben wir den Motor zum ffnen zwar eingeschaltet, er wird aber bislang nicht abgeschaltet. Wann soll der Motor abgeschaltet werden? Der Motor soll abgeschaltet werden, wenn das Tor offen ist.
Beim Schlieen des Tors soll aus Sicherheitsgrnden der jeweilige Taster dauernd bettigt bleiben. Also knnen wir formulieren: Das Tor soll schlieen, wenn Innen oder Auen ZU gedrckt wird und das Tor noch nicht geschlossen ist. Sonst soll es wieder stehen bleiben.
WENN
DANN SONST
Taster ZU innen Taster ZU auen Grenztaster Garagentor ist offen K2: Garagentor schlieen K2: Garagentor schlieen
Nun wird uns jeder Experte der Automatisierungstechnik sagen, dass wir noch einige Randbedingungen vergessen haben. Einmal muss sichergestellt werden, dass der Motor nicht in beide Richtungen gleichzeitig fahren kann. Folglich muss in beide Richtungen die Gegenrichtig mit abgefragt werden. Und zweitens muss gewhrleistet werden, dass gleichzeitiges Bettigen von ZU und AUF den Motor einfach stehen lsst.
3-16
WENN ODER UND UND UND UND UND SETZE ODER ODER RESET ODER UND ( N N N N
DANN WENN
DANN WENN
Nu
offen
p um rz
UND UND UND SETZE RESET
Vo ersn
( N N N N
Auf_in Auf_auss Schluess ) Motor_zu Zu_in Zu_auss offen Motor_auf offen Zu_in Zu_auss Motor_auf Zu_in Zu_auss ) geschloss
E0.2: E0.4: E0.6: A0.1: E0.3: E0.5: E0.0: A0.0: E0.0: E0.3: E0.5: A0.0: E0.3: E0.5: E0.1:
Taster AUF innen Taster AUF auen Schlsselschalter auen K2: Garagentor schlieen Taster ZU innen Taster ZU auen Grenztaster Garagentor offen K1: Garagentor ffnen Grenztaster Garagentor offen Taster ZU innen Taster ZU auen K1: Garagentor ffnen Taster ZU innen Taster ZU auen Grenztaster Garagentor ist
DANN SONST
K1: Garagentor ffnen Taster AUF innen Taster AUF auen K2: Garagentor schlieen K2: Garagentor schlieen
Auch wenn das so schon ganz schn aussieht, fehlt eine sehr wichtige Komponente: Die Kommentierung. Ein Programm ist nur dann wirklich gut, wenn auch der Kollege in 2 Jahren noch versteht, was damals beabsichtigt war. Daher sollte ein Programm vernnftig kommentiert sein. Vielleicht wre das folgende besser:
3-17
Projekt: Autor: Datum: Garagentore WENN ODER UND UND UND UND UND DANN SETZE
Garage Bernhard Plagemann 1. Oktober 2015 ffnen ( N N N N Auf_in Auf_auss Schluess ) Motor_zu Zu_in Zu_auss offen Motor_auf E0.2: E0.4: E0.6: A0.1: E0.3: E0.5: E0.0: A0.0: E0.0: E0.3: E0.5: A0.0: E0.3: E0.5: E0.1: A0.0: E0.2: E0.4: A0.1: A0.1: Taster AUF innen Taster AUF auen Schlsselschalter auen K2: Garagentor schlieen Taster ZU innen Taster ZU auen Grenztaster Garagentor offen K1: Garagentor ffnen Grenztaster Garagentor offen Taster ZU innen Taster ZU auen K1: Garagentor ffnen Taster ZU innen Taster ZU auen Grenztaster Garagentor offen K1: Garagentor ffnen Taster AUF innen Taster AUF auen K2: Garagentor schlieen K2: Garagentor schlieen
Garagentor stoppen WENN offen ODER Zu_in ODER Zu_auss DANN RESET Motor_auf
Garagentor schlieen WENN ( Zu_in ODER Zu_auss ) UND N geschloss UND N Motor_auf UND N Auf_in UND N Auf_auss DANN SETZE Motor_zu SONST RESET Motor_zu
Nu
p um rz
Vo ersn
Hier noch einige Hinweise zur Eingabe der Anweisungsliste: Sie knnen die Anweisungsliste tippen, wie einen Brief an die Steuerung. Sobald Sie die Enter Taste bettigen, wird Ihr Programm formatiert und es werden die Kommentare der Belegliste angefgt. Zwischen jeder Operation und jedem Operanden muss mindestens ein Leerzeichen sein In einem Namen, Operanden oder einer Operation darf nie ein Leerzeichen sein
3-18
Wenn Sie etwas eintippen, was FST nicht kennt, dann wird angenommen, dass Sie einen neuen Operanden definieren wollen. Sie erhalten dann die folgende Abfrage (Bild 3/22):
Nu
p um rz
Vo ersn
3-19
Nu
p um rz
Vo ersn
Bild 3/23: Jetzt whlen Sie die gewnschte Programmiersprache. Beachten Sie bitte, dass Sie zwischen Anweisungsliste und Kontaktplan nicht automatisch bersetzen knnen. Eine Festlegung fr eine der beiden Sprachen gilt also fr das gesamte Programm. Dagegen knnen innerhalb eines Projektes Programme mit verschiedenen Programmiersprachen gemischt werden Programm 0 knnte also in Anweisungsliste (AWL), Programm 12 aber in Kontaktplan (KOP) geschrieben sein.
Bild 3/24:
3-20
Nu
p um rz
Vo ersn
Bild 3/25: Typ: Programm oder BAP oder BAF hier bleibt es bei Programm Nummer: 0 ... 63 hier bleibt es bei 0 Version: 1 ... 9 hier bleibt es bei 1 Kommentar: Garagentorsteuerung Mit dem Klick auf OK wird das noch leere Programmfenster geffnet. Sollte die Schnelleingabe bei Ihnen nicht sichtbar sein, dann knnen Sie sie ffnen, indem Sie im Men Ansicht auf Schnelleingabe klicken.
3-21
Bild 3/26:
Nu
p um rz
Vo ersn
Nun soll die Garagentorsteuerung beschrieben werden. Wann soll das Tor ffnen? Das Tor soll sich ffnen, wenn entweder innen auf den Taster auf gedrckt wird ODER (auen auf den Taster auf UND gleichzeitig der Schlsselschalter bettigt) wird. Im Kontaktplan wird aus einem ODER eine Parallelschaltung, aus einem UND eine Reihenschaltung, aus einem NICHT ein ffnerkontakt.
Bild 3/27:
3-22
Auch die Nutzung des Symbols im Vergleich zur absoluten Operandenadresse ist frei gestellt. Das folgende Programm ist also gleichwertig:
Bild 3/28:
Nu
p um rz
Vo ersn
Bild 3/29:
Festo P.BE-FST4-LB-DE de 0402NH
3-23
Noch einige Hinweise zum Bedienen des KontaktplanEditors Ein Kontaktplan ist in Netzwerke unterteilt. Ein einzelnes Netzwerk besteht aus Kontakten und Spulen. Kontakte und Spulen knnen negiert werden. Kontakte knnen in Reihe und parallel geschaltet werden.
Nu
p um rz
Vo ersn
Neue Netzwerke werden entweder vor oder nach dem gerade aktuellen Netzwerk eingefgt.
Bild 3/30: Ein zustzlicher Kontakt in Reihe zu einem vorhandenen Kontakt wird eingefgt, indem der aktuelle Kontakt markiert wird und mit dem Kontaktsymbol der Schnelleingabe ein weiterer davor eingefgt wird.
Bild 3/31:
3-24
Ein Parallelkontakt wird zugefgt, indem der oder die Kontakte markiert werden, zu denen der neue Kontakt parallel sein soll. Anschlieend wird die Schnelleingabe bemht.
Nu
p um rz
Vo ersn
Bild 3/33: Ein Kontakt oder eine Spule werden negiert (oder die Negation aufgehoben), indem er/sie markiert und mit Hilfe der Schnelleingabe negiert wird.
Bild 3/34:
3-25
Eine Spule wird mit anderen Steuerungsattributen (S Setzen, R Rcksetzen, I Increment, zhle vorwrts, D Decrement, zhle rckwrts) versehen, indem sie markiert wird und anschlieend mit der Schnelleingabe rotierend die Mglichkeiten solange angeklickt werden, bis die gewnschte eingetragen ist.
Nu
p um rz
Vo ersn
Bild 3/36:
3-26
FST vermutet, Mist sei das Symbol fr einen neuen Operanden. Klicken Sie einfach auf Abbrechen (oder bettigen Sie die Esc-Taste), korrigieren Sie, und es geht weiter.
Nu
p um rz
Vo ersn
Zurck zum Garagentor: Beim Schlieen des Tors soll aus Sicherheitsgrnden der jeweilige Taster dauernd bettigt bleiben. Also knnen wir formulieren: Das Tor soll schlieen, wenn Innen oder Auen ZU gedrckt wird und das Tor noch nicht geschlossen ist. Sonst soll es wieder stehen bleiben.
Bild 3/37: Nun wird uns jeder Experte der Automatisierungstechnik sagen, dass wir noch einige Randbedingungen vergessen haben. Einmal muss sichergestellt werden, dass der Motor nicht in beide Richtungen gleichzeitig fahren kann. Folglich muss in beide Richtungen die Gegenrichtig mit abgefragt werden. Und zweitens muss gewhrleistet werden, dass gleichzeitiges Bettigen von ZU und AUF den Motor einfach stehen lsst.
3-27
Nu
p um rz
Vo ersn
Bild 3/38:
3-28
Auch wenn das so schon ganz schn aussieht, fehlt eine sehr wichtige Komponente: Die Kommentierung. Ein Programm ist nur dann wirklich gut, wenn auch der Kollege in 2 Jahren noch versteht, was damals beabsichtigt war. Daher sollte ein Programm vernnftig kommentiert sein. Vielleicht wre das folgende besser:
Nu
p um rz
Vo ersn
Bild 3/39:
3-29
3.1.5
bersetzen
Nicht immer ist die FST Software mit dem einverstanden, was wir schreiben. Beim bersetzen wird eine Syntaxkontrolle durchgefhrt, die das Programm auf formale Fehler durchsucht. Klicken Sie auf das Icon fr Alles bersetzen.
Nu
p um rz
Vo ersn
Bild 3/41:
3-30
Nu
p um rz
Vo ersn
Bild 3/42: FST meldet in diesem Beispiel 4 Fehler. Die 4 Fehler sollen zu finden sein in: CZ0P00V1.AWL[24] und CZ0P00V1.AWL[24] Operation und CZ0P00V1.AWL[28] erwartet und CZ0P00V1.AWL[29] erwartet DANN erwartet DANN Unzulssige
Wenn Sie in Kontaktplan programmiert haben, dann wechseln Sie bitte zum Kapitel Fehler im Kontaktplan.
3-31
Mit einem Doppelklick auf die Zeilennummer z.B. auf [24] wechselt FST automatisch an die angegebene Stelle.
p um z Bild 3/43: r Nu
Vo ersn
Unten rechts in der Statusleiste ist auerdem die aktuelle Zeilennummer zu sehen, wenn sich der Cursor im Programmierfenster befindet. In diesem Beispiel wurde in einem booleschen Satz zweimal der Satzanfang WENN eingetragen.
Fehler im Kontaktplan
Nicht immer klappt das auf Anhieb so schn. Das folgende Beispiel zeigt einen Fehler:
Bild 3/44:
3-32
Die drei Fehler sollen zu finden sein in: CZ0P00V1.OUT(13) Unbekannter Operand und CZ0P00V1.OUT(13) Einbitoperand erwartet und CZ0P00V1.OUT(19) Leerer Satzteil
Nu
p um rz
Vo ersn
Die Bedeutung ist: CZ0P00 Programm 00 (P00) V1 Version 1 [13] in Zeile 13 des bersetzten Codes. Ein Doppelklick auf den ersten Fehler ffnet das Programm 0 und positioniert den Cursor in das Netzwerk, in dem der Fehler vermutet wird.
Bild 3/45: In diesem Fall ist ein Kontakt ohne die Angabe des Operanden (Eingang, Ausgang, Merker ...) eingetragen.
3-33
3.1.6
Projekt laden
Jetzt schlieen Sie bitte Ihre Steuerung an Spannung an und verbinden Sie die Steuerung und Ihren ProgrammierPC mit dem Programmierkabel. In unserem Beispiel, dem FEC Compact FC20 wird das Programmierkabel KSD2 beim FEC in die mit COM bezeichnete Schnittstelle gesteckt, bei dem Programmier-PC in der Regel in die COM1 oder die COM2. Sobald Sie die Steuerung angeschlossen und das Programmierkabel gesteckt haben, knnen Sie testen, ob Sie eine Verbindung herstellen knnen, indem Sie das Icon Schalttafel benutzen.
Nu
p um rz
Vo ersn
Bild 3/46: Kommt die Verbindung zustande, erhalten Sie eine Meldung, die etwa so aussehen knnte:
Bild 3/47:
3-34
die Einstellungen an Ihrem PC. ffnen Sie das Men Extras, Eintrag FST-Einstellungen, Karte Schnittstelle zur Steuerung. Dort prfen Sie, ob die richtige serielle Schnittstelle und als Baudrate 9600 eingetragen sind.
Nu
p um rz
Vo ersn
Bild 3/48:
An der Steuerung muss die Power-LED grn leuchten und das Programmierkabel in der COM Schnittstelle stecken. Die RUN-LED kann je nach vorheriger Benutzung der Steuerung grn, orange oder rot leuchten.
Ist der Verbindungsaufbau gelungen, dann knnen Sie das Projekt laden.
3-35
Nu
p um rz
Vo ersn
Im Meldefenster muss die Meldung Laden beendet gegeben werden. Je nach vorhergegangener Nutzung Ihrer Steuerung, mssen Sie die Steuerung jetzt auf RUN stellen.
Hinweis Bitte prfen Sie die RUN-LED: Ist sie grn, dann arbeitet Ihre Steuerung bereits im RUN Modus. Ist die LED orange, dann mssen Sie die Steuerung mit dem RUN/STOP-Schiebeschalter9 auf RUN stellen.
Bild 3/50:
Wenn Sie einen FEC Standard verwenden, dann wird ein Drehschalter fr RUN/STOP verwendet. In Stellung 0 steht die Steuerung auf STOP, in jeder anderen Steuerung auf RUN.
3-36
3.1.7
Prfen
Hinweis Es ist natrlich von grter Bedeutung, zu prfen, ob ein Automatisierungsprojekt auch so arbeitet, wie es gewnscht ist. Dafr knnen Sie die entsprechend Taster und Grenztaster bettigen und beobachten, wie das Garagentor reagiert.
Nu
p um rz
Vo ersn
Es ist aber auch wichtig, zu beobachten, was die Steuerung macht und wie das Automatisierungsprojekt aus der Sicht der Steuerung reagiert. Sie haben hierfr vor allem zwei wesentliche Mglichkeiten. Einmal knnen Sie das Programm aktiv beobachten und zweitens die Ein- und Ausgnge. Fr die Programmbeobachtung ffnen Sie bitte das Fenster Ihres Programm0 und klicken mit der rechten Maustaste in dieses Fenster. Sie erhalten ein Kontextmen, unabhngig davon ob Sie in Anweisungsliste oder Kontaktplan programmiert haben, enthlt das Men den Eintrag Online.
Bild 3/51:
3-37
Aktivieren Sie den Online-Mode, dann wird im Programmfenster angezeigt, welchen Zustand die einzelnen Variablen haben (AWL) bzw. ob die Bedingung innerhalb eines Strompfades erfllt ist (KOP).
Nu
Bild 3/52:
p um rz
Vo ersn
Bild 3/53:
3-38
Im Programmfenster erkennen Sie im Online-Mode Zusammenhnge innerhalb des gerade sichtbaren Programmausschnittes. Oft ist es aber wichtig, Variablen auch unabhngig vom gerade sichtbaren Programmfenster zu beobachten. Daher knnen Sie das Online-Display aufrufen.
Nu
p um rz
Vo ersn
Bild 3/55: Im Display sehen Sie, dass die Eingnge E0.3, E0.4 und E0.7 aktiviert sind. Mit Hilfe dieser Beobachtungsmglichkeiten ist es sehr einfach, ein Projekt in Betrieb zu nehmen.
3-39
3.1.8
Dokumentation
Natrlich kann Ihnen niemand abnehmen, ein Handbuch fr Ihren Prozess oder Ihre Maschine zu schreiben. FST ermglicht aber, wichtige Dokumentationsaufgaben bereits innerhalb des Projektes zu bearbeiten. Dazu gehren:
Nu
p um rz
Vo ersn
Bild 3/56: Die Projektdokumentation ist normalerweise eine reine Textdatei. Wenn Sie auf Projektdokumentation doppelt klicken, wird eine Datei project.txt mit dem auf Ihrem Windows System aktivierten Texteditor geffnet. Die Datei wird im Projektverzeichnis Ihres aktuellen Projektes abgelegt.
Bild 3/57:
3-40
Nu
p um rz
Vo ersn
Bild 3/58: Whlen Sie diesen Eintrag, knnen Sie auswhlen, welche Komponenten der Projektdokumentation Sie wnschen.
Bild 3/59:
3-41
3.1.9
Nu
p um rz
Vo ersn
Bild 3/60: Im folgenden Dialog suchen Sie die Datei GAR_AWL.ZIP oder GAR_KOP.ZIP auf der CD und ffnen Sie sie.
3-42
3.2
Zusammenfassung
Die wichtigsten Erkenntnisse dieses Kapitels nochmals ganz kurz.
Nu
p um rz
Vo ersn
1 2 3
Hinweis Programmieren Sie in FST, dann erstellen Sie zuerst ein Projekt. Fr jede einzelne Steuerung (jede CPU) wird ein Projekt bentigt. Die Vorgehensweise entspricht der folgenden Tabelle.
Kommentar
Im Men Projekt In der Dialogbox Mit der FST Software knnen Sie ganz unterschiedliche CPUs einer ganzen Steuerungsfamilie programmieren.
4 5 6 7
Es drfte kaum ein Automatisierungsprojekt ohne Einund Ausgnge geben. Mindestens ein Programm 0 ist zwingend notwendig Hierzu werden Sie automatisch aufgefordert Dafr muss eine Verbindung zur Steuerung bestehen Und evtl. korrigieren, verbessern, optimieren Beschreiben, kommentieren, drucken
8 9
Prfen Dokumentieren
Tab. 3/1:
3-43
Beim Programmieren wird in der Regel zuerst die Belegliste fr die Ein- und Ausgnge erstellt. Ein FST Projekt bentigt immer ein Programm 0 Anweisungsliste Innerhalb eines Programms wird mit WENN ... DANN ... SONST programmiert WENN und DANN mssen in jedem Booleschen Satz genau ein Mal benutzt werden.
Nu
p um rz
Vo ersn
Innerhalb eines Programms werden Netzwerke programmiert Ein Netzwerk besteht aus Kontakten und Spulen.
3-44
Kapitel 4
Nu
p um rz
Vo ersn
4-1
Inhaltsverzeichnis
4. 4.1
Ein etwas greres Projekt mit FST: Die Bohrmaschine steuern . . . . . . . . Die Bohrmaschine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Die Bedienung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Die Aktorik und Sensorik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.3 Das Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.4 Die Belegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die ersten Schritte des Projektes in Anweisungsliste11/12 . . . . . . . . . . . . . 4.3.1 Programm starten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Sequentielles Programm (SCHRITT) . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Projekt laden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die ersten Schritte des Projektes in Kontaktplan15 . . . . . . . . . . . . . . . . . . . . 4.4.1 Programm starten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Sequentielles Programm (SCHRITT) . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Die Schrittprogrammierung mit Zhlern . . . . . . . . . . . . . . . . . . . . . 4.4.4 Projekt laden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-1 4-4 4-4 4-5 4-6 4-7 4-8 4-10 4-10 4-11 4-12 4-13 4-13 4-14 4-19 4-20
4.2 4.3
Nu
4.4
s per m r zu
4-2
Das Beispiel mit dem Garagentor war zum Anfang sehr schn, aber es fehlten doch sehr viele Eigenschaften, die Automatisierungstechnik erst interessant machen: Betriebsarten wie Automatik, Hand oder Tippen beispielsweise oder die schrittweise Bearbeitung eines Programms und vieles mehr.
Nu
p um rz
Vo ersn
Daher soll in diesem Kapitel ein etwas anspruchsvolleres Projekt angegangen werden: Die Bohrmaschine
Lassen Sie uns einige Randbedingungen definieren, wie es bei einem Automatisierungsprojekt immer der Fall ist.
4-3
4.1 4.1.1
Nu
p um rz
Vo ersn
Halt Stop
Die Bedienung der Bohrmaschine erfolgt ber ein Bedienpult. Dort sind folgende Taster angebracht: Funktion
Startet den automatischen Ablauf Stoppt den Ablauf bei Ende eines Zyklus (ffner) Wahlschalter, der zwischen Automatik- und Tippbetrieb umschaltet. Im Tippbetrieb wird der Start-Taster benutzt, um schrittweise weiter zu schalten Stoppt den Ablauf sofort (ffner) Wahlschalter, der zwischen Automatik- und Handbetrieb umschaltet. Der Handbetrieb kann nur eingeschaltet werden, wenn der Automatikbetrieb nicht aktiv ist Fhrt die Maschine in Grundstellung. Richten kann nur gestartet werden, wenn der Handbetrieb aktiv ist Taster fr den Spannzylinder im Handbetrieb Taster fr den Bohrzylinder im Handbetrieb Taster fr den Ausstozylinder im Handbetrieb Not Aus schaltet die Ausgnge der Steuerung spannungsfrei. Auerdem liefert Not-Aus ein Signal an einen Eingang, damit die Steuerung von Not Aus wei. Nach dem Lsen des Not-Aus muss die Anlage mit Richten in Grundstellung gefahren werden, um dann wieder gestartet werden zu knnen
Dauerlauf/ Tippbetrieb
Automatik/Hand
Richten
Funktion
Leuchtet, wenn die Anlage in Grundstellung steht und der Automatikbetrieb mit Start gestartet werden kann Leuchtet, solange das Richtprogramm aktiv ist Zeigt an, wenn Not-Aus bettigt ist oder war, bis die Maschine nach Not-Aus wieder in Grundstellung steht Zeigt an, wenn die Maschine im Dauerlauf arbeitet
Nu
p um rz
Vo ersn
Tab. 4/2:
4.1.2
4-5
4.1.3
Das Programm
Im Automatikbetrieb mssen die drei Zylinder den folgenden Bewegungsablauf fahren: A+ B+ B- A- C+ C-
Nu
p um rz
Vo ersn
Im Funktionsplan (wird nicht im FST generiert, hier nur grafisches Beispiel) ist der Bewegungsablauf wie folgt zu beschreiben:
Bild 4/61:
4-6
Operand Symbol E0.0 E0.1 E0.2 E0.3 E0.4 E0.5 E0.6 E0.7 E0.8 E0.9 E0.10 E0.11 E0.12 E0.13 E0.14 E0.15 A0.0 A0.1 A0.2 A0.3 A0.4 A0.5 A0.6 A0.7
Nu
p um rz
Entspannt Gespannt Gebohrt Bohr_oben Ausgeworf C_hinten Start Halt Dauerlauf Stop Automatik Richten H_ZylA H_ZylB H_ZylC Not_Aus Aplus Aminus Bohrer Auswerfer L_Start L_Richten L_Not L_Auto
Vo ersn
B1: Spannzylinder ist eingefahren B2: Spannzylinder ist ausgefahren B3: Bohrzylinder ist unten B4: Bohrzylinder ist oben B5: Auswerfer ist vorne B6: Auswerfer ist zurck S1: Taster Start S2: Taster Halt (ffner) S3: Schalter Dauerlauf (0=Tippbetrieb) S4: Taster Stop (ffner) S5: Schalter Automatik (0=Hand) S6: Taster Richten S7: Handtaster Spannzylinder S8: Handtaster Bohrzylinder S9: Handtaster Auswerfer S10: Not Aus Schalter (ffner) Y1: Spannzylinder ausfahren Y2: Spannzylinder zurckfahren Y3: Bohrzylinder Y3: Auswerfer H1: Lampe Start H2: Lampe Richten H3: Lampe Not Aus H4: Lampe Automatik Dauerlauf
Tab. 4/3:
einer Tabelle erstellt. Dies erlaubt das einfache kopieren und ndern. Dann habe ich die Tabelle komplett markiert, kopiert und in FST eingefgt. Dabei berwacht FST die korrekte Syntax, in diesem Beispiel vor allem die unzulssigen Lngen. Das Symbol darf max. 9 Zeichen haben, der Kommentar max. 36.
4-7
4.2
Programmorganisation
Um die Programmierung zu erleichtern, ist es heute allgemein blich, ein Projekt in Abschnitte, Blcke, Bausteine oder bei FST in Programme zu gliedern.
Nu
p um rz
Vo ersn
Bitte beachten Sie die folgenden Begriffe: Alles, was bei FST mit einer einzelnen Zentraleinheit (oder einer einzelnen Steuerung) zu tun hat, wird Projekt genannt. Innerhalb des Projektes gibt es Programme, exakt bis zu maximal 64 Programme, die von 0 bis 63 nummeriert werden, also P0 ... P63. Das Programm P0 spielt eine Sonderrolle. Es ist das Programm, das beim Einschalten der Steuerung automatisch gestartet wird. Ist es nicht vorhanden, gibt die Steuerung eine Fehlermeldung aus und schaltet auf Stop. Alle Programme knnen simultan arbeiten, man spricht von Multitasking. Um das Projekt Bohrmaschine zu organisieren, knnte man die Programme wir folgt organisieren: P0 Organisationsprogramm P1 Automatikprogramm und Tippen P2 Richten P3 Erkennen und Behandeln von Fehlern in der Maschine P4 Handprogramm
4-8
Nu
p um rz
Vo ersn
Tab. 4/4:
4-9
4.3
4.3.1
In Programm P0 soll vorlufig ohne jede Bedingung das Automatik-Programm gestartet werden. Dazu bedarf es nur zweier Zeilen13:
Nu
Tab. 4/5: Es ist also mglich, ein Programm genauso wie einen Ausgang einzuschalten (SETZE)14 und abzuschalten (RESET).
11 Dieses erste Bohrmaschinenprojekt finden Sie als BohrAWL1.zip auf Ihrer CD. 12 Mchten Sie in Kontaktplan programmieren, dann wechseln Sie zum Kaoitel 4.4. 13 Hinweis fr Kenner der FST Software fr FPC Steuerungen: Ein WENN NOP DANN PW gibt es nicht mehr. Die Operation PW ist entfallen. 14 Hinweis fr Kenner der FST Software fr FPC Steuerungen: Eine Abfrage WENN N PX DANN SETZE PX ist nicht mehr ntig. Der Befehl SETZE PX bewirkt bei aktivem PX keinen Rcksprung.
4-10
4.3.2
Automatikbetrieb der Bohrmaschine SCHRITT Aplus WENN Entspannt UND Bohr_oben UND C_hinten UND Not_Aus UND Stop UND Start DANN RESET Aminus SETZE Aplus SCHRITT Bplus WENN Gespannt DANN SETZE Bohrer WENN Gebohrt DANN RESET Bohrer WENN Bohr_oben DANN RESET Aplus SETZE Aminus SCHRITT Cplus WENN Entspannt DANN SETZE Auswerfer WENN Ausgeworf DANN RESET Auswerfer SP NACH Aplus
Nu
p um rz
Vo ersn
B1 an E0.0 Spannzylinder ist ein B4 an E0.3 Bohrzylinder ist oben B6 an E0.5 Auswerfer ist zurck S10 an E0.15 Not Aus (ffner) S4 an E0.9 Taster Stop (ffner) S1 an E0.6 Taster Start Y2 an A0.1 Spannzylinder zurck Y1 an A0.0 Spannzylinder ausfahren B2 Y3 B3 Y3 B4 Y1 Y2 B1 Y4 B5 Y4 an an an an an an an an an an an E0.1 A0.2 E0.2 A0.2 E0.3 A0.0 A0.1 E0.0 A0.3 E0.4 A0.3 Spannzylinder ist vorn BohrzylinderSCHRITT Bminus Bohrzylinder ist unten BohrzylinderSCHRITT Aminus Bohrzylinder ist oben Spannzylinder ausfahren Spannzylinder zurck Spannzylinder ist ein AuswerferSCHRITT Cminus Auswerfer ist vorne Auswerfer
Tab. 4/6:
4-11
4.3.3
Projekt laden
Mchten Sie diese erste einfache Fassung testen, dann mssen Sie fr die bersetzung des Projektes die Programme P2, P3 und P4 deaktiviert haben. Sie sind zwar angelegt, werden aber noch nicht benutzt und sind auch noch leer. Klicken Sie dafr lediglich mit der Maus in das entsprechende Kstchen.
Nu
p um rz
Vo ersn
Bild 4/63:
4-12
4.4
4.4.1
Nu
p um rz
In Programm P0 soll vorlufig ohne jede Bedingung das Automatik-Programm gestartet werden. Dazu bedarf es nur eines Netzwerkes:
Bild 4/64: Es ist also mglich, ein Programm genauso wie einen Ausgang einzuschalten (S)16 und abzuschalten (R). Beachten Sie bitte, dass das Programm P1 hier mit dem Attribut S gesetzt wird. Wird die Spule ohne dieses Attribut genutzt, dann wrde P1 nur einen einzigen Zyklus lang eingeschaltet werden.
15 Dieses erste Bohrmschinenprojekt finden Sie als BohrKOP1.zip auf Ihrer CD. 16 Hinweis fr Kenner der FST Software fr FPC Steuerungen: Eine Abfrage WENN N PX DANN SETZE PX ist nicht mehr ntig. Der Befehl SETZE PX bewirkt bei aktivem PX keinen Rcksprung.
Festo P.BE-FST4-LB-DE de 0402NH
4-13
Nu
p um rz
Vo ersn
Jeder Schritt erhlt eine einfache Selbsthaltung. Die Selbsthaltung wird gesetzt durch eine UND Verknpfung aus der bergangsbedingung fr diesen Schritt und der Abfrage, ob der vorherige Schritt aktiv ist.
Bild 4/65:
4-14
Eine Besonderheit stellen jeweils der erste und der letzte Schritt dar. Im ersten Schritt gibt es keine bergangsbedingung. Daher muss die Startbedingung ausreichend genau formuliert sein, damit die Steuerung nicht mitten im automatischen Ablauf versehentlich ein zweites Mal gestartet werden kann. Im Zweifelsfall mssen gegebenenfalls kritische Schritte darauf abgefragt werden, ob sie nicht aktiv sind. Im letzten Schritt gibt es keinen nachfolgenden Schritt. Daher wird der letzte Schritt nicht als Selbsthaltung programmiert. Er wird automatisch gelscht, sobald der vorherige gelscht wurde. Hierbei muss aber beachtet werden, dass fr Aktionen des letzten Schrittes nur ein einziger CPU Zyklus zur Verfgung steht. Gegebenenfalls muss also ein Schritt mehr programmiert werden, um sicher zu stellen, dass der letzte Schritt aktiv etwas bewirken kann.
Nu
p um rz
Vo ersn
Schlielich werden die Ausgnge der Steuerung am Ende des Programms geschaltet. Dabei wird jeweils fr jeden Ausgang untersucht, in welchen Schritten er aktiv sein muss. Das Programm knnte also so aussehen: Schrittkette Schritte 1 bis 3
4-15
Nu
p um rz
Vo ersn
Bild 4/66:
4-16
Nu
p um rz
Vo ersn
Bild 4/67:
4-17
Ausgnge schalten
Nu
Bild 4/68:
p um rz
Vo ersn
Hinweis Sind die in einem solchen Programm benutzten Merker remanent17, dann wird bei einem Stromausfall der zuletzt aktive Schritt erhalten bleiben. Wird das gewnscht, dann muss der Wiederanlauf nach Wiedereinschalten der Spannungsversorgung genau geplant werden. Sind die benutzten Merker nicht remanent, verlieren also ihren Inhalt bei Abschalten der Energieversorgung, dann beginnt das Programm nach dem Einschalten immer mit dem ersten Schritt. Im obigen Beispiel sind daher mit Bedacht die Merker 300.0 und folgende gewhlt, da dieser Merkerbereich bei den FEC Steuerungen (FECCompact, FEC-Standard) nicht remanent ist.
17 Remanenz bezeichnet das spannungsausfallsichere Verhalten eines SPS-Operanden. Bei Ausfall der elektrischen Energie bleibt der letzte Zustand erhalten der Merker also 0 oder 1. Nicht-remanente oder flchtige Operanden werden ohne Energieversorgung zu 0.
4-18
Bild 4/69:
Nu
p um rz
Vo ersn
Bild 4/70:
18
4-19
Nu
p um rz
Vo ersn
Mchten Sie diese erste einfache Fassung testen, dann mssen Sie fr die bersetzung des Projektes die Programme P2, P3 und P4 deaktiviert haben. Sie sind zwar angelegt, werden aber noch nicht benutzt und sind auch noch leer. Klicken Sie dafr lediglich mit der Maus in das entsprechende Kstchen.((FST_de_067))
Bild 4/71:
4-20
Kapitel 5
Nu
p um rz
Vo ersn
5-1
Inhaltsverzeichnis
5-1
Der SCHRITT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 Der Inhalt eines Schritts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Die Weiterschaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 Der Name des Schrittes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7 Der Sprung von Schritt zu Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 Der letzte Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 Die alternative Schrittkette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 Die parallele Schrittkette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Nu
p um rz
Vo ersn
5-2
Im vorigen Kapitel haben wir die Operation SCHRITT bereits Benutzt, aber weitgehend intuitiv, also ohne exakt zu wissen, warum welcher Schritt was bewirkt. In diesem Kapitel wollen wir den Geheimnissen der Operation SCHRITT19 etwas nher kommen.
Nu
p um rz
Vo ersn
Hier also einige Regeln Sobald in einem Programm die Operation SCHRITT verwendet wird ist in diesem Programm immer nur genau ein einziger Schritt aktiv wird von einem Schritt zum nchsten Schritt ber gegangen, wenn im letzten booleschen Satz (WENN ... DANN .. SONST) etwas getan werden kann. Das bedeutet, dass weiter geschaltet wird, wenn bei einem booleschen Satz, der nur aus WENN ... DANN besteht die Bedingung im WENN Teil erfllt ist oder bei einem booleschen Satz, der aus WENN ... DANN ... SONST besteht, der DANN-Teil (erfllte Bedingung) oder der SONST Teil (nicht erfllte Bedingung) bearbeitet wurden
kann zwischen Schritten mit der Operation SP NACH gesprungen werden muss im letzten Schritt ein Sprung definiert sein
berspringen.
5-3
5.1
Der SCHRITT
Die wesentliche Hilfestellung, die die Operation Schritt beim Programmieren liefert, ist genau diese eine: Wenn es Schritte in einem Programm gibt, dann kann immer nur genau ein einziger Schritt aktiv sein, alle brigen Schritte werden nicht beachtet. Stellen Sie sich ein Schrittprogramm mit 170 Schritten und 1800 Zeilen vor: Vorausgesetzt das Programm selbst ist aktiv (siehe das Kapitel Multitasking), dann wird von den 1800 Zeilen Programmcode immer nur genau der Abschnitt bearbeitet, der zu dem gerade aktiven Schritt gehrt. Betrachten Sie den Schritt Aminus im obigen Automatikprogramm. In diesem Schritt wird gefragt:
Nu
p um rz
Vo ersn
Bohr_oben Aplus Aminus
B4 an E0.3 Bohrzylinder ist oben Y1 an A0.0 Spannzylinder ausfahren Y2 an A0.1 Spannzylinder zurck
Tab. 5/1: Die Bedingung Bohr_oben, also dass der Bohrer oben steht, ist im Schritt Aplus ebenso erfllt. Diese Bedingung allein wrde also nicht ausreichen, um den Zylinder A wieder zurckfahren zu lassen. Zustzlich muss sicher gestellt sein, dass das Teil gespannt und gebohrt wurde
Die vorhergehenden Schritte mssen also bereits fertig bearbeitet worden sein, bevor der Schritt Aminus berhaupt beachtet wird. Man kann sich vorstellen, dass das Schrittprogramm nicht mehr 1800 Zeilen (um beim obigen Beispiel zu bleiben) lang ist, sondern nur noch 10 oder 15 Zeilen, also genau so lang, wie der aktuelle Schritt lang ist. Dies gilt so lange, bis zum nchsten Schritt weiter geschaltet wird. 5-4
Festo P.BE-FST4-LB-DE de 0402NH
5.2
5.3
Nu
p um rz
Die Weiterschaltung
Vo ersn
Natrlich ist es von wesentlicher Bedeutung, von einem Schritt zum nchsten weiter zu kommen. Die Weiterschaltung ist definiert als: Es wird vom gerade aktiven Schritt in den nchsten Schritt weiter geschaltet (d.h. der gerade aktive Schritt wird inaktiv und der nchste Schritt wird aktiv)wenn im letzten booleschen Satz (WENN ... DANN .. SONST) etwas getan werden kann. Das bedeutet, dass weiter geschaltet wird, wenn bei einem booleschen Satz, der nur aus WENN ... DANN besteht die Bedingung im WENN Teil erfllt ist oder bei einem booleschen Satz, der aus WENN ... DANN ... SONST besteht, der DANN-Teil (erfllte Bedingung) oder der SONST Teil (nicht erfllte Bedingung) bearbeitet wurden
Bitte beachten Sie: Gemeint ist hier immer der letzte boolesche Satz eines Schritts!
5-5
Beispiel:
DANN
SCHRITT Weiter
Tab. 5/2:
Nu
p um rz
RESET
Vo ersn
fr die Weiterschaltung vom Schritt Beispiel in den Schritt Weiter zustndig. Alle brigen Zeilen werden ausgefhrt, solange der Schritt aktiv ist (also mindestens ein Mal). Solange die Weiterschaltbedingung in diesem Beispiel ist das WENN M10.0 nicht erfllt ist, wird dieser Schritt zyklisch bearbeitet immer beginnend mit der ersten Zeile nach der Zeile SCHRITT Beispiel.
5-6
5.4
Nu
SCHRITT Aplus WENN UND UND UND UND N UND DANN RESET SETZE
p um rz
Vo ersn
Gespannt Bohrer Gebohrt Bohrer
B1 an E0.0 Spannzylinder ist ein B4 an E0.3 Bohrzylinder ist oben B6 an E0.5 Auswerfer ist zurck S10 an E0.15 Not Aus (ffner) S4 an E0.9 Taster Stop (ffner) S1 an E0.6 Taster Start Y2 an A0.1 Spannzylinder zurck Y1 an A0.0 Spannzylinder ausfahren B2 Y3 B3 Y3 an an an an E0.1 A0.2 E0.2 A0.2 Spannzylinder ist vorn BohrzylinderSCHRITT Bohrzylinder ist unten Bohrzylinder
SCHRITT WENN DANN SETZE WENN DANN RESET SCHRITT WENN DANN RESET SETZE
B4 an E0.3 Bohrzylinder ist oben Y1 an A0.0 Spannzylinder ausfahren Y2 an A0.1 Spannzylinder zurck B1 an E0.0 Spannzylinder ist ein Y4 an A0.3 Auswerfer B5 an E0.4 Auswerfer ist vorne Y4 an A0.3 Auswerfer
SCHRITT WENN Entspannt DANN SETZE Auswerfer SCHRITT WENN Ausgeworf DANN RESET Auswerfer SP NACH Aplus
Tab. 5/3:
5-7
Nur der Schritt Aminus wird angesprungen, bentigt also einen Schrittnamen. Schrittnamen drfen hchstens 9 Zeichen benutzen keine Sonderzeichen und auch kein Leerzeichen haben (A+ ist ebenso verboten wie A minus) niemals doppelt vergeben werden (innerhalb eines Programms). drfen auch Zahlen haben (Schritt1 ist ein gltiger Name, ebenso wie 1).
5.5
Nu
p um rz
Vo ersn
Von einem Schritt zum nchsten wird durch die Weiterschaltbedingung geschaltet. Im Grunde ist das ein impliziter Sprung, also ein Sprung, der programmiert ist, ohne dass es ausdrcklich geschrieben wird. Man knnte die Sprnge auch schreiben, ohne dass das Programm dadurch schlechter oder besser wrde, es wrde lediglich etwas mehr Schreibarbeit bedeuten.
5-8
Automatikbetrieb der BohrmaschineSCHRITT Aplus WENN Entspannt B1 an E0.0 Spannzylinder ist ein UND Bohr_oben B4 an E0.3 Bohrzylinder ist oben UND C_hinten B6 an E0.5 Auswerfer ist zurck UND Not_Aus S10 an E0.15 Not Aus (ffner) UND N Stop S4 an E0.9 Taster Stop (ffner) UND Start S1 an E0.6 Taster Start DANN RESET Aminus Y2 an A0.1 Spannzylinder zurck SETZE Aplus Y1 an A0.0 Spannzylinder ausfahren SP NACH Bplus SCHRITT Bplus WENN Gespannt DANN SETZE Bohrer SP NACH Bminus SCHRITT Bminus WENN Gebohrt DANN RESET Bohrer SP NACH Aminus
Nu
p um rz
Vo ersn
SCHRITT Aminus WENN Bohr_oben DANN RESET Aplus SETZE Aminus SP NACH Cplus SCHRITT Cplus WENN Entspannt DANN SETZE Auswerfer SP NACH Cminus SCHRITT Cminus WENN Ausgeworf DANN RESET Auswerfer SP NACH Aplus
B4 an E0.3 Bohrzylinder ist oben Y1 an A0.0 Spannzylinder ausfahren Y2 an A0.1 Spannzylinder zurck
Tab. 5/4:
5-9
Nun gibt es aber kaum noch Maschinen, die so einfach und geradlinig arbeiten, wie es dieses aller erste Bohrmaschinenprogramm noch versucht. In der Regel finden wir immer wieder Verzweigungen vor (und werden auch das Bohrmaschinenprogramm noch erweitern).
Nu
p um rz
Vo ersn
WENN DANN WENN DANN
Tab. 5/5: In diesem Schritt wird beispielsweise entschieden, welche Packungsgre produziert werden soll entweder groe oder kleine. Ist keine Packungsgre definiert, dann ist etwas falsch, folglich wird zum Schritt Fehler gesprungen. Was geschieht nun, wenn auf Grund einer seltsamen Situation groe und kleine Packungen gleichzeitig produziert werden sollen, wenn also die Variablen Gross und Klein beide wahr sind (1 oder High oder TRUE sind)? Dann arbeitet FST das Programm streng der Reihenfolge der Zeilen nach ab: In der ersten Zeile wird nach Gross gefragt. Ist diese Bedingung erfllt, wird in den Schritt Grosspack gesprungen. Dann geht es in diesem Schritt weiter. Die Abfrage nach Klein wird also berhaupt nicht mehr gelesen. Allgemein: Ist die Bedingung wahr, dann wird bei einem WENN ... DANN SP NACH sofort gesprungen. Alle Programmzeilen nach dem Sprung werden nicht mehr bearbeitet. 5-10
5.6
SCHRITT Cminus WENN Ausgeworf DANN RESET Auswerfer SP NACH Aplus WENN NOP DANN SP NACH Cminus
Tab. Nu5/6:
p um rz
Vo ersn
Die meisten Programmierer fgen einen bedingungslosen Sprung an. In unserem Beispiel wrde das so aussehen:
Das WENN NOP ist immer wahr, ist also eine bedingungslose Bedingung. Folglich wird in diesem letzten Schritt immer dann im gleichen Schritt weiter gearbeitet, bis die Bedingung WENN Ausgeworf erfllt ist.
5.7
Fr die Programmierung wird in einen Schritt die Abfrage auf die Alternative eingefgt
5-11
Nu
p um rz
Vo ersn
Tab. 5/7:
Hinweis Der aktive Schritt (in diesem Fall der SCHRITT Beispiel) wird inaktiv, sobald eine Bedingung erfllt ist und gesprungen ist. Es liegt also eine eindeutige Priorittenregel vor, sollten mehrere Bedingungen erfllt sein. Ist im obigen Beispiel sowohl die Bedingung Gross als auch die Bedingung Klein erfllt, dann wird zum SCHRITT Grosspack gesprungen.
5.8
5-12
Kapitel 6
Nu
p um rz
Vo ersn
6-1
Inhaltsverzeichnis
Multitasking mit FST: Betriebsarten der Bohrmaschine . . . . . . . . . . . . . . . Programme arbeiten simultan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programme beaufsichtigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programme zeitgesteuert starten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Daten austauschen zwischen Programmen . . . . . . . . . . . . . . . . . . . . . . . . . .
Nu
s per m r zu
6-2
Bisher haben wir fr die Bohrmaschine nur zwei Programme benutzt, genau genommen nur eines, denn im Programm P0 wird nur das Programm P1 gestartet. Die Nutzung von Programmen kann uns aber viel weiter helfen. Daher erst einmal einige Erluterungen zum Konzept der Programme.
6.1
Nu
p um rz
Vo ersn
FST untersttzt bis zu 64 Programme, die alle simultan arbeiten knnen. Simultan bedeutet, dass sie scheinbar gleichzeitig arbeiten. Das ist aber natrlich nicht ganz wahr. Denn es gibt in der Zentraleinheit keine 64 Mikroprozessoren, die die 64 Programme abarbeiten sondern nur genau einen. Folglich schaltet dieser eine Prozessor sehr schnell von Programm zu Programm. Ein ganzer Kreislauf des Prozessors, ein Prozessorzyklus, bearbeitet also alle 64 Programme nacheinander:
Bild 6/1:
6-3
Hinzu kommen am Anfang bzw. Ende das Bearbeiten der Einund Ausgnge: Am Anfang werden die Eingnge gelesen, am Ende geschrieben.
Nu
p um rz
Vo ersn
Bild 6/2: Der Prozessor wird also bei jedem Programm ganz kurz stoppen, nachsehen, ob es mit diesem Programm etwas zu tun gibt, wenn ja, dort erledigen, was zu erledigen ist, und weiter gehts zum nchsten Programm. Dies geschieht so schnell, dass es nach auen hin wirkt, als ob alle Programme gleichzeitig arbeiten wrden eben simultan, oder Multitasking.
6-4
6.2
Programme beaufsichtigen
Es ist oben bereits darauf hingewiesen worden, dass nur das Programm P0 eine Sonderrolle spielt, es wird beim Einschalten der Steuerung automatisch aktiviert. Alle brigen Programme werden von sich aus niemals aktiv sondern mssen ausdrcklich im Projekt aktiviert werden. Folglich werden Operationen bentigt, um Programme zu beaufsichtigen. Dafr gibt es vor allem zwei Operanden: P und PS. P ist das Programm selbst. Ein Programm kann eingeschaltet (SETZE) und ausgeschaltet (RESET) werden. Ein Programm kann auch abgefragt werden, ob es aktiv ist mit WENN P5 oder WENN N P5 ebenso wie es im Kontaktplan als Operand fr einen Kontakt oder eine Spule benutzt werden kann. PS ist der Programmstatus. Jedes Programm hat auch einen Programmstatus. Zum P0 beispielsweise gehrt also PS0. Der Programmstatus kann ein Programm mitten in der Programmausfhrung anhalten (RESET PS5) oder es kann die Ausfhrung fortgesetzt werden (SETZE PS5). Ebenso kann auch abgefragt werden, ob der Programmstatus aktiv ist (WENN PS5) oder inaktiv (WENN N PS5). Was ist der Unterschied zwischen Programm und Programmstatus? Fr den Kontaktplan ist der Programmstatus PS vollkommen bedeutungslos. Er existiert, wird aber nicht bentigt. In Anweisungsliste ist der Programmstatus wichtig fr die Bearbeitung von Programmen mit der Operation SCHRITT.
Nu
p um rz
Vo ersn
Nehmen Sie das Automatikprogramm fr die Bohrmaschine. Befindet sich das Programm beispielsweise im Schritt Bplus, dann soll der Bohrer nach unten gefahren werden.
6-5
Aus irgendeinem Grund (Not-Aus, Material klemmt oder sonst etwas) wird die Maschine angehalten. Der Bohrer gewechselt, das Material herausgenommen, und dann soll wieder vorne begonnen werden. Dafr wird das Programm P1 zuerst zurck gesetzt (RESET P1) und anschlieend ganz neu am Anfang gestartet (SETZE P1).
Nu
p um rz
Vo ersn
0 0 1 1
Aus einem anderen Grund muss das Programm angehalten werden (RESET PS1). Wird anschlieend mit SETZE PS1 das Programm fortgesetzt, dann wird es in diesem Schritt Bplus weiter arbeiten und nicht wieder am Anfang beginnen. Programm und Programmstatus kann wie folgt zusammen gefasst werden Zustand
Tab. 6/1:
6-6
6.3
Nu
p um rz
Vo ersn
6-7
6.4
Nu
p um rz
Vo ersn
6-8
Kapitel 7
Nu
p um rz
Vo ersn
7-1
Inhaltsverzeichnis
7-1
Automatikprogramm starten und stoppen . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 Der Tippbetrieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 Die Flankenerkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-10 7.3.1 Programmierung der Flankenerkennung . . . . . . . . . . . . . . . . . . . . . 7-11 Das Richtprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13
Nu
p um rz
Vo ersn
7-2
Die langen Vorreden dienten lediglich dazu, endlich das Programm der Bohrmaschine etwas nher an die Realitt von modernen Maschinensteuerungen zu bringen. Schlielich muss die Organisation der Betriebsarten wie Automatik, Hand usw. erst einmal programmiert sein.
7.1
Nu
p um rz
Vo ersn
Das Automatikprogramm wird mit Start gestartet und kann dann zyklisch arbeiten (spter kommt eine Abfrage hinzu, ob noch Material im Fallmagazin bereit liegt). Es darf aber nur gestartet werden, wenn die Maschine in Grundstellung steht, kein Stop, Halt oder Not-Aus bettigt ist und das Richt-Programm und das Hand-Programm nicht aktiv sind. Folglich knnen wir programmieren:
Automatik Betrieb WENN Grundstellung UND UND UND Anhalte-Tasten UND UND UND Programme UND N UND N DANN SETZE
H1 an A0.4 Lampe Start B1 an E0.0 Spannzylinder ist ein B4 an E0.3 Bohrzylinder ist oben B6 an E0.5 Auswerfer ist zurck S2 an E0.7 Taster Halt (ffner) S4 an E0.9 Taster Stop (ffner) S10 an E0.15 Not Aus (ffner) Richten Handbetrieb Automatik und Tippen
Tab. 7/1:
7-3
Da der Automatik-Betrieb nun im Dauerlauf arbeiten soll, muss das Automatik-Programm gendert werden:
Automatikbetrieb der Bohrmaschine SCHRITT Aplus WENN UND UND DANN RESET SETZE SCHRITT Bplus WENN DANN SETZE
B1 B4 B6 Y2 Y1
an an an an an
Spannzylinder ist ein Bohrzylinder ist oben Auswerfer ist zurck Spannzylinder zurck Spannzylinder ausfahren
B2 an E0.1 Spannzylinder ist vorn Y3 an A0.2 Bohrzylinder B3 an E0.2 Bohrzylinder ist unten Y3 an A0.2 Bohrzylinder B4 an E0.3 Bohrzylinder ist oben Y1 an A0.0 Spannzylinder ausfahren Y2 an A0.1 Spannzylinder zurck B1 an E0.0 Spannzylinder ist ein Y4 an A0.3 Auswerfer B5 an E0.4 Auswerfer ist vorne Y4 an A0.3 Auswerfer
SCHRITT Bminus WENN DANN RESET SCHRITT Aminus WENN DANN RESET SETZE SCHRITT Cplus WENN DANN SETZE
m r zu Nu
SCHRITT Cminus WENN Ausgeworf DANN RESET Auswerfer SP NACH Aplus WENN NOP DANN SP NACH Cminus
Tab. 7/2:
7-4
Jetzt arbeitet das Automatik-Programm zwar endlos, aber es kann nicht mehr angehalten werden. Dafr sind in der Bedienung zwei Tasten vorgesehen: STOP stoppt sofort, HALT stoppt nach Zyklusende. STOP ist sehr einfach zu programmieren, es setzt lediglich das Automatikprogramm zurck. HALT ist etwas aufwndiger, denn die HALT-Taste kann irgendwann whrend des Programmzyklus bettigt werden, wird aber erst am Zyklusende wirksam. Also bentigen wir einen Merker, der sich merkt, dass HALT bettigt wurde. Dieser Merker muss dann am Zyklusende eingreifen. Dann knnte die Organisation so erweitert werden:
Nu
Automatik stoppen WENN N DANN RESET Halt nach Zyklusende WENN N DANN SETZE
p um rz
Vo ersn
S4 an E0.9 Taster Stop (ffner) Automatik und Tippen S2 an E0.7 Taster Halt (ffner) Merker HALT bettigt
Tab. 7/3:
7-5
SCHRITT Cminus WENN DANN RESET SCHRITT Halt WENN UND N DANN SP NACH Aplus WENN DANN WENN DANN RESET RESET
B5 an E0.4 Auswerfer ist vorne Y4 an A0.3 Auswerfer B6 an E0.5 Auswerfer ist zurck Merker HALT bettigt Merker HALT bettigt Merker HALT bettigt Automatik und Tippen
Tab. 7/4:
Nu
p um rz
SP NACH Halt
Vo ersn
NOP
Wenn nun noch den jetzt benutzten Programmen P2 und P4 ein Minimalprogramm beigegeben wird, dann knnen wir das so vernderte Projekt bersetzen und benutzen.
WENN DANN
NOP NOP
Tab. 7/5:
7-6
7.2
Der Tippbetrieb
Der Tipp-Betrieb bedeutet, dass der automatische Ablauf schrittweise bearbeitet wird, wobei die Weiterschaltung von einem Schritt zum nchsten abhngig von einer zustzlichen Eingabe der Bedienungsperson ist. Es wird ein Tipp-Taster bentigt, der in unserem Beispiel mit dem Start-Taster verwirklicht wird. Allgemein knnte man formulieren:
Nu
p um rz
Vo ersn
Bild 7/1: Nun knnte man diese Bedingung natrlich in jeden Schritt einbinden. Nehmen wir als Beispiel den Schritt Aminus.
B4 an E0.3 Bohrzylinder ist oben Y1 an A0.0 Spannzylinder ausfahren Y2 an A0.1 Spannzylinder zurck
Tab. 7/6:
7-7
Soll die Weiterschaltbedingung so eingebunden werden wie vorher dargestellt, mssten wir programmieren:
Tab. 7/7:
Nu
p um rz
Vo ersn
B4 S3 S3 S1 Y1
an an an an an
Bohrzylinder ist oben Dauerlauf (0=Tippbetrieb) Dauerlauf (0=Tippbetrieb) Taster Start Spannzylinder ausfahren
Dieses Vorgehen wre mglich, blht aber das Automatikprogramm unntig auf. Die kombinierte UND/ODER Verknpfung, die unabhngig von der Prozessbedingung auf das Weiterschalten Einfluss hat, kann im Organisationsprogramm programmiert werden und als Merker im Automatikbetrieb benutzt werden. Im Organisationsprogramm knnen wir einmalig programmieren:
Weiterschaltmerker fr den Tippbetrieb WENN P1 Automatik und Tippen UND ( Dauerlauf S3 an E0.8 Dauerlauf (0=Tippbetrieb) ODER N Dauerlauf S3 an E0.8 Dauerlauf (0=Tippbetrieb) UND Start ) S1 an E0.6 Taster Start DANN SETZE M_Weiter Merker Weiterschaltbedingung Tippen SONST RESET M_Weiter Merker Weiterschaltbedingung Tippen
Tab. 7/8: um dann im Automatikprogramm diesen Merker in jeden Schritt einzufgen, der im Tippbetrieb zu warten hat:
B4 an E0.3 Bohrzylinder ist oben Merker Weiterschaltbedingung Tippen Y1 an A0.0 Spannzylinder ausfahren Y2 an A0.1 Spannzylinder zurck
Nu
p um rz
Vo ersn
B3 an E0.2 Bohrzylinder ist unten Merker Weiterschaltbedingung Tippen Y3 an A0.2 Bohrzylinder B4 an E0.3 Bohrzylinder ist oben Merker Weiterschaltbedingung Tippen Y1 an A0.0 Spannzylinder ausfahren Y2 an A0.1 Spannzylinder zurck B1 an E0.0 Spannzylinder ist ein Merker Weiterschaltbedingung Tippen Y4 an A0.3 Auswerfer B5 an E0.4 Auswerfer ist vorne Merker Weiterschaltbedingung Tippen Y4 an A0.3 Auswerfer
SCHRITT Cminus WENN Ausgeworf UND M_Weiter DANN RESET Auswerfer SP NACH Aplus WENN NOP DANN SP NACH Cminus
Tab. 7/10:
7-9
7.3
Die Flankenerkennung
Nun hat der so programmierte Tippbetrieb eine Eigenschaft, die je nach Anwendung mal als richtig mal als falsch erachtet wird.
Nu
p um rz
Vo ersn
Wenn die Maschine auf Tippbetrieb umgeschaltet ist, dann reicht es, sich auf dem Start-Taster auszuruhen (ihn stndig bettigt zu halten), damit der Ablauf kontinuierlich durchgearbeitet wird. In manchen Anwendungen wird verlangt, dass die Maschine mit einem Bettigen des Tasters auch genau einen Schritt weiter arbeiten kann. Was also in diesem Fall wirklich wnschen ist, dass die Maschine um einen Schritt weiter schaltet, wenn der Finger den Start Taster beginnt zu bettigen. Man spricht in der Automatisierungstechnik von der Flankenerkennung.
Bild 7/2: Die Weiterschaltung von Schritt zu Schritt soll mit der Steigenden Flanke, nicht aber mit dem 1-Signal erfolgen.
7-10
7.3.1
Tab. 7/11:
Nu
p um rz
Vo ersn
Merker Flankenerkennung Starttaste S1 an E0.6 Taster Start Merker Flankenerkennung Starttaste S1 an E0.6 Taster Start Merker Flankenerkennung Starttaste
Die Bedingung WENN N Flankenm UND Start ist fr genau einen Zyklus der Steuerung erfllt, wenn der Taster Start bettigt wird. Mit einer Umkehrung der Logik erhlt man die negative Flanke.
negative Flankenerkennung Taster Start negative Flankenerkennung Taster Start negative Flankenerkennung
Tab. 7/12:
7-11
Wollen wir bei der Bohrmaschine den Tippbetrieb so programmiert haben, dass fr jeden Schritt die Taste Start erneut bettigt werden muss, dann knnen wir unser Organisationsprogramm also erweitern:
Automatik Betrieb einschalten WENN L_Start H1 an A0.4 Lampe Start Grundstellung UND Entspannt B1 an E0.0 Spannzylinder ist ein UND Bohr_oben B4 an E0.3 Bohrzylinder ist oben UND C_hinten B6 an E0.5 Auswerfer ist zurck Anhalte-Tasten UND Halt S2 an E0.7 Taster Halt (ffner) UND Stop S4 an E0.9 Taster Stop (ffner) UND Not_Aus S10 an E0.15 Not Aus (ffner) Programme UND N P2 Richten UND N P4 Handbetrieb DANN SETZE P1 Automatik und Tippen Automatik stoppen WENN N Stop S4 an E0.9 Taster Stop (ffner) DANN RESET P1 Automatik und Tippen Halt nach Zyklusende WENN N Halt S2 an E0.7 Taster Halt (ffner) DANN SETZE M_HALT Merker HALT bettigt
Nu
p um rz
Vo ersn
Weiterschaltmerker fr den Tippbetrieb mit Flankenerkennung WENN P1 Automatik und Tippen UND ( Dauerlauf S3 an E0.8 Dauerlauf (0=Tippbetrieb) ODER N Dauerlauf S3 an E0.8 Dauerlauf (0=Tippbetrieb) UND Start UND N M_Weiter ) Merker Flankenerkennung Starttaste DANN SETZE M_Weiter Merker Weiterschaltbedingung Tippen Flankenerkennung lschen WENN N Start DANN RESET M_Weiter
Tab. 7/13:
7-12
7.4
Das Richtprogramm
Das Richtprogramm22 fr eine so kleine und einfache Anlage ist schnell programmiert. Bei greren System kann das Richtprogramm sehr komplex sein, denn es soll die Maschine aus jeder beliebigen Position heraus in Grundstellung fahren.
Nu
Auswerfer in Grundstellung fahren SCHRITT WENN NOP DANN RESET Auswerfer A0.3: Y3: Auswerfer
Bohrer in Grundstellung fahren SCHRITT WENN C_hinten E0.5: B6: Auswerfer ist zurck DANN RESET Bohrer A0.2: Y3: Bohrzylinder Spannzylinder in Grundstellung fahren SCHRITT WENN Bohr_oben E0.3: B4: Bohrzylinder ist oben DANN RESET Aplus A0.0: Y1: Spannzylinder ausfahren SETZE Aminus A0.1: Y2: Spannzylinder zurckfahren
p um rz
Vo ersn
Tab. 7/14: Beachten Sie bitte, dass in diesem Beispiel sich das Richtprogramm selbst abschaltet. Wenn also die Grundstellung erreicht ist, dann ist das Programm P2 abgeschaltet.
21 Sie finden das Projekt einschlielich Richtprogramm unter BohrAWL5.ZIP auf Ihrer CD.
7-13
p um Tab. 7/15: r z Nu
Vo ersn
Je nach Bedienungsphilosophie muss aber geklrt werden, unter welchen Bedingungen das Richtprogramm berhaupt aufgerufen wird. Sicherlich wird man es nicht zulassen, mitten im automatischen Ablauf auf den Richt-Taster zu reagieren. Fr die Zwecke dieses Beispiels mag es ausreichen, abzufragen ob das Automatikprogramm gestoppt wurde (nicht angehalten). Dafr wird das Organisationsprogramm erweitert:
Automatikprogramm E0.15: S10: Not Aus Schalter (ffner) E0.11: S6: Taster Richten Richten
Schlielich haben wir noch eine Lampe eingebaut, die anzeigen soll, wenn das Richtprogramm aktiv ist. Im Organisationsprogramm ist das einfach programmierbar.
Richten A0.5: H2: Lampe Richten A0.5: H2: Lampe Richten WENN Automatikprogramm A0.7: H4: Lampe Automatik Dauerlauf A0.7: H4: Lampe Automatik Dauerlauf
Tab. 7/16:
7-14
Kapitel 8
Nu
p um rz
Vo ersn
8-1
Inhaltsverzeichnis
8-1
Automatikprogramm starten und stoppen . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Der Tippbetrieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 Die Flankenerkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8 8.3.1 Programmierung der Flankenerkennung . . . . . . . . . . . . . . . . . . . . . 8-9 Das Richtprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-11
Nu
p um rz
Vo ersn
8-2
Die langen Vorreden dienten lediglich dazu, endlich das Programm der Bohrmaschine etwas nher an die Realitt von modernen Maschinensteuerungen zu bringen. Schlielich muss die Organisation der Betriebsarten wie Automatik, Hand usw. erst einmal programmiert sein.
8.1
Nu
p um rz
Vo ersn
Das Automatikprogramm wird mit Start gestartet und kann dann zyklisch arbeiten (spter kommt eine Abfrage hinzu, ob noch Material im Fallmagazin bereit liegt). Es darf aber nur gestartet werden, wenn die Maschine in Grundstellung steht, kein Stop, Halt oder Not-Aus bettigt ist und das Richt-Programm und das Hand-Programm nicht aktiv sind. Folglich knnen wir programmieren:
Bild 8/1: Da der Automatik-Betrieb nun im Dauerlauf arbeiten soll, muss im Automatik-Programm der Start Taster im dem ersten Schritt gelscht werden. Jetzt arbeitet das Automatik-Programm zwar endlos, aber es kann nicht mehr angehalten werden. Dafr sind in der Bedienung zwei Tasten vorgesehen: STOP stoppt sofort, HALT stoppt nach Zyklusende.
8-3
STOP ist sehr einfach zu programmieren, es setzt lediglich das Automatikprogramm zurck. HALT ist etwas aufwndiger, denn die HALT-Taste kann irgendwann whrend des Programmzyklus bettigt werden, wird aber erst am Zyklusende wirksam. Also bentigen wir einen Merker, der sich merkt, dass HALT bettigt wurde. Dieser Merker muss dann am Zyklusende eingreifen. Dann knnte die Organisation so erweitert werden:
Nu
p um rz
Vo ersn
Bild 8/2:
8-4
Nu
p um rz
Vo ersn
Bild 8/3: Wenn nun noch den jetzt benutzten Programmen P2 und P4 ein Minimalprogramm beigegeben wird, dann knnen wir das so vernderte Projekt23 bersetzen und benutzen.
8-5
8.2
Der Tippbetrieb
Der Tipp-Betrieb bedeutet, dass der automatische Ablauf schrittweise bearbeitet wird, wobei die Weiterschaltung von einem Schritt zum nchsten abhngig von einer zustzlichen Eingabe der Bedienungsperson ist. Es wird ein Tipp-Taster bentigt, der in unserem Beispiel mit dem Start-Taster verwirklicht wird. Allgemein knnte man formulieren:
Nu
Bild 8/4:
p um rz
Vo ersn
Nun knnte man diese Bedingung natrlich in jeden Schritt einbinden. Das wre allerdings recht aufwndig und wrde die bersichtlichkeit stark vermindern. Die kombinierte UND/ ODER Verknpfung, die unabhngig von der Prozessbedingung auf das Weiterschalten Einfluss hat, kann im Organisationsprogramm programmiert werden und als Merker im Automatikbetrieb benutzt werden.
8-6
Bild 8/5:
Nu
p um rz
Vo ersn
Bild 8/6:
24 Das ganze Projekt mit dieser Ergnzung finden Sie als BohrKOP4.ZIP auf Ihrer CD.
8-7
8.3
Die Flankenerkennung
Nun hat der so programmierte Tippbetrieb eine Eigenschaft, die je nach Anwendung mal als richtig mal als falsch erachtet wird.
Nu
p um rz
Vo ersn
Wenn die Maschine auf Tippbetrieb umgeschaltet ist, dann reicht es, sich auf dem Start-Taster auszuruhen (ihn stndig bettigt zu halten), damit der Ablauf kontinuierlich durchgearbeitet wird. In manchen Anwendungen wird verlangt, dass die Maschine mit einem Bettigen des Tasters auch genau einen Schritt weiter arbeiten kann nicht mehr! Was wir also in diesem Fall wirklich wnschen ist, dass die Maschine um einen Schritt weiter schaltet, wenn der Finger den Start Taster beginnt zu bettigen. Man spricht in der Automatisierungstechnik von der Flankenerkennung.
Bild 8/7: Die Weiterschaltung von Schritt zu Schritt soll mit der Steigenden Flanke, nicht aber mit dem 1-Signal erfolgen.
8-8
8.3.1
Nu
p um rz
Vo ersn
Bild 8/8: In diesem Programm wird die positive Flanke erkannt und schaltet fr genau einen Zyklus den Ausgang A0.0 auf 1. Mit einer Umkehrung der Logik erhlt man die negative Flanke.
8-9
Wollen wir bei der Bohrmaschine den Tippbetrieb so programmiert25 haben, dass fr jeden Schritt die Taste Start erneut bettigt werden muss, dann knnen wir unser Organisationsprogramm also erweitern:
Nu
p um rz
Vo ersn
Bild 8/9:
8-10
8.4
Das Richtprogramm
Das Richtprogramm26 fr eine so kleine und einfache Anlage ist schnell programmiert. Bei greren Systemen kann das Richtprogramm sehr komplex sein, denn es soll die Maschine aus jeder beliebigen Position heraus in Grundstellung fahren.
Nu
p um rz
Vo ersn
26 Sie finden das Projekt einschlielich Richtprogramm unter BohrKOP6.ZIP auf Ihrer CD.
8-11
Nu
p um rz
Vo ersn
Bild 8/10: Beachten Sie bitte, dass sich in diesem Beispiel das Richtprogramm selbst abschaltet. Wenn also die Grundstellung erreicht ist, dann ist das Programm P2 abgeschaltet.
8-12
Nu
Bild 8/11:
p um rz
Vo ersn
Je nach Bedienungsphilosophie muss aber geklrt werden, unter welchen Bedingungen das Richtprogramm berhaupt aufgerufen wird. Sicherlich wird man es nicht zulassen, mitten im automatischen Ablauf auf den Richt-Taster zu reagieren. Fr die Zwecke dieses Beispiels mag es ausreichen, abzufragen, ob das Automatikprogramm gestoppt wurde (nicht angehalten). Dafr wird das Organisationsprogramm erweitert:
Schlielich haben wir noch eine Lampe eingebaut, die anzeigen soll, wenn das Richtprogramm aktiv ist. Im Organisationsprogramm ist das beispielsweise so programmierbar.
Bild 8/12:
8-13
Nu
p um rz
Vo ersn
8-14
Kapitel 9
Nu
p um rz
Vo ersn
9-1
Inhaltsverzeichnis
9. 9.1
Zeiten und Zhler mit FST in Anweisungsliste . . . . . . . . . . . . . . . . . . . . . . . Der Zeitbaustein27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Beginnen wir mit einem einfachen Beispiel: . . . . . . . . . . . . . . . . . . 9.1.2 Der Timer ohne Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.3 Die Anzugsverzgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.4 Die Abfallverzgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.5 Der Blinker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Zhlerbaustein28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Der Vorwrtszhler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2 Der Rckwrtszhler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3 Der Zhler ohne den Zhler(baustein)29 . . . . . . . . . . . . . . . . . . . . . 9.2.4 Zeiten und Zhler kombinieren30 . . . . . . . . . . . . . . . . . . . . . . . . . . . Grenzen des Einsatzes von Zeiten und Zhlern . . . . . . . . . . . . . . . . . . . . . . . Praktische Anwendung von Zeiten und Zhler . . . . . . . . . . . . . . . . . . . . . . . . 9.4.1 Das Garagentor mit Zeiten/Zhlern32 . . . . . . . . . . . . . . . . . . . . . . .
9-1 9-3 9-4 9-7 9-8 9-10 9-12 9-13 9-13 9-15 9-18 9-20 9-23 9-24 9-24
9.2
Nu
9.3 9.4
s per m r zu
9-2
Es drfte kein Automatisierungsprojekt geben, in dem nicht Zeiten und nur wenige, in dem nicht Zhler verwendet werden. Also sollten wir uns mit Zeiten und Zhlern genau beschftigten. Zeiten und Zhler gehren zusammen. Denn ein Zeitbaustein ist ein Zhler, der Zeittakte zhlt. Der Zeitbaustein ist aber etwas einfacher zu handhaben als ein Zhler, da einige Zhlerfunktionen versteckt sind. Beginnen wir also mit den Zeiten.
9.1
Nu
p um rz
Bild 9/1: Ein Zeitbaustein bentigt mindestens drei Anschlsse: einen Eingang zum Start einen Eingang, um die Zeit einzustellen einen Ausgang, der mitteilt, ob der Baustein noch aktiv ist oder nicht.
27 Alle diese Zeitbeispiele finden Sie auf der CD unter dem Namen Zeit_DE.ZIP
9-3
In FST bekommen diese Ein- und Ausgnge einen Namen: Der Zeitbaustein (Timer) selbst wird T genannt. Da es 256 Timer gibt, gibt es also die Timer T0 ... T255 Gestartet wird die Zeit, indem dieser Baustein gesetzt wird: SETZE T0 Die eingestellte Zeit, der Sollwert, steht in der Timer-Vorwahl, TV0 ... TV255
9.1.1
p um rz
Vo ersn
Der Zeitbaustein selbst wird nach dem SETZE zu 1 und nach Ablauf der Zeit zu 0 Der aktuelle Zeitwert, der Istwert, steht im Timer-Wort, TW0 ... TW255
Bild 9/2:
9-4
SCHRITT Anfang WENN DANN SETZE MIT SCHRITT Zeit_ausw WENN DANN SETZE SONST RESET WENN DANN WENN DANN
Nu9/1: Tab.
DANN
p um rz
Vo ersn
Impulstimer Ausgang, der den Puls zeigt Ausgang, der den Puls zeigt Impulstimer Eingang zum Starten des Timers
SETZE
T0
Tab. 9/2: schaltet den Zeitbaustein ein. Die Zeit arbeitet, der Timerstatus T0 ist aktiv (1).
MIT
5s
Tab. 9/3: wird die Zeit definiert. Zulssige Werte hier sind 0.01s ... 655.35s. Bitte beachten Sie den Dezimalpunkt, nicht Dezimalkomma.
9-5
Im Online Display sehen wir den Status, den aktuellen Wert (Istwert) und den Vorwahlwert (Sollwert):
Bild 9/3:
WENN
Nu
p um rz
T0
Vo ersn
Impulstimer
Tab. 9/4: erfragt den booleschen Zustand des Timerbausteins, den Status des Timers. Ist der Timer 1, dann wird die Zeit noch bearbeitet, sie ist noch nicht beendet. Ist der Zustand 0, dann ist die Zeit abgelaufen, der Timer hat seine Arbeit erledigt und ist beendet.
9-6
9.1.2
WENN DANN
Nu
p um rz
Vo ersn
N
9-7
9.1.3
Die Anzugsverzgerung
Die Anzugsverzgerung hat die Eigenschaft, dass der Ausgang zu 1 wird, wenn die Zeit beendet ist UND der Eingang noch 1 ist. Grafisch wird das wie folgt dargestellt:
Nu
p um rz
Vo ersn
Bild 9/4: Die Anzugs- oder Einschaltverzgerung kann mit Schritten und ohne Schritte programmiert werden. Zuerst das Beispiel mit Schritten:
9-8
SCHRITT Anfang Die Zeit startet mit dem Eingang E0.5 WENN E0.5 Eingang fr Anzugsverzgerung DANN SETZE T2 Anzugsverzgerung mit Schritten MIT 5s SCHRITT warten Wenn der Eingang zu 0 wird, wird die Zeit abgebrochen WENN N E0.5 Eingang fr Anzugsverzgerung DANN RESET T2 Anzugsverzgerung mit Schritten SP NACH Anfang Wenn die Zeit abgelaufen ist und der Eingang noch aktiv, wird der Ausgang eingeschaltet WENN N T2 Anzugsverzgerung mit Schritten UND E0.5 Eingang fr Anzugsverzgerung DANN SETZE A0.5 Ausgang Anzugsverzgerung Schritte
Nu
SCHRITT Ende Wenn der Eingang zu 0 wird, wird auch der Ausgang abgeschaltet WENN N E0.5 Eingang fr Anzugsverzgerung DANN RESET A0.5 Ausgang Anzugsverzgerung Schritte SP NACH Anfang
p um rz
Vo ersn
9-9
9.1.4
Die Abfallverzgerung
Die Abfallverzgerung oder Ausschaltverzgerung schaltet einen Ausgang mit dem Eingang sofort ein und lsst ihn fr die vorgewhlte Zeit weiter eingeschaltet, nachdem der Eingang zu 0 geworden ist. ((FST_de_083))
Nu
p um rz
Vo ersn
Bild 9/5:
9-10
SCHRITT Anfang WENN DANN SETZE WENN DANN UND SETZE MIT
p um z Tab. r Nu9/8:
Vo ersn
E0.4 A0.3
Ausgang einschalten, Flankenmerker zurcksetzen WENN E0.4 Abschaltverzgerung starten DANN SETZE A0.2 Abschaltverz. ohne Schritte RESET M0.1 Flankenmerker Abschaltverzgerung Zeit starten, Flankenmerker setzen WENN N E0.4 Abschaltverzgerung starten UND A0.2 Abschaltverz. ohne Schritte UND N M0.1 Flankenmerker Abschaltverzgerung DANN SETZE T5 Abschaltverz. ohne Schritte MIT 5s SETZE M0.1 Flankenmerker Abschaltverzgerung Zeit ist beendet WENN N UND DANN RESET T5 M0.1 A0.2 Abschaltverz. ohne Schritte Flankenmerker Abschaltverzgerung Abschaltverz. ohne Schritte
Tab. 9/9:
9-11
9.1.5
Der Blinker
Nehmen wir an, wir mchten einen Ausgang mit einer Frequenz von 2 Sekunden (0,5 Hz) blinken lassen. Dann soll dieser Ausgang jeweils 1 Sekunde 1 und 1 Sekunde 0 sein. Auch diese Aufgabe lsst sich natrlich mit und ohne Schritte programmieren. Zuerst wieder die Version mit Schritten.
SCHRITT Anfang Zeit von 1 sek. starten und Ausgang einschalten WENN NOP DANN SETZE T6 Blinkzeit mit Schritten MIT 1s SETZE A0.1 Blinker mit Schritten SCHRITT warten Wenn 1 sek. beendet ist, Ausgang abschalten und Aus-Zeit starten WENN N T6 Blinkzeit mit Schritten DANN RESET A0.1 Blinker mit Schritten SETZE T6 Blinkzeit mit Schritten SCHRITT Ende Nach Ablauf der Aus-Zeit zurck springen WENN N T6 Blinkzeit mit Schritten DANN SP NACH Anfang
Nu
p um rz
Vo ersn
Tab. 9/10: Die Version ohne Schritte kann kurz und knapp lauten:
Der Timer startet sich jede Sekunde selbst Der Ausgang wechselt jede Sekunde seinen Zustand WENN N T7 Blinkzeit ohne Schritte DANN SETZE T7 Blinkzeit ohne Schritte MIT 1s LADE N A0.0 Ausgang blinkt ohne Schritte NACH A0.0 Ausgang blinkt ohne Schritte
Tab. 9/11:
9-12
9.2
Der Zhlerbaustein28
Genauso wie man den Zeitbaustein grafisch darstellen kann, kann man auch den Zhler betrachten. Im Vergleich zum Zeitbaustein bentigen wir aber zustzliche Anschlsse.
Nu
p um rz
Vo ersn
Bild 9/6: Einige praktische Beispiele sollen Mglichkeiten des Umgangs mit Zhlers zeigen.
9.2.1
Der Vorwrtszhler
Nehmen wir folgende Aufgabe an: Das Signal an einem Eingang soll gezhlt werden. Nach 5 Signalen soll ein Ausgang eingeschaltet werden. Mit einem Reset-Eingang wird zu jeder Zeit der Zhler zurckgesetzt und der Ausgang abgeschaltet.
28 Alle Beispiele zum Zhlerbaustein finden Sie auf der CD unter dem Namen Zaehler.ZIP
9-13
Laden des Sollwertes SCHRITT Anfang WENN NOP DANN LADE K5 NACH ZV0 SETZE Z0
Zhlen und berwachen des Reset-Eingangs SCHRITT Zhlen WENN E0.1 Zhler rcksetzen DANN SP NACH Anfang WENN DANN
Zhler auswerten SCHRITT Weiter WENN E0.1 DANN RESET Z0 SP NACH Anfang
Nu
p um rz
ZV
Vo ersn
E0.0 Z0 E0.0 Z0 E0.0 Z0 A0.0
Eingangssignal, das gezhlt wird Vorwrtszhler Eingangssignal, das gezhlt wird Vorwrtszhler Zeigt Ende Zhlvorgang
Zurcksetzen SCHRITT Reset WENN E0.1 DANN RESET A0.0 SP NACH Anfang WENN NOP DANN SP NACH Reset
Tab. 9/12:
9-14
Ein reines Verknpfungsprogramm ohne Schritte bentigt einen Flankenmerker fr den Zhleingang selbst und ebenso einen Anfang. Hier wird der Merker MI benutzt, der in jedem Programm zur Verfgung steht. Der MerkerInitialisierung ist fr genau einen Zyklus nach dem Einschalten des Programms aktiv.
Mit dem Einschalten des Programms oder durch den Eingang E0.1 wird der Sollwert auf 5 gesetzt WENN MI Initialisierungsmerker ODER E0.1 Zhler rcksetzen DANN LADE K5 NACH ZV1 Sollwert Zhler 1 SETZE Z1 Zhler 1 RESET A0.1 Zhlergebnis
Nu
p um rz
Vo ersn
N
Eingangssignal, das gezhlt wird Flankenerkennung Zhler Flankenerkennung Zhler Zhler 1 Eingangssignal, das gezhlt wird Flankenerkennung Zhler Zhler 1 Zhlergebnis
Flankenmerker zurcksetzen WENN N E0.0 DANN RESET M0.0 Zhler auswerten WENN N DANN SETZE Z1 A0.1
Tab. 9/13:
9.2.2
Der Rckwrtszhler
Der Rckwrtszhler unterscheidet sich vom Vorwrtszhler nur unwesentlich. Der Rckwrtszhler zeigt an, wie viele Teile noch fehlen, der Vorwrtszhler zeigt an, wie viele Teile bereits gezhlt wurden.
9-15
Anstelle des Befehls SETZE ZX wird hier der Istwert des Zhlers auf den Anfangswert geladen. Der Sollwert wird nicht nher betrachtet, da das Ziel jetzt die 0 ist. Der Zhlvorgang selbst benutzt den Befehl fr das Rckwrtszhlen, ZR.
Laden des Sollwertes SCHRITT Anfang WENN NOP DANN LADE K5 NACH ZW2
Zhlen und berwachen des Reset-Eingangs SCHRITT Zhlen WENN E0.3 Rckwrtszhler rcksetzen DANN SP NACH Anfang WENN DANN
Nu
p um rz
ZR
Vo ersn
E0.2 Z2
Zhler auswerten SCHRITT Weiter WENN E0.3 DANN RESET Z2 SP NACH Anfang WENN DANN WENN DANN UND SETZE N E0.2 UND Z2 SP NACH Zhlen N N E0.2 Z2 A0.2
Rckwrtszhler rcksetzen Rckwrtszhler mit Schritten Zhleingang Rckwrtszhler Rckwrtszhler mit Schritten Zhleingang Rckwrtszhler Rckwrtszhler mit Schritten Zhlergebnis Rckw. Schritte
Zurcksetzen SCHRITT Reset WENN E0.3 DANN RESET A0.2 SP NACH Anfang
Tab. 9/14:
9-16
Mit dem Einschalten des Programms oder durch den Eingang E0.1 wird der Sollwert auf 5 gesetzt WENN MI Initialisierungsmerker ODER E0.3 Rckwrtszhler rcksetzen DANN LADE K5 NACH ZV3 Sollwert Rckw.-Z. ohne Schritte NACH ZW3 Istwert Zhler 3 RESET A0.3 Zhlergebnis Rckwrtszhler Zhlen WENN UND DANN SETZE ZR
Nu
Flankenmerker zurcksetzen WENN N E0.2 DANN RESET M0.1 Zhler auswerten WENN N DANN SETZE Z3 A0.3
p um rz
Vo ersn
N
Zhleingang Rckwrtszhler Flankenerkennung Rckwrtszhler Flankenerkennung Rckwrtszhler Rckwrtszhler ohne Schritte Zhleingang Rckwrtszhler Flankenerkennung Rckwrtszhler Rckwrtszhler ohne Schritte Zhlergebnis Rckwrtszhler
Tab. 9/15:
9-17
9.2.3
Nu
p um rz
Vo ersn
29 Das hier beschriebene Projekt finden Sie auf der CD unter dem Namen Stueckz.ZIP
9-18
Rcksetzen des Stckzhlers WENN E0.1 Eingang Rcksetzen Stckzhler DANN LADE K0 NACH MW0 Stckzhler Zhlen WENN UND DANN ZV SETZE WENN DANN
Nu
Auswertung Stckzahl im roten Bereich WENN MW0 Stckzhler < K10 DANN SETZE A0.0 ROT RESET A0.1 GELB RESET A0.2 GRN
p um rz
RESET
Vo ersn
N
Signal Stckzhler Flankenerkennung Eingangssignal Stckzhler Flankenerkennung Eingangssignal Signal Stckzhler Flankenerkennung Eingangssignal
Auswertung Stckzahl im gelben Bereich WENN ( MW0 Stckzhler < K20 ) UND ( MW0 Stckzhler >= K10 ) DANN RESET A0.0 ROT SETZE A0.1 GELB RESET A0.2 GRN Auswertung Stckzahl im roten Bereich WENN MW0 Stckzhler >= K20 DANN RESET A0.0 ROT RESET A0.1 GELB SETZE A0.2 GRN
Tab. 9/16:
9-19
9.2.4
Nu
p um rz
Vo ersn
Prinzipiell knnen alle drei Messungen mit nahezu identischen Programmen durchgefhrt werden: Ein pro Zyklus einmal wechselndes Signal zhlt einen Zhler jeweils um 1 nach oben. Alle Sekunde (oder Minute oder Stunde ...) wird der Zhlerstand abgefragt, gespeichert und der Zhler beginnt wieder von vorne. Nun knnen wir aus Zhlerstand und Zeit die Zykluszeit fr einen einzelnen Zyklus berechnen.
9-20
Zykluszeitmessung
Zum Einstieg soll die interne Zykluszeit der CPU gemessen werden. Hierfr wird ein Merkerwort benutzt, das in jedem CPU Zyklus einmal hoch gezhlt wird. Jede Sekunde wird der Endstand erfasst, gespeichert und umgerechnet31 .
Das Merkerwort 0 wird in jedem CPU Zyklus um 1 erhht WENN NOP DANN ZV MW0 Wird in jedem CPU Zyklus um 1 erhht Ein Timer wird jede Sekunde einmal gestartet WENN N T0 Jede Sekunde messen DANN SETZE T0 Jede Sekunde messen MIT 1s Zugleich wird jede Sekunde der Zhlerwert gespeichert LADE MW0 Wird in jedem CPU Zyklus um 1 erhht NACH R0 Zwischenspeicher Zyklenzhler Und der Zyklenzhler neu gestartet LADE K0 NACH MW0 Wird in jedem CPU Zyklus um 1 erhht
Nu
p um rz
Vo ersn
Auswertung der Zhlerstandes WENN R0 Zwischenspeicher Zyklenzhler <> K0 DANN LADE K1000 / R0 Zwischenspeicher Zyklenzhler NACH R1 Dauer eines Zyklus in ms
Tab. 9/17:
31 Beachten Sie bitte bei Ihren Tests: Die meisten Steuerungen haben eine Mindest-Zykluszeit. Diese wird nicht krzer, gleichgltig wie klein Ihr Projekt ist. Um zu berechnen, wie viel Zeit die Steuerung pro Anweisung bentigt, mssen zwei Messungen erfolgen. Eine mit X Zeilen Anweisung und weitere mit X+Y Zeilen Anweisung. Aus den unterschiedlichen Zeiten kann man die Zeit pro Anweisung berechnen.
9-21
Reaktionszeitmessung
Fr die Reaktionszeitmessung, also die Messung der Zeit, die vom Anlegen eines Signals an einer Eingangsklemme bis zum Umschalten eines Ausgangs vergeht, bentigen wir ein wenig Hardware: Ein Eingang und ein Ausgang werden an der Steuerung miteinander verdrahtet. Im Programm fhrt jedes Umschalten des Eingangs zu einem vernderten Ausgangssignal.
Schalten des Ausgangs WENN N E1.0 DANN SETZE A0.7 SONST RESET A0.7 Zhlen WENN UND DANN ZV SETZE WENN DANN RESET N E1.0 M2.0 MW3 M2.0 E1.0 M2.0 T1 T1 1s MW3 R2 K0 MW3 R2 K1000 R2 R3
Nu
Merkerwort 0 wird in jedem CPU Zyklus um 1 erhht NOP ZV MW0 Wird in jedem CPU Zyklus um 1 erEin Timer wird jede Sekunde einmal gestartet N T0 Jede Sekunde messen SETZE T0 Jede Sekunde messen
p um rz
Vo ersn
Eingang fr Reaktionszeitmessung Ausgang fr Reaktionszeitmessung Ausgang fr Reaktionszeitmessung Eingang fr Reaktionszeitmessung Flankenmerker fr Reaktionszeitmessu Reaktionszeitzhler Flankenmerker fr Reaktionszeitmessu Eingang fr Reaktionszeitmessung Flankenmerker fr Reaktionszeitmessu Zeit fr Reaktionszeitmessung Zeit fr Reaktionszeitmessung Reaktionszeitzhler Zwischenspeicher fr Reaktionszeit Reaktionszeitzhler Zwischenspeicher fr Reaktionszeit Zwischenspeicher fr Reaktionszeit Reaktionszeit in ms
Auswerten WENN DANN SETZE MIT LADE NACH LADE NACH Umrechnen WENN <> / NACH
9.3
Nu
p um rz
Vo ersn
Ein Zeitbaustein zhlt den internen Zeitzhler alle 10 ms um 1 nach unten. Dieser Zeittakt arbeitet vllig unabhngig von jeder Anwendung und jedem Prozess. Tritt nun in der Anwendung ein Ereignis auf, das verzgert werden soll, dann vergeht von diesem Ereignis bis zum ersten Zhltakt eine unbestimmte Zeit zwischen 10 und 0 ms. Daraus ergibt sich, dass jede FST Zeit einen Fehler von bis zu 10 ms hat. Daher sollte im Programm niemals eine Zeit programmiert werden, die kleiner als 2 x 10 ms ist (und diese Zeit hat dann einen Fehler von maximal 10ms, das heit maximal 50%).
9-23
9.4 9.4.1
Praktische Anwendung von Zeiten und Zhler Das Garagentor mit Zeiten/Zhlern32
Nu
p um rz
Vo ersn
In Kapitel 3 wurde das Garagentor programmiert. Das dort benutzte Projekt Garage soll jetzt erweitert werden um zwei Funktionen: Die Bewegungen des Garagentors werden gezhlt. Nach 2000 Zyklen soll mit Hilfe eines Ausgangs angezeigt werden, dass die Mechanik gewartet werden muss. Ein zustzlicher Quittiereingang setzt den Zhler zurck. Das Endschaltersignal Tor ist geschlossen soll um 1 Sekunde verzgert werden, um Ungenauigkeiten beim Einbau des Endschalters auszugleichen.
Das Programm zur Zhlung der Betriebszyklen wird am Besten in einem eigenstndigen Programm abgelegt. Dort kann es heien:
Der Zyklenzhler wird mit dem Quittiereingang zurck gesetzt WENN E0.7 Zyklenzhler quittieren DANN LADE K2000 NACH ZV0 Sollwert Zyklenzhler SETZE Z0 Zyklenzhler Das Grenztastersignal >Tor ist offen< liefert das Signal zum Zhlen der Torzyklen WENN E0.0 Grenztaster Garagentor ist offen UND N M0.0 Flankenmerker Zyklenzhler DANN ZV Z0 Zyklenzhler SETZE M0.0 Flankenmerker Zyklenzhler WENN DANN N RESET E0.0 M0.0 Grenztaster Garagentor ist offen Flankenmerker Zyklenzhler
Nach 2000 Zyklen wird auf die Wartung hingewiesen WENN N Z0 Zyklenzhler DANN SETZE A0.7 Wartung ist ntig SONST RESET A0.7 Wartung ist ntig
Tab. 9/19:
32 Dieses Beispiel finden Sie als Gar_Zt.Zip auf Ihrer CD.
9-24
Die Verzgerung des Grenztasters gehrt direkt in das Programm der Torsteuerung. Hier wird also ergnzt:
Projekt: Garage Autor: Bernhard Plagemann Garagentor ffnen WENN Auf_In Taster innen AUF ODER ( Auf_auss Taster auen AUF UND Schluess )Schlsselschalter auen UND N Motor_Zu Garagentor schlieen UND N Zu_In Taster Innen ZU UND N Zu_Auss Taster auen ZU DANN SETZE Motor_Auf Garagentor ffnen Garagentor stoppen Grenztaster Garagentor ist offen ODER Zu_In Taster Innen ZU ODER Zu_Auss Taster auen ZU DANN RESET Motor_Auf Garagentor ffnen
Nu
Garagentor schlieen WENN ( Zu_In ODER Zu_Auss ) UND N M0.2 UND N Motor_Auf UND N Auf_In UND N Auf_auss DANN SETZE Motor_Zu SONST RESET Motor_Zu
p um rz
Vo ersn
Taster Innen ZU Taster auen ZU Tor ist geschlossen Garagentor ffnen Taster innen AUF Taster auen AUF Garagentor schlieen Garagentor schlieen
Signal >Tor geschlossen< verzgern WENN geschloss Grenztaster Garage ist geschlossen UND N M0.1 Flankenerkennung Anzugsverzgerung UND N T0 Verzgerung Tor geschlossen DANN SETZE T0 Verzgerung Tor geschlossen MIT 1s SETZE M0.1 Flankenerkennung Anzugsverzgerung WENN DANN WENN UND DANN SETZE SONST RESET N RESET RESET N geschloss Grenztaster Garage ist geschlossen M0.1 Flankenerkennung Anzugsverzgerung T0 Verzgerung Tor geschlossen T0 geschloss M0.2 M0.2 Verzgerung Tor geschlossen Grenztaster Garage ist geschlossen Tor ist geschlossen Tor ist geschlossen
Tab. 9/20:
9-25
Nu
p um rz
Vo ersn
9-26
Kapitel 10
Nu
p um rz
Vo ersn
10-1
Inhaltsverzeichnis
10. 10.1
Zeiten und Zhler mit FST in Kontaktplans . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Der Zeitbaustein33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Beginnen wir mit einem einfachen Beispiel: . . . . . . . . . . . . . . . . . . 10.1.2 Die Einschaltverzgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.3 Die Abfallverzgerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.4 Der Zeitbaustein im Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Zhlerbaustein34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 10.2.2 Nu 10.2.3
10.2
s per m r zu
10.3
10-2
Es drfte kein Automatisierungsprojekt geben, in dem nicht Zeiten und nur wenige, in dem nicht Zhler verwendet werden. Also sollten wir uns mit Zeiten und Zhlern genau beschftigten. Zeiten und Zhler gehren zusammen. Denn ein Zeitbaustein ist ein Zhler, der Zeittakte zhlt. Der Zeitbaustein ist aber etwas einfacher zu handhaben als ein Zhler, da einige Zhlerfunktionen versteckt sind. Beginnen wir also mit den Zeiten.
10.1
Nu
p um rz
Bild 10/1: Ein Zeitbaustein bentigt mindestens drei Anschlsse: einen Eingang zum Start einen Eingang, um die Zeit einzustellen einen Ausgang, der mitteilt, ob der Baustein noch aktiv ist oder nicht.
33 Alle Zeitbeispiele finden Sie auf der CD unter dem Namen ZeitKOP.ZIP
10-3
In FST bekommen diese Ein- und Ausgnge einen Namen: Der Zeitbaustein (Timer) selbst wird T genannt. Da es 256 Timer gibt, gibt es also die Timer T0 ... T255 Gestartet wird die Zeit, indem dieser Baustein in einer Spule aufgerufen wird Die eingestellte Zeit, der Sollwert, steht in der Timer-Vorwahl, TV0 ... TV255 Der Zeitbaustein selbst wird nach dem Aufruf zu 1 und nach Ablauf der Zeit zu 0
Nu
p um rz
Vo ersn
Der aktuelle Zeitwert, der Istwert, steht im Timer-Wort, TW0 ... TW255
Bild 10/2:
10-4
Bild 10/3:
Nu
p um rz
Vo ersn
Im Online Display sehen wir den Status, den aktuellen Wert (Istwert) und den Vorwahlwert (Sollwert):
Bild 10/4:
10-5
Nu
p um rz
Vo ersn
Bild 10/5:
10-6
Nu10/6: Bild
p um rz
Vo ersn
10-7
Nu
Bild 10/7:
p um rz
Vo ersn
Im Kontaktplan wird der Timer TA genannt und erhlt damit die Eigenschaften der Abschaltverzgerung.
Bild 10/8:
10-8
Nu
p um rz
Vo ersn
Der Timerstatus ist ein Bit-Operand, er kann also in einer Spule genutzt werden. Timervorwahl und Timerwort sind 16 Bit Operanden, Werte knnen also geladen (nach), ausgelesen, verglichen, hochgezhlt (Increment) oder heruntergezhlt (Decrement) werden. Die Timer arbeiten immer mit einer Zeitkonstante von 10 ms (0,01 s). Schreiben wir also in eine Timervorwahl den Wert 50, dann ergibt sich eine Zeit von 50 x 10 ms = 500 ms = 0,5 s. Das folgende Beispiel zeigt den direkten Zugriff auf Timerkomponenten.
10-9
Nu
p um rz
Vo ersn
Bild 10/9:
10-10
Nu
p um rz
Vo ersn
Bild 10/10: Einige praktische Beispiele sollen Mglichkeiten des Umgangs mit Zhlern zeigen.
34 Die Beispiele zum Zhlerbaustein in Kontaktplan finden Sie auf der CD unter ZaehKOP.ZIP
10-11
Nu
p um rz
Vo ersn
Bild 10/11:
Hinweis Der Zustand des Zhlers (hier Z1) ist bei einer neuen leeren Steuerung 0, d.h. der Zhler ist inaktiv. Im obigen Programmbeispiel wrde dies dazu fhren, dass der Ausgang A0.0 eingeschaltet wird. Es wird nmlich in diesem Beispiel nicht unterschieden, ob der Zhler zu 0 geworden ist, weil bis zur Zhlervorwahl hochgezhlt wurde, oder weil der Zhler noch nie aktiviert wurde.
10-12
Nu
p um rz
Vo ersn
Bild 10/12:
10-13
Nu
p um rz
Vo ersn
Prinzipiell knnen alle drei Messungen mit nahezu identischen Programmen durchgefhrt werden: Ein pro Zyklus einmal wechselndes Signal zhlt einen Zhler jeweils um 1 nach oben. Alle Sekunde (oder Minute oder Stunde ...) wird der Zhlerstand abgefragt, gespeichert und der Zhler beginnt wieder von vorne. Nun knnen wir aus Zhlerstand und Zeit die Zykluszeit fr einen einzelnen Zyklus berechnen.
Zykluszeitmessung
Zum Einstieg soll die interne Zykluszeit der CPU gemessen werden. Hierfr wird ein Merkerwort benutzt, das in jedem CPU Zyklus einmal hoch gezhlt wird.
10-14
Nu
p um rz
Vo ersn
Bild 10/13:
31 Beachten Sie bitte bei Ihren Tests: Die meisten Steuerungen haben eine Mindest-Zykluszeit. Diese wird nicht krzer, gleichgltig wie klein Ihr Projekt ist. Um zu berechnen, wie viel Zeit die Steuerung pro Anweisung bentigt, mssen zwei Messungen erfolgen. Eine mit X Zeilen Anweisung und weitere mit X+Y Zeilen Anweisung. Aus den unterschiedlichen Zeiten kann man die Zeit pro Anweisung berechnen.
Festo P.BE-FST4-LB-DE de 0402NH
10-15
Nu
p um rz
Vo ersn
Eine Zeit kann damit bis zu 65 535 Zeittakte zhlen. Da jeder FST Zhler mit dem Zeittakt von 10 ms = 0,01 s arbeitet, kann die lngste Zeit mit einem Zeitbaustein folglich 65535 * 0,01s = 655,35 s = 10min 55,35 s sein. Ein Zeitbaustein zhlt den internen Zeitzhler alle 10 ms um 1 nach unten. Dieser Zeittakt arbeitet vllig unabhngig von jeder Anwendung und jedem Prozess. Tritt nun in der Anwendung ein Ereignis auf, das verzgert werden soll, dann vergeht von diesem Ereignis bis zum ersten Zhltakt eine unbestimmte Zeit zwischen 10 und 0 ms. Daraus ergibt sich, dass jede FST Zeit einen Fehler von bis zu 10 ms hat. Daher sollte im Programm niemals eine Zeit programmiert werden, die kleiner als 2 x 10 ms ist (und diese Zeit hat dann einen Fehler von maximal 10ms, das heit maximal 50%).
10-16
Kapitel 11
Nu
p um rz
Vo ersn
11-1
Inhaltsverzeichnis
Unterprogramme mit FST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1 Bausteine importieren, benennen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . bergabe- und Rckgabeparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Beispiel Rckgabeparameter in Anweisungsliste . . . . . . . . . . . . . . 11.2.2 Beispiel bergabeparameter in Anweisungsliste . . . . . . . . . . . . . . 11.2.3 Beispiel bergabe- und Rckgabeparameter in Anweisungsliste . 11.2.4
s per m 11.2.5 uBeispiel bergabeparameter in Kontaktplan . . . . . . . . . . . . . . . . . . 11-15 rz u 11.3 N Unterprogramme mit FST: Eigene Bausteine erstellen . . . . . . . . . . . . . . . . . 11-17
11.3.1 11.4
11-2
Bisher haben Sie Parallelprogramme kennen gelernt, keine Unterprogramme. Parallelprogramme und Unterprogramme unterscheiden sich dadurch, dass Parallelprogramme, die einmal gestartet wurden, selbstndig bearbeitet werden, unabhngig davon, ob das Programm, das dieses Parallelprogramm gestartet hat, weiter aktiv ist oder nicht. Unterprogramme genau einmal bearbeitet werden und dann zurck ins aufrufende Hauptprogramm gesprungen wird. Soll ein Unterprogramm mehrfach bearbeitet werden, dann muss es jedes mal ausdrcklich aktiviert werden. Ein Unterprogramm wird ebenso gelscht wie das aufrufende Hauptprogramm, wenn dieses aufrufende Hauptprogramm gelscht wird.
Nu
p um rz
Vo ersn
FST erlaubt die Nutzung von 200 Unterprogrammen, aufgeteilt in jeweils 100 Programmbausteine (BAP-BAusteinProgramm) und 100 Funktionsbausteine (BAF-BAusteinFunktion). Programmbausteine und Funktionsbausteine unterschieden sich dadurch, dass Programmbausteine bei ihrem Aufruf zuerst einen Taskwechsel erzeugen, bevor sie ausgefhrt werden. Dies bedeutet, dass Programmbausteine auch Schritte (in Anweisungsliste) enthalten knnen. Funktionsbausteine bei ihrem Aufruf keinen Taskwechsel erzeugen. Funktionsbausteine drfen Schritte enthalten.
11-3
Jedes Unterprogramm kann Eingangs- und Ausgangsparameter benutzen. Es stehen grundstzlich bis zu 7 bergabeparameter (an den Baustein) und 7 Rckgabeparameter (vom Baustein zum aufrufenden Programm) zur Verfgung. Innerhalb des Bausteins gibt es keine lokalen Merker. Auch Unterprogramme benutzen in FST die globalen Merker. FST bietet eine Vielzahl von teilweise prozessorspezifischen und treiberspezifischen Bausteinen an. Zustzlich knnen eigene Bausteine erstellt werden. In diesem Kapitel wird gezeigt, wie vorhandene Bausteine benutzt werden knnen.
Nu
p um rz
Vo ersn
Nicht jedes Projekt benutzt jeden mglichen Baustein. Am Ende dieses Buches finden Sie eine Liste der heute verfgbaren Bausteine. Wren alle diese Bausteine in jedem Projekt vorhanden, wrde die bersicht recht schnell verloren gehen. Daher werden Bausteine vor ihrer Benutzung in das Projekt importiert.
Hinweis Wird in einem vorhandenen Projekt die CPU gewechselt, mssen alle Bausteine neu importiert werden! Beim Import erhlt jeder Baustein eine eigene Bausteinnummer. Diese Nummer kann frei zwischen 0 und 99 gewhlt werden. Es empfiehlt sich, in eigenen Projekten immer wieder gleiche Nummern zu verwenden.
11-4
Sie knnen Bausteine importieren aus dem Men Programm, Eintrag Import durch rechten Mausklick auf das Unterverzeichnis BAPs oder BAFs, dann Aufruf Import
Nu
p um rz
Vo ersn
Bild 11/2:
11-5
Whlen Sie jetzt einen Baustein aus, dann knnen Sie ihm einen Typ und eine Nummer geben:
Nu
p um rz
Vo ersn
Bild 11/3: In diesem Beispiel wird der Blink-Baustein als BAP0 importiert. Er steht dann im Unterverzeichnis BAPs zur Verfgung.
Bild 11/4:
11-6
Nu
p um rz
Vo ersn
Vorsicht bergabe- und Rckgabeparameter mssen immer unmittelbar im Zusammenhang mit dem jeweiligen Baustein bergeben und aufgerufen werden. Andere Bausteine drfen nicht aufgerufen werden, solange nicht die Parameter bergeben oder abgeholt sind.
WENN DANN
NOP BAF 0 LADE NACH FE32 MW0 BLINK Erster Bausteinparameter Blink-Bits aus Blink-Baustein
Tab. 11/1:
36 Dieses Beispiel finden Sie als Blink.ZIP auf Ihrer CD. Es enthlt ein Programm in Anweisungsliste und eines in Kontaktplan.
11-7
Im Merkerwort 0 blinken jetzt die 4 niederwertigsten Bits in den Frequenzen 2, 1, 0,5 und 0,25 Hz.
Bild 11/5:
Nu
Tab. 11/2:
LADE NACH
p um rz
Vo ersn
FE32 MW0
muss immer unmittelbar nach Aufruf des Unterprogramms erfolgen. Es darf zwischendurch kein anderer Baustein aufgerufen werden. Der Rckgabewert muss direkt in einer anderen Variablen gespeichert werden.
11-8
WENN DANN
Tab. 11/3:
Nu
p um rz
BAF 1 MIT MIT
Vo ersn
NOP R1 R2
K1 K3000
Sie sehen, dass die bergabeparameter mit Hilfe des Schlsselworts MIT an den Bausteinaufruf angehngt werden. In diesem Beispiel sind feste Zahlen, Konstanten, benutzt worden, um die bergabeparameter zu bergeben. Es knnen aber auch Variablen benutzt werden. Zum Beispiel so:
WENN DANN
Zyklische Bearbeitung eines Progr. starten Programmnummer, 0 bis 63 Zeit in ms; 0:deaktivieren
Tab. 11/4: In diesem Beispiel stehen die zu bergebenden bergabewerte in den beiden Registern R1 und R2. In welcher Reihenfolge und welche Parameter zu bergeben sind, ist in der Online-Hilfe der FST Software aufgefhrt. Bei der Eingabe der Parameter knnen Sie sich helfen lassen. Dafr fgen Sie den Baustein ein, indem Sie im Men Einfgen den Eintrag Bausteinaufruf whlen.
11-9
Nu
p um rz
Vo ersn
Bild 11/7:
11-10
Bild 11/8:
Nu
p um rz
Vo ersn
11-11
Da wir 16 Bit Worte bergeben mssen, mssen wir die Zahlen umrechnen . Hherwertiges Wort
100 423 + 77 000 = 177 423 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
Niederwertiges Wort
100 423 + 77 000
= 177 423
Nu
p um rz
1 0 0 0 1 0
Vo ersn
0 1 0 0 1 1 1 1 0
0 1
1 0
1 0
1 0
Niederwertiges Wort aus 100 423 Hherwertiges Wort aus 100 423
34.887
Tab. 11/6:
11-12
Addiere
11.464
Tab. 11/7:
Nu
Niederwertiges Wort aus 177 423 Hherwertiges Wort aus 177 423
s per m r zu
46.351 1 2 0
Ergebnis:
Tab. 11/8: Im folgenden Beispiel38 ist der Baustein LADD als BAF2 importiert worden.
WENN DANN
NOP BAF 0 MIT MIT MIT MIT LADE NACH LADE NACH MW0 MW1 MW2 MW3 FE32 MW4 FE33 MW5 Addition von 32-Bit Werten 1. Operand, niederwertiges Wort 1. Operand, hherwertiges Wort 2. Operand, niederwertiges Wort 2. Operand, hherwertiges Wort Niederwertiges Wort des Ergebnisses Niederwertiges Wort Ergebnis Hherwertiges Wort des Ergebnisses Hherwertiges Wort Ergebnis
Tab. 11/9:
38 Dieses Beispiel finden Sie als LADD.ZIP auf Ihrer CD.
Festo P.BE-FST4-LB-DE de 0402NH
11-13
Das Ergebnis der Addition steht nun in den Merkerworten MW4 und MW5, siehe Bildschirmfoto.
Vo ersn
Bild 11/11:
38 Dieses Beispiel finden Sie als Blink.ZIP auf Ihrer CD. Es enthlt ein Programm in Anweisungsliste und eines in Kontaktplan.
11-14
Im Ausgangswort 0 blinken jetzt die 4 niederwertigsten Bits in den Frequenzen 2, 1, 0,5 und 0,25 Hz.
Bild 11/12:
Nu
p um rz
Vo ersn
Bild 11/13:
11-15
In diesem Beispiel sind feste Zahlen, Konstanten, benutzt worden, um die bergabeparameter zu bergeben. Es knnen aber auch Variablen benutzt werden. Zum Beispiel so:
Nu
p um rz
Vo ersn
Hinweis Als Parameter knnen Konstanten (Kxxx) oder Mehrbitoperanden genutzt werden. Bei Konstanten muss die Kennung K vorangestellt werden. Im obigen Beispiel wird also die Konstante 4 fr Programmnummer 4 und die Konstante 1000 fr 1000 ms bergeben.
11-16
Nu
p um rz
Vo ersn
Ein Baustein41 soll die Bits in einem Wort um eine vorgegebene Zahl von Stellen verschieben. Der Baustein bentigt drei bergabeparameter und einen Rckgabeparameter
Die Anzahl der Stellen, um die verschoben werden soll Die Schieberichtung (1=rechts, 0=links)
Der Rckgabeparameter ist das fertige Wort Der Aufruf des Bausteins im aufrufenden Programm ist recht einfach:
Dieses Programm ruft einen Baustein auf, der ein Schieberegister darstellt WENN E0.0 Eingang 0.0 UND N M0.0 Flankenerkennung DANN SETZE M0.0 Flankenerkennung BAP 0 Mein Schieberegister MIT MW1 Das zu schiebende Merkerwort MIT K3 Drei mal schieben MIT K0 Rechts=1, Links =0 LADE FE32 Erster Bausteinparameter NACH MW2 Das Ergebnis der Schieberei WENN DANN N RESET E0.0 M0.0 Eingang 0.0 Flankenerkennung
Tab. 11/10:
41 Dieses Beispiel finden Sie unter Mwin_BAP.ZIP auf Ihrer CD.
11-17
Dies ist ein selbst geschriebener Programmbaustein SCHRITT Anfang Zuerst werden die bergabeparameter in Merkerworte geschrieben WENN NOP DANN LADE FE32 Erster Bausteinparameter NACH MW10 Der zu schiebende Wert LADE FE33 Zweiter Parameter NACH MW11 Wie oft schieben? LADE FE34 Dritter Parameter NACH MW12 Rechts = 1, Links = 0 SCHRITT Schieben Dann wird solange geschoben wie verlangt WENN ( MW11 Wie oft schieben? > K0 ) UND ( MW12 Rechts = 1, Links = 0 = K1 ) DANN LADE MW10 Der zu schiebende Wert SHR NACH MW10 Der zu schiebende Wert ZR MW11 Wie oft schieben?
Nu
p um rz
Vo ersn
( (
DANN
Wie oft schieben? ) Rechts = 1, Links = 0 ) Der zu schiebende Wert Der zu schiebende Wert Wie oft schieben? Wie oft schieben?
WENN
SCHRITT Weiter Schlielich wird der neu Wert in den Rckgabeparameter geschrieben WENN NOP DANN LADE MW10 Der zu schiebende Wert NACH FE32 Erster Bausteinparameter
Tab. 11/11:
11-18
Nu
p um rz
Vo ersn
Mit FST knnen bis zu 64 Programme erstellt werden. Jedes kann aktiviert und damit zum Task werden. Der Prozessor schaltet zwischen diesen Tasks um in aufsteigender Reihenfolge der Programmnummern also von P0 bis P63
immer genau dann, wenn ein vollstndiger Schritt zu Ende bearbeitet wurde oder immer genau dann, wenn im Kontaktplan ein Rcksprung erfolgt immer genau dann, wenn ein BAP aufgerufen wird.
Der Aufruf eines Programmbausteins (BAP) erzeugt einen Taskwechsel. Innerhalb eines Programmbausteins knnen auch Schritte verwendet werden. Diese erzeugen auch jeweils einen Taskwechsel. Der Aufruf eines Funktionsbausteins (BAF) erzeugt keinen Taskwechsel. Innerhalb eines Funktionsbausteins drfen keine Schritte verwendet werden, weil der Funktionsbaustein nie ber den ersten Schritt innerhalb des Bausteins hinaus kommen wrde.
11-19
Nu
p um rz
Vo ersn
11-20
Kapitel 12
Nu
p um rz
Vo ersn
12-1
Inhaltsverzeichnis
Fehler erkennen mit FST: Das FST Fehlerprogramm . . . . . . . . . . . . . . . . . . 12-1 Allgemeines zu Fehlern in einem FST System . . . . . . . . . . . . . . . . . . . . . . . . . Das Verhalten bei einem Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Fehlerprogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3.1 Das Fehlerverhalten mit Fehlerprogramm: . . . . . . . . . . . . . . . . . . . . 12.3.2 Das Garagentor mit Fehlerprogramm . . . . . . . . . . . . . . . . . . . . . . . . 12.3.3
Nu
s per m r zu
12-2
Nu
p um rz
Vo ersn
Bild 12/1: Auch im Online Display kann das Fehlerwort (FW) angezeigt werden, ebenso das Statusbit F. Bitte beachten Sie: Die Anzeige des Fehlerwortes erhalten Sie im Bereich Anwenderdefiniert des Online Displays. Tragen Sie dort als Operanden FW bzw. F ein.
Bild 12/2:
12-3
Die Steuerung verndert das Fehlerwort automatisch, sobald ein Fehler registriert wird. Im folgenden Bild sehen Sie die Fehlermeldung 6 sowohl in der Schalttafel als auch im Online Display:
Nu
p um rz
Vo ersn
Bild 12/3: Das Fehlerwort steht auch dem Anwenderprogramm zur Verfgung. Mit
DANN
LADE NACH
K133 FW
12-4
Nu
p um rz
Vo ersn
Bild 12/5:
12-5
Nu
p um rz
Vo ersn
Dieses Verhalten wird harte Fehlerreaktion genannt. Unter SPS-Einstellungen, Laufzeitverhalten, kann unabhngig voneinander eingestellt werden: Ein Fehlerausgang wird bei Auftreten eines Fehlers eingeschaltet. Welcher Ausgang ist frei einstellbar und/oder die Ausgnge bleiben eingeschaltet.
12-6
Nu
p um rz
Vo ersn
12-7
Nu
p um rz
Vo ersn
Fehlerprogramm 0 bedeutet, dass es kein Fehlerprogramm gibt. Jede Programmnummer von 1 ... 63 bedeutet, dass das eingetragene Programm im Fehlerfall gestartet wird.
Bild 12/7:
12-8
Nu
p um rz
Vo ersn
der Fehler gelscht und die brigen Programme wieder aktiviert werden oder alle Ausgnge und Programme zurck gesetzt werden (schwerer Fehler).
Das Werkzeug, um auf den Fehler zu reagieren, ist der Baustein F22. F22: Fehlerbehandlung einstellen Eingangsparameter FE32 = 0 Fehlerdaten abfragen = 1 Fehlerdaten abfragen und Fehler lschen = 2 Programme weiterbearbeiten, Fehlerdaten abfragen und Fehler lschen = 3 Nicht behebbarer Fehler, Programme stoppen Rckgabeparameter FE32 Fehlernummer FE33 Programmnummer FE34 Schrittnummer FE35 Immer 0 (Fehleradresse)
12-9
Endschalter berwachen WENN offen UND geschloss DANN LADE K100 NACH FW
Nu
p um rz
Vo ersn
Tab. 12/2: Der Fehler 100 ist also die neue Fehlernummer fr einen defekten Grenztaster des Garagentorantriebs. Sobald der Fehler auftritt, wird das Fehlerprogramm aktiviert, die brigen Programme schlafen. Im Online Mode wird der Fehler oben rechts im Online Fenster angezeigt:
Bild 12/8:
12-10
Systemfehler, der nicht programmiert ist Harte Reaktion WENN N ( FW = K100 ) DANN BAF 22 Fehlerbehandlung einstellen MIT K3 0:abfr; 1:abfr+lsch; 2:abfr+lsch+weiter; 3:stop RESET P12 Endschalterfehler Warten auf Reparatur der Endschalter WENN ( FW = K100 ) UND ( offen Grenztaster Garagentor ist offen EXOR geschloss ) Grenztaster Garage ist geschlossen DANN BAF 22 Fehlerbehandlung einstellen MIT K2 0:abfr; 1:abfr+lsch; 2:abfr+lsch+weiter; 3:stop RESET P12
Nu
p um rz
Vo ersn
Tab. 12/3:
12-11
Nu
p um rz
Vo ersn
Bild 12/9:
12-12
Kapitel 13
Nu
p um rz
Vo ersn
13-1
Inhaltsverzeichnis
13. 13.1
Bedienen mit FST: Bedienterminals anschlieen und programmieren . . . 13-1 Der Anschluss der Bedienterminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.1 Die EXT Schnittstelle in den FECs (Front End Controller) . . . . . . . . . 13.1.2 Kommunikation zwischen FED und Programmier-PC . . . . . . . . . . . FED Designer und FST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2.1 Eine Variable auf dem Display anzeigen . . . . . . . . . . . . . . . . . . . . . 13.2.2
13.2
s per m 13.3 Das FED im Ethernet Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14 r zu Nu Das FED Designer Projekt fr die Ethernet Kommunikation . . . . . . 13-14 13.3.1
Eine Variable vom Display aus verndern . . . . . . . . . . . . . . . . . . . . 13-13 13.3.2 Mehrere Steuerungen im Netzwerk an einem FED . . . . . . . . . . . . . 13-17
13-2
Nu
p um rz
Vo ersn
Kaum eine Maschine kommt heute noch ohne Bedienterminals aus. Je ausgeklgelter die Bedienerfhrung konzipiert ist, desto einfacher ist die Einarbeitung des Bedienpersonals. Je mehr Kreativitt und Zeit in die Konzipierung von Fehlersuchhilfen investiert wurde, desto schneller kann im Ernstfall zum Beispiel ein defekter Nherungsschalter gefunden und getauscht werden jede Minute weniger Stillstand ist bares Geld wert.
In diesem Kapitel sollen die Grundlagen gelegt werden, fr den Anschluss der FED Bedienterminals von Festo.
13-3
Nu
p um rz
Vo ersn
Bild 13/1:
13-4
Nu
p um rz
Vo ersn
Bild 13/2:
Im Programm die EXT Schnittstelle geffnet und der CI Zugriff aktiviert werden. Dafr werden die Bausteine OpenCOM und F31 (CI aktivieren) bentigt.
Bild 13/3: In einem Initialisierungsschritt43 wird nun die EXT Schnittstelle geffnet und der CI auf diese Schnittstelle aktiviert.
43 Dieses Programm in Anweisungsliste finden Sie als FED_EXT.ZIP, in Kontaktplan als FED_EKOP.ZIP auf Ihrer CD.
13-5
SCHRITT Init ffnen der seriellen Schnittstelle EXT ACHTUNG: In der Treiberkonfiguration muss der COMEXT Treiber eingetragen sein! WENN NOP DANN BAF 0 Serielle Schn. ffnen mit 9600, 8, N MIT K0 serielle Schnittstelle WENN = DANN
SCHRITT Aktivieren des CI auf diese Schnittstelle WENN NOP DANN BAF 1 CI aktivieren MIT K0 serielle Schnittstelle MIT K2 0=disable CI (Default); 1=enable CI
Tab. 13/1:
Nu
p um rz
Vo ersn
Das Display kann sich jetzt die bentigten Daten ber die EXT Schnittstelle abholen. Bitte beachten Sie: Der Baustein F31 zum Aktivieren des Kommandointerpreters CI bekommt zwei bergabeparameter. Mit dem ersten wird die verwendete Schnittstelle eingestellt. Bei den FECs ist die EXT Schnittstelle mit der Nr. 0 auszuwhlen Mit dem zweiten wird das Verhalten des Kommandointerpreters definiert. Fr die Kommunikation mit den FECs sollte hier K2 eingetragen werden, damit die Schnittstelle vom FED nicht versehentlich abgeschaltet werden kann.
13-6
Nu
p um rz
Vo ersn
Wenn Sie von Ihrem Programmier-PC aus gleichzeitig auf die Steuerung und das FED Zugriff haben wollen und fr die Steuerung auch eine COM Schnittstelle nutzen mchten, dann stellen Sie die Designer-Software auf COM2, die FST auf COM1 oder umgekehrt. In der Designer Software finden Sie die Einstellung im Men Transfer, Optionen:
Bild 13/4: Um mit dem Display vom PC aus kommunizieren zu knnen, muss dieses in den Konfigurations-Modus geschaltet sein. Dafr bettigen Sie die Enter Taste des Displays solange, bis auf dem Display ein systemeigenes Men erscheint. Mit den Cursortasten des Displays whlen Sie den Eintrag CFG an und besttigen mit Enter. Jetzt, im Configuration Mode kann das Display mit dem PC kommunizieren aber nicht mehr mit der Steuerung.
13-7
Bild 13/5:
Nu
p um rz
Vo ersn
Bild 13/6:
44 FED Front End Display 45 Das Designer Projekt finden Sie auf Ihrer CD unter dem Namen FED_neu.dpr
13-8
Projektname eingeben.
Nu
p um rz
Vo ersn
Bild 13/7: Display Typ einstellen oder aus dem benutzten Display auslesen ber das Men Projekt, Panel Einstellung
Bild 13/8:
13-9
Display auswhlen
Nu
p um rz
Vo ersn
Bild 13/9:
13-10
Nu
p um rz
Vo ersn
Bild 13/11: Der Cursor wird zum Fadenkreuz, mit dem Sie einen Bereich fr die Anzeige des Wertes von der Steuerung aufziehen.
Bild 13/12:
13-11
Sobald Sie die Maustaste loslassen, ffnet sich das Eingabefenster fr den zu bertragenden Wert:
Nu
p um rz
Vo ersn
Bild 13/13: Sie knnen hier eintragen, welche Daten anzuzeigen sind. Fr unser Beispiel soll es ein Merkerwort sein (Im FED Designer wird statt Merkerwort MW der englische Begriff FlagWord FW benutzt). Auerdem knnen Sie die Feldbreite verndern. Ein 16 Bit Wert ohne Vorzeichen bentigt mindestens 5 Stellen (z.B. 65000) fr den vollen Zahlenumfang. Auf dem Designer Display sehen Sie nun einen Platzhalter fr den spter aus der SPS geholten Wert:
Bild 13/14:
13-12
Nu
p um rz
Vo ersn
Bild 13/16: Ist das Projekt zum FED geladen und das FED gestartet, kann der Sollwert verndert werden, indem die Taste bettigt wird. Das FED schaltet in den Dateneingabemodus um, der Wert kann innerhalb der vorgegeben Grenzen verndert werden. Dazu geben Sie mit den Zifferntasten den gewnschten Wert ein und bettigen die Enter-Taste.
Festo P.BE-FST4-LB-DE de 0402NH
13-13
Nu
p um rz
Vo ersn
Voraussetzung dafr ist der Erwerb der Ethernet-Schnittstelle fr das FED einschlielich des Adaptersteckers, Beeichnung FEDZ-IET, Best.-Nr. 533 533. Befestigen Sie das Ethernet Modul entsprechend der Montageanleitung.
Fr die Kommunikation ber das Netzwerk muss dem Designer Projekt mitgeteilt werden, dass nicht die bliche SPSSchnittstelle sondern Ethernet zu nutzen ist. Dafr rufen Sie im Men Projekt den Eintrag Controller Konfiguration auf.
Bild 13/17: ffnen Sie den Controller durch Klick auf den Menbutton:
Bild 13/18:
13-14
Whlen Sie Festo Easy IP aus und ffnen Sie die Controller Einstellung.
Nu
p um rz
Vo ersn
Hinweis Hier tragen Sie die IP Adresse der Steuerung (nicht des FED) ein, mit der das FED kommunizieren soll. Die Steuerung muss diese IP Adresse mittels des FST Projektes erhalten.
Bild 13/20:
13-15
Zustzlich muss das FED selbst eine IP Adresse bekommen. Dafr ffnen Sie im Men Projekt den Eintrag Panel Einstellungen. Whlen Sie dort den Reiter Externe Gerte an und tragen die IP Adresse des Panels ein.
Nu
p um rz
Vo ersn
Hinweis Hier tragen Sie die IP Adresse des FED ein (nicht der Steuerung). Bei Bedarf knnen Sie auch die Maske und das Gateway einstellen, indem Sie auf den Button direkt neben der IP Adresse klicken.
Bild 13/22:
13-16
Sobald das Projekt zum FED geladen ist, die Ethernet Verbindungen hergestellt sind, die Steuerung ein Projekt mit dem TCPIP Treiber und der
Nu
p um rz
Vo ersn
entsprechenden IP Adresse bekommen hat, findet die Kommunikation zwischen FED und Steuerung nun ber das Netzwerk statt.
Mit Hilfe des Ethernet Netzwerkes knnen mehrere Steuerungen mit einem FED kommunizieren. Dafr muss im Designer Projekt bei der Controller Konfiguration der Zugriff auf mehrere Steuerungen Access Multiple Controllers eingetragen werden.
Bild 13/23:
Festo P.BE-FST4-LB-DE de 0402NH
13-17
Durch einen Click auf Add knnen nun nacheinander alle im Netz vorhandenen Steuerungen eingetragen werden.
Nu
p um rz
Vo ersn
Bild 13/24:
13-18
Soll nun vom FED auf eine Variable einer Steuerung zugegriffen werden, dann muss diese Steuerung benannt werden. Mit Einfgen, Datenfeld, Numerisch wird beispielsweise das bereits oben benutzte Fenster geffnet.
Nu
p um rz
Vo ersn
Bild 13/25:
13-19
Der Button direkt neben der Variablenadresse ffnet jetzt nicht mehr nur die Auswahl der Variablenadresse sondern auch die Auswahl der Steuerung.
Nu
p um rz
Vo ersn
Bild 13/26:
13-20
Kapitel 14
Nu
p um rz
Vo ersn
14-1
Inhaltsverzeichnis
14. 14.1
Vernetzen mit FST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1 Voraussetzung fr die Nutzung von Ethernet der TCP/IP Treiber . . . . . . . 14.1.1 Exkurs IP Adresse und Netzmaske . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.2 Ist die Steuerung im Netz zu finden? . . . . . . . . . . . . . . . . . . . . . . . . 14.1.3 DHCP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.4 Programmabhngige IP Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . Programmieren und Fehlersuche im Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kommunizieren zwischen den Steuerungen im Netz . . . . . . . . . . . . . . . . . . . 14.3.1 IP_Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.2 Easy_S und Easy_R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.3 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.4 berwachung der Datenkommunikation . . . . . . . . . . . . . . . . . . . . . Kommunizieren zu Windows Anwendungen mit DDE . . . . . . . . . . . . . . . . . . 14.4.1 Mit DDE zu Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einige Regeln fr die Nutzung von Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.1 Ethernet ist genormt: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.2 Ethernet hat genormte Kabel und Stecker . . . . . . . . . . . . . . . . . . . . 14.5.3 HUBs und Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.4 Mit Ethernet von der Fertigung ins Bro . . . . . . . . . . . . . . . . . . . . . 14.5.5 EasyIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.5.6 Die Regeln fr die Nutzung von Ethernet (10 MBit/s) . . . . . . . . . . .
14.2 14.3
Nu
14.4 14.5
s per m r zu
14-3 14-6 14-7 14-11 14-12 14-13 14-16 14-17 14-18 14-18 14-21 14-22 14-22 14-30 14-30 14-31 14-33 14-34 14-36 14-36
14-2
14.1
Nu
p um rz
h ! on ebrauc i ers en G v rabndiech von Ethernet der TCP/IP Treiber Voraussetzung fr li Nutzung Vo ers
Nie war Kommunikation fr die Automatisierungstechnik so wichtig wie heute. Dabei ist nicht das Einsammeln und Verteilen von Ein-/Ausgangsdaten gemeint. Das erledigen die Feldbusse schnell, sicher und seit langem. Gemeint ist die Kommunikation zwischen den Steuerungen sowie zwischen der Windows Welt des Bros und den Steuerungen in der Fertigung. Ethernet, der Netzwerk-Standard im Bro, hat sich als ideales Medium erwiesen, auch in der Fertigung zu kommunizieren. Mit FST ist die Nutzung von Ethernet einfach und sicher.
Jede FST CPU kann mit Ethernet Schnittstelle geliefert werden. Ist also die Hardwarevoraussetzung Ethernet Schnittstelle gegeben, muss auch die Software-Voraussetzung geschaffen werden. Das ist der TCP/IP Treiber. Der TCP/IP Treiber wird in FST wie alle Treiber in der Treiberkonfiguration eingetragen. Dafr ffnen Sie mit einem Doppelklick die Treiberkonfiguration.
Bild 14/1:
14-3
Im Fenster fr die Treiberkonfiguration knnen Sie wieder mit einem Doppelklick auf eine leere Stelle die fr diese CPU verfgbaren Treiber aufrufen:
Nu
Bild 14/2:
p um rz
Vo ersn
Beachten Sie bitte wie bei allen Treibern dass die Treiber CPU-spezifisch46 sind. Wechseln Sie die CPU in einem Projekt, mssen alle Treiber neu in das Projekt eingefgt werden.
46 Der TCP/IP Treiber fr den FEC Compact ist TCPIPFEC, der fr den FEC Standard ist TCPIPFC2.
14-4
Nu IP Adresse
p um rz
Vo ersn
IP Netzmaske
Die Maske schrnkt die beliebige Nutzung der Adressen ein. Jedem einzelnen Bit einer IP Adresse entspricht ein Bit der Netzmaske. Ist das Bit der Netzmaske 1, dann muss das Bit der IP Adressen zwischen zwei kommunizierenden Partnern identisch sein.
Soll Ihr Steuerungsnetzwerk mit Hilfe eines Gateways mit einem anderen Netzwerk verbunden werden, dann muss die Adresse dieses Gateways hier eingetragen werden. Benutzen Sie kein Gateway, kann die Gateway Adresse auf 0.0.0.0 bleiben.
14-5
Nu
p um rz
Vo ersn
Binr geschrieben ist das: 10101000.11000000.00000000.00000011 Die bliche Netzmaske fr Subnetze in der Automatisierung ist: 255.255.255.0 Binr geschrieben ist das: 11111111.11111111.11111111.00000000 Die Adresse eines beliebigen Kommunikationspartners ohne Nutzung des Gateways muss demzufolge sein: 10101000.11000000.00000000.XXXXXXXX Das bedeutet in Zahlen: 168.192.0.X Das letzte Byte, hier als X bezeichnet, darf die Werte 1 ... 254 haben (0 muss frei bleiben fr Ethernet Service Werkzeuge, 255 muss frei bleiben fr Broadcast Nachrichten). Eine Netzmaske 0.0.0.0 ist nicht zulssig. Mit der Zufgung des TCP/IP Treibers in das FST Projekt, bekommt die Steuerung die Fhigkeit verliehen, ber Ethernet zu kommunizieren. Im Sinne der Informationstechnik knnen wir sagen, der TCP/IP Treiber macht die Steuerung zu einem Server, also einem Gert, das Anfragen anderer beantworten kann. Die Feldbustechnik nennt ein solches Gert einen Slave.
14-6
Dies gilt das ist sehr wichtig erst, nachdem das Projekt mit dem TCP/IP Treiber in die Steuerung geladen ist. Dieses Projekt Laden einschlielich TCP/IP Treiber kann nur ber die RS232 Schnittstelle geschehen, da die Steuerung ohne TCP/ IP Treiber nicht ber Ethernet kommunizieren kann.
Nu
p um rz
Vo ersn
Zur Wiederholung: Um eine FST Steuerung zur Kommunikation ber Ethernet zu befhigen, muss ein Projekt mit TCP/IP Treiber und IP Adresse mit Hilfe der seriellen Schnittstelle zur Steuerung geladen worden sein.
Sobald der TCP/IP Treiber in die Steuerung geladen wurde, kann die Steuerung im Netzwerk erkannt werden. Zur FST Software gehrt ein Diagnosewerkzeug fr das Netzwerk, die TCP/IP Application. Sie finden dieses Programm auf Ihrer FST CD im Unterverzeichnis Tools, TCPIPApplication. Installieren Sie dieses Programm auf Ihrem Rechner und starten Sie es. Aufgabe der TCPIPApplication ist es, alle im Netz verfgbaren Steuerungen anzuzeigen. Sie knnen jede Steuerung mit ihrer IP Adresse, der Hardwareadresse und dem Projektnamen erkennen. Bei allen aktuellen CPUs wird auch der CPU Typ und der Versionsstand des TCP/IP Treibers angezeigt. Die TCPIPApplication hilft sehr schnell bei den beiden hufigsten Fehlern: Adressen passen nicht zueinander Doppeladressierung
Aktivieren Sie Check Alive wird Ihnen die TCPIPApplication mit einem grnen Hkchen zeigen, dass die Kommunikation zu einer Steuerung mglich ist oder mit dem GesperrtSchild, dass keine Kommunikation mglich ist.
14-7
Die TCPIP Application sucht nun zyklisch nach angeschlossenen Gerten und zeigt direkt an, ob eine Kommunikation mglich ist.
Nu
p um rz
Vo ersn
Bild 14/4: Im obigen Fenster sehen Sie, dass der Programmier-PC, auf dem die TCPIPApplication gestartet ist, die IP Adresse 10.10.24.162 hat, die angeschlossenen Steuerungen aber Adressen aus dem Nummernkreis 192.168.0.XXX. Eine Kommunikation zwischen diesen Gerten ist nicht mglich, weil die Netzmaske 255.255.255.0 dies verbietet.
14-8
Nachdem der Programmier-PC eine andere IP Adresse bekommen hat, ist die Kommunikation mglich.
Nu
p um rz
Vo ersn
Bild 14/6:
14-9
Wenn alle Adressen richtig eingestellt sind, kann kommuniziert werden. Zu jeder IP Adresse sehen Sie die Ethernet Adresse (auch MAC- oder Hardware-Adresse genannt), den Projektnamen, die Kernel Version, die TCP/IP Treiber Version und den CPU Typ47.
Nu
p um rz
Vo ersn
Bild 14/7: Wenn neben den Steuerungen auch mehrere PCs im Netzwerk vorhanden sind, wird die TCP/IP Application diese anderen PCs nur dann anzeigen, wenn dort ebenfalls die TCP/IP Application gestartet ist.
47 Bei lteren CPUs kann es sein, dass nicht alle Informationen angezeigt werden knnen.
14-10
Nu
p um rz
Vo ersn
Bild 14/8: Ist wie im obigen Beispiel die IP Adresse 0.0.0.0 und befindet sich ein DHCP Server im Netz, dann wird der Steuerung automatisch eine Adresse zugewiesen.
Bild 14/9:
14-11
In diesem Beispiel sind die Adressen 10.10.24.XXX von einem DHCP Server zugewiesen. Bei Nutzung des DHCP Servers ist der Programmieraufwand fr die Kommunikation zwischen den Steuerungen etwas grer. Denn jedes Senden/Empfangen bedarf ja einer spezifischen Ziel-IP Adresse. Diese IP Adressen mssen die Steuerungen zuerst untereinander austauschen. Wurde die IP Adresse der Steuerung per DHCP Server zugewiesen, dann muss im Programm die Adresse ausgelesen und anschlieend per Broadcast an alle angeschlossenen Steuerungen in ein vorher vereinbartes Merkerwort geschrieben werden. Fr die Kommunikation kann die Zieladresse dann aus diesem Merkerwort ausgelesen werden.
Vo ersn
In manchen Projekten soll evtl. eine IP Adresse von auen eingestellt werden. Es ist z.B. denkbar, dass die IP Adresse an einer Maschine mittels eines oder mehrerer Drehschalter eingestellt werden soll. Fr diesen Zweck steht ein Baustein zum Einstellen (und Abfragen) der IP Adresse zur Verfgung: IP_IP.
14-12
Nu
p um rz
Vo ersn
14-13
Nu
p um rz
Vo ersn
Bild 14/10: Unter dem Reiter Kommunikation finden Sie die Mglichkeit, statt der RS232 Schnittstelle die Ethernet Karte und dort eine bestimmte IP Adresse einzustellen.
14-14
Nu
p um rz
Vo ersn
die hier vorgenommene Einstellung projektabhngig ist. Beim Neustart eines Projektes werden zuerst wieder die blichen Werte (meist RS232 Kommunikation) benutzt. Wird Im Projekt speichern nicht angewhlt, dann gilt diese Einstellung auch fr jedes weitere neue Projekt
Mit dem Klick auf OK kommunizieren Sie mit der Steuerung ber Ethernet. Ethernet bietet im Gegensatz zur RS232 auch die Mglichkeit, gleichzeitig mit mehreren Steuerungen zu kommunizieren. ffnen Sie einfach FST mehrfach, whlen unterschiedliche Projekte aus mit jeweils unterschiedlichen IP Adressen und Sie knnen in den verschiedenen Fenstern gleichzeitig mehrere Steuerungen beobachten.
14-15
Nu
p um rz
Vo ersn
Bild 14/11:
14-16
14.3.1 IP_Table
Mit IP_Table wird eine Tabelle aller Steuerungen erstellt, mit denen kommuniziert werden soll (es knnen wesentlich mehr Steuerungen im Netzwerk vorhanden sein, hier geht es nur um genau die Steuerungen, von denen Daten geholt oder an die Daten gesendet werden sollen). Index IP Adresse
192.168.0.54 192.168.0.55 192.168.0.56
Nu
p um rz
Vo ersn
2 3
Tab. 14/1: IP_Table Tabelle Wie oben beim DHCP Server bereits erwhnt, muss die Festlegung der IP Adresse an dieser Stelle dynamisch erfolgen, wenn die Steuerungen ihre IP Adresse nach jedem Einschalten neu vom DHCP Server zugewiesen bekommen. Das Vorgehen ist dann wie folgt: Steuerung wird eingeschaltet Steuerung erhlt eine IP Adresse vom DHCP Server Steuerung ermittelt die eigene IP Adresse Steuerung sendet diese eigene IP Adresse per Broadcast an alle brigen Steuerungen im Netz in ein fr diese Steuerung reserviertes Merkerfeld die anderen Steuerungen benutzen die IP Adresse aus diesem Merkerfeld.
14-17
Nu
p um rz
Vo ersn
Bild 14/12:
14.3.3 Beispiel
Das folgende Beispiel48 sendet das Merkerwort 5 des Client ins Merkerwort 10 des Servers. Im Merkerwort 1 des Client ist der Status der Datenbertragung eingetragen.
14-18
SCHRITT Mit IP_Table wird eine Tabelle aller Steuerungen erstellt, mit denen Kommuniziert werden soll. IP_Table muss fr jede Steuerung einmal aufgerufen werden. WENN DANN LADE NACH BAF 0 MIT MIT MIT MIT MIT MIT = NOP K0 MW2
WENN
Nu
DANN
p um rz
Vo ersn
Zhler fr TimeOut IP Adresse in Tabelle eintragen/abfragen 1:eintragen; 2:abfragen Index Nummer in IP-Tabelle IP Adresse IP Adresse IP Adresse IP Adresse
SCHRITT Senden Jetzt werden Daten zur WENN NOP DANN BAF 2 MIT K1 MIT K1 MIT K1 MIT K5 MIT K10 MIT K1
Steuerung mit Index 1 gesendet Operandenbereich an eine Steuerung senden Index Nummer in der IP-Tabelle Operand, 1:M; 2:E; 3:A; 4:R; 11:Strings Anz. der zu sendenden Operanden (max 256) Nr. des ersten zu sendenden Operanden Nummer des 1. Operanden in der Ziel-CPU Adresse des Merkerwortes fr den Status
SCHRITT Pruefen Jetzt wird berprft, ob die Datenbertragung erfolgreich war Datenkommunikation war erfolgreich WENN MW1 Status von Easy_S = K0 DANN LADE K0 NACH MW2 Zhler fr TimeOut SP NACH Senden Datenkommunikation hat innerhalb der vorgegebenen Zeit (ca. 50 ms) keine Antwort ergeben WENN MW1 Status von Easy_S = K128 DANN ZV MW2 Zhler fr TimeOut SP NACH Senden
Tab. 14/2:
Festo P.BE-FST4-LB-DE de 0402NH
14-19
Das folgende Bild zeigt die Merker der beiden beteiligten Stationen: Oben der Client, der sein Merkerwort 5 versendet, unten der Server, der die Daten im Merkerwort 10 erhlt.
Nu
p um rz
Vo ersn
Bild 14/13:
14-20
Nu
p um rz
Vo ersn
14-21
Nu
p um rz
Vo ersn
DDE ist ein Datenaustausch Verfahren, das Microsoft bereits mit Windows 3.1 eingefhrt hat und bis zu den neuesten Windows Versionen untersttzt und nutzt. Es stellt eine Methode dar, mit der unterschiedlichste Windows Programme untereinander Daten austauschen knnen. Der IPC Data Server ist also ein Windows Programm, das Daten in dem von DDE definierten Format bereit stellt. Jede Windows Anwendung, die dieses Format versteht, kann nun mit dem IPC Data Server Daten austauschen. Der IPC Data Server holt/sendet diese Daten ber Ethernet von/an angeschlossenen FST Steuerungen. Der IPC Data Server muss getrennt installiert werden. Sie finden ihn auf Ihrer FST CD im Unterverzeichnis Tools. Nachdem Sie den DDE Server installiert haben, finden Sie in Ihrem Programmmen einen Eintrag IPC Data Server. Bitte starten Sie den IPC Data Server.
14-22
Nu
p um rz
Vo ersn
Bild 14/15:
14-23
Nu
p um rz
Vo ersn
Der IPC Data Server kann sowohl ber Ethernet als auch ber RS232 mit angeschlossenen Steuerungen kommunizieren. Dies gilt fr alle FST Steuerungen, auch ltere FPC Systeme (dort nur ber RS232). Soll die RS232 Schnittstelle benutzt werden, kann pro Schnittstelle nur mit einer Steuerung kommuniziert werden. Sofern Ihr Rechner mit 4 seriellen Schnittstellen ausgestattet ist, kann der IPC Data Server mit bis zu 4 ber RS232 angeschlossenen Steuerungen kommunizieren. Umfangreicher sind die Mglichkeiten ber Ethernet: Mit bis zu 48 Steuerungen kann kommuniziert werden. ffnen Sie also die Konfiguration fr IPCs (TCP/IP).
Bild 14/16:
14-24
Im ersten Fenster sehen Sie den Zugriff auf die ersten 16 angeschlossenen Systeme. Beginnen Sie mit dem ersten er wird spter IPC_1 genannt werden:
Nu
p um rz
Vo ersn
Bild 14/17: Zuerst wird die Kommunikation zu diesem IPC_1 enabled. Anschlieend whlen Sie, welche Daten zugnglich sein knnen. Jedes Telegramm bertrgt immer 256 Worte. Klicken Sie also beispielsweise auf Get Input Words, dann sind alle 256 Eingangswort zugnglich. Klicken Sie auf Get Flag Words from 0 (wie im obigen Beispiel), dann sind die Merkerworte 0 ... 255 zugnglich. Insgesamt knnen also die Ein- und Ausgangsworte, die Register, die Timer-Vorwahlen und hchstens 4 x 256 = 1024 Merkerworte von einer Steuerung einem Windows Rechner zur Verfgung gestellt werden.
14-25
Hinweis Benutzen Sie den IPC Data Server ber die serielle Schnittstelle, dann ist es nicht ntig, einen bestimmten Variablenbereich auszuwhlen. Sie knnen ber den DDE Server dann auf jeden beliebigen Operanden direkt zugreifen.
Nu
p um rz
Vo ersn
Ist die Kommunikation zu der angegebenen IP Adresse bereits mglich, wird dies sofort im DDE Server mitgeteilt.
Ab sofort stehen die in der Konfiguration festgelegten Daten nun allen DDE fhigen Windows Anwendungen zur Verfgung. Dabei gilt folgende Sprachregelung: DDE Programmname fr die Ethernet Kommunikation: IPC_DATA DDE Programmname fr die RS232 Kommunikation: FPC_DATA Steuerungs-Name fr die Ethernet Kommunikation: IPC_1 ... IPC_48 Steuerungs-Name fr die RS232 Kommunikation: FPC_1 ... FPC_4 Variablenname: Operandenbezeichnungen gem FST CI Kommandos, also EW Eingangswort, AW Ausgangswort, MW Merkerwort, TV Timervorwahl etc.
14-26
Praktisch: Sollen Daten von der Steuerung nach Excel geholt werden, dann wird wie folgt verfahren: In die Zelle, in der die Daten zu sehen sein sollen, wird als Formel eingetragen:
Nu
p um rz
Vo ersn
Beachten Sie bitte die Trennung zwischen Anwendung, Steuerungsnummer und Operandenbezeichnung:
=Anwendung|Steuerungsnummer!Operandenbezeichnung
Bild 14/19:
14-27
Mit diesem Verfahren werden Daten von der Steuerung zu einer Windows Anwendung geholt. Um Daten von einer Windows Anwendung zur Steuerung zu senden, muss der Zugriff von Windows auf die DDE Daten programmiert werden. Excel verlangt hierfr ein kleines Makro mit der folgenden Syntax:
Nu
p um rz
Vo ersn
Sub SendValue() Channel = Application.DDEInitiate(ipc_data, ipc_1) Application.DDEPoke Channel, MW0, Sheets(DDESample).Range(E5) Application.DDETerminate Channel End Sub
Umgesetzt auf die Kommunikation mit der Steuerung mit der IP Adresse 192.168.0.55, als IPC_1 im DDE Server konfiguriert:
Sub SendValue() Channel = Application.DDEInitiate(ipc_data, ipc_1) Application.DDEPoke Channel, MW5, Sheets(Tabelle1).Range(B2) Application.DDETerminate Channel End Sub Oder allgemein formuliert:
Sub SendValue() Channel = Application.DDEInitiate(DDE Programmname, Nummer der Steuerung) Application.DDEPoke Channel, Operand, Sheets(Name des Tabellenblattes>).Range(Zelle, aus der die Daten geholt werden) Application.DDETerminate Channel End Sub
14-28
Dabei wird das Makro SendValue einen Schaltelement zugeordnet, um den Wert aufgrund einer Anforderung zu senden. Das Ergebnis49 sieht so aus:
Bild 14/20:
Nu
p um rz
Vo ersn
Bild 14/21: Im Handbuch zum DDE Server finden Sie weitere Beispiele vor allem fr die blichen Prozessvisualisierungen wie Fix, Intouch, Simplicity etc. Fr VIP ist die Kommunikation ber DDE nicht notwendig aber mglich, weil VIP einen eigenen Treiber fr die FST Kommunikation beinhaltet.
14-29
Nu
p um rz
Vo ersn
In IEE802.3 ist der Buszugriff von Ethernet genormt, also die Methode, wie Ethernet Daten auf ein Kabel auflegt. Ethernet ist ein Multi Master System, d.h. dass jeder Teilnehmer in der Lage ist, von sich aus auf das Netz zuzugreifen und Daten loszuschicken. Ein Multi Master System muss den Buszugriffskonflikt lsen, also klren, was geschehen soll, wenn zwei oder mehr Stationen gleichzeitig Daten absenden wollen. Ethernet lst diesen Konflikt, indem jede Station immer, wenn sie Daten sendet, zugleich auch abhrt, welche Daten gerade ber das Netz ankommen. Wenn nun mehrere Stationen gleichzeitig senden, dann wird das Signal auf dem Bus verflscht. Also unterscheiden sich die Daten, die zu hren sind, von denen, die gesendet wurden. Diese Situation wird erkannt, alle Stationen brechen den Sendevorgang ab und warten eine zufllig definierte Zeit ab, bevor erneut versucht wird, die Daten zu senden. Dieses Verfahren wird CSMA/CD genannt: Carrier Sense Multiple Access/Collision Detection.
14-30
Nu
p um rz
Vo ersn
Dieses Verfahren fhrt dazu, dass Daten sehr schnell abgeschickt werden knnen, weil eine Station, die Daten senden will, nur warten muss, bis das Kabel frei ist, schon geht es ab. Dieses Verfahren fhrt aber auch dazu, dass Ethernet kollabieren kann. Wenn zu viele Stationen gleichzeitig Daten senden wollen, dann kommt es nach dem ersten Versuch auch beim nchsten und bernchsten Versuch zur Kollision. Gleichzeitig kommen weitere Stationen hinzu, die ebenfalls Daten senden wollen und schlielich steigen die Antwortzeiten von Ethernet steil an. Bis zu einer Buslast von 60% steigt die Antwortzeit eines Ethernet Systems linear an, darber kommt es mehr oder weniger schnell zum Stillstand.
Bereits 1980 wurde das erste Ethernet Kabel normiert. 1985 wurde 10Base 2, das dnne Koax Kabel normiert und seit 1990 gibt es 10Base T, das Twisted Pair Kabel, das auch heute noch die hufigste Verkabelungsmethode von Ethernet darstellt. 10Base T basiert auf dem Stern und einer Datenbertragungsgeschwindigkeit von 10 MBit/s. Das bedeutet, dass jede Station sternfrmig an einen Sternverteiler, den HUB angeschlossen ist. Der entscheidende Vorteil dieser Stern-Topologie ist, dass Fehler innerhalb des Netzes sehr einfach zu finden sind: Jedes Kabel kann einzeln geprft, gesteckt, entfernt werden, ohne dass andere Stationen beteiligt sind. Bereits seit mehreren Jahren sind Lichtewellenleiter Verbindungen ebenfalls genormt, genauso wie hhere Datenbertragungsgeschwindigkeiten. Im Bereich der Steuerungs- und Automatisierungstechnik sind 10 MBit/s aber vollkommen ausreichend und bieten eine grere Flexibilitt in Kabellngen und Verdrahtung. Soll ein solches 10 MBit/s Netz mit 100 MBit/s Stationen verbunden werden, dann werden DualSpeed HUBs benutzt, die beide bertragungsgeschwindigkeiten beliebig mischen knnen.
14-31
Bild 14/22:
Nu
p um rz
Vo ersn
Hubs stehen heute in Ausfhrungen mit bis zu 128 Anschlssen zur Verfgung ebenso in 110 ... 230 V AC und in 24 V DC Ausfhrungen. Hubs knnen kaskadiert werden, so dass Systeme mit mehreren hundert Stationen mglich sind.
14-32
Nu
p um rz
Vo ersn
Bild 14/23:
14-33
Nu
p um rz
Vo ersn
14-34
Nu
p um rz
Vo ersn
Bild 14/24:
14-35
14.5.5 EasyIP
EasyIP wird das Protokoll genannt, mit dem die Steuerungen kommunizieren. EasyIP ist ideal geeignet fr die Kommunikation in der Automatisierungstechnik, weil es
Nu
p um rz
Vo ersn
vollkommen transparent innerhalb Lokaler Netze arbeitet, also auf dem gleichen Kabel arbeiten kann wie ein Windows oder Novell Netz o..
mittels DDE oder OPC mit beliebigen Windows Anwendungen kommunizieren kann
14-36
Kapitel 15
Nu
p um rz
Vo ersn
15-1
Inhaltsverzeichnis
Der WEB Server in der Steuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-1 Was ist ein WEB Server? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WEB Server und FST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.1 Notwendige Browser Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.2 Einige Regeln des FST WEB Server . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.3 Wo sind die HTML-Seiten? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTML Seiten fr den WEB Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.1 Die erste HTML Seite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.2 Ein wenig mehr Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.3 Zugriff auf den Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3
Nu
s per m r zu
15-2
Nu
p um rz
Vo ersn
15-3
Bild 15/1:
Nu
p um rz
Vo ersn
Sobald ein Projekt mit diesen beiden Treibern zur Steuerung geladen wurde, kann die Steuerung im Netz angesprochen werden (TCP/IP Treiber) und mit einem Browser beobachtet werden (WEB Server). Verbinden Sie also die Steuerung und einen PC per Ethernet, starten Sie im PC den Browser und geben Sie die IP Adresse der Steuerung ein:
Bild 15/2:
15-4
Nu
p um rz
Vo ersn
Zweitens darf der Browser nicht ber einen Proxy auf das Internet zugreifen. Sie finden diese Einstellung z.B. beim MS Internet Explorer 5 unter Extras, Internetoptionen, Verbindungen, Einstellungen.
Drittens ist es notwendig, den lokalen Zwischenspeicher des Browsers aus zu schalten, weil die Daten der Steuerung sonst nicht aktualisiert werden. Sie finden diese Einstellung z.B. beim MS Internet Explorer 5 unter Extras, Internetoptionen, Allgemein, Temporre Internet Dateien, Einstellungen.
15-5
Nu
p um rz
Vo ersn
15-6
Nu
p um rz
Vo ersn
Bild 15/4:
15-7
In diesem Beispiel ist das Laufwerk A: zu sehen. Dieses Laufwerk kann nicht verndert werden. Nach dem Wechsel zum Laufwerk B: sind die Projektdateien und Treiber zu erkennen.
Nu
Bild 15/5:
p um rz
Vo ersn
15-8
In das Unterverzeichnis WEB dieses Laufwerks gehren nun auch die WEB Seiten, die mit Hilfe des Browsers angezeigt werden knnen. Um Dateien zu bertragen, wird auf den Download-Pfeil geklickt.
Nu
p um rz
Vo ersn
Wird dieser aufgerufen, dann muss nur die richtige IP Adresse der Steuerung eingetragen werden, um die Verbindung herzustellen.
Hinweis Die IP Adresse kann auch aus dem Search-Fenster der TCPIP Application kopiert werden. Mit einem rechten Mausklick auf die IP-Adresse steht ein kleines Men zur Verfgung, das den Eintrag Copy IP address enthlt.
15-9
Nach dem Connect sind nun Steuerung und PC neben einander zu sehen.
Nu
p um rz
Vo ersn
Bild 15/7:
15-10
Nu
p um rz
Vo ersn
15-11
Nu
p um rz
Vo ersn
/HEAD BODY
Beachten Sie, dass HTML Tags immer in den Grer/Kleiner Zeichen stehen und immer mit einem vorangestellten / beendet werden:
sind also Anfang und Ende einer HTML Seite. Wenn also der obige HTML Text in der Datei main.htm gespeichert wird, diese Datei in das Laufwerk B: (oder bei PS1 CPUs in das Laufwerk C: ) bertragen wird, dann wird beim Aufruf der Steuerung mit dem Browser diese Seite angezeigt.
Bild 15/8:
15-12
Nu
/BODY /HTML
p um rz
Vo ersn
H1 Dies ist ein Beispieltext fr das FST Buch /H1 BR H2 Dies ersetzt keinen HTML Lehrgang, BR sondern soll nur eine kleine Einfhrung sein. /H2 BR
Bild 15/9:
15-13
Nu
p um rz
Vo ersn
Mit FSTCI wird der Kommandointerpreter50 der FST Steuerung angesprochen. DEW0 benutzt das Display Kommando fr das Eingangswort 0 (EW0). Um einen Operanden zu ndern wird der Modify Befehl benutzt. Da die nderung eines Operanden nicht statisch erfolgen wird (dann knnte man den genderten Wert ja fest einprogrammieren), wird ein link tag benutzt:
50 In Kapitel 18 wird ein stark gekrzter berblick ber die CI Befehle gegeben. Ausfhrlich ist der CI im FST Handbuch beschrieben.
15-14
Nu
H1 Dies ist ein Beispieltext f. das FST Buch /H1 BR H2 Dies ersetzt keinen HTML Lehrgang, BR sondern soll nur eine kleine Einfhrung sein. /H2 BR Das Eingangswort 0 hat den Wert : FSTCI DEW0 BR A href=main.htm?ci:maw0=255Schalte die Ausgnge 0 ... 7 auf 1/A A href=main.htm?ci:maw0=0Schalte die Ausgnge 0 ... 7 auf 0/A /BODY /HTML
p um rz
Vo ersn
15-15
Nu
p um rz
Vo ersn
Bild 15/10: Durch den Zugriff auf die Variablen des Prozesses ist die Basis gegeben fr die Visualisierung und Bedienung eines Prozesses mit Hilfe des WEB Browsers.
15-16
Kapitel 16
Nu
p um rz
Vo ersn
16-1
Inhaltsverzeichnis
Tipps und Tricks mal hilfreich mal lustig . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1 Belegliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anweisungsliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projekt aktualisieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Syntaxfehler finden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nu
s per m r zu
16-2
16.1 Belegliste
Nu
p um rz
Vo ersn
Sie knnen die Belegliste ber die Windows Zwischenablage sowohl nach als auch von Excel kopieren. Wenn Sie die Belegliste lieber in Excel editieren wollen, dann beginnen Sie am besten mit einem Eintrag in der Belegliste und kopieren diesen nach Excel. Dort editieren Sie dann wie gewnscht, markieren die ganze Liste und kopieren Sie zurck in den Beleglisteneditor.
Bild 16/1:
16-3
Wenn Sie mchten, dann knnen Sie die Belegliste auch in Word erstellen. Schreiben Sie dafr eine Tabelle in Word. Markieren Sie die ganze Tabelle und kopieren Sie sie in FST.
Nu
p um rz
Vo ersn
Bild 16/2:
16-4
Sie knnen die Belegliste ganz nach Wunsch sortieren. Standardmig ist sie alphabetisch und numerisch nach der Operandenadresse sortiert. Deshalb ist A0.0 der erste Eintrag. Klicken Sie wie in Windows gewohnt auf die Spaltenbezeichnung, z.B. auf Symbol, und die Belegliste wird nach den Symbolnamen sortiert.
Nu
p um rz
Vo ersn
Bild 16/3:
16-5
16.2 Anweisungsliste
Garagentore ffnen WENN Auf_in ODER Auf_aus UND Schluess UND N Motor_zu UND N Zu_in UND N Zu_auss UND N offen DANN Setze Motor_auf
Nu
p um rz
Vo ersn
Die FST Anweisungsliste kennt eine klare Prioritt: UND geht vor ODER. In einer gemischten Logik wird also immer zuerst UND verknpft, dann ODER. Das Garagentorbeispiel knnte also auch ohne Klammern programmiert werden.
Taster AUF innen Taster AUF auen Schlsselschalter auen K2: Garagentor schlieen Taster ZU innen Taster ZU auen Grenztaster Garagentor ist offen K1: Garagentor ffnen
Tab. 16/1:
16-6
Nu
p um rz
Vo ersn
Bild 16/4:
51 Alte FST-Hasen erinnern sich, dass man bei FST auch einzelne Programme laden konnte. Dies ist nicht mehr mglich.
16-7
Nu
p um rz
Vo ersn
CZ0P00V1.AWL(5) Falsche Satzteilfolge gibt den Hinweis, wo der Fehler zu finden ist:
CZ0POOV1.AWL(5) Falsche Satzteilfolge | | | +----- Fehlererklrung | | +-------- Programmzeile, in der der Fehler vermutet wird | +-------------- Version 1 +---------------- Programm 0 Ein Doppelklick auf den Fehlerort (hier auf CZ0P00V1.AWL(5)) fhrt direkt ins Programm.
16-8
Fehlermeldungen
Kapitel 17
Nu
p um rz
Vo ersn
17-1
17. Fehlermeldungen
Inhaltsverzeichnis
Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1 Allgemeine FST Fehlernummern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Festo Feldbus Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AS-Interface Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Profibus DP (CP62) Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nu
s per m r zu
17-2
17. Fehlermeldungen
Bedeutung
Kein Fehler
Nu
11
p um rz
Vo ersn
Programm 0 msste gestartet werden, ist aber nicht vorhanden. Programm 0 erstellen und laden. Versuch, ein nicht existentes Programm oder dessen Status zu setzen oder rcksetzen. Programm ndern oder fehlendes Programm laden. Programm kann wegen Fehler in der Projektdatei PROJECT.RUN nicht gestartet werden. Projekt prfen und neu laden. Eventuell wird ein Treiber verwendet, ist aber nicht geladen oder ein Treiber ist geladen, kann aber nicht benutzt werden, weil die Bedingungen dazu nicht gegeben sind. Mglicherweise ist die ntige Hardware fr den Treiber nicht vorhanden oder ist falsch konfiguriert. Eventuell nicht genug Arbeitsspeicher in der Steuerung. E/A-Karte defekt, Kurzschluss am Ausgang oder keine Spannungsversorgung. E/A-Karte austauschen, Kurzschluss beheben oder Versorgungsspannung anschlieen. E/A-Karte nicht gefunden. E/A-Karte prfen. Schalterstellung an der Karte und in der E/A-Konfiguration prfen. Watchdog abgelaufen Ein Treiber, Baustein oder EA Skript hat das Laufzeitsystem lnger als 1 Sekunde blockiert und einen Neustart ausgelst. Zu startender Treiber nicht gefunden. Ein bentigter Treiber kann nicht gefunden werden oder ist wegen Initialisierungsfehler nicht lauffhig. Mglicherweise ist die Umgebung (Hardware, Parameter) fr den Treiber nicht korrekt vorhanden. Treiber einbinden, in Treiberkonfiguration Parameter korrekt einstellen und Hardware prfen. Verschachtelter BAP/BAF oder BAP/BAF bei Aufruf nicht gefunden. Programmstruktur ndern
12
13
14
36
17-3
17. Fehlermeldungen
Fehlernummer
39 57 59
Bedeutung
Doppelfehler, Fehler in Programm. Fehlerquelle beseitigen. Projektdatei (PROJECT.RUN) kann nicht gelesen werden. Projekt neu laden. Arithmetikfehler. Programm ndern.
Tab. 17/1:
Nu
p um rz
Vo ersn
Bedeutung
Kritischer Treiberfehler Projekt kann auch bei weichem Fehlerverhalten nicht gestartet werden. Dieser Fehler tritt auf, wenn der Feldbustreiber nicht gefunden wurde oder Probleme beim starten der Firmware des CP61 aufgetreten sind. Ist-Konfiguration ist keine Obermenge der Soll-Konfiguration. Feldbus-Konfiguration korrigieren oder fehlende Teilnehmer anschlieen
60
Tab. 17/1:
17-4
17. Fehlermeldungen
Bedeutung
Keine Konfigurationsdaten fr den ASi Treiber vorhanden Konfigurationsdatei erstellen Master nicht vorhanden Drehschalterstellung des Masters prfen. Konfiguration prfen: Bei der HC20 knnen nur Master mit Schalterstellung 1 oder 4 eingesetzt werden, bei HC16 Stellung 1 Master nicht vorhanden Drehschalterstellung des Masters prfen. Konfiguration prfen: Bei der HC20 knnen nur Master mit Schalterstellung 1 oder 4 eingesetzt werden, bei HC16 Stellung 2 Master nicht vorhanden Drehschalterstellung des Masters prfen. Konfiguration prfen: Bei der HC20 knnen nur Master mit Schalterstellung 1 oder 4 eingesetzt werden, bei HC16 Stellung 3 Master nicht vorhanden Drehschalterstellung des Masters prfen. Konfiguration prfen: Bei der HC20 knnen nur Master mit Schalterstellung 1 oder 4 eingesetzt werden, bei HC16 Stellung 4 Ausfall eines Slaves Slave prfen, ersetzen, Konfiguration prfen, Adresse 1 Ausfall eines Slaves Slave prfen, ersetzen, Konfiguration prfen, Adresse 2 Ausfall eines Slaves Slave prfen, ersetzen, Konfiguration prfen, Adresse 3 Ausfall eines Slaves Slave prfen, ersetzen, Konfiguration prfen, Adresse 4
702
Nu
703 704
p um rz
Vo ersn
714
Tab. 17/2:
17-5
17. Fehlermeldungen
Bedeutung
Der Treiber kann keine Verbindung zur Karte aufnehmen. Wahrscheinliche Ursachen: Kartenadresse nicht mit Wert bei der Treiberkonfiguration bereinstimmend. Keine gltigen Konfigurationsdaten der Karte (SyCon) Konfigurierter Slave nicht auf dem Bus (nur bei harter Reaktion)
Tab. 17/3:
Nu
p um rz
Vo ersn
17-6
Bausteine
Kapitel 18
Nu
p um rz
Vo ersn
18-1
18. Bausteine
Inhaltsverzeichnis
18. 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 18.10 18.11 18.12 18.13 18.14 18.15 18.16 18.17 18.18
Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1 32 Bit Arithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AS-Interface Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bildschirm- und Tastatur Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dateibehandlungsbausteine (Nur HC1X und HC20 CPUs) . . . . . . . . . . . . . . . Datum- und Uhrzeit Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FEC Remote E/A-Erweiterung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Festo Feldbus Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Festo Feldbus Slave Baustein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inkremental-Encoder der FEC und HC0X CPUs . . . . . . . . . . . . . . . . . . . . . . . . Profibus DP (CP62) Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Profibus FMS (CP62) Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PID Treiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programme beeinflussen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Serielle Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sonstige Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schneller Zhler bei FEC und HC0x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . String Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TCP/IP Bausteine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nu
s per m r zu
18-3 18-3 18-4 18-5 18-5 18-6 18-6 18-7 18-7 18-8 18-8 18-8 18-9 18-10 18-11 18-11 18-11 18-13
18-2
18. Bausteine
Bedeutung
Addition von 32-Bit Werten.
Nu
Tab. 18/1:
p um rz
Vo ersn
Bedeutung
Einstellung der Reaktion des ASi Treibers auf Konfigurationsfehler Abfrage der Flags der Ablaufkontrollebene (OUF) bertragung eines Parameters an einen ASi Slave zur Laufzeit Neustart des zyklischen Updates Hinweis: Der Baustein ASI_Res kann nur in Verbindung mit dem ASi Treiber verwendet werden.
Tab. 18/2:
18-3
18. Bausteine
Bedeutung
Bildschirmattribut berechnen Bildschirm lschen
Nu
p um rz
Vo ersn
Ausfhrung einer Tastatureingabe Eingabefeld hinzufgen Tastaturpuffer lschen Fllen einer Flche mit Leerzeichen Einstellung des Textes einer Funktionstaste Einstellung von Eigenschaften Umschalten zwischen Bildschirmseite und FST-CI Zeichnen eines Rahmens Abfrage der letzten Eingabe auf der Tastatur Anzeige eines Strings in der Nachrichtenzeile Zeichnen eines neuen, leeren Bildschirms String positioniert auf den Bildschirm schreiben Bildschirminhalt auffrischen String positioniert auf den Bildschirm schreiben 8x8-Blockzeichen 8x14-Blockzeichen Umschalten zwischen Bildschirmseiten
SCRFKEY SCRFLAGS SCRFLIP SCRFRAME SCRKBD SCRMSG SCRNEW SCRPUTS SCRUPDT SCRWRITE SCRW0808 SCRW0814 SCRXCHG
18. Bausteine
Bedeutung
Datei erzeugen
FSEEKX
Nu
FWRITE FREAD
p um rz
Vo ersn
FWRITSTR FREADSTR
Tab. 18/4:
Bedeutung
Uhrzeit einstellen Datum einstellen Uhrzeit abfragen Datum abfragen
Tab. 18/5:
18-5
18. Bausteine
Bedeutung
Abfrage des Zustands der Slave-FECs. Dieser Baustein muss im Master eingesetzt werden.
Tab. 18/6:
18.7
Bausteinname
F40
Nu
Konfiguration eines Feldbusteilnehmers prfen. Anmerkung: Bei Vorgabe der Teilnehmerliste stimmen Soll- und Ist-Daten per Definition dieser Option immer berein. Parameterfeld eines intelligenten Feldbusteilnehmers lesen. Anmerkung: Die Bedeutung des Teilnehmer-Status ist bei F44 beschrieben Parameterfeld eines intelligenten Feldbusteilnehmers schreiben. Anmerkung: Die Bedeutung des Teilnehmer-Status ist bei F44 beschrieben. Lschen der zyklischen Ausgnge aller Feldbusteilnehmer. Statusabfrage eines Teilnehmers Programme zur Fehlerbehandlung einstellen und Teilnehmerstatus abfragen Behandlung der Gesamtkonfiguration.
F41
F42
Tab. 18/7:
18-6
18. Bausteine
Bedeutung
Bevor der IPC als FESTO Feldbus Slave arbeiten kann, muss der Festo Feldbus mit diesem Baustein konfiguriert werden.
Tab. 18/8:
18.9
Bausteinname
Nu
ABRESET ABMODE
p um rz
h ! on ebrauc i ers en G v Inkremental-Encoder der FEC und HC0X CPUs rabnlich Vo ers
Bedeutung
Zum Rcksetzen des Zhlerstandes rufen Sie den Baustein ABRESET auf. Durch den Eingang E0.7/E1.0/E3.0 kann der Zhler zurckgesetzt werden. Der Zhler wird zurckgesetzt, wenn der Eingang E0.7/E1.0/E3.0 gesetzt ist und eine positive Flanke an einem der A/B - Eingnge auftritt. Es stehen vier verschiedene Modi zur Auswahl.
Tab. 18/9:
18-7
18. Bausteine
Bedeutung
Abfrage des USIF-Status Hinweis: Der User-Interface-Status kann nicht gendert werden! Erfragt, ob eine Diagnoseanforderung vorliegt
Diagnoseinformation eines DP Slaves erfragen Sollte im Zusammenhang mit Baustein DP_GETSL verwendet werden.
DP_CONTR
Tab. 18/10:
Nu
p um rz
Vo ersn
Bedeutung
Tab. 18/11:
Bedeutung
PID Regler
Tab. 18/12:
18-8
18. Bausteine
Bedeutung
Zyklisches Starten eines Programms
Tab. 18/13:
Nu
p um rz
Vo ersn
Abfrage, ob ein Programm zum Ausfhren bereit ist Programm steuern, dessen Nummer in einer Variable gespeichert ist
18-9
18. Bausteine
Bedeutung
Serielle Schnittstelle ffnen Serielle Schnittstelle schlieen
Ein Zeichen von einer seriellen Schnittstelle lesen Ein Zeichen an eine serielle Schnittstelle senden
Nu
p um rz
Vo ersn
CI aktivieren
Einen FST String an eine serielle Schnittstelle schreiben Zeichenkette lesen und in FST String abspeichern (ohne Trennzeichen) Zeichenkette lesen und in FST String abspeichern (mit Trennzeichen) Schnittstellenparameter einstellen
Schnittstellenpuffer leeren Einstellungen und Zustand einer seriellen Schnittstelle abfragen Standard-Trennzeichen verndern Hardware-Break erzeugen (nur SERIALDR) RTS fr RS485 ein/ausschalten (nur SERIALDR) Abfrage, ob Schnittstelle im RS485-Mode (nur SERIALDR)
Tab. 18/14:
18-10
18. Bausteine
Bedeutung
4 blinkende Bits
Tab. 18/15:
Nu Bausteinname
FECCNTR
p um rz
Vo ersn
Bedeutung
Einstellen, Aktivieren oder Rckstellen des Zhlers, Abfrage des Status und des Zhlerwertes
Tab. 18/16:
Bedeutung
interne Adresse eines Strings ermitteln Zeichen an String anhngen hexadezimalen String in Wort wandeln String in Wort mit Vorzeichen wandeln (signed) String in Wort mit Vorzeichen wandeln (signed) String in Wort ohne Vorzeichen wandeln (unsigned) Zusammenfassen zweier Strings in einen dritten
18-11
18. Bausteine
Bausteinname
STRCHECK STRCHGET STRCHSET STRCI STRCLR STRCMP STRCPY STRDEL STRDUMP STRFILL
Bedeutung
Speicherprfung Zeichen aus einem String extrahieren Zeichen in einem String ersetzen Ausfhren eines CI-Kommandos String lschen
Nu
p um rz
Vo ersn
String kopieren
Teil eines Strings entfernen Einige Strings ausgeben String mit gegebener Anzahl gleicher Zeichen erzeugen String mit anderem String rechts- oder linksbndig fllen Suchen eines Zeichens in einem String Suchen eines Teil-Strings in einem String String-Speicher fr einzelnen String vergrern Wort in hexadezimalen String wandeln Zeichenweises vergleichen zweier Strings, Gro- und Kleinschreibung gleichwertig Initialisierung oder erneute Initialisierung Einfgen eines Strings in einen anderen Wort mit Vorzeichen in String wandeln Linker Teilstring Lnge eines Strings String in Kleinbuchstaben wandeln Mittlerer Teilstring
STRFILLW STRFINDC STRFINDS STRGROW STRHTOA STRICMP STRINIT STRINSRT STRITOA STRLEFT STRLEN STRLOWER STRMID
18-12
18. Bausteine
Bausteinname
STRNCMP STRNICMP STRRIGHT STRSTAT STRUPPER STRUSAGE STRUTOA
Bedeutung
Vergleichen der ersten Zeichen zweier Strings, Gro- und Kleinbuchstaben werden unterschieden Vergleichen der ersten Zeichen zweier Strings, Gro- und Kleinschreibung gleichwertig
Vo ersn
18-13
18. Bausteine
Bausteinname
SNTPTIME TCP_CLOS TCP_HAND TCP_OPEN TCP_RES TCP_SEND TCP_STAT TCP_STR TFTPFILE UDP_FW
Bedeutung
Zeit-Synchronisation starten TCP-Verbindung schlieen TCP Handler aktivieren TCP-Verbindung ffnen
Nu
p um rz
Vo ersn
Einen String ber TCP senden Datei senden/anfordern Merkerwortbereich an einen anderen IPC senden UDP Handler aktivieren UDP Datenpaket senden Einen String ber UDP senden
Tab. 18/18:
18-14
Treiber
Kapitel 19
Nu
p um rz
Vo ersn
19-1
19. Treiber
Inhaltsverzeichnis
19.
Treiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1
Nu
p um rz
Vo ersn
19-2
19. Treiber
TreiberBezeichnung
ASI COMEXT DRAD DRV_COMX
Bedeutung
EGSMRT FBSlave
Nu
p um rz
Vo ersn
COMEXT
Nur fr Versionen S1.21 (FC2X) bzw. S1.1 (FC3X) bis vor Version S2.0 Nur fr Versionen vor S1.21 (FC2X) oder vor S1.1 (FC3.X)
Fossil2
Zugriff auf EXT Schnittstelle des FEC Profibus DP (CP62) PID Regelkreis Profibus FMS (CP62) Bildschirm und Tastatur Bildschirm und Tastatur ohne Compiler Serielle Kommunikation mit HC20 Textverarbeitung
FEC
HC16, HC20 Alle HC16, HC20 HC16, HC20 HC16 HC20 STRINGS STRINGS
Strings
Alle
19-3
19. Treiber
TreiberBezeichnung
TCPIP_15 TCPIPDRV TCPIPFC2 TCPIPFEC TCPIPXXX TSR_COMX TSR_LPTX
Bedeutung
TCP/IP Kommunikation mit CP15 TCP/IP Kommunikation TCP/IP fr FEC Standard TCP/IP fr FEC Compact
WEB_Servr
Nu
p um rz
Vo ersn
LPT Treiber WEB Server
Tab. 19/1:
19-4
Kapitel 20
Nu
p um rz
Vo ersn
20-1
Inhaltsverzeichnis
20. 20.1
Der FST CI-Kommandointerpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-1 Die FST Operanden / Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1.1 Operanden anzeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20.1.2 Operanden ndern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einige sonstige Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.2
Nu
s per m r zu
20-2
20.1
Nu
Operandenbezeichnung
Eingnge Ausgnge Merker Register Programme
p um rz
Eine FST Steuerung kommuniziert mit dem Programmier-PC oder mit einem beliebigen anderen an die Programmierschnittstelle angeschlossenen Gert mit Hilfe eines eindeutig definierten sehr einfachen Befehlscode, der mit dem Namen FST CI (Command Interpreter Kommandointerpreter) bezeichnet wird. Die Details des FST CI finden Sie im FST Handbuch. Hier soll eine bersicht ber die wichtigsten CI Befehle ausreichen.
Adressbereich
Beispiel WortAdressierung
EW147 AW0 MW9999 R36
E0.0 ... E266.15 A0.0 ... A255.15 M0.0 ... M9999.15 R0 ... R255 P0 ... P63 PS0 ... PS63 BAP0 ... BAP99 BAF0 ... BAF99 T0 ... T255 TV0 ... TV255 TW0 ... TW255 Z0 ... Z255 ZV0 ... ZV255 ZW0 ... ZW255
Programmstatus Programmbausteine Funktionsbausteine Timer Status Timervorwahl (Sollwert) Timerwort (Istwert) Zhler Status Zhlervorwahl (Sollwort) Zhlerwort (Istwert)
TV14 TW14
Z33
ZV33 ZW33
20-3
Operandenbezeichnung
Fehlerwort Konstante
Adressbereich
F K0 ... K65535 K$0 ... K$FFFF K-32767 ... +32767
Beispiel BitAdressierung
Beispiel WortAdressierung
F K10
Nu
p um rz
Fr die Anzeige von Operanden gibt es den Display Befehl. Beispiel: DEW0 Display Eingangswort 0 DR5 Display Register 5
Beispiel
STRGT R S RP1
Tab. 20/2:
20-4