250
Institut für Prozess- und Produktionsleittechnik Prof. Dr. O. Zirn Dipl.-Ing. K.-H. Sauerman W 8735 Grundlagen der Automatisierungstechnik (früher: Steuerungs- und Informationssysteme) K p , T n M s o l l L e i s t u n g s - m o d u l G e s c h w i n d i g - k e i t s r e g l e r S o l l w e r t - f i l t e r A b t a s t z e i t T v T f d / d t + + - M o t o r M , j j w w s o l l K v L a g e r e g l e r + - j j s o l l F v F ü h r u n g s g r ö ß e n g e n e r a t o r V o r s t e u e r u n g R e g l e r A b t a s t z e i t T x M L , M R Leitebene Zellenebene Feldebene Sensor-Aktor- Ebene Motoren, Sensoren, Relais, I/O-gesteuerte Subsysteme Digitale Antriebe, Mehrachssysteme, Roboter, Montage-/ Handhabungsautomaten Bearbeitungszentrum, Montagesystem Fabrik, Fertigungs- leitsystem M a s t e r C o n t r o l U n i t R o b o t P L C q = ( j 1 , j 2 . . . j 6 ) t s e t M o t o r A 1 - a x i s R o b o t M a n i p u l a t o r P o w e r M o d u l e A 1 - a x i s F i e l d b u s D i g i t a l I / O H a n d - h e l d M M I B l o c k p r o c e s s i n g S e t p o i n t g e n e r a t o r P o s i t i o n c o n t r o l R N C G r i p p e r - E n d E f f e c t o r V i s i o n S y s t e m G r i p p e r C o n t r o l P o w e r M o d u l e A 1 - a x i s P o w e r M o d u l e A 1 - a x i s P o w e r M o d u l e A 1 - a x i s P o w e r M o d u l e A 1 - a x i s P o w e r M o d u l e A 1 - a x i s P o w e r M o d u l e A 1 - a x i s M o t o r A 2 - a x i s M o t o r A 3 - a x i s M o t o r s A 4 . . 6 - a x i s R o b o t S t r u c t u r e C o n v e y o r - C o n t r o l V i s i o n C o n t r o l P a t t e r n r e c o g n i t i o n B l o c k g e n e r a t i o n

W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Embed Size (px)

Citation preview

Page 1: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Institut für Prozess- und Produktionsleittechnik Prof. Dr. O. Zirn Dipl.-Ing. K.-H. Sauerman

W 8735 Grundlagen der Automatisierungstechnik

(früher: Steuerungs- und Informationssysteme)

� � � � � � �

� � � � � � � � � � � � � � �

� � � � � � � � � �� � � � � � �

� � � � � � �� � � � �

� � � � � � � � � � �

� �

� � � �

� � � � �� � � �

� � �

� �

! � � � � � �

� � �

" �

��������������������

# � � $ � $ � �

� � � � �

� � � � � � � � � � %

� ! � � � &

Leitebene

Zellenebene

Feldebene

Sensor-Aktor-Ebene Motoren, Sensoren, Relais, I/O-gesteuerte Subsysteme

Digitale Antriebe, Mehrachssysteme, Roboter, Montage-/ Handhabungsautomaten

Bearbeitungszentrum,Montagesystem

Fabrik, Fertigungs-leitsystem

� � � � � � � � � � � � � � � � � � �

� � � � �� � �

� ' ( � ) � � * + + + � , -

� �

� � �� ) � � % �

� � � � � � � � � � � � � � � � �

. � �� � $ � � ) � � % �

" � � � � $

/ � � � � � � � 0 � 1

2 � � � � � � �

� � �

3 � � �� � � � � �

� � � � � �� � � � � �

. � � � � �� � � � �

� �

! � � � � � � � � " � � " # # � $ � � �

% � � � � � � & ' � � � �

! � � � � � �� � � � � � �

. � �� � $ � � ) � � % �

. � �� � $ � � ) � � % �

. � �� � $ � � ) � � % �

. � �� � $ � � ) � � % �

. � �� � $ � � ) � � % �

. � �� � $ � � ) � � % �

� � �� * � � % �

� � �� 4 � � % �

� � � � 5 + + , � � % �

& � �� � � $ � � $ �

� � � ( � ' � � � � � � � � �

% � � � � � � � � � � � � �

. � � � � � � � � � � � � � �

3 � � � � � � � � � � �

Page 2: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

WS 2010/2011 Prof. Dr. sc. techn. habil. Oliver Zirn Institute for Process and Production Control (IPP) Clausthal University of Technology Arnold-Sommerfeld-Str. 1 D-38678 Clausthal-Zellerfeld [email protected] Das GdAT / SIS – Script für das WS 2010/2011 nutzt Auskopplungen aus dem Lehrbuchprojekt Zirn/Vetter/Sauermann: “Automatisierungstechnik im Maschineningenieurwesen”. Kapitelnummern und Seitenzahlen sind daher nicht durchgängig. Sollten Sie Fehler und Unstimmigkeiten entdecken, so freuen sich die Autoren über eine kurze Rückmeldung!

MATLAB© and Simulink© are trademarks of The MathWorks, Inc. and are used with permission.

Page 3: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Vorwort IV 1 Grundlagen 1 1.1 Grundlagen der Datenverarbeitung 6 1.1.1 Mathematische Grundlagen 6 1.1.1.1 Boole’sche Algebra 6 1.1.1.2 Dualzahlenarithmetik 11 1.1.1.3 Beispiele und Übungen 13 1.2 Grundlagen der Digitalelektronik 64 1.2.1 Bauelemente 65 1.2.1.1 Gatter 66 1.2.1.2 Flip-Flops 68 1.2.1.3 Speichermedien 70 1.2.1.4 Beispiele und Übungen 75 1.2.2 Logikbausteine 79 1.2.2.1 Programmierbare Logikbausteine (PLD) 79 1.2.2.2 FPGA 80 1.2.2.3 Beispiele und Übungen 82 1.2.3 Mikrocontroller 84 1.2.3.1 Hardwaregrundlagen 84 1.2.3.2 Entwicklungsumgebung 85 1.2.3.3 Programmierung in Assembler 88 1.2.3.3 Beispiele und Übungen 90 1.3 Mechatronische Grundlagen 95 1.3.1 Beschreibung mechatronischer Systeme 95 1.3.1.1 Beschreibung im Zeitbereich 95 1.3.1.2 Beschreibung im Frequenzbereich 103 1.3.1.3 Zeitdiskrete Systeme 110 1.3.2 Modellbildung mechatronischer Systeme 116 1.3.2.1 Modellbildungssystematik 119 1.3.2.2 Identifikation 130 1.3.2.3 Validierung 134 1.3.2.4 Analogiebetrachtungen 136 1.3.2.5 Übungen 141 2 Praktische Anwendungen 142 2.1 Servoantriebe und numerische Steuerungen 144 2.1.1 Servomotoren 145 2.1.1.1 Elektrische Servoantriebe 146 2.1.1.2 Stromregelung 153 2.1.1.3 Hydraulische und pneumatische Antriebe 157 2.1.1.4 Meßsysteme und Sensoren 166 2.1.1.5 Zusammenfassung zu Servomotoren 169 2.1.1.6 Beispiele und Übungen 171 2.1.4 Steuerung von Werkzeugmaschinen und Robotern 208 2.1.4.1 Führungsgrößen 210 2.1.4.2 Programmierung 213 2.1.4.3 Kopplung von NC-Achsen 216 2.1.4.4 Beispiele und Übungen 218

Page 4: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.3 Ereignisdiskrete Steuerungen 256 2.3.1 Speicherprogrammierbare Steuerungen 259 2.3.1.1 Komponenten 261 2.3.1.2 Architektur 264 2.3.1.3 Systemsoftware und Arbeitsweise 266 2.3.1.4 Beispiele und Übungen 268 2.3.2 Programmierung 270 2.3.2.1 Programmiersprachen gemäß EN 61131 270 2.3.2.2 Beispiele 273 2.3.3 Prozess- und Produktionsleittechnik 281 2.3.2.1 Struktur prozesstechnischer Anlagen 281 2.3.2.2 Bedienelemente und Benutzerschnittstellen 282 2.4 Feldbuskommunikation 284 2.4.1 Grundlagen der Feldbuskommunikation 284 2.4.1.1 ISO-OSI-Modell 284 2.4.1.2 Bustopologien 287 2.4.1.3 Klassifikation 288 2.4.2 Beispiele für Feldbusse 291 2.4.2.1 ASI 291 2.4.2.2 CAN 295 2.4.2.3 Profibus/ProfiNet 297 2.4.2.4 Anwendungsbeispiele 302 Anhang A Ingenieurwissenschaftliche Softwarewerkzeuge 425 A1 MATLAB 427 A2 Simulink 451 D Lösungshinweise zu den Übungen 523 Literatur 559

Page 5: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Vorwort Der Maschinenbau hat sich im Zuge der Globalisierung als die wesentliche Kernkompetenz in Mitteleuropa herausgestellt. In der Elektronik, der Software- und Informationstechnik dagegen verkommt Mitteleuropa gegenüber den rasant und aggressiv wachsenden Wirtschafts- und Wissensräumen in Asien immer mehr zum Konsumenten. Aufgrund der dual ausgebildeten Facharbeiter, anwendungsbezogener Ingenieure und hervorragender Forschungseinrichtungen – und nicht zuletzt auch aufgrund des sozialen Friedens – werden auf absehbare Zeit die präzisesten Werkzeugmaschinen, die schnellsten Roboter und die produktivsten Fertigungsanlagen aus Mitteleuropa kommen. In dieser Branche erzielen mittelständisch geprägte Unternehmen eine erhebliche Wertschöpfung und trotzen allen Plagiats- und Verdrängungsversuchen der asiatischen Globalisierungskonkurrenz. Erfreulicherweise hat sich auch in der heranwachsenden Schüler- und Studentengeneration die Erkenntis durchgesetzt, dass der Maschinenbau zwar nicht so „hipp“ wie die Kommunikations- und Informationstechnik ist, dafür aber ein solides Fundament für ein auskömmliches Dasein darstellt. Die geschickt eingesetzte Steuerung, Regelung und Überwachung stellt mittlerweile ein wesentliches Merkmal von konkurrenzfähigen Maschinenbau-Erzeugnissen dar. Obgleich die Automatisierung mit mechanischen Mitteln begann, ist die Entwicklung der Automatisierungstechnik zwischenzeitlich stark von der Kommunikationstechnik und der Technischen Informatik einerseits und von der Regelungstechnik andererseits dominiert worden. Die von diesen zurecht software- oder theorie-orientierten Informatikern und Ingenieuren in die Maschinenbau-Ausbildung eingebrachten (und oft als lästige Pflicht empfundenen) Lehrveranstaltungen sind jedoch in aller Regel nicht geeeignet, die Maschinenbaustudenten für die Automatisierungstechnik zu begeistern. Daher ist für die universitäre Lehre eine maschinenbaulich geprägte Automatisierungstechnik gefordert, die motivierend wirkt und die Kernkompetenzen des Maschinenbaus stärkt. Der Maschinenbau-Ingenieur benötigt heute für die Lösung automatisierungs-technsicher Herausforderungen einen guten Überblick über die Technische Informatik, Begriffe, Methoden und Komponenten der Automatisierungstechnik und den Stand der Hard- und Softwarekomponenten. Die tatsächliche Implementierung von automatisierungstechnischen Komponenten wird eher von Facharbeitern, Technikern und von Automatisierungsingenieuren oder Informatikern mit anwendungsbezogenen Studienabschlüssen ausgeführt. Die intensive Übung im handwerlichen Umgang mit den dazugehörigen Entwicklungsumgebungen und Programmierwerkzeugen sollte daher nicht Inhalt eines Maschinenbaustudiums sein und würde zulasten der maschinenbaulichen Kernkompetenzen gehen. Dagegen sollte der Maschinenbau-Ingenieur im Entwurfsstadium einer Produktionsmaschine die Ausstattung mit Automatisierungskomponenten wesentlich mitbestimmen und deren Zusammenwirken mit der Mechanik mit entsprechenden ingenieurwissen-schaftlichen Werkzeugen simulativ optimieren können. Dort, wo zu Ende des Studiums oder bei ersten Industrieaufgaben eine mechatronische Vertiefung gewünscht oder gefordert ist, kann durch die intensive Beschäftigung mit einer Aufgabenstellung und dem dazu passenden Entwicklungs-werkzeug die nötige handwerkliche Kompetenz erworben werden. Der typische Ingenieurstudent ist ein „Arbeitssieger“, d.h. er eignet sich sein Wissen durch beständiges Wiederholen des Stoffes an, der dafür auch handwerklich

Page 6: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

besonders gut beherrschbar wird. Diese Feststellung ist keineswegs abwertend gemeint – gilt sie doch auch für die Autoren selbst – sondern kennzeichnet eine Denk- und Arbeitshaltung, die für eine erfolgreiche Ingenieurtätigkeit in Industrie und Wissenschaft günstig ist. Im Gegensatz zu Mathematik und Physik, wo analytisch mittelmäßige oder sogar gute Begabungen kompromisslos ausgesondert werden, können in den Ingenieurwissenschaften analytische Defizite in Grenzen durch Fleiss kompensiert werden. Daher spielt die Stoffwiederholung und die unterschiedliche Betrachtung und Anwendung im Ingenieurstudium eine wichtige Rolle. Dynamische Systeme werden im Maschinenbau-Grundstudium in der Mathematikvorlesung (Differentialgleichungen, Laplace-Transformation) und in der Experimentalphysik (Schwingungen) eingeführt. Die Regelungstechnik (Modellbildung, Stabilitätsanalyse) und die Schwingungslehre (Modalanalyse) systematisieren und erweitern diese Grundlagen. Die Automatisierungstechnik als Anwendung dieser Grundlagen stellt damit die letzte Wiederholung und Vertiefung vor dem Einstieg in den Ingenieurberuf dar. Viele der hier dargestellten Themen werden in der einschlägigen Lehrbuchliteratur zur Antriebstechnik, Regelungstechnik und zur Technischen Informatik deutlich umfangreicher und tiefgehender behandelt – jedoch meist für ein anderes Zielpublikum. Wo die weiterführende Literatur zum besseren Verständnis hilfreich oder zur wissenschaftlichen Vertiefung erforderlich ist, werden entsprechende Hinweise gegeben. Neu strukturierte Lehrveranstaltungen des Instituts für Prozess- und Produktionsleittechnik (ab BSc/MSc Maschinenbau/Mechatronik): BSc Maschinenbau 2. Semester Datenverarbeitung für Ingenieure Ingenieurwissenschaftliche Softwarewerkzeuge (neu, v.a. MATLAB) Programmieren BSc Maschinenbau 5. Semester Grundlagen der Automatisierungstechnik (früher SIS) SPS-Praktikum MSc Mechatronik 8. Semester Automatisierungstechnik I (ersetzt SWE vom IPP) Elektronik II (neu) Praktikum Prozessautomatisierung MSc Mechatronik 9. Semester Automatisierungstechnik II (ersetzt Prozessautomatisierung vom IEI) Praktikum Elektronik II (ersetzt die elektronischen Praktika vom IEI)

Page 7: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1 Grundlagen Automatisierung leitet sich aus dem altgriechischen Wort „automatos - selbst handelnd“ her und bedeutet nach DIN 19 233 künstliche Mittel einzusetzen, damit ein Vorgang selbsttätig abläuft. Automatisierung bedeutet somit die Übernahme von Überwachungs- und Steuerungsfunktionen durch technische Einrichtungen, ohne dass menschlicher Eingriff zu bestimmten Zeitpunkten erforderlich ist. Ausgehend von einfachen Automaten (z.B. Waschmaschinensteuerung anhand eines vorgegebenen Waschprogrammes) bis hin zu komplexen Gesamtsystemen (z.B. Verkehrsleitsystem eines Großraumes) werden immer mehr Vorgänge des täglichen Lebens automatisiert. Waren zu Beginn der Industrialisierung zunächst mechanische Automatisierungseinrichtungen dominierend (siehe Abb. 1.1), so werden zunehmend mechatronische Automatisierungseinrichtungen auf der Basis schneller Prozessoren und leistungsfähiger Sensoren und Aktoren eingesetzt. Automatisierungstechnik ist die interdisziplinäre und praktische Anwendung der Antriebs-, Mess-, Steuerungs- und Regelungstechnik sowie der Kommunikations-technik. Automatisierung ist für alle Ingenieurwissenschaften ein wichtiges Teilgebiet mit darüber hinausgehender Bedeutung in Wirtschaft und Verwaltung. Die gesellschaftliche Bedeutung der Automatisierungstechnik ist unbestritten. Sie sichert maßgeblich die Verwaltungs- und Verkehrsinfrastruktur in Mitteleuropa. Allerdings begünstigt die Automatisierung im Zuge der jüngsten neoliberalen Globalisierungsexzesse auch die Verschwendung von Ressourcen und die Ausgrenzung von bildungs- oder sozial schwächeren Ländern und Menschen. Die zentrale Bedeutung besitzt die Automatisierung inzwischen in der industriellen Fertigung. Eine moderne, kostengünstige Produktion mit hoher Qualität ist ohne Automatisierung nicht mehr vorstellbar. Der hohe Wohlstand in Mitteleuropa ist zu großen Teilen der enormen Wertschöpfung zu verdanken, die in den 60-er bis 80-er Jahren durch die Produktionsautomatisierung erzielt wurde. Dabei werden jedoch zunehmend einfachere Arbeitsplätze ersetzt, wodurch eine moderne Volkswirtschaft neuen Herausforderungen gegenübersteht, die dabei freigesetzten Menschen sinnvoll und würdig in die Gesellschaft zu integrieren. Hierbei ist von Seiten der Gesellschaft darauf zu achten, dass privatwirtschaftliche Anreize zur Automatisierung nicht zu einer volkswirtschaftlich schädlichen Überautomatisierung führen. In Mitteleuropa sind mittlerweile solche Tendenzen leider stark vorhanden. In anderen Bereichen, z.B. der Gebäude- und Umwelttechnik oder der Medizintechnik werden bestimmte massenhaft anwendbare Verfahren oder der effiziente Umgang mit Ressourcen (z.B. Energiebedarf von Gebäuden) erst durch eine geschickte Automatisierung ermöglicht. Dennoch kann die Automatisierung aus den klassischen Fertigungsprozessen nicht einfach auf andere Anwendungsgebiete übertragen werden. Ein Negativbeispiel hierfür ist der in den 90-er Jahren unternommene Versuch, chirurgische Eingriffe mittels Industrierobotern auszuführen (Robo-Doc) – mit fatalen Folgen für viele Patienten1. Für den Maschinenbau kann der Begriff „Automatisierung“ noch enger gefasst werden:

1 Chirurgische Eingriffe erfordern aufgrund der Variantenvielfalt des Körpers (Knochenformen, Nerven- und Gefässbahnen) eine erhebliche Flexibilität seitens des Operateurs, die mit Robotern nur durch eine aufwändige Vermessung des „Werkstücks“ im Vorfeld geleistet werden kann. Aus heutiger Sicht ist noch unklar, ob dies auf absehbare Zeit überhaupt gelingen kann oder ob hier zur vermeintlichen Gewinnoptimierung des System-herstellers und der beteiligten Kliniken ein nicht ausreichend ausgereiftes Produkt eingesetzt wurde.

1

Page 8: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Eine Maschine kann durch die Ergänzung mit automatisierungstechnischen Komponenten (Aktoren und Sensoren, Regler, numerische und ereignisdiskrete Steuerungen, Kommunikationsmodule und Bedienfelder) soweit ertüchtigt werden, dass sie flexibel klar vordefinierte Prozesse ausführen kann und dies über einen langen Zeitraum wiederholbar mit gleichbleibender Qualität bewerkstelligt. Insbesondere der letzte Punkt ist für die Massenfertigung von grosser Bedeutung. Nur mit Hilfe numerisch gesteuerter Maschinen können Serienerzeugnisse auf hohem Qualitätsniveau überhaupt hergestellt werden. Hier unterscheidet sich die Automatisierung im Maschinenbau deutlich von der Automatisierung in der Informatik. Im Maschinenbau wird eine mechanisch möglichst gute Maschine unter klar definierten Randbedingungen so automatisiert, dass sie bei grösstmöglicher Flexibilität die physikalische Machbarkeitsgrenze im Sinne optimaler Produktivität erreicht. In der Informatik versucht man, mechanisch geringwertige Systeme (Lauf- oder Schwarmroboter) in einem wenig determinierbaren Umfeld (z.B. Spielfeld) so zu vernetzen und zu steuern, dass eine Aufgabe statistisch möglichst gut erfüllt wird. Das kann auch spannende Wissenschaft sein und macht für die Öffentlichkeits-wirkung viel her, verträgt sich aber nicht gut mit den im Maschinenbaustudium eingeübten seriösen Normen und Vorgehensweisen. Anders als in der Softwareentwicklung oder in der Kommunikationstechnik, wo in immer kürzeren Zeitabständen immer unausgereiftere Produkte auf den Markt geworfen werden – in der Hoffnung, die Kunden mögen die verbleibenden Fehler melden oder mit diesen sogar irgendwie leben können – würden fehlerhafte Maschinenbauerzeugnisse erhebliche Produktivitätseinbußen und gesundheitliche Gefahren für die Nutzer bedeuten. Daher ist es für den Maschinenbau-Ingenieur unerlässlich, Produkte seriös mit ausreichenden zeitlichen und personellen Ressourchen zu entwickeln und durch weitgehende Modellierung des physikalischen Systemverhaltens sowie ausreichende praktische Tests die Sicherheit und die Produktivität zu gewährleisten. Mit einiger Berechtigung kann man behaupten, dass Maschinenbau-Ingenieure die Automatisierungstechnik erfunden haben. Während in der Antike die Prozesse noch recht langsam abliefen und zu deren Bewältigung genügend Sklaven zur Verfügung standen, beschleunigten sich in der Neuzeit und vor allem während der Industrialisierung die Abläufe erheblich. Nur durch die eingangs beschriebenen „künstlichen Systeme“, die der Zeit entsprechend mechanisch ausgeführt waren, konnten die beschleunigten Prozesse in der Fertigung und im Transportwesen beherrscht werden. Am Beispiel des in Abb. 1.1 dargestellten Drehzahlreglers einer Dampfmaschine sei dies veranschaulicht: Steigt die Drehzahl der Arbeitsmaschine an, so hebt die an den Punktmassen m ansetzende Zentrifugalkraft den linear geführten Gelenkpunkt G an. Über den Hebel L/LS und den Schieber S der Dampfdrossel wird der Querschnitt des Dampfventils verkleinert und der verminderte Dampfstrom führt zu einem kleineren Moment bzw. zu einer kleineren Drehzahl an der Dampfmaschine. Die gewünschte Solldrehzahl kann in Grenzen durch Verschieben der Punktmassen m auf den drehenden Stangen oder durch Zusatzgewichte am Gelenkpunkt G eingestellt werden. So kann durch dieses künstliche (rückgekoppelte) mechanische System die Drehzahl wesentlich genauer gehalten werden, als wenn ein Bediener an der Arbeitsmaschine die Drosselklappe von Hand nachstellen würde.

2

Page 9: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

� � � � � �� � � � � � � � �

� � � �

� � � � � �

� � � � � �� � � � �

� �

� �

� � � � � �� � � � � � � � � �

� � � �

�� � � � � �� � � � �

� � � � � � � � � �� � � � � � �� � � � � � �

��

� � � � � � �� � � � � � � � � � � � � � � �

! � � �" � � � � �

� � � � �

� � � � � �� " � � � � ! � �

� � � � �

� � � � �

# � � � � $� � � � �

� � �

# � � � � � � � � � � � $! � � � �

� � � � �

$ �

� �

� �

� � � � � � � � � �� � � � � � � � � � � %� � % � � � � �

� � � � � � � � �� � � � � �

& � � � � � �

� � � �

� � � �� � � � � �

'

Abb. 1.1: Fliehkraft-Drehzahlregler an einer Dampfmaschine a) Prinzipskizze / physikalisches Modell b) Blockschaltbild / mathematisches Modell c) Realisierung mit mechatronischen Automatisierungskomponenten

3

Page 10: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Das in Bild 1.1 b angegebene Blockschaltbild stellt die Umsetzung des physikalischen Modells aus Bild 1.1 a in ein mathematisches Modell dar. Blockschaltbilder können von Ingenieuren verschiedenster Disziplinen interpretiert werden, weshalb sie auch als Grundlage für die Implementierung in Simulations-werkzeugen bevorzugt genutzt werden. Die Drosselklappenstellung ist in diesem Beispiel die sogenannte Stellgröße, da sie direkt auf die Arbeitsmaschine (also die Regelstrecke) einwirkt. Die gewünschte Drehzahl (also der Sollwert ωsoll) wird durch die Höhe der Drehmassen m vorgegeben und die Wirkung einer Abweichung zwischen Soll- und Istwert (der Regelfehler e=ωsoll-ωist) wird mit dem Hebelverhältnis (der Regelverstärkung K) in eine Drosselklappenstellung (die Stellgröße u) umgesetzt. Abb. 1.1 c zeigt die Ausführung derselben Automatisierungsaufgabe mit modernen mechatronischen Automatisierungskomponenten. Die Bewegung der Last wird mit einem Zahnrad und einem induktiven Sensor (oder einer Lochscheibe und einer Lichtschranke) erfasst. Die dabei erfassten Impulse werden über einen Sensor-Aktor-Bus und einen Buskoppler an einen Feldbus und schliesslich an eine SPS (Speicher Programmierbare Steuerung) weitergeleitet. Die SPS errechnet aus den Pulsen die Istdrehzahl und vergleicht diese mit der vorgegebenen Solldrehzahl. Die Abweichung wird über einen PI-Regler verstärkt und die gewünschte Schieberstellung hSsoll als Positions-Sollwert an einen dezentralen lagegeregelten Stellantrieb weitergegeben. Der Sollwert kann von einem Bedienfeld oder über einen Zellbus von einem übergeordneten Leitrechner variabel vorgegeben werden. Sogar die Algorithmen in der SPS können vom Leitrechner online verändert werden. Dadurch wird es möglich, sehr flexibel und adaptiv auf das System Dampfturbine-Last zu reagieren. Nur durch solche fortgeschrittenen automatisierungstechnischen Maßnahmen können die hervorragenden Wirkungsgrade moderner Kraftwerksblöcke in einem breiten Betriebsbereich erzielt werden. Die Vorteile dieser mechatronischen Lösung sind:

• Flexibilität - nichtlineare und adaptive Algorithmen werden möglich, • Größere Abstände zwischen den Automatisierungskomponenten zulässig, • Steuerbarkeit von der Zell- oder Leitebene.

Dagegen werden die Nachteile gerne seitens der Automatisierungskomponenten-hersteller verschwiegen:

• Viele Komponenten erforderlich, Ausfallwahrscheinlichkeit steigt mit der Zahl der Komponenten,

• Verarbeitungsgeschwindigkeit durch Busse begrenzt (Simulation vorab erforderlich),

• Modifikation oder Reparatur nur durch Ersatz der Komponenten möglich. Es ist verständlich, dass die Automatisierunghersteller versuchen, möglichst viele Ihrer Hardwarekomponenten für Fertigungslösungen zu verkaufen. Allerdings bestechen gut durchdachte mechanische Lösungen noch immer durch Ihre Einfachheit (und meist auch Kostengünstigkeit), determinierbare Zuverlässigkeit und Lebensdauer und sie können überall in der Welt mit einfachen Hilfsmitteln repariert oder modifiziert werden. Eine wichtige Aufgabe des Maschineningenieurs besteht daher auch darin, abzuwägen, welche mechatronischen Automatisierungs-komponenten für eine Anlage wirklich erforderlich sind, und so einen von den Zuliefereren und Informatikern gerne angestrebten „Automatisierungs-Overkill“ zu verhindern.

4

Page 11: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Ein eindrucksvolles Beispiel hierzu liefern moderne Druck- und Textilmaschinen. Obgleich die Servoantriebshersteller seit 20 Jahren die flexible, aus hunderten „intelligenten“ Einzelservoachsen bestehende und mit „elektronischen Kurvenscheiben“ angesteuerte Maschine propagieren, sind bis heute nur wenige für einen schnellen Wechsel des Bearbeitungsprogrammes wichtige Achsen wirklich so ausgeführt. Die Mehrzahl der Achsen bleibt über eine Königswelle kurvenscheibengesteuert und zeichnet sich nach wie vor durch eine hohe Zuverlässigkeit aus. Bei allem berechtigten Misstrauen gegenüber der Informatik sei noch ein positives Beispiel in der Automatisierungstechnik aufgeführt: Die mittlerweile internetgestützte Fernwartung und – diagnose vieler Automatisierungskomponenten birgt erhebliche Einsparpotentiale und verbessert die Servicemöglichkeiten. Durch ein online-Abbild der Komponentenzustände kann auch ohne persönliche (und kostenintensive) Anwesenheit von Spezialisten vor Ort effektive Inbetriebnahmeunterstützung bereitgestellt werden. Zudem kann durch Ferndiagnose die Zuverlässigkeit gesteigert werden, da bei Anzeichen von Alterung oder Teilausfällen früher reagiert werden kann. In diesem einführenden Kapitel werden die ingenieurwissenschaftlichen Grundlagen zusammengefasst, die für die Automatisierungstechnik im Maschinenbau von Bedeutung sind. Weitere Vertiefungen, Kurzeinführungen in die eingesetzten ingenieurwissenschaftlichen Werkzeuge und Musterlösungen zu den Übungen sind im Anhang enthalten. Viele der hier dargestellten Themen werden in der einschlägigen Lehrbuchliteratur zur Antriebstechnik, Regelungstechnik und zur Technischen Informatik deutlich umfangreicher und tiefgehender behandelt – jedoch für ein anderes Zielpublikum. Dort, wo die weiterführende Literatur zum besseren Verständnis hilfreich oder zur wissenschaftlichen Vertiefung unerlässlich ist, werden entsprechende Hinweise gegeben.

5

Page 12: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.1 Grundlagen der Datenverarbeitung Die Automatisierung von Produktionsmaschinen beruht zu einem erheblichen Teil auf Verknüpfungs- und Ablaufsteuerungen. Für das Verständnis der in den nachfolgenden Abschnitten beschriebenen digitalen Hardwarebausteine, der numerischen und speicherprogrammierbaren Steuerungen sowie der Bussysteme zur Verkettung von Produktionsmaschinen sind Grundlagenkenntnisse der Datenverarbeitung eine wichtige Voraussetzung. Dieser Abschnitt soll den Maschinenbau-Ingenieur befähigen, die wesentlichen Entwicklungen der Fertigungs-informatik nachzuvollziehen und einzuordnen. Aufbauend auf der Boole’schen Algebra und deren Basisoperationen werden der Aufbau eines Digitalrechners, Daten- und Zahlendarstellungen, Betriebssysteme und Netzwerke sowie die Visualisierungs- und Entwurfswerkzeuge der Automatentheorie erläutert.

1.1.1 Mathematische Grundlagen Da die Hardwarebausteine der Datenverarbeitung (siehe Abschnitt 1.2) mit binären logischen Zuständen arbeiten, werden zunächst die mathematischen Grundlagen der sogenannten Boole’schen Algebra2 zusammengefasst. Weiterhin ist für das Verständnis der Rechenoperationen von Digitalrechnern die Addition/Subtraktion und der Vergleich von Binärzahlen nützlich, da hieraus alle anderen Operationen zusammengesetzt werden können. Auch die Umrechnung von Zahlen aus dem Dezimalsystem in binäres Format ist für das Verständnis von Digitalrechner-programmen erforderlich. 1.1.1.1 Boole’sche Algebra Die Boole’sche Schaltalgebra ist nur über zwei Werte {0,1} definiert, wobei zwischen positiver und negativer Logik unterschieden werden muss (Tabelle 1.1.1). Nachfol-gend wird immer von positiver Logik ausgegangen.

Schaltzustand positive Logik negative Logik offen – nicht leitend 0 oder FALSE oder LOW 1 oder TRUE oder HIGH geschlossen - leitend 1 oder TRUE oder HIGH 0 oder FALSE oder LOW

Tabelle 1.1.1: Wertezuordnung bei positiver und negativer Logik Die Funktionen der Boole’schen Algebra sind in den logischen Verknüpfungen AND(UND), OR(ODER) und NOT(NICHT) festgelegt. Mit Hilfe dieser drei Grundfunktionen lässt sich jede logische Verknüpfung (Schaltfunktion) realisieren:

Logikfunktion AND(UND) OR(ODER) NOT(NICHT) Operator ∧ ∨ ¬ Schreibweise • + ⎯ Tabelle 1.1.2: Logische Grundfunktionen und Schreibweise der Operatoren Die Darstellung der Grundfunktionen kann über drei gleichwertige Arten erfolgen:

• Wertetabelle (Wahrheitstabelle) • Funktion • Schaltzeichen

2 George Boole, 1815 – 1864, englischer Mathematiker und Philosoph. Er begründete 1847 mit The Mathematical Analysis of Logic von 1847 die moderne mathematische Logik, die sich in ihrer konsequenten Formalisierung von der philosophischen Logik unterscheidet.

6

Page 13: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Funktionen und Wertetabellen der Grundfunktionen sind mit weiteren daraus abgeleiteten Basisfunktionen in Tabelle 1.1.3 dargestellt. Die Schaltzeichen (Gatter) werden in Abschnitt 1.3.1 im Rahmen der digitalelektronischen Umsetzung von Schaltnetzen eingeführt.

Operation Funktion Wahrheitstabelle NOT

xy =

x y 0 1

1 0

AND

21 xxy ⋅=

x1 x2 y 0 0 1 1

0 1 0 1

0 0 0 1

OR

21 xxy +=

x1 x2 y 0 0 1 1

0 1 0 1

0 1 1 1

Antivalenz XOR

2121 xxxxy ⋅+⋅=

x1 x2 y 0 0 1 1

0 1 0 1

0 1 1 0

Äquivalenz XNOR

2121 xxxxy ⋅+⋅=

x1 x2 y 0 0 1 1

0 1 0 1

1 0 0 1

Tabelle 1.1.3: Logische Grundoperationen mit Werte-/Wahrheitstabellen Die nachfolgenden Axiome und die daraus ableitbaren Sätze definieren die Boole’sche Algebra:

• Kommutativgesetz: 1221 xxxx ⋅=⋅ (1.1.1)

• Assoziativgesetz: ( ) ( ) 321321 xxxxxx ⋅⋅=⋅⋅( ) 321 xxx

; (1.1.2) ( )321 xxx ++=++

• Distributivgesetz: ( ) ( ) ( )3121321 xxxxxxx ⋅+⋅=+⋅( )

; (1.1.3) ( ) ( )3121 xxxx321 xxx +⋅+=⋅+

• Inversionsgesetz: 2121 xxxx ⋅=+ ; (1.1.4) (de Morgan) 2121 xxxx +=⋅

• Tautologie: 11111 xxxxx +==⋅ (1.1.5)

• Absorption: ( ) ( ) ( ) 12111211 xxxxxxxx =⋅+⋅=+⋅( ) ( )

; (1.1.6) ( ) 131112 xxxxxx11 xx =+⋅+=⋅+

• Nullelement: 0xx =⋅ 11 (1.1.7)

• Einselement: 1xx =+ 11 (1.1.8)

• Doppelte Negation: 11 xx = (1.1.9)

7

Page 14: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

• Verknüpfungen mit Null- 00x =⋅1 ; 11 x1x =⋅ ; (1.1.10) und Einselement: 11 x0x =+ ; 11x =+1 ;

Die Regeln für die Ausführung von Verknüpfungen lauten:

• NOT hat die höchste Priorität, • AND hat Vorrang vor anderen Verknüpfungen (Punkt vor Strich).

Für die über die Grundfunktionen hinausgehenden Schaltfunktionen sind mehrere gleichwertige Darstellungsformen möglich:

• Funktions- oder Wahrheitstabelle Die Kombinationen von Ein- und Ausgangsvariablen werden in Tabellenform (siehe Abb. 1.1.1 und Abb. 1.1.2) dargestellt. Hier unterscheidet man zwischen vollständiger und unvollständiger Tabelle. Bei der vollständigen Tabelle sind alle Ausgangs-variablen y1,y2,..ym vollständig definiert. Bei der unvollständigen Tabelle können nicht definierte Ausgangsvariablen („don’t care“-Terme, meist mit X dagestellt) beliebig mit 0 oder 1 belegt werden.

• Funktionsgleichung Aus Gründen der besseren Lesbarkeit wird bei dieser Darstellungsform oft das AND-Zeichen weggelassen ( ( ) 32121 xxxxxy += statt ( ) 32121 xxxxxy ⋅⋅+⋅= )

Die Beschreibung einer Schaltfunktion in Gleichungsform kann über zwei Normal-formen erfolgen, wie dies in Abb. 1.1.1 beispielhaft ausgeführt ist: - Disjunktive Normalform DNF: Der logische Ausdruck besteht in der obersten Ebene aus OR-Verknüpfungen, z.B. y=A+B+C wobei die Terme A,B,C komplexere Ausdrücke sein können (AND-Verknüpfungen in Verbindung mit NOT). Für jede auf HIGH = 1 gesetzte Ausgangszeile der Wahrheitstabelle ergibt sich ein konjunktiver Teilterm entsprechend den Zuständen der Eingangsvariablen. Die disjunktive Verknüpfung aller Teilterme ist dann bereits die vollständige Verknüpfungsvorschrift. - Konjunktive Normalform KNF: Der logische Ausdruck besteht in der obersten Ebene aus AND-Verknüpfungen, z.B. y=A.B.C wobei die Elemente A,B,C komplexere Ausdrücke sein können (OR-Verknüpfungen in Verbindung mit NOT). Für jede auf LOW = 0 gesetzte Ausgangszeile der Wahrheitstabelle ergibt sich ein disjunktiver Teilterm entsprechend den negierten Zuständen der Eingangsvariablen. Die konjunktive Verknüpfung aller Teilterme ist dann bereits wieder die vollständige Verknüpfungsvorschrift.

• Karnaugh-Veith Diagramm (KV-Diagramm) Jedes KV-Diagramm stellt eine Ausgangsspalte der Wertetabelle in Matrixform dar, d.h. jeder Eingangskombination wird genau ein Feld der Matrix zugeordnet. Bei n-Eingangsvariablen wird eine Matrix von 2n Elementen/Feldern benötigt. Die Anordung der 2n Elemente unterliegt einer Bedingung: Der Übergang von einem Element zu einem benachbarten Element darf nur den Wert einer Variablen ändern. Diese Vorgabe muss in horizontaler, wie vertikaler Richtung gegeben sein. Unter der Voraussetzung, dass Anfangs- und Endfeld einer Zeile, bzw einer Spalte benachbarte Elemente beinhaltet, lässt sich die Matrix auch als Zylinder zusammengerollt betrachten. Für jede Ausgangsvariable muss ein eigenes KV-Diagramm erstellt werden (siehe Abb. 1.1.2).

8

Page 15: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

• Schaltzeichen-Netzwerk Die Verknüpfungsvorschrift wird mit den digitalelektronischen Schaltsymbolen (den sogenannten Gattern), die in Abschnitt 1.2.1 beschrieben werden, dargestellt. Diese Darstellungsform ist jedoch eher für die konkrete Umsetzung von Schaltnetzen geeignet, weniger für deren analytische Behandlung.

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

( ) ( *

( +

� � � � � � � � � � � �

( * % % % % ( ) % % % % ( + % % % % , %

- % % % % % - % % % % % - % % % % -- % % % % % - % % % % % * % % % % *- % % % % % * % % % % % - % % % % - %- % % % % % * % % % % % * % % % % ** % % % % % - % % % % % - % % % % -* % % % % % - % % % % % * % % % % ** % % % % % * % % % % % - % % % % - %* % % % % % * % % % % % * % % % % * %

,

� � � � � � � � � � �

( *. ( )

. ( +

( *. ( )

. ( +

( *. ( )

. ( +

( *. ( )

. ( +

( * / ( ) / ( +

( * / ( ) / ( +

( * / ( ) / ( +

( * / ( ) / ( +

/

.

� � �

, 0 � ( *. ( )

. ( + � / � ( *. ( )

. ( + � / � ( *. ( )

. ( + � / � ( *. ( )

. ( + �

, 0 � ( * / ( ) / ( + �. � ( * / ( ) / ( + �

. � ( * / ( ) / ( + �. � ( * / ( ) / ( + �

� � �

1 � � � � � � � � �

, 0 ( +

Abb. 1.1.1: Wahrheitstabelle, KV-Diagramm und Funktionsgleichungen in DNF und KNF für eine Unterscheidung zwischen gerader und ungerader Zahl, Minimierungsresultat. Die oben aufgeführten Axiome und ableitbaren Sätze sowie die Normalformen zeigen, dass eine bestimmte Verknüpfungsvorschrift durch unterschiedliche logische Ausdrücke erreicht werden kann. Für Steuerungen legt man in der Regel die Verknüpfungsvorschrift als Wahrheitstabelle fest. Daraus kann direkt eine Verknüpfungsvorschrift in DNF oder KNF abgeleitet werden. Die digitalelektronische Umsetzung der Verknüpfungsvorschrift durch Kontakte, elektronische Gatter (Abschnitt 1.2.1.1), Programmcode (Abschnitt 1.3.3.3) oder als SPS-Programm (Abschnitt 2.3.2) macht es wünschenswert, mit einer möglichst kleinen Verknüpfungsvorschrift zu arbeiten. Zudem erfordern manche Umsetzungs-varianten (z.B. PLD in Abschnitt 1.2.2.1) eine bestimmte Anordnung der konjunktiven und disjunktiven Verknüpfungen. Man kann unter den folgenden Verfahren zur Umformung/Minimierung wählen:

• Mathematische Verfahren: Anwendung der Rechenregeln der Boole’schen Algebra Glch. (1.1.1-1.1.10)

• Algorithmische Verfahren, z.B. Verfahren nach Quine-McCluskey [Schiffm./Schmitz]

• Grafische Verfahren: KV-Diagramm Bei der Auswahl der Verfahren sollte unbedingt auf die Anzahl der zu verarbeitenden Variablen geachtet werden. Die mathematischen und grafischen Verfahren eignen sich bis zu einer Grössenordnung von 6 Variablen, danach geht im Allgemeinen die Übersichtlichkeit verloren. In diesem Falle sind algorithmische Verfahren vorzuziehen. Die erforderliche Minimierung und Umformung der aus der Wahrheitstabelle gewonnenen Verknüpfungsvorschrift kann für einfache Schaltnetze – mit etwas Übung – direkt durch die Anwendung der Axiome und Sätze gemäß Glch. (1.1.1-

9

Page 16: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.1.10) erfolgen. Zu Beginn der Digitalelektronik waren NAND- und NOR-Verknüpfungen besonders leicht umsetzbar, weshalb das Inversionsgesetz (de Morgan) hier sinnvoll anzuwenden war. Im einfachen Beispiel in Abb. 1.1.1 kann man durch Ausklammern von x3 aus der DNF und Anwendung von Glch. (1.1.8) die minimierte Form analytisch herleiten. Eine etwas strukturiertere Vorgehensweise zur Minimierung von Verknüpfungs-vorschriften bietet das KV-Diagramm, für das die Wahrheitstabelle mit bis zu 4 Eingangsvariablen gut in einer Matrixform dargestellt werden kann. Im einfachen Beispiel in Abb. 1.1.1 wird die Ausgangsvariable aus der Wahrheitstabelle in ein KV-Diagramm mit 8 Elementen übertragen. Daraus wird die minimierte Verknüpfungs-vorschrift sofort sichtbar. Das KV-Diagramm soll zur Verdeutlichung auf ein etwas komplexeres Beispiel in Abb. 1.1.2 angewandt werden:

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

( ) ( *

( 2 ( + � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

( ) ( *

( 2 ( +

� � � � � � � � � � � �

( * % % % % ( ) % % % % ( + % % % ( 2 % % % , %

- % % % % % - % % % % % - % % % % - % % % % *- % % % % % - % % % % % - % % % % * % % % % *- % % % % % - % % % % % * % % % % - % % % % -- % % % % % - % % % % % * % % % % * % % % % -- % % % % % * % % % % % - % % % % - % % % % *- % % % % % * % % % % % - % % % % * % % % % -- % % % % % * % % % % % * % % % % - % % % % *- % % % % % * % % % % % * % % % % * % % % % -* % % % % % - % % % % % - % % % % - % % % % -* % % % % % - % % % % % - % % % % * % % % % -* % % % % % - % % % % % * % % % % - % % % % 3* % % % % % - % % % % % * % % % % * % % % % 3* % % % % % * % % % % % - % % % % - % % % % 3* % % % % % * % % % % % - % % % % * % % % % 3* % % % % % * % % % % % * % % % % - % % % % 3* % % % % % * % % % % % * % % % % * % % % % 3

, ,

� � � � � � � � � � � �

� � % � � � � � � � � # � � � 4 �

� � � % � � � � � � � � �# � � � 4 � �

Abb. 1.1.2 Wahrheitstabelle und zugehöriges KV-Diagramm Die direkt aus der Wahrheitstabelle in Abb. 1.1.2 (oder dem KV-Diagramm) abgelesene Verknüpfungsvorschrift in DNF lautet:

4321432143214321 xxxxxxxxxxxxxxxxy ⋅⋅⋅+⋅⋅⋅+⋅⋅⋅+⋅⋅⋅= (1.1.11)

Verbindet man (HIGH-) gesetzte Elemente im KV-Diagramm zur Paaren, Quartetten oder gar Oktetten, so können mehrere konjunktive Teilterme direkt mit einem kleineren konjunktiven Term oder gar nur einem Eingang (oder dessen Negation) verknüpft werden. Für das Beispiel in Abb. 1.1.2 lautet die minimierte Verknüpfungsvorschrift:

321421 xxxxxxy ⋅⋅+⋅⋅= (1.1.12)

Unvollständig definierte logische Funktionen (d.h. Zeilen der Wahrheitstabelle, die nicht von Interesse sind, weil sie z.B. in der Realität nicht auftreten o.ä.) sind besonders günstig für die Minimierung mittels KV-Diagramm. Im Beispiel in Abb. 1.1.2 kann die Verknüpfungsvorschrift damit wesentlich weiter minimiert werden: 2131 xxxxy ⋅+⋅= (1.1.13)

Die Minimierung von Verknüpfungsvorschriften wird im nachfolgenden Beispiel (Abschnitt 1.1.1.4) sowie im Beispiel in Abschnitt 1.3.1.4 weiter veranschaulicht.

10

Page 17: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.1.1.2 Dualzahlenarithmetik Wie im nachfolgenden Abschnitt ausgeführt, arbeiten Digitalrechner mit Zahlendarstellungen im Dualsystem. Dabei wird eine Zahl durch eine Ziffernfolge der binären Zustände 1 oder 0 dargestellt. Man ordnet jeder Position der Ziffernfolge einen von links nach rechts steigenden Stellenwert in Form von Potenzen der

Basis 2 zu: (1.1.14) ∑ ⋅=−

=

1

02

n

i

iizZ

Gl. (1.1.14) stellt die Konvertierungsvorschrift einer Dualzahl Z2=(zn-1 zn-2 .. z1 z0) mit n Ziffern in die entsprechende Dezimalzahl dar. Soll umgekehrt eine Dezimalzahl als Dualzahl augedrückt werden, so teilt man die Dezimalzahl fortlaufend durch die Zahlenbasis 2 und notiert den Rest, bis das Divisionsergebnis Null ist. Die notierten Reste sind die Ziffern der Dualzahl in umgekehrter Reihenfolge. Am Beispiel der Dezimalzahl 29 sei dies demonstriert:

29 : 2 = 14 Rest 1 14 : 2 = 7 Rest 0 7 : 2 = 3 Rest 1 → 29 = 0b11101 3 : 2 = 1 Rest 1 1 : 2 = 0 Rest 1

Die Rechenregeln für arithmetische Operationen mit Dualzahlen unterscheiden sich nicht von den bekannten Rechenregeln im Dezimalsystem. Um das Verständnis für die Arbeitsweise von Digitalrechnern zu erleichtern, seien hier wesentliche arithmetische Operationen mit Dualzahlen anhand einfacher Beispiele erläutert: Addierer: Die Addition zweier Dualzahlen erfolgt stellenweise mit einem Übertrag zur nächsthöheren Stelle bei 1+1: 0b1011 11 + 0b1001 + 9 1 11 Übertrag = 0b10100 Ergebnis =20 Subtrahierer: Die Subtraktion zweier Dualzahlen erfolgt stellenweise mit einem „Borgbit“ von der nächsthöheren Stelle für 0-1: 0b1011 11 - 0b0101 - 5 1 Borgen = 0b0110 Ergebnis = 6 Komparator: Hier wird zwischen Identitätskomparator und Größenkomparator unterschieden. Ein Identitätskomparator prüft alle Stellen zweier Dualzahlen auf Gleichheit (XNOR) und verknüpft die Ergebnisse mit AND. Er ist somit durch ein kombinatorisches Netzwerk (Schaltnetz) realisierbar. Ein Größenkomparator stellt nicht nur die Identität zweier Zahlen fest, sondern auch deren Abweichung (größer/kleiner). Dies kann durch ein Subtrahierwerk erfolgen, dessen Ergebnis auf 0, <0, >0 geprüft wird. Alternativ dazu kann die Subtraktion ersetzt werden durch die Addition der negativen Darstellung einer Dualzahl, dem sogenannten Zweierkomplement [Rembold/Levi].

11

Page 18: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Alle arithmetischen Operationen müssen das Ergebnis auf den verfügbaren Zahlenraum prüfen und einen „Überlauf“ anzeigen. (s. hierzu auch Abschnitt 1.1.5). Eine weitere in der Digitaltechnik nützliche Darstellungsform ist das Hexadezimal-system (Basis 16). Die Umwandlung von Dual- in Hexadezimalzahlen ist besonders einfach, da jeweils 4 Dualziffern zu einer Hexadezimalziffer zusammengefasst werden können. Diese kompaktere Schweibweise hat sich bei Mikroprozessoren als recht praktisch erwiesen (s.a. Abschnitt 1.3.4). Tabelle 1.1.4 zeigt die Zahlen 0 bis 15 in dualer und hexidezimaler Darstellung:

Dual Hexadezimal Dezimal 0d0000 0x0 0 0d0001 0x1 1 0d0010 0x2 2 0d0011 0x3 3 0d0100 0x4 4 0d0101 0x5 5 0d0110 0x6 6 0d0111 0x7 7 0d1000 0x8 8 0d1001 0x9 9 0d1010 0xA 10 0d1011 0xB 11 0d1100 0xC 12 0d1101 0xD 13 0d1110 0xE 14 0d1111 0xF 15

Tabelle 1.1.4 Zahlen von 0-15 in dualer, hexadezimaler und dezimaler Darstellung

12

Page 19: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.1.1.3 Beispiele und Übungen Beispiel: 2-Bit-Addierer Für die Addition von zweistelligen Dualzahlen X=x1x0 und Y=y1y0 soll ein Schaltnetz entwickelt werden, welches das Ergebnis Z=z1z0 als zweistellige Dualzahl ausgibt und einen Überlauf Ü kennzeichnet. Die dazugehörigen Wahrheitstabellen sind in Abb. 1.1.3 dargestellt:

� � � � � � � � � � � �

( * % % % % ( - % % % % , * % % % , - % % % � * % % % � - % % % 5 %

- % % % % % - % % % % % - % % % % - % % % % - % % % % - % % % % -- % % % % % - % % % % % - % % % % * % % % % - % % % % * % % % % -- % % % % % - % % % % % * % % % % - % % % % * % % % % - % % % % -- % % % % % - % % % % % * % % % % * % % % % * % % % % * % % % % -- % % % % % * % % % % % - % % % % - % % % % - % % % % * % % % % -- % % % % % * % % % % % - % % % % * % % % % * % % % % - % % % % -- % % % % % * % % % % % * % % % % - % % % % * % % % % * % % % % -- % % % % % * % % % % % * % % % % * % % % % - % % % % - % % % % ** % % % % % - % % % % % - % % % % - % % % % * % % % % - % % % % -* % % % % % - % % % % % - % % % % * % % % % * % % % % * % % % % -* % % % % % - % % % % % * % % % % - % % % % - % % % % - % % % % ** % % % % % - % % % % % * % % % % * % % % % - % % % % * % % % % ** % % % % % * % % % % % - % % % % - % % % % * % % % % - % % % % -* % % % % % * % % % % % - % % % % * % % % % - % % % % - % % % % ** % % % % % * % % % % % * % % % % - % % % % - % % % % * % % % % ** % % % % % * % % % % % * % % % % * % % % % - % % % % - % % % % *

� � � � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

( * ( -

, * , -

5

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

( * ( -

, * , - � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

( * ( -

, * , -

� -� *

Abb. 1.1.3 Wahrheitstabelle und zugehörige KV-Diagramme zum 2-Bit-Addierer Aus den KV-Diagrammen für z1 und z0 folgt:

10110101101011011 yxxyyxyyxxyyxyxxz ⋅⋅+⋅⋅+⋅⋅⋅+⋅⋅+⋅⋅= (1.1.12)

00100101101011010 yxxyxxyyxxyyxyxxz ⋅⋅+⋅⋅+⋅⋅⋅+⋅⋅+⋅⋅= (1.1.13)

Aus dem KV-Diagramm für den Überlauf entnimmt man:

(1.1.14) 01010111 yyxyxxyxÜ ⋅⋅+⋅⋅+⋅=

Versucht man diesem Beispiel folgend, für die Dualzahladdition mit 4 oder gar 8 Stellen ein kombinatorisches Netzwerk aufzubauen, wird schnell deutlich, dass dann der Umfang des Netzwerkes enorm anwächst. Hier ist der Einsatz von sequentiellen Netzwerken (s.a. Automatentheorie in Abschnitt 1.1.6), die den in Abschnitt 1.1.1.2 beschriebenen Additionsalgorithmus mit Übertrag abarbeiten, gegebenenfalls sinnvoller. Dafür benötigen diese sequentiellen Netzwerke (Schaltwerke) mehrere Arbeitsschritte, wohingegen das kombinatorische Netzwerk (Schaltnetz) das Ergebnis in einem Schritt liefert.

13

Page 20: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Übung I: 7-Segment-Anzeige Realisieren Sie ein Schaltnetz, das eine BCD- (BCD - binär codierte Dezimalzahl) Umsetzung in einen 7-Segment-Code realisiert. Zuordnungstabelle: Dezimal BCD 7-Segment-Code Ziffer S4 S3 S2 S1 a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 0 0 1 1 1 1 1 7 0 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 0 0 1 1 a a S1 b S2 Code- c f b S3 umsetzer d g S4 e f e c g d Erweitern Sie die Umsetzung so, dass die nicht benutzten Eingangskombinationen zu Sonderzeichen/Symbolen umgesetzt werden (die Zuordnung und Sonderzeichen legen Sie selbst fest) Übung II: Primzahlerkennung Erstellen Sie die Formel (DNF) für die Boole’sche Funktion mit 4 Variablen x3,x2,x1,x0, die genau dann den Wert 1 annimmt, wenn die Dualzahl [x3,x2,x1,x0] eine Primzahl ist. Versuchen Sie eine Minimierung mittels Karnaugh-Diagramm.

14

Page 21: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.2 Grundlagen der Digitalelektronik Die Digitalelektronik befasst sich mit Halbleiterschaltungen für kombinatorische und sequentielle Netzwerke, wobei der Schwerpunkt der einschlägigen Literatur [Kemnitz, Tietze/Schenk] bei den Hardwarekonzepten und deren Umsetzung in integrierte Schaltungen (IC – integrated cirquit) liegt. Für die Automatisierungstechnik im Maschineningenieurwesen ist zwar ein gewisses Grundverständnis der Hardware sinnvoll, jedoch liegt der Schwerpunkt hier bei der Anwendung für Steuerungs-aufgaben. Die digitale Steuerung in der Automatisierungstechnik unterscheidet prinzipiell zwei Hardwarekonzepte:

• Verbindungsprogrammierte Steuerung (VPS)

• Speicherprogrammierte Steuerung (SPS) VPS-en werden in einfachen Anwendungen (z.B. Waschmaschinensteuerung, Garagentorantriebe etc.) eingesetzt und benötigen oft noch periphere analogelektronische Bauelemente zur Umsetzung von Meß- und Ausgabesignalen. Die logischen Verknüpfungen werden fest vorgegeben (festprogrammiert), womit der Baustein dann keine oder nur noch eine geringe Flexibilität aufweist. Dafür kann eine nahezu verzögerungsfreie Verarbeitung von Eingangs- zu Ausgangssignalen erreicht werden. SPS-en sind um integrierte Peripherie-Schnittstellen erweiterte Mikrorechner, deren logische Verknüpfungen in Form eines Ablaufprogrammes lokal abgespeichert und verändert werden können. Sie sind damit flexibler als VPS-en, jedoch sinkt die Verabeitungsgeschwindigkeit mit dem Programmumfang. Die Programmierung in eigens dafür entwickelten Programmiersprachen (Assembler, BASIC, C, IEC-1131-Sprachen) und Entwicklungswerkzeugen kann sehr aufwändig werden. In diesem Abschnitt werden zunächst die gängigen Bauelemente der Digitalelektronik mit den mathematisch-logischen Grundlagen aus Abschnitt 1.2.1 verknüpft. Anschliessend werden die verbindungsprogrammierten Logikbausteine eingeführt und ein Ausblick auf den aktuellen Stand der Technik (v.a. für die leistungsfähigen FPGA) gegeben. Zunehmend verbreiten sich Mikrocontroller als kleinste und preisgünstigte speicherprogrammierbare Hardwarekomponente auch in Anwendungsgebieten, die bislang mit verbindungsprogrammierten Komponenten gesteuert wurden. Daher werden, ausgehend von den Grundlagen der Rechnerarchitektur in Abschnitt 1.1.2, der Hardwareaufbau, die Entwicklungs-umgebung und die Programmierung mit Assembler am Beispiel eines modernen RISC-Mikrocontrollers (AVR-Familie von Atmel) vertieft. Für die in Abschnitt 2.3 behandelte Industrie-SPS zur ereignisdiskreten Steuerung von Prozessen – das „Lastpferd“ der Automatisierung – sind die hier dargestellten Grundlagen der Mikrocontrollerprogrammierung von großem Vorteil.

64

Page 22: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.2.1 Bauelemente Logische Verknüpfungen wurden zu Beginn der Automatisierung in Kontakttechnik realisiert. Hierbei wurden über eine Steuerspannung magnetisch betätigte Schalter (sogenannte Relais oder Schütze) so verbunden, dass die nachfolgend dargestellten Gatterfunktionen umgesetzt werden konnten. Sogar ganze Rechneranlagen wurden bis in die 50-er Jahre so gebaut. Auch heute wird diese – im Produktionsumfeld auch „Schütztechnik“ genannte – Relaistechnik noch eingesetzt, da sie sehr zuverlässig läuft (z.B. für Not-Aus-Kreise) und ohne grosse Hilfsmittel (Auge, Ohr, Schraubendreher und Spannungsprüfer) zu durchschauen und zu warten ist. Nachteilig sind der Raumbedarf, die Verlustleistung, die geringe Schaltgeschwindigkeit und auch der Lärm bei häufiger oder zyklischer Betätigung. Die Betriebsspannung und die schaltbaren Leistungen sind prinzipiell nicht begrenzt. Üblicherweise wird als Logikpegel die 24V-Versorgungsspannung in Schalt-schränken eingesetzt (HIGH ≅ 24 V, LOW ≅ 0 V). Mit Transistoren als Halbleiterschalter können logische Verknüpfungen deutlich kompakter und wesentlich schneller realisiert werden. Hier hat sich zunächst die auf Bipolartransistoren basierende TTL- (Transistor-Transistor-) Logik etabliert (HIGH ≅ 5 V, LOW ≅ 0 V), die Verzögerungszeiten zwischen Ein- und Ausgangsgrößen von ca. 10 ns aufweisen. Zunehmend wird die noch verlustärmere CMOS- (Complementary Metal-Oxide Semiconductor) Logik eingesetzt, die auf Metalloxid-Feldeffekttransistoren beruht. CMOS-Bauelemente können mit variabler Versorgungsspannung und entsprechend variablem Logik-Spannungsniveau arbeiten (HIGH ≅ VCC=3-15 V, LOW ≅ 0 V). Sie sind mit Verzögerungszeiten von 40 bis 100 ns etwas langsamer als TTL-Bauelemente, was aber für die maschinenbaulich orientierte Automatisierungstechnik meist keine Rolle spielt. Die nachfolgende Abbildung zeigt einen Invertierer (logisch Nicht/NOT), dessen Ein-Ausgangsverhalten durch eine Wahrheitstabelle charakterisiert wird, sowie die Realisierung in Kontakt- und Transistortechnik:

� � � � � � � � � � � � � � � � �

� � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � ��

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � �

� � � � � � � � � �� � � � � � � � � � � �

� � � � �

� � � � � � � � � �

� � � �

! " � � � � �

#

"

"

#

� � $ $

��

� � $ $

��

� � �� � �

� � � �� � �

! " � � � � � ! " � � � � � Abb. 1.2.1: Wahrheitstabelle zur NOT-Verknüpfung, Schaltsymbol und Realisierung in Kontakttechnik sowie mit einem NMOS- und einem PMOS-Transistor Die Realisierungsmöglichkeiten der Halbleiterlogik sind unübersehbar vielfältig. In Anlehnung an [Kemnitz] werden nachfolgend die Realisierungsvarianten beispielhaft

65

Page 23: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

mit NMOS- (grosses Gate-Potential schaltet sie ein) und PMOS- (kleines Gate-Potential schaltet sie ein) Feldeffekttransistoren beschrieben (siehe Abb. 1.2.1). 1.2.1.1 Gatter Die logischen Grundverknüpfungen Konjunktion und Disjunktion mehrerer Eingangsgrößen x1, x2,.., xn zu einer Ausgangsgröße y können mit Reihen-schaltungen (AND siehe Abb. 1.2.2) und Parallelschaltungen (OR siehe Abb. 1.2.3) realisiert werden:

� � � � � � � � � � � � � � � !

� � � � � � � � � � � � � �

� � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � � � � � �

� � � � � � � � � �

� �

%

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

�� � � �

#

#

� � $ $

� �

� � � �

� �

� �

Abb. 1.2.2: Wahrheitstabelle zur AND-Verknüpfung, Schaltsymbol und Realisierung in Kontakttechnik sowie mit Transistoren

� � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � �

� � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � � � � � �

� � � � � � � � � �

� �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

�� � � �

#

#

� � $ $

� �

� � � �

� � � �

Abb. 1.2.3: Wahrheitstabelle zur OR-Verknüpfung, Schaltsymbol und Realisierung in Kontakttechnik sowie mit Transistoren Mit diesen Basisgattern sowie deren Negierung/Erweiterung (NAND,NOR,XOR, siehe nachfolgende Übungen und [Pritschow]), können kombinatorische Netzwerke (auch Schaltnetze genannt) mit einer eindeutigen Zuordnung von Ein- und Ausgängen (den sogenannten Schaltfunktionen) realisiert werden:

66

Page 24: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

y=f(x) (1.2.1) mit x - Eingangsvektor mit den Variablen x1,x2,…,xn

y - entsprechend den Ausgangsvektor mit den Ausgangsvariablen y1,y2,…,ym,

Die funktionale Zuordnung zwischen den Eingangs- und Ausgangsvariablen wird durch die in Abschnitt 1.2.1 beschriebenen logische Operationen gebildet.

y1=f1(x1,x2,…,xn) y2=f2(x1,x2,…,xn) (1.2.2) ... ym=fm(x1,x2,…,xn)

Betrachtet man die DIN-Norm (DIN 44300: Terminologie der Informationsverar-beitung, Teil 9: Begriffe, Verarbeitungsabläufe), so wird ein Schaltnetz als Abhängigkeit der Ausgangswerte zu irgend einem Zeitpunkt von den am Eingang anliegenden Werten zu eben diesem Zeitpunkt beschrieben. Unter den Voraussetzungen der Echtzeitverarbeitung (Steuern/Regeln) von Prozessen ist eine Erweiterung um die Zeit unerlässlich. Die Ausgangsvariablen erreichen ihren Zustand zum Zeitpunkt

t1=t0+ Δt (1.2.2) mit t0 – Zeitpunkt des Anlegens der Eingangsvariablen

Δt – Lauf- oder Verzögerungszeit der in den Schaltnetzen verwendeten Komponenten. Die Verzögerungszeiten ergeben sich aus der Pegelübergangszeit, die meist unterschiedlich ist für die Übergänge von 0→1 (steigende Flanke) und von 1→0 (fallende Flanke), und der Signalverzögerungszeit im Baustein und in den Verbindungsleitungen. Bei Verwendung von Bausteinen/Logikgattern der unterschiedlichsten Schaltkreis-familien ist daher nicht nur auf statische Kenngrössen (Eingangslastfaktor, Ausgangslastfaktor, Störabstand, Temperaturbereich etc.) sondern auch dynamische Grössen (Anstiegs- und Abfallzeiten, Laufzeiten) zu achten. Die Parameter sind den Datenblättern der Bausteine zu entnehmen. Abb. 1.2.4 zeigt einen beispielhaften Auschnitt des Datenblattes für einen Baustein mit 4 NAND-Gattern. Folgende Punkte sind bei Vernetzung von Gattern unbedingt zu beachten:

• Kombinatorische Netzwerke speichern keine Informationen, sondern verarbeiten diese lediglich weiter,

• Signalrückführungen sind nicht zulässig, d.h. Eingänge dürfen nur mit Ausgängen voranliegender Komponenten verbunden werden,

• alle nicht benutzten Eingänge der Verknüpfungsglieder sind entsprechend der zu erfüllenden Schaltfunktion mit 0 oder 1 zu beschalten,

• Ausgänge der Verknüpfungsglieder dürfen nicht miteinander verbunden werden (Ausnahmen: Tri-state für Bus-Struktur - durch einen zusätzlichen enable-Eingang kann der Ausgang in einen hochohmigen Zustand versetzt werden, Open Collector - über Pull-up Widerstand wird eine logische 1 erzeugt)

Ein guter Überblick über Schaltkreisfamilien (Struktur, Vor-/Nachteile, Zeitverhalten und Einsatz in der Automatisierungstechnik) ist in [Seifart/Beikirch] zu finden.

67

Page 25: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abb. 1.2.4: Datenblattausschnitte für den Baustein HCF 4011B Quad 2 Input NAND Gate [Herstellerreferenz], Messbeispiel (Oszi-Bild) 1.2.1.2 Flipflops Um mit digitalelektronischen Bauelementen Speicher-Register als Basis für Rechnerarchitekturen (siehe Abschnitt 1.1.2) oder die in Abschnitt 1.1.6 dargestellten Moore- und Mealy-Automaten zu realisieren, werden Elemente benötigt, die interne Zustände speichern und bei nachfolgenden Operationen weiterverarbeiten können. Solche sequentiellen Netzwerke werden auch Schaltwerke genannt. Beispielsweise entsteht durch die in Abb. 1.2.5 dargestellte gegenseitige Rückkopplung zweier NOR-Gatter das sogenannte RS-Flipflop, das durch den Set-Eingang S auf HIGH gesetzt werden kann und durch den Reset-Eingang wieder auf LOW zurückgesetzt wird. Das Verhalten dieses Bauteils hängt von dessen Vorgeschichte ab, so dass die Wahrheitstabelle zur Zustandsfolgetabelle erweitert werden muss.

68

Page 26: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

" � � � � # $ � � � � � � � � � � �

� � � � � # � � � � � & � � � � � � & � � � �

� � � � � � � � � � � � � ' � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � ' � � � � � � � � � �� � � � � � � � � � � � � ' � � � � � � ( ) ( � * � � �

� � � � � � � � � �

" � � � � # # � � � � � � �

� � � � � � � � � � � � # � � � � � % & � � �� � � � � � � ' ' � � � � � � � � ( � � � � � )

#

&

&

&&

#

� �

� � � � #� � + � #

#

#

Abb. 1.2.5: Zustandsfolgetabelle und –diagramm für das RS-Flipflop, Realisierungsvariante mit NOR-Gattern und Schaltsymbol Ausgangssignale von digitalen Bauteilen folgen den Eingangssignalen nicht verzögerungsfrei. Unterschiedliche Signallaufzeiten in parallelen Netzwerkzweigen können zu nicht definierbaren Zwischenzuständen führen. Dies wird verschiedentlich als „Einschwingverhalten“ bezeichnet. Daher führt man sequentielle Netzwerke in der Regel mit getakteten Bauelementen aus. Synchronisierte Schaltwerke tasten mittels eines Taktsignals alle Eingänge periodisch ab. Zwischen den Taktperioden sind damit Einschwingvorgänge oder transiente Störungen wirkungslos. Getaktete Flipflops sind in verschiedensten Ausführungen verfügbar (Master-Slave- bzw. JK-Flipflops, D-Flipflop etc. – eine umfangreiche Übersicht ist z.B. in [Tietze/Schenk] zu finden). Beispielhaft soll hier das flankengesteuerte D-Flipflop beschrieben werden, das in der nachfolgenden Übung IV für die Drehrichtungs-erkennung an einem inkrementellen Meßsystem eingesetzt wird (siehe Abb. 1.2.6). Das D-Flipflop besitzt einen Dateneingang D und einen Takteingang C. Typabhängig reagiert er entweder auf eine ansteigende (oder abfallende) Taktflanke und setzt den Ausgang Q auf den momentanen Wert des Dateneingangs D. Wenn sich D vor oder nach der Taktflanke ändert, bleibt dies ohne Wirkung auf den Ausgang. Meist wird auch noch ein Reseteingang ausgeführt, mit dem der Ausgang unabhängig vom Dateneingang beim nächsten Takt rückgesetzt werden kann. Zur besseren Übersichtlichkeit ist dieser Reseteingang jedoch nur dann aufgeführt, wenn er genutzt wird.

" � � � � # $ � � � � � � � � � � �

" � � � � $ � � � � & � � � � � � & � � � �

� � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � " � � � � # # � � � � � � �

$

&

#

"� �

" �

&# � � � � � � � " �

Abb. 1.2.6: Schaltsymbol, Zustandsfolgetabelle und –diagramm für das D-Flipflop, Eine beispielhafte Anwendung des taktgesteuerten Flipflops ist das in Abb. 1.2.7 dargestellte Schieberegister. Sollen 4 Bit aus einem seriell übertragenen Signal S in

69

Page 27: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

ein 4-Bit-Register eingeschrieben werden, so kann dies mit einer Verkettung von 4 D-Flipflops realisiert werden:

$

&"

$

&"

$

&"

$

&"

$

� �� � � � � ,

� � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � �� � � � � �

� � � � � � � �� � � � � � �

� � � �

$

� �

� �

� �

� ,

* * *+

Abb. 1.2.7: 4-Bit Schieberegister zur Speicherung seriell übertragener Bits mit Impulsdiagramm Das erste D-Flipflop übernimmt zur ersten fallenden Taktflanke den Wert von S, das zuerst das höchtswertigste Bit sendet (in diesem Beispiel eine 1), in den Ausgang Q=y0. Im folgenden Takt wird der Wert von y0 nach y1 übertragen und in y0 das nächst niederwertigere Bit (hier 0) übernommen, das S nun sendet. Im nächsten Takt werden die Werte von y0 nach y1 bzw. von y1 nach y2 übertragen (geschoben), usw. Das seriell übertragene Signal S kann nach 4 Takten parallel aus diesem Register ausgelesen werden oder über die kommenden 4 Takte seriell an y3 wieder ausgelesen werden. Durch Rückkopplung solcher Flipflop-Ketten können Zufallsgeneratoren und Zähler realisiert werden. Hierzu sei auf die mannigfaltigen Beispiele in [Tietze/Schenk], [Rechenberg/Pomberger] verwiesen. 1.2.1.3 Speichermedien Grundsätzlich wird zwischen prozessornahen Speichern (Haupt- oder Arbeitsspeicher genannt) und peripheren Datenspeichern unterschieden. Nahe dem Prozessor müssen Speicher schnell gelesen und ggf. beschrieben werden können, wobei die Datenmenge klein ist (typisch sind1-10 kByte bei Mikroprozessoren und

70

Page 28: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

einige MByte bei PC’s). Periphere Speicher dienen vor allem der Datenablage, so dass es hier weniger auf Zugriffsgeschwindigkeit als auf das Datenvolumen und die Datenlebensdauer ankommt. Heute sind für geringe Kosten bereits periphere Speicher im TByte-Bereich erhältlich. Bei den peripheren Speichern überwiegen die magnetischen (Festplatte) und optischen (CD, DVD) Speicherprinzipien, auf denen Daten über Jahrzehnte erhalten bleiben können. Einzig die momentan gebräuchlichen „USB-Sticks“ beruhen auf dem unten beschriebenen Flash-Speicher, der eigentlich für prozessornahen Einsatz gedacht ist. USB-Sticks sollen zwar nahezu unbegrenzt gelesen werden können, jedoch verschleissen die Speicher durch Beschreiben, so dass dieser periphere Speicher nicht für die Archivierung von Daten geeignet ist. Magnetische Speicher wurden früher als Magnetbandspeicher oder Disketten ausgeführt, heute dominiert der Festplattenspeicher. Dieser besteht aus einer oder mehreren drehenden Scheiben mit magnetisierbarer Oberfläche. Winzige Flächen mit Nord- bzw. Südmagnetisierung stellen gesetzte bzw. nicht gesetzte Bits dar. Die Platten sind in Köpfe (Oberflächen), Zylinder (Spuren) und Sektoren aufgeteilt. Die Informationen bleiben auch ohne Stromversorgung erhalten. Durch die begrenzte Drehzahl der Scheiben und die endliche Beschleunigung der Schreib-/Leseköpfe sind Datendurchsatz und Zugriffszeit festgelegt (s. Tabelle 1.2.1). Bei den optischen Speichermedien dominieren die Compact Disc (CD) und die Digital Versatile Disc (DVD). Auf einer Polycarbonat-Scheibe wird mittels Laser oder Spritzgussform eine Mikrostruktur aufgebracht. Länge und Abstand dieser Vertiefungen in einer Spur angeordnet bilden seriell die gespeicherte Information nach. Die CDs nahmen ihren Anfang als so genannte Audio-CD1 und und wurden zunehmend zur Speicherung von Daten interessant. Als CD-ROM (Read Only Memory) dienten sie zunächst der Installation umfangreicher Programmsysteme. Mit den einfach und mehrfach beschreibbaren CDs eröffnete sich die Möglichkeit, Datensicherung/-archivierung zu akzeptablen Kosten mittels dieser Medien zu betreiben.

Speicherart Prinzip typ. Zugriffszeit Speichervolumen

CD/DVD optisch > 50 ms 0,7-17 GByte

Festplatte magnetisch 1 – 20 ms > 100 GByte

Arbeitsspeicher DRAM < 0,5 µs 0,25 – 4 GByte

Zwischenspeicher (prozessorextern – Cache Level 2) SRAM < 50 ns 0,5 – 2 MByte

Zwischenspeicher (prozessorintern – Cache Level 1) SRAM < 5 ns 1 – 64 kByte

Register Flipflops < Prozessortakt 32 – 256 Byte Tabelle 1.2.1: Speicherhierarchie und wesentliche Kenndaten der Speicherarten Während CDs ein Datenvolumen von 700 MB bereithalten, haben DVDs an der Handhabung nichts geändert, aber ein Datenvolumen von 4,7 bis max. 17 GB auf 1 Musik wird standardmäßig mit einer Abtastfrequenz von 44100 Hz und 16 Bit = 2 Byte Auflösung aufgezeichnet. Eine Sekunde Aufzeichnungs- bzw. Abspieldauer erfordert damit 88,2 kByte. Bei 700 MByte Speicherkapazität beträgt die Abspieldauer ca. 2 Stunden.

71

Page 29: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

einer Scheibe ermöglicht. Datenträger dieser Art enthalten normalerweise eine spiralförmige Spur die von innen nach außen gelesen wird. Die Zugriffsweise bei Festplatten und CD/DVD ist grundsätzlich ähnlich wie bei Bändern: Es müsste die ganze Spur von vorn bis hinten gelesen werden, um einzelne Daten zu finden. Das wäre allerdings in der Handhabung nicht akzeptabel und zu langsam. Deshalb wurde hier ein RAM- (Random Access Memory) -Zugriff ermöglicht, indem am Anfang ein Inhaltsverzeichnis angeordnet ist, das es ermöglicht, den Lesekopf radial schnell zu bewegen und dort die „Spur wieder aufzunehmen“. Prozessornah werden Halbleiterspeicher eingesetzt. Die zuvor behandelten Flipflops können bereits als Speicher genutzt werden, wobei mit diskreten Bauelementen nur kleine Speicher (wenige Bit) realisiert werden können [Pritschow]. Die prozessorinternen Register bestehen aus 8-Bit-Flipflop-Ketten (s. Auffangregister in Übung III). Für größere Speicherkapazitäten wird das Prinzip der Speichermatrix genutzt, das nachfolgend zunächst für einen reinen Lesespeicher (ROM – Read Only Memory, auch Festwertspeicher genannt) erläutert wird: a) b)

� $ $

� � � � � � � � �� � � � � � � � � �

- . � � � � � � � � (

" � � � � � � � (

� � � � � � � �� � � � � � � � �

� / � � � � � � � � � � � � � � � � 0 � 1 � 2 � � �

� � � � 3 � � � � * � 4 � �

� / � � � � � . � � � � � � . � � � � �

5�����.������.�����

" � � � � ( � �

- . � � � � �

6

! "

#

c) d)

$

&"

" �

� � � � � � � � � � �

� � � ! � � �� � � � � � � " �

" � � � � � � � (

- . � � � � � � � � (

� � �

$6

" � ( �%%

! � � � � � # � $ � � � � � � � � � �

- . � � � � � � � � (

" � � � � � � � (

%

! "

Abb. 1.2.8: Speicherelemente a) Bipolares ROM-Speicherelement b) Speichermatrix c) DRAM-Speicherlement d) Flipflop als SRAM-Speicherelement

72

Page 30: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Das Speicherelement in Abb. 1.2.8 a wird über die Adressleitung angesteuert, die den Bipolartransistor T durchsteuert. Ist die trennbare Verbindung intakt, so liegt an der Datenleitung die Versorgungsspannung VCC (also HIGH) an. Ist die trennbare Verbindung nicht intakt, so „zieht“ der (Pulldown-) Widerstand R das Datenleitungs-potential auf GND (also LOW). Ordnet man diese Speicherzellen, wie in Abb. 1.2.8 b prinzipiell skizziert, als Matrix an, so können einzelne Speicherzellen durch Umcodierung der Adresse in Zeilen- und Spaltenadressen direkt angesprochen und die gespeicherte Information über einen Leseverstärker ausgelesen werden. Derartige Speichermatrizen können über mehrere MBit Speichervolumen verfügen. Die Programmierung der ROM-Speichermatrizen erfolgt üblicherweise herstellerseitig mit Ätzmasken, die die trennbaren Verbindungen im nachfolgenden Säurebad schützen oder zur Auflösung freigeben. Nach dem Herstellprozess ist dieser Speicher nicht mehr änderbar, so dass er für feste Programmelemente (z.B. BIOS im PC, Bootbereich bei Mikrocontollern) oder (früher) für Programmeinschübe in Spielkonsolen eingesetzt wurde. Eine flexiblere Weiterentwicklung stellten die EPROM- (Erasable Programmable ROM) dar. Diese Festwertspeicher können an einem speziellen Programmiergerät vom Anwender beschrieben (meist mit UV-Licht) sowie wieder gelöscht und neu beschrieben werden. Wirklich Anwenderfreundlich wurden Festwertspeicher erst durch die Einführung elektrisch beschreib- und löschbarer EEPROMs. Besonders schnelle EEPROM-Speicher werden auch als „Flash-Speicher“ bezeichnet. EEPROMs sind heute fester Bestandteil von Mikrocontrollern und allen sicherheitsrelevanten Funktionen an Prozesssteuerungen, da diese Ihren Inhalt auch bei abgeschalteter Versorgungsspannung behalten und beim Neustart verfügbar machen. Da EEPROMs nur bis zu 100000 mal wiederbeschreibbar sind (Flash-Speicher nur 1000 bis 10000 mal) können sie nicht zum ständigen prozessornahen Datenaustausch genutzt werden. Zum regelmäßigen schnellen Datenaustausch müssen prozessornahe Speicher Lesen und Schreiben können. Sie werden als RAM (Random Access Memory) bezeichnet. Schreib-Lese-Speicher werden ebenfalls als Speichermatrix aufgebaut. Sie besitzen gegenüber dem ROM in Abb. 1.2.8 b noch einen Schreib-Lese-Verstärker sowie eine Schreib-Lese-Steuerung. RAM-Bausteine verlieren ihren Speicherinhalt bei abgeschalteter Versorgungsspannung. Man unterscheidet dynamische (DRAM) und statische (SRAM) Schreib-Lese-Speicher: Der Aufbau einer DRAM-Speicherzelle ist in Abb. 1.2.8 c beschrieben. Steuert man den FET mit der Adressleitung an, so kann im Schreibmodus das Potential der Datenleitung in die Speicherkapazität übertragen werden. Im Lesemodus kann das Potential der Speicherkapazität auf die Datenleitung übertragen werden. Da beim Auslesen sowie durch parasitäre Entladeströme auf dem Halbleitersubstrat die Speicherzelle ihre Information langsam verliert, muss der Speicherinhalt zyklisch (alle 2..100 ms) aufgefrischt werden. Diese Refresh-Steuerung führte zur Bezeichnung „dynamisch“. Die DRAM-Speicherzellen sind klein und haben einen geringen Leistungsbedarf, so dass eine hohe Speicherdichte erreicht werden kann. Durch den Zeitbedarf zum Laden/Entladen der Speicherkapazitäten ist die Speichergeschwindigkeit begrenzt. Abb. 1.2.8 d zeigt eine mit einem Flipflop als Datenspeicher aufgebaute SRAM-Speicherzelle, die sehr schnelle Speichervorgänge zulässt. SRAM-Speicherzellen benötigen keine Auffrischung, haben jedoch eine erhöhte Leistungsaufnahme, die mit der Taktfrequenz steigt.

73

Page 31: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Im prozessornahen Bereich wird zwischen Arbeitsspeicher (DRAM), Zwischenspeicher (auch „Cache“ genannt – SRAM) und Register (prozessorinterne Flipflopketten) unterschieden. Auch periphere Speicher- und Ausgabegeräte besitzen oft einen Zwischespeicher (z.B. Festplatten-Cache) zur Erhöhung der Übertragungs-geschwindigkeit oder für die Überbrückung von Übertragungslücken (z.B. für die Soundkarte). Für die detaillierte Betrachtung peripherer und prozessornaher Speichertechnik sei auf [Rechenberg/Pomberger], [Rembold/Levi] verwiesen.

74

Page 32: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.2.1.4 Beispiele und Übungen Beispiel: Würfelanzeige I Nachfolgend soll eine Auswertelogik entworfen werden, die einen 3-Bit-Eingang x=(S1, S2, S3) in eine Würfelanzeige mit 7 LED wandelt. Dabei sollen die LED nur für die dezimalen Zahlenwerte x=1-6 leuchten und ansonsten dunkel bleiben. Aufgrund der paarweisen Augenanordnung des Würfels werden für den Ausgang Y nicht 7 Bit, sondern nur 4 Bit benötigt: Y=(a/g,b/f,c/e,d). Die daraus abgeleitete Wahrheitstabelle zeigt Abb. 1.2.9:

� � � � � � � � � � � � � � )

� � � � � � � � � � � , � � � � � � � � � � � ' � � � � � � � � � .

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

.'

7 8 � � � � � ) � � �

- ( � 9 � � � � � � � 4

,� �

� ,

� �

� 0 ' 0 �� 0 �.

+ + � � + * � * * � � * +

+ + � � � � + � � � � + � � � � * � � � � *

+ * � � � � * � � � � * � � � � + � � � � *

* *

* +

� � � �

� � � , + + � � + * � * * � � * +

+ + � � � � + � � � � + � � � � + � � � � *

+ * � � � � + � � � � + � � � � + � � � � +

* *

* +

� � � �

� � � ,

+ + � � + * � * * � � * +

+ + � � � � + � � � � + � � � � * � � � � *

+ * � � � � + � � � � + � � � � + � � � � *

* *

* +

� � � �

� � � , + + � � + * � * * � � * +

+ + � � � � + � � � � + � � � � + � � � � +

+ * � � � � * � � � � * � � � � * � � � � +

* *

* +

� � � �

� � � ,

� '

� .

� � � � � � � � � ! � � � � � � � � )

� � � � : - ( � � � ;

Abb. 1.2.9a: Wahrheitstabelle und Karnaugh-Diagramme für das Beispiel Würfelanzeige I Die Verknüpfungsvorschrift lässt sich direkt aus der Wahrheitstabelle für alle Ausgänge ablesen:

321321321321 SSSSSSSSSSSSYgYa ⋅⋅+⋅⋅+⋅⋅+⋅⋅== 321 SSSYfYb ⋅⋅==

321321321 SSSSSSSSSYeYc ⋅⋅+⋅⋅+⋅⋅== 321321321 SSSSSSSSSYd ⋅⋅+⋅⋅+⋅⋅=

Minimiert man jedoch diese Gleichung mit Hilfe der Karnaugh-Diagramme in Abb. 1.2.9, so werden die Vereinfachungen deutlich:

YcSSSSSSSSYgYa 21312131 +⋅=⋅+⋅+⋅== 321 SSSYfYb ⋅⋅==

2131 SSSSYeYc ⋅+⋅== 3231 SSSSYd ⋅+⋅=

75

Page 33: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Die nachfolgend dargestellten Umsetzungsvarianten mit realen TTL-Bausteinen zeigen die Einsparungsmöglichkeiten hinsichtlich Bauteil- und Leistungsbedarf durch diese Minimierung:

Abb. 1.2.9b: Realisierungsvarianten mit IC’s der 74-er Familie sowie Leistungsabschätzung vor und nach der Minimierung Die Verknüpfungsvorschriften sehen zunächst AND-Verknüpfungen und nachfolgend OR-Verknüpfungen vor, was in den beiden Varianten sehr schön durch die Bauteilanordnung wiedergegeben wird. Dabei können überzählige Gatter in den IC’s

76

Page 34: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

einfach als Treiber genutzt werden, um dieselben Signallaufzeiten zu erzwingen oder die Anzahl parallel an einem Gatterausgang angeschlossenen Verbraucher zu verkleinern. Oft werden auch nicht alle Eingänge benötigt, so dass darauf zu achten ist, dass nicht genutzte AND-Eingänge auf HIGH und nicht genutzte OR-Eingänge auf LOW gelegt werden (siehe ? in Bild 1.2.9b). Übung I: XOR mit NAND

! � ( � � � � � )

� � � � � � � � � � � � � �

� � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � � � � � �

- � � � ( � � � � � )

� �

%� �

� � � � � � � � � � � � � �

� � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � � � � � �

� �

0 �� �

In den Anfängen der TTL-Logik war das NAND-Gatter besonders kostengünstig und damit verbreitet, so dass oft versucht wurde, Gatter durch NAND-Gatter zu realisieren (was heute nicht mehr nötig ist).

a) Wie kann man ein NAND-Gatter mit zwei Ein- und einem Ausgang in Kontakt- und CMOS-Technik umsetzen (Schaltbild)?

b) Bilden Sie das oben aufgeführte Exclusive-OR- (XOR-) Gatter durch eine möglichst kleine Anzahl an NAND- (und ggf. NOT-) Gattern nach.

Übung II: Aktorsteuerung I In einem technischen System sind drei Aktoren (A1,A2,A3) installiert. Die Prozessüberwachung erfolgt mit drei Sensoren (S1,S2,S3). Wird von einem der drei Sensoren eine Störung (aktiver Sensor) erkannt, so muss der Aktor A1 aktiviert werden. Melden mindestens 2 Sensoren gleichzeitig eine Störung, so müssen die Aktoren A2 und A3 zusätzlich zu A1 aktiviert werden (aktiver Sensor entspricht HIGH/TRUE=1, passiver Sensor entspricht LOW/FALSE=0).

a) Erstellen Sie die Wahrheitstabelle für alle im System möglichen Zustände b) Übertragen Sie die Inhalte der Zustandstabelle in Karnaugh-Diagramme und

bestimmen Sie daraus die minimierte Funktion für die Aktoren A1,A2,A3.

Übung III: Auffangregister Für die gleichzeitige Speicherung mehrerer Bits in einem Prozessortakt benötigt man sogenannte Auffangregister. Modifizieren Sie das Schieberegister in Abb. 1.2.6 derart, dass ein Halbbyte (4 Bit – x0,x1,x2,x3) gleichzeitig gespeichert werden kann und mittels Reseteingang in einem der nachfolgenden Takte wieder geslöscht werden kann.

77

Page 35: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Übung IV: Zähler mit D-FlipFlop Das Schieberegister in Abb. 1.2.6 kann durch eine Rückkopplung des negierten Ausgangs y3 auf den Eingang des ersten D-Flipflop zum 4-Bit-Zähler erweitert werden, um z.B. Impulse zu zählen.

a) Zeichnen Sie diesen sogenannten Johnson-Zähler [Rechenberg/Pomberger] und das zugehörige Impulsdiagramm für mindestens 10 Eingangspulse.

b) Wie sieht das Automatenmodell zu diesem Zähler aus? Übung V: Drehrichtungserkennung mit D-FlipFlop Für drehzahlgeregelte Servoantriebe, die in Abschnitt 2.1 intensiv behandelt werden, muss die Motordrehzahl erfasst werden. Einfache analog drehzahlgeregelte Servoantriebe arbeiten hier bis heute mit einem analogen Ist-Drehzahlsignal, das z.B. mit einem Tachogenerator an der Motorwelle gemessen werden kann. Tachogeneratoren sind schwer, teuer und verschleissbehaftet, so dass man immer mehr versucht, die Drehzahl mit Loch- bzw. Strichscheiben und Gabellichtschranken (als Vorstufe zu den in Abschnitt 2 behandelten inkrementellen Gebersystemen) zu erfassen. (Hier ggf. Bild vom kleinen Sauermann-Motor einfügen)

a) Skizzieren Sie den prinzipiellen Aufbau und die Funktionsweise eines Drehzahlsensors, der mit zwei Gabellichtschranken, zwei Frequenz-Spannungswandlern und einem Schaltwerk zur Drehrichtungserkennung sowie einem Ausgabetreiber besteht, um ein lineares Drehzahlsignal von -nmax = -10 V bis +nmax = +10 V auszugeben (wie bei einem Tacho).

b) Wie sieht das Automatenmodell zur Drehrichtungserkennung aus? c) Arbeiten Sie einen Vorschlag (Schaltbild) für die Auswerteelektronik aus, der

den Frequenz-Spannungswandler LM2907, zwei D-Flipflops und möglichst wenige weitere Gatter- und OP-Bausteine erfordert.

d) Skizzieren Sie das Impulsdiagramm für negative und positive Drehrichtung.

78

Page 36: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.2.2 Logikbausteine Analog zu den vorgängig erläuterten Speichern werden auch Logikbausteine in einer Matrixstruktur verdichtet. Diese bis zu 2 Mio. Gatter und Speicherzellen können durch Trennen oder Schliessen von Verbindungen – also Programmierung - zu leistungsfähigen Schaltnetzen oder Schaltwerken konfiguriert werden. Allgemein spricht man hier von anwenderspezifischen integrierten Schaltungen (ASIC – Application Specific Integrated Cirquit) die sich rasch entwickeln und in vielfältigsten Ausführungen und Herstellvarianten verfügbar sind, wie Abb. 1.2.10 zeigt:

- � < $

� 9 � . � � 4 � � � ( � � � � � � � � � � � � � � � 4 � � � ( � � � � �

� � � � 4 ( . � < $= � � ' 4 ( . � < $9 � � . � � / � � � � � � � � � ' � �� � � � � / � � � � � � � � � ' � �

> ? -? # @ A? � "

> ? - B � $ -� ? # @ A B � � ? # @ A� ? � "

� � � � - � � � �� � � � � � � � � � �# @ A

Abb. 1.2.10: Übersicht zu programmierbaren Logikbausteinen Grundsätzlich kann man nach Komplexität, Architektur und Programmierung zwischen programmierbaren Logikbausteinen und anwenderprogrammierbaren Gate-Arrays unterscheiden. Beide Varianten können sowohl vom Anwender selbst programmiert oder bereits programmiert vom Halbleiterhersteller bezogen werden. Letztere eignen sich für die Serienfertigung, wogegen die anwenderspezifisch programmierbaren Bausteine in der Produktentwicklung und für Kleinserien mit größerer Flexibilität genutzt werden. Diese seien daher nachfolgend etwas detaillierter erläutert. 1.2.2.1 Programmierbare Logikbausteine (PLD) Programmierbare Logikbausteine (PLD – Programmable Logic Devices) besitzen je eine AND-Eingangsverknüpfungsmatrix, wobei jeder Eingang auch negiert vorhanden ist, und eine OR-Ausgangsverknüpfungsmatrix. Damit kann jede Gleichung für Schaltnetze dargestellt werden. Wie in Abb. 3.11 dargestellt, unterscheiden sich die Varianten PROM (Programmable Read Only Memory), PAL (Programmable Array Logic) und PLA (Programmable Logic Array) durch die jeweils programmierbaren Teilmatrizen (siehe auch Beispiel in Abschnitt 1.2.2.3). Mit einem Softwarewerkzeug werden die gewünschten Verknüpfungen markiert und dann in einem Programmiergerät in den Baustein übertragen. Je nach Programmierprinzip können diese Bauteile nur einmal oder mehrfach wieder-programmiert werden:

• fusable links: schmelzbare Verbindung der Koppelpunkte wird durch einen Stromstoß irreversibel zerstört

• EPROM: Transistoren als Koppelpunkt werden niederohmig programmiert und durch UV-Licht wieder hochohmig

• EEPROM: Transistoren als Koppelpunkte sind separat elektrisch ein/ausschaltbar

79

Page 37: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

a) b) c)

Abb. 1.2.11: Ausführungsformen von programmierbaren Logikbausteinen

× programmierbare Verbindung, • feste Verbindung (Orig. KHS einb.) a) PROM – AND-Matrix fest, OR-Matrix programmierbar b) PAL– AND-Matrix programmierbar, OR-Matrix fest c) PLA – AND- und OR-Matrix programmierbar

Heute sind auch komplexere programmierbare Bausteine (CPLD) verfügbar, welche zusätzlich mehrere Logikblöcke (mit wenigen Flip-Flops) besitzen, die über eine umfangreiche Schaltmatrix verknüpft werden. Diese Verknüpfungen sind durch CMOS-Transistoren realisiert, deren Ansteuerung in einem eigenen RAM abgelegt wird. Allen hier dargestellten PLD’s gemeinsam ist die verknüpfungsunabhängige Durchlaufzeit zwischen Ein- und Ausgängen. 1.2.2.2 FPGA Anwenderprogrammierbare Gate-Arrays (FPGA – Field Programmable Gate Arrays) können als leistungsfähigste Weiterentwicklung der programmierbaren Logikbau-steine mit sehr vielen Flip-Flops als 1-Bit-Speicherelemente angesehen werden, für deren Entwurf aber auch deutlich kompexere Entwicklungsumgebungen mit einer eigenen Beschreibungssprache (VHDL s.u.) erforderlich ist. Mit FPGA’s können sehr umfangreiche Schaltwerke implementiert werden, die bis zum Umfang eines vollständigen Mikroprozessors gehen können, so dass FPGA’s auch anstelle von Mikrocontrollern (siehe nachfolgender Abschnitt) eingesetzt werden können. Ein Vorteil von FPGA’s gegenüber Mikrocontrollern ist die parallele Abarbeitung von Logikverknüpfungen im Gate-Array, was diese Bausteine sehr schnell arbeiten lässt (Reaktionszeit zwischen Ein- und Ausgabe im Bereich von wenigen ns). Oft werden auch Mikrocontroller mit FPGA’s kombiniert, um die Flexibilität der Ablaufprogrammierung mit der Geschwindigkeit von digitale Basisfunktionen zu verbinden. Vereinzelt werden auch schon FPGA’s mit integriertem Microcontroller angeboten. Abb. 1.2.12 zeigt den prinzipiellen Aufbau eines FPGA, hier für die wiederprogrammierbare Unterklasse LCA (Logik Cell Array). Die Ein-Ausgabe-Blöcke und die Logikblöcke sind frei programmierbar, ebenso die Verknüpfungen zwischen Ein-Ausgabe und Logikblöcken. Die programmierten Funktionen und die Verknüpfungen sind in einem SRAM abgelegt und gehen nach Abschalten des FPGA verloren. Daher benötigen einige FPGA-Typen einen peripheren EPROM-Speicher zum Initialisieren nach Einschalten der Versorgungsspannung, andere haben diesen Dauerspeicher schon integriert. Aufgrund der umfangreichen peripheren Hardware empfiehlt es sich, für die typischerweise in Forschungs- und Entwicklungsprojekten eingesetzten Prototypen Evaluationsboards einzusetzen, die einen schnellen Start mit der jeweiligen Entwicklungsumgebung ermöglichen.

80

Page 38: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

$

&"

� � � �

< B @ < B @ < B @ < B @

< B @

< B @

< B @< B @< B @

< B @

< B @

< B @

� � � 4 ' � � � 4

� � � 4 ' � � � 4

� � � 4 ' � � � 4

A C :

� � � 4 ( / 6 � ' � �

� � � � � � � � � ) �

� � � 4 8 / � ( � � � � � � �

Abb. 1.2.12: Prinzipieller Aufbau eines FPGA Abb. 1.2.13 zeigt ein beispielhaftes Evaluationsboard [Altium] nebst einem Ausschnitt der Eingabemaske in der zugehörigen Entwicklungsumgebung:

Abb. 1.2.13: Beispielhafte Entwicklungsumgebung für FPGA --> Pe Das „Programm“ eines FPGA ist kein Ablaufprogramm im Sinne gewöhnlicher Software, sondern ein Schaltplan, aus dem Vernüpfungen und Logik für den SRAM errechnet/übersetzt werden um daraus nach dem Anlegen der Versorgungs-spannung ein konkretes digitales Netzwerk zu konfigurieren. Da mit Schaltplänen nur vergleichsweise einfache Netzwerke auf der Ebene einzelner Gatter und Flip-Flops darstellbar sind, wurden Hardwarebeschreibungs-sprachen entwickelt, mit denen Funktionsblöcke und ganze Funktionseinheiten hierarchisch verwaltet/entworfen werden können. Zudem müssen komplexe Schaltungen vor der Implementierung auf einer Hardware getestet werden können. Diese Tests ohne Hardware (die Entwicklungsumgebung simuliert dabei das Vorhandesein einer solchen Zielhardware) werden als Simulation bezeichnet. Am Beispiel von VHDL (Very high speed integrated cirquits Hardware Description Language) sei dies kurz beschrieben: VHDL wurde ursprünglich zur Simulation digitaler Schaltungen entwickelt (IEEE Standard 1076). Ein VHDL-Projekt besteht aus Entwurfseinheiten und Packages, die in Bibliotheken verwaltet werden. Entwurfseinheiten dienen zur Beschreibung von Schaltungsmodellen und Testrahmen (in denen die Zielhardware definiert ist).

81

Page 39: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Packages sind Sammlungen von Definitionen für Datentypen, Konstanten und Unterprogramme. Die Beschreibungsstruktur einer VHDL-Entwurfseinheit lautet:

–- Header 1: library ieee; 2: use ieee.std_logic_1164.all; –- Schnittstellen und Zielhardware 3: entity Schaltung is 4: [generic (Liste der Konfigurationsparameter);] 5: [port(Liste der Anschlusssignale);] 6: end entity; –- Beschreibung der Funktion 7: architecture Beschreibungsname of Schaltung is 8: {Vereinbarung;} 9: begin 10: {Anweisung;} 11: end architecture;

Eine ausführliche Darstellung von VHDL ist in [Kemnitz, Band 2] zu finden. 1.2.2.3 Beispiele und Übungen Beispiel: Würfelanzeige II Die Auswertelogik für die Würfelanzeige aus dem Beispiel in Abschnitt 1.2.1.4 kann sehr elegant mit einem PLA realisiert werden. In Abb. 1.2.14 ist die AND- und die OR-Matrix des Bausteins PLS 153 [www.phillips.com] dargestellt, der so viele Verknüpfungsmöglichkeiten bietet, das sowohl die minimierte als auch die direkt aus der Wahrheitstabelle direkt abgelesene Verknüpfungsvorschrift programmiert werden kann. In diesem Beispiel sind die Verknüpfungspunkte für die minimierte Lösung eingetragen. Übung I: Aktorsteuerung II Programmieren Sie die Aktorsteuerung aus Übung II in Abschnitt 1.2.1.4 mit Farbe in den PLA in Abb. 1.2.14.

82

Page 40: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abb. 1.2.14: Würfelanzeige im Baustein PLS153 von Phillips (PLA) implementiert

83

Page 41: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.2.3 Mikrocontroller Mikrocontroller sind Prozessoren mit digitalen und analogen Ein-/Ausgabe-schnittstellen, Zeitgeber und Speicher auf einer integrierten Schaltung (Chip). Sie können dadurch bereits mit wenigen externen Bauelementen als vollständige Steuerung eingesetzt werden, was Mikrocontrollerlösungen kompakt und oft preisgünstig macht. (PC-Prozessoren verfügen nicht über solche Schnittstellen und Komponenten sondern kommunizieren über einen externen Systembus mit den Peripheriekomponenten). Es gibt Mikrocontroller mit einem umfangreichen Befehlssatz (CISC - Complex Instruction Set Computer), die sehr komfortabel zu programmieren sind, jedoch mehrere Prozessortakte benötigen, bis ein Befehl ausgeführt ist. Dagegen ist der Befehlssatz für RISC- (Reduced Instruction Set Computer) auf die einfachsten Befehle beschränkt, die schnell in einem Prozessortakt abgearbeitet werden können. Daher werden die kostengünstigeren RISC-Mikrocontroller inzwischen vermehrt für Automatisierungslösungen eingesetzt. Für diese modernen Mikrocontroller wurde die in Abschnitt 1.1.2.2 ausgeführte Von-Neumann-Architektur modifiziert (Harvard-Architektur). Befehle und Daten liegen in getrennten Speichern (Flash/EEPROM und SRAM) und können über einen internen Bus parallel in (mehrere) Rechenwerke geladen werden. In diesem Abschnitt wird der Einsatz von Mikrocontrollern beispielhaft anhand der AVR-Reihe von Atmel [Atmel Data Sheet] aufgezeigt, für die mittlerweile hervorragende Lernpakete verfügbar sind. In Kombination mit leicht bedienbaren Entwicklungsumgebungen wird so auch für den interessierten Maschinenbau-Ingenieur ein unkomplizierter Einstieg in einfache Mini-Prozessoren [Kainka] bis hin zu sehr leistungsfähigen Mikrocontrollern [Riedel/Huwaldt] möglich. 1.2.3.1 Hardwaregrundlagen Die wesentlichen Komponenten eines Mikrocontrollers zeigt Abbildung 1.2.15:

5 � � � � � � � � � � � � � $ ? C �

� � � ( � � 9 � � 4

# � � � � 9 � � 4

# � � � � � � �

� � ? # @ A � � # - A �> � � � �

6 � � � � B5 * � � � �

< � � � � ( / � � � � � � � � � �

- � � � " � � � � � 9 � . � � �

� � � � � � � �� � � � � � � � � � � �

< B @ ? � � � �? 7 A

� � � � � �2 ( �

� � � � � � % % &� ' � � � � � � � � � � � (� % � � � � � � �� ) � � � � � � � � (� * � � � � � � � �

+ � � % �� � � � % � � � �, - � � . /

� � � � � ! � - �� � � � � ! (0 � � � �

� � % � � � " � �� � � � � ! ( �0 � � � � /

� � �� � � � % � � � � � � � � � � � � � � � � � �

? � � � � � � � � � � � * � B� � 9 � � 4 � ( � ( � � ' (

� ( 1 ( � ) 1

? � � ) � � � � � ' � � � .

Abb. 1.2.15: Komponenten eines RISC-Mikrocontrollers, USB-Prozessorboard mySmartControl M8 [Riedel/Huwaldt] Die Zentraleinheit (CPU – Central Processing Unit) entspricht der in Abschnitt 1.2.2 ausgeführten Architektur eines Digitalrechners. Aus Geschwindigkeitsgründen greifen Steuer- und Rechenwerk nur auf CPU-interne Speicher, die sogenannten

84

Page 42: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Register zu. In diesen Registern werden die aus dem Programm decodierten Befehle und die Ein-Ausgabedaten zwischengespeichert, Operanden entnommen und Ergebnisse abgelegt (oft „Akkumulator“ genannt) sowie die Steuerzustände (Zähler, Adressen, etc.) erfasst. Die Kommunikation zwischen der Zentraleinheit und den anderen Komponenten erfolgt über einen sehr schnellen internen Bus. Das Programm des Mikrocontrollers wird in einem schnellen Flash-EEPROM-Speicher abgelegt, während die (selten veränderten) System- und Sicherheits-parameter in einem langsameren EEPROM-Speicher liegen. Der sehr schnelle SRAM-Speicher verliert seine Daten bei ausgeschalteter Versorgungsspannung und muss daher zunächst initialisiert werden, bevor der Prozessor in die Hauptschleife (mainloop) eintritt. Im SRAM können temporäre Daten zwischengespeichert werden, um die wenigen Register in der CPU andersweitig nutzen zu können. Er wird daher auch als „Stack“ (Haufen/Stapel) bezeichnet. Ein- und Ausgänge werden zu je 8 Bit-Gruppen/Kanälen (die sogenannten Ports) zusammengefasst. Die Ports von Mikrocontrollern sind erfreulich leistungsstark, so dass ohne weitere Treiberbausteine kleine Verbraucher (z.B. LED’s) sowie TTL-/ CMOS-Bausteine, FET-Gates oder der Impulseingang von Modellbauservos angesteuert werden kann. Meist besitzen Mikrocontroller keine Digital-Analog-ausgänge, dafür aber PWM-Treiber, mit denen eine analoge Ausgangsspannung z.B. mit einem nachgeschalteten RC-Tiefpass gut realisierbar ist. Fast immer aber gibt es für analoge Spannungserfassungen (im Bereich von 0 bis 5 V, ggf. Spannungsteiler oder Offset-OP für negative Spannungen erforderlich) Analog-Digitaleingänge. Für Zählaufgaben und Zeiterfassungen (durch Abzählen der Prozessortakte) ist ein Baustein integriert, der parallel zur CPU arbeitet. Ein Programmbefehl kann einen Zähler starten, im Programm fortfahren und den Zählerstand an einer anderen Programmstelle abfragen oder zurücksetzen. Um unbeabsichtigte Programmfehler (v.a. Endlosschleifen) abzufangen, ist ein Watchdog-Timer vorgesehen, der nach einer fest vorgegebenen Zeit (z.B. 10 ms) das Programm neu startet, wenn er nicht vom Hauptprogramm selbst zurückgesetzt werden kann. Die CPU arbeitet die Befehle des Programmes zyklisch ab. Um auch während eines Zyklus schnell auf veränderte Zustände reagieren zu können, gibt es eine Unterbrechungslogik (der sogenannte Interrupt-Controller). Wenn ein solcher Interrupt ausgelöst wird, wird das dazugehörige Unterprogramm (die Interrupt-Serviceroutine) abgearbeitet und anschliessend zum Hauptprogramm zurückgekehrt. Für die Kommunikation mit anderen Systemen (z.B. die Entwicklungsumgebung oder andere Mikrocontroller) sind ein oder mehrere serielle Schnittstellen vorgesehen. 1.2.3.2 Entwicklungsumgebung Mikrocontroller werden ohne Programm im EEPROM/Flash-Speicher geliefert und müssen vom Anwender mit einem Programm beschickt werden, diesen Vorgang nennt man „Brennen“. Die Mikroprozessorhersteller bieten für ihre Controller Entwicklungsumgebungen bestehend aus Programmiergerät und Programmier- bzw. Simulationssoftware an. Dabei wird zwischen der Programmierung des Mikrocontrollers in einem externen Programmiergerät und der komfortableren Programmierung im Zielsystem unterschieden. Für den Einsatz eines Mikrocontrollers in Großserienprodukten ist die externe (automatisierte) Programmierung des Bausteins mit nachfolgendem Einsatz in das Zielsystem sicherlich lohnenswert, wenngleich dann auch der Bezug fertig programmierter Bausteine vom Hersteller in Erwägung gezogen werden sollte. Für die Prototypen-

85

Page 43: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

entwicklung und für Kleinserien ist das nicht umsetzbar. Hier ist es günstig, den Controller bereits auf einer Platine im Zielsystem unterzubringen, welches eine Programmierschnittstelle (ISP-,JTAG oder I2C) enthält. Diese Schnittstellen werden dann über ein an USB oder RS232 angekoppeltes Programmiergerät angesteuert. Oft werden auch Einsteiger- oder Evaluations-Sets angeboten, die aus einem Mikrocontroller auf einer Platine mit leicht zugänglichen und konfigurierbaren Schnittstellen, Versorgung, Programmiersoftware und einem Programmiergerät bestehen. Noch komfortabler sind die seit einigen Jahren günstig verfügbaren Prozessorboards mit USB-Schnittstelle für den direkten Anschluss an einen PC (siehe Abb. 1.2.15). Damit kann der Mikrocontroller „gebrannt“ und versorgt werden. Auch eine Kommunikation mit dem PC über USB zur Diagnose oder Bedienung/Interaktion ist so umsetzbar. Das Programm eines Mikrocontrollers besteht aus Maschinenbefehlen im Binärformat. Da dieses Format sogar für hardwarenahe Programmier-Freaks nicht lesbar ist, akzeptieren die „Brennfunktionen“ ein Hexadezimalformat, bei dem die Maschinenbefehle zu Halbbytes in Hexadezimaldarstellung zusammengefasst werden. Für das nachfolgende Beispiel (Servo-Sound-Schnittstelle) lautet die direkt in den Controller übertragbare Programmdatei *.hex:

:020000020000FC :1000000000C0BB9AC39A1CD022D0C39820E022BF64 :1000100027E023BF23D032B733952AE0321708F008 :10002000F1CF23E026B9379A22E027B93D9A369AD4 :100030003699FECF369A3699FECF35B13395E2CF59 :1000400002E014EB1A95F1F70A95D9F7089502E04A :10005000132F1A95F1F70A95D9F708950EE11FEFBE :0A0060001A95F1F70A95D9F70895F3 :00000001FF

Jeweils 4 Halbbytes gehören zu einem Maschinenbefehl, weil die AVR-Controller die Befehle zusammen mit Ihren Argumenten jeweils mit 16 Bit codieren. Zudem enthält die hex-Datei noch Rahmen-, Adress- und Prüfbytes. Um mit den Maschinenbefehlen besser umgehen zu können, wurde eine lesbare Darstellungsform entwickelt, die als Assembler bezeichnet wird. Dabei wird jeder Befehl mit einer Abkürzung bezeichnet, die auf den Sinn des Befehls schliessen lässt. Beispielsweise lautet der Befehl für einen Rücksprung aus einem Unterprogramm (binär 0b1001010100001000 bzw. hexadezimal 0x9508) in Assembler RET für „return“. Die wichtigsten Assembler-Befehle sind im nachfolgenden Abschnitt erläutert. Assembler ist keine Programmiersprache im Sinne höherer Programmiersprachen (C, Pascal, Basic), da dafür kein Compiler erforderlich ist. Das Übersetzungsprogramm (auch „der Assembler“ genannt) muss lediglich die eindeutig zugeordneten Befehle in Binärformat wandeln und die tatsächlichen Adressen für Sprünge und Speicherzugriffe berechnen.

86

Page 44: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Typische Komponenten bzw. Funktionen einer Entwicklungsumgebung sind:

• Quellcode-Editor • Übersetzung (Assembler und Compiler für Hochsprachen wie C, Basic) • Brennprogramm • Testwerkzeuge zur Simulation und Fehlersuche

Die Entwicklungsumgebung stellt die eigentliche Schnittstelle zwischen Anwender und Mikrocontroller dar und soll am Beispiel des in Abb. 1.2.16 dargestellten Werkzeuges verdeutlicht werden:

Abb. 1.2.16: Entwicklungsumgebung „myAVR Workpad SE“ [Riedel/Huwaldt] In einem Editor kann das Programm (z.B. in Assembler) erstellt und als ASCII-Datei abgespeichert werden. Nachdem für die Entwicklungsumgebung zuvor ein konkretes Zielsystem (z.B. ein USB-Prozessor-Board) nebst Schnittstelle am PC konfiguriert wurde, kann das Assemblerprogramm durch Drücken des „Brennen“-Knopfes direkt in das Zielsystem geladen werden. Die Entwicklungsumgebung prüft zuvor die syntaktische Richtigkeit, erstellt ggf. Fehlermeldungen oder meldet den erfolgreichen Ladeprozess zurück. Viele Entwicklungsumgebungen unterstützen den Anwender zusätzlich durch Beispielprogramme, Tutorials, hardwarespezifische Header-Dateien mit besser lesbaren Alias-Namen für Adressen etc.

87

Page 45: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.2.3.3 Programmierung in Assembler In diesem Abschnitt werden - ausgehend von einem einfachen Beispiel – einige Assembler-Befehle erläutert. Eine grössere Übersicht zu den ca. 80-140 AVR-Assemblerbefehlen ist in [Riedel/Huwaldt] sowie in den (umfangreichen) Daten-blättern zum jeweils eingesetzten Mikrocontroller-Typ enthalten. Assembler ist keine normierte Programmiersprache und jeder Hersteller definiert eine eigenen Befehls-Mnemonik [Rembold/Levi]. Allerdings ähneln sich die Befehle sehr, so dass dies für die Anwender und Entwickler offenbar keine Hürde darstellt. Eine Assembler-Befehlzeile setzt sich allgemein aus

Marke: Befehl Ziel, Quelle ; Kommentar

zusammen, wobei nicht alle Elemente in einer Zeile vorhanden sein müssen. Eine Marke ist eine Stelle im Programm, auf die ein Sprung erfolgen kann. Ziel einer Operation ist immer ein Register, ein Speicherplatz oder ein Ausgaberegister (Port), die Quelle kann auch eine Konstante sein. Das kleine Beispielprogramm in Abb. 1.2.17 wechselt die Ausgangsspannung an einem Ausgang periodisch, so dass eine daran angeschlossene LED entsprechend blinkt: ; Kopfinformationen (Dateiname, Ersteller, Datum, Prozessortyp...) .include "*.*" ; Aliasnamen für Register einbinden rjmp main ; 1 POWER ON RESET main: ; ggf. SRAM initialisieren, bei ATtiny13 nicht erforderlich ldi r16,0b00000001 ; Datenrichtungbyte Port0=Ausgang out DDRB,r16 ; Datenrichtungbyte PortB setzen mainloop: wdr ; WatchDog zurücksetzen sbi PORTB,0 ; PortB0 auf HIGH setzen ldi r16,50 ; Lade 50 in Register r16 Warten1: dec r16 ; r16 um 1 erniedrigen brne Warten1 ; solange r16>0 auf Warten1 verzweigen cbi PORTB,0 ; PortB0 auf LOW setzen ldi r16,255 ; Lade 255 in Register r16 Warten2: dec r16 ; r16 um 1 erniedrigen brne Warten2 ; solange r16>0 auf Warten2 verzweigen rjmp mainloop ; Rücksprung in die Hauptschleife Abb. 1.2.17: Programmstruktur und Beispielprogramm in AVR-Assembler (schnell blinkende LED am Ausgang PortB0) Dazu muss der Ausgang (hier das Datenrichtungsbit 0 im Ausgaberegister B - PortB0), an den die LED angeschlossen werden soll, definiert werden. Der Controller geht nach dem Einschalten davon aus, dass nicht auf HIGH gesetzte Ein-/ Ausgaberegister-Bits als Eingang zu interpretieren sind. Als Quellen und Ziele werden die allgemeinen Arbeitsregister (Adressen 0x10-0x1F im SRAM-Datenspeicher, Alias r16-r30) mit je 8 Bit eingesetzt. Üblicherweise teilt man das Programm in einen Initialisierungsteil, der nur nach Anliegen der Versorgungsspannung einmalig durchlaufen wird und eine Hauptschleife, die zyklisch die Eingänge erfasst, diese verarbeitet, die entsprechenden Ausgänge setzt und dann durch Sprungbefehl wieder in den Beginn der Hauptschleife zurückspringt. Mehrfach genutze Programmteile können in Unterprogrammen nach der Hauptschleife definiert werden, die durch Sprung auf die

88

Page 46: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Unterprogramm-Marke abgearbeitet werden und durch Rücksprung in die Hauptschleife beendet werden. Für jeden Befehl, und damit jede Zeile des Programms benötigt der Prozessor einen Prozessortakt (d.h. zwischen 250 ns bis zu einigen Mikrosekunden). Die Zeilenzahl bestimmt somit den Zeitbedarf für einen vollständigen Programmdurchlauf. Durch Laden von Registern mit Konstanten und das Herunterzählen in Schleifen kann der Wechsel zwischen den Ausgabezuständen um eine definierte Anzahl von Prozessortakten verzögert werden. Das Beispielprogramm führt bei einem kleinen Mikrocontroller (z.B. ATtiny13 mit 128 kHz Taktfrequenz) zu einer Blinkfrequenz von ca. 200 Hz, da etwa 600 Schritte je Hauptschleife bearbeitet werden müssen. Für das menschliche Auge leuchtet die LED nur noch schwach. Ein sichtbares Blinken kann z.B. durch kaskadierte Schleifen erreicht werden, wie dies im nachfolgenden Beispiel realisiert ist. Man könnte auch den Prozessortakt selbst verlangsamen, dazu muss man aber in die internen System- und Sicherheitsparameter (sogenannte Fuses) eingreifen, was bei unsachgemäßer Eingabe auch Instabilitäten des Bausteins zur Folge haben kann. Solche Eingriffe sollte man nur vornehmen, wenn z.B. der hohe Prozessortakt zu einer unzulässigen Erwärmung führt. In Tabelle 1.2.2 sind die für einen „Schnellstart“ in Assembler nötigen Befehle und Adressen aufgelistet:

Befehl Kurzbeschreibung rjmp Marke Sprung ohne Bedingung nach Marke out portb,r16 Ausgabe Registerinhalt r16 an Ausgaberegister port b in r16, pinb Einlesen in Register r16 aus Eingaberegister port b sbi portb,3 Setze Ausgangsbit 3 an port b auf HIGH cbi portb,3 Setze Ausgangsbit 3 an port b auf LOW nop Keine Operation brne Marke Verzweige nach Marke wenn ungleich rcall Unterprogramm Unterprogrammaufruf ret Rücksprung aus dem Unterprogramm cp r16,r17 Vergleiche Register r16 mit Register r17 cpi r16,Konstante Vergleiche Register r16 mit Konstante mov r16,r17 Wertzuweisung von Register r17 an Register r16 ldi r16, Konstante Lade in Register r16 die Konstante dec/inc r16 Erniedrige/Erhöhe Register r16 um 1 add/sub r16,r17 Addiere/Subtrahiere Register r17 und/von Register r16 addi/subi r16,Konstante Addiere/Subtrahiere Konstante und/von Register r16 Register Kurzbeschreibung und Adresse PORTB Ausgaberegister B 0x18 PINB Eingaberegister B 0x19 DDRB Steuerregister B 0x17 (Data Direction Register) TCNT0 Timer/Zähler-Register 0x32 TCCR0 Timer/Zähler-Steuerregister 0x33 ADCSRA Analog-Digitalwandler A Steuerregister 0x27 ADMUX Analog-Digitalwandler Kanalwahlregister 0x26

Tabelle 1.2.2: AVR-RISC-Assembler und Registeradressen (Auszug)

89

Page 47: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.2.3.4 Beispiele und Übungen Beispiel: 2DOF-Soundschnittstelle Für den Roboter-Workshop in Anhang C wird eine direkte Ansteuerung zweier Servokanäle (2 DOF- Degrees Of Freedom) aus MATLAB benötigt. Dazu kann die Stereo-Soundschnittstelle am Kopfhörerausgang, die an jedem Laptop vorhanden ist, genutzt werden. Mit der MATLAB-Funktion sound() kann eine beliebige Tonfolge mit der für Servos typischen Grobinterpolationszeit von 20 ms vorgegeben werden. Nutzt man das an jedem Laptop zuverlässig ausgeführte Übertragungsfrequenzband von 1-16 kHz, so stehen 300 frequenzmoduliert codierbare Positionen zur Verfügung, was in etwa der an einem Servo erzielbaren Positionsauflösung von ca. 0,3°-0,5° entspricht. Bei längeren Bewegungsvorgängen kann es durch betrieb-systeminterne Interrupts zu Echtzeitproblemen kommen, so dass alternativ die Funktion wavplay() zur Generierung einer Audiodatei (wav-Datei) genutzt werden kann. Wird hinterher diese Datei über einen Audio-Player abgespielt, so verhindert der dort eingebaute Puffer Störungen durch das Betriebssystem. Eine vergleichsweise einfache und kostengünstige Servo-Sound-Schnittstellenkarte wandelt die beiden frequenzcodierten Stereokanäle wieder in Servopulse um, mit denen die Modellbau-Servos dann angesteuert werden. Abb. 1.2.18 zeigt das Funktionsschema dieser Steuerung sowie einen Prototypenaufbau, der die Signalwandlung mit analogen Bausteinen realisiert:

� � � 3 � � �� � � 3 � � �

- 4 4 (� D E �� D 1 - �

� � � � � � . � � � � � � � )

? � � � � � � � � 3 � � � ' �2 � � � � � � � � (

� � � � - � � % � � � � �

> � � F ( � ) � � . � � � ( � � ( . � � D � 9 � 3 / � � � � �

� � � � � � G � / � � H � � � � ( � �

9 � 3 " � � � �

� B C 7 � . � � �� � A � I � J �

? 7 A � � � � � � �� ! � � K K 1 �

! " � � � $ = � � $ = � � � � � � � 1 � 4 = ) �

$ � � � � � # � 2

� � � � � � � � � �

� � � � � � � � � � � � � � � �

Abb. 1.2.18: Funktionsschema einer analogen Sound-Servosteuerung, Prototypenkarte Die Ausgänge der Kopfhörerschnittstelle werden zunächst mit f/U-Wandler (LM 2907 mit 50Hz-Tiefpass) in analoge Spannungen umgesetzt. Diese Analogspannungen werden mit einem präzisen lückenden Sägezahn (Präzisionstimer NE 556 mit Konstantstromquelle) mit 20 ms Periodendauer verglichen (Schmitt-Trigger, CMOS-Treiber/Schaltnetz), woraus der Servopuls dann resultiert. Da kräftige Servos ihrerseits eine PWM-Endstufe mit FET’s besitzen, koppeln sie erhebliche Störungen über die Versorgungsspannung ein. Daher muss die Versorgung der Servos (Akku, 4,8 - 6 V) von der Versorgung der Bauteile (USB, 5 V) galvanisch getrennt werden (Optokoppler). Um zu verhindern, dass die Servos am Programmende in die Minimalstellung „schlagen“ und zu Programmbeginn aus einer nicht definierten

90

Page 48: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Neutralstellung starten, muss ein dritter f/U-Wandler mit 500-Hz-Tiefpass und höherer f/U-Verstärkung als Sound-Detektor vorgesehen werden. Empfängt der Detektor ein Signal, so gibt er im CMOS-Treiber/Schaltnetz den über die Soundschnittstelle generierten Puls frei (AND-Vernüpfung) ansonsten wird ein über Poti’s gesteuerter Puls an den Optokoppler weitergeleitet, womit die Neutralstellung definiert und ein manueller Servobetrieb ermöglicht wird. Für diese analoge Schnittstellenvariante werden (siehe Prototypenkarte in Abb. 1.2.18) neun IC’s und ca. 30 externe Bauteile benötigt. Abb. 1.2.19 zeigt eine alternative Realisierung mit je einem Klein-Mikrocontroller je Servokanal:

C

? � ( � � / ( � � � /� 8 � � � � + � � I � � �

.

� D I � � � � + + � D � � � �

. K � �

/

5 * � � � � � ( � � � D � � � � � � �

� ( . / ( � � � - �

? � ( � � / ( � � � 2

5 * � � � � � � ( � � � � �

5 * � � � � � L � � � � MN � � �

- � � � � � � � � � � � 3 � � + � ? ( � � � ? � � � � � 5 * � � � � � � � .3 � � + � ? ( � � � ? � � � � �

- � � � � � �

< � � � � � � � � � � � D � � � � � �

� � � � � � � � � � � � ( � � / � ( � � � � � �

Abb. 1.2.19: Pulsstruktur und Struktogramm einer digitalen SoundServosteuerung, Prototypenaufbau mit zwei Klein-Mikrocontrollern (ATtiny13) Klein-Mikrocontroller verfügen zwar über PWM-Schnittstellen, jedoch reicht deren Auflösung von typischerweise 8 Bit (d.h. 256 mögliche Pulsweiten) nicht aus, um ein ausreichend feines Servopuls-Signal zu erzeugen. Daher müssen die Pulse und die Pausenzeiten zwischen den Pulsen durch Schleifen erzeugt werden, in denen der Prozessor nichts anderes tut, als ein zuvor „gefülltes“ Register herunterzuzählen. Da die herunterzuzählenden Register nur 8 Bit breit sind, müssen mehrere Schleifen kaskadiert werden (und das Ergebnis mit einem Oszilloskop kontrolliert werden). Das mag zwar zunächst etwas umständlich erscheinen, ist aber ein durchaus verbreitete Methode, vom Prozessortakt (typischerweise 100 kHz – 8 MHz) auf deutlich kleinere Abtastfrequenzen zu gelangen. Der hier programmierte Algorithmus ist in Abb. 1.2.19 beschrieben und als AVR-Assembler-Programm nachfolgend aufgelistet: Servopulse sind 0,9 bis 2,1 ms lang und müssen sich ca. alle 20 ms wiederholen (wobei auch 18 oder 22 ms noch von den meisten Servos akzeptiert werden). Daher sieht der Algorithmus zunächst einen Basispuls (Warteschleife A) von 0,9 ms mit auf HIGH gesetztem Ausgang (hier Ein-/Ausgang B3 an Pin 2 des 8-Pin-IC) vor. Bevor dann der 19 ms lange Pausenpuls B mit zurückgesetztem Ausgang startet (Warteschleife B), wird ein interner Zählerbaustein auf Null gesetzt und gestartet. Nach dem Pausenpuls wird der Zähler ausgelesen und in das für die variable Pulsschleife P relevante Register r19 geschrieben. Wurden nur sehr wenige Pulse gezählt, ist das ein Kriterium dafür, dass kein Signal an der Soundschnittstelle anlag und es wird die an den Justagepoti’s anliegende Spannung über den Analog-Digitalwandler (an Ein-/Ausgang B4 an Pin 3 des 8-Pin-IC) mit 8 Bit Auflösung eingelesen und in das für die variable Pulsschleife P relevante Register r19 geschrieben. Dann wird der so gesteuerte variable Puls P über die Warteschleife P

91

Page 49: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

gestartet (Ausgang B3 = HIGH) und das Programm kehrt wieder zum Ausgangspunkt (Basispuls A) zurück. ;Servo-Soundschnittstelle mit ATTINY13, IPP-Zirn 10.4.2010 .include "tn13def.inc"

rjmp Anfang Anfang: sbi ddrb,3 ; Datenrichtungsbit Port 3 auf Ausgang Schleife: sbi portb,3 ; Port 3 auf 1 setzen

rcall WartenA ; Grundpuls cbi portb,3 ; Port 3 auf 0 setzen ldi r18,0 ; Zähler nullen und flankenscharf stellen out TCNT0,r18 ldi r18,7 out TCCR0B,r18 rcall WartenB ; 19ms Pause in r19,TCNT0 ; Zählergebnis abfragen inc r19 ldi r18,10 cp r19,r18 ; Sounddetektor brlo ADC_lesen ; Analogwert lesen rcall WartenP ; var. Puls rjmp Schleife

ADC_lesen: ldi r18,3 ; ADC initialisieren

out ADCSRA,r18 ; Wandlerzeit/8 sbi ADCSRA,ADEN ; ADC einschalten ldi r18,2 ; ADC an Kanal 2 mit 8 BIT lesen out ADMUX,r18 ; ADC auf Kanal 2 (PB4) sbi ADMUX,ADLAR ; Left adjust sbi ADCSRA,ADSC ; Wandlung starten

ADrdy: sbic ADCSRA,ADSC rjmp ADrdy sbi ADCSRA,ADSC

ADrdyb: sbic ADCSRA,ADSC rjmp ADrdyb in r19,ADCH ; ADC-Ergebnis in r19

inc r19 rjmp Schleife WartenA: ldi r16,2 ; Unterprog. für 0,9ms Grundpuls WartenA1: ldi r17,180 WartenA2: dec r17 brne WartenA2 dec r16

brne WartenA1 ret

WartenP: ldi r16,2 ; Unterprog. für var. Puls WartenP1: mov r17,r19 ; Schleifenzahl in r19 WartenP2: dec r17

brne WartenP2 dec r16 brne WartenP1 ret ; Rücksprung ins Hauptprogramm

WartenB: ldi r16,30 ; Unterprog. für Pause 19ms WartenB1: ldi r17,255 WartenB2: dec r17

brne WartenB2 dec r16 brne WartenB1 ret ; Rücksprung ins Hauptprogramm

Da der interne Zähler eine „scharfe“ Flanke benötigt, muss das frequenzcodierte sinusförmige Eingangssignal zunächst in Rechteckpulse umgewandelt werden. Hierfür ist ein CMOS-Baustein mit 2 Schmitt-Triggern erforderlich. Über die in Abb. 1.2.19 gut erkennbaren Poti’s wird eine Neutralstellung vorgegeben, falls keine

92

Page 50: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Pulse detektiert werden können. Für diese digitale Variante werden nur noch 3 IC’s und 8 externe Bauteile benötigt. Der Größenvergleich zu Abb. 1.2.18 zeigt zudem den geringeren Platzbedarf der digitalen Variante. Setzt man anstelle der Klein-Mikrocontroller in Abb. 1.2.19 einen etwas größeren Mikrocontroller (z.B. ATmega8, s. Abb. 1.2.16) ein, so kann man auf die Signalaufbereitung verzichten und die gesamte Sound-Servosteuerung für zwei Kanäle mit einem Prozessorboard realisieren. Übung I: Servotester Um ein Modellbauservo auch ohne eine Fernsteuerung oder die oben gezeigte Sound-Servoschnittstelle zu betreiben, werden sogenannte Servotester eingesetzt. Dabei wird eine – z.B. über einem Potentiometer als Spannungsteiler abgegriffene – Spannung in pulsbreitenmodulierte Servopulse gewandelt und an den Servo ausgegeben. Komfortablere Ausführungen (siehe Beispiel Fa. Robbe) bieten zusätzlich noch Tippschalter für minimalen und maximalen Ruderausschlag sowie die Neutralstellung. Oft wird auch ein Testprogramm, das den Servo periodisch hin und her bewegt, integriert. So ein Servotester kann recht elegant mit einem Klein-Mikrocontroller realisiert werden. Die 4,8-6 V Servo-Versorgungsspannung kann auch zur Versorgung des Controllers genutzt werden, so dass keine weiteren externen Bauteile benötigt werden.

a) Entwerfen Sie einen Algorithmus (Struktogramm und Assembler-Programm für ATtiny13) für einen basalen Servotester, der eine Gleichspannung von 0 - 5V mit 8 Bit Auflösung in entsprechende Servopulse umwandelt.

b) Wie muss man das Programm und die Beschaltung des Mikrocontrollers erweitern, damit der Servo auf drei externe Tippschalter mit Minimal-, Maximalausschlag und Neutralstellung reagiert?

c) Wie kann ein Testprogramm, das den Servo tippschaltergesteuert in 2 Sekunden von der Neutralstellung nach Minimalausschlag, dann nach Maximalausschlag und schliesslich wieder zurück in die Neutralstellung bewegt, integriert werden.

93

Page 51: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Übung II: Analog-PWM-Schnittstelle Neben dem Kopfhörer-Ausgang eines PC für die Steuerung von zwei Servos kann auch der Mikrofon-Eingang zur Messung von zwei Analogsignalen genutzt werden, die in MATLAB z.B. mit record() aufgezeichnet werden können. Aufgrund des Bandpassverhaltens dieser Schnittstelle (Übertragungsbereich von 20Hz -16kHz) können jedoch nur AC-Analogsignale direkt aufgezeichnet werden. Für DC-Signale muss eine PWM- oder Frequenzcodierung vorgenommen werden.

a) Entwerfen Sie einen Algorithmus (Struktogramm und Assembler-Programm für ATtiny13), der eine transiente Gleichspannung von 0 - 5V mit 8 Bit Auflösung in Rechteckpulse von 1 – 11 kHz umwandelt.

b) Wie kann die Auswertung MATLAB-seitig realisiert werden? Übung III: RS 232 - Kommunikation Senden und Empfangen vom ATtiny13, Gegenanzeige am PC (Standardprogramm unter Windows verfügbar?) --> noch entwickeln

94

Page 52: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.3 Mechatronische Grundlagen Zunächst werden die systemtheoretischen Grundlagen dargestellt, die zur mathematischen Beschreibung mechatronischer Systeme sinnvoll bzw. erforderlich sind. Dabei werden nur die Methoden und Darstellungsarten behandelt, die in den nachfolgenden Abschnitten eingesetzt werden. Die hier angesprochenen Themen sind vollständig und teils sehr detailliert in der einschlägigen Literatur beschrieben [Unbehauen 1987, Ackermann 1988, Föllinger 1993, Lutz u. Wendt 2004)], auf die verschiedentlich verwiesen wird. Zur Verdeutlichung im Rahmen der Einführung werden diese Methoden auf den Tauchspulmotor in Abb. 1.3.1 angewandt. Dieser Antrieb ist ein einfaches – aber bereits mechatronisches – Beispielsystem, an dem die wesentlichen Eigenschaften von Servoantrieben aufgezeigt werden können. In der in Abb. 1.3.1 gezeigten Ausführung wird der Antrieb für hochdynamische Direktantriebe in Verbindung mit kleinen bewegten Massen, beispielsweise für die Unrundbearbeitung oder für Bonding-Automaten in der Halbleiterverarbeitung eingesetzt. Auch der Antrieb elektrodynamischer Lautsprecher sowie die Mehrzahl der steuerbaren Ventilantriebe in Pneumatik und Hydraulik werden mit einem vergleichbaren Aktor betätigt. Der Antrieb wird mit einem einfachen Proportional-Positionsregler versehen, um einer sprungförmigen Positionsänderung folgen zu können. Dieses Beispielsystem soll in diesem Kapitel als rein lineares System behandelt werden, um die wesentlichen dynamischen Eigenschaften zu verdeutlichen. Die messtechnische Validierung in Abschnitt 3.1 zeigt, dass die Reibung – und bei entsprechend angepasstem Regler auch die Stellgrößensättigung – als nichtlineare Effekte berücksichtigt werden müssen, um eine ausreichende Modellgenauigkeit zu erreichen. Die Erfahrung der Autoren in der Hochschulausbildung sowie in der berufsbegleitenden Erwachsenenbildung hat gezeigt, dass der Einstieg in die anspruchsvolle Materie der hochdynamischen Servoantriebe mit dem Tauchspulmotor vergleichsweise leicht fällt und anschaulich bleibt. Die vielen System- und Einstellparameter einer modernen Servoachse – beispielsweise in den Inbetriebnahme- und Projektierungsunterlagen der Antriebshersteller dokumentiert – erscheinen weit übersichtlicher, wenn man zur Modellbildung zunächst nur die schon für den einfachen Tauchspulmotor relevanten Parameter herausarbeitet und dann mit den für den realen Servoantrieb zusätzlich relevanten Parametern ergänzt.

1.3.1 Beschreibung mechatronischer Systeme

1.3.1.1 Beschreibung im Zeitbereich Das dynamische Verhalten von Robotern und Werkzeugmaschinen wird durch ihre mechanischen, elektrischen, informationsverarbeitenden und ggf. hydraulisch/ pneumatischen Teilsysteme, die miteinander in Wechselwirkung treten, bestimmt. Die Beschreibung der Teilsysteme erfolgt durch die physikalischen Basisbeziehungen

• Kräfte- und Momentengleichgewichte (Impuls- und Drallsatz) • Ohm’sches Gesetz • Induktionsgesetz • Kontinuitätsgleichungen • Elastizitätstheorie (Hooke’sches Gesetz)

95

Page 53: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

oder durch eine gleichungsbasierte Darstellung der informationsverarbeitenden Algorithmen (z.B. das Regelgesetz). Diese Basisbeziehungen können durch lineare Differentialgleichungen der Form

∑∑<

==

⋅+⋅=⋅+⋅nm

1ii

i

i0

n

1ii

i

i0 dttudbtub

dttxdatxa )()()()( (1.3.1)

dargestellt werden. Die Ordnung n der Differentialgleichung richtet sich nach der Zahl der „Energiespeicher“ im System. Dabei ist u(t) die Eingangsgröße und x(t) die interessierende Systemgröße (Ausgangsgröße).

� � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � � � � � � � !

� � � � � � � � �" � # � � � � � � # � $ � � � % � �& � # � � � � ' � � ( � � ) � � � � *" � � # � � � � � � � � � � � � �) � + � � � � � � � � � � � � � � , � � � �) � + � � � � � � � � # � � � � - � � . � � � , � � �/ � � + � � - � � � � � � � � / 0 � � � � 1 2 3 � � � � � � � � � - � � � 4 � / 3 � � � � ! � 2 �

� � � � � � � � � � � � � � � � � � � � � � � � �� - � - � � � � � 4 � 5 � � � � � � � � � � � 6 � � �� � � � � � � � � � � � 5 � � � � � � � � � � 7 8 � � �0 � # � � � - � � � � � � � � � � � � � � � 1 2 �0 9 � � � � � � � � � � � � � 0 $ � � � � � � 1

&

�� � - � �

� � � � � �

� � � � � � � � � � � � � � �

� � � � � � � �

� �

� � !

00 $

0 )

� � � �� �

$ )

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � �

/ '

� � - � �

: - � � � � - � � � � � � � � �

3 � � � - � � � � � �: � � � � � � � � �� � � � � � � �

" � � � � � � �

; � � � � � � � < � � � �

) � � �

Abb. 1.3.1: Tauchspulmotor als mechatronisches Beispielsystem: gerätetechnischer Aufbau des Testsystems, Parametertabelle und physikalisches Modell

Beispiel Tauchspulmotor 1:

Für den Tauchspulmotor in Abb. 1.3.1 können folgende Basisbeziehungen angesetzt werden:

• Maschenregel im elektrischen Teilsystem:

)()()()( tUdt

tdILtIRtU i+⋅+⋅= (1.3.2)

• Ermittlung der bewegungsbedingt induzierten Spannung:

dttdxK

dttdxBcw2tU 1

S1

i)()()( ⋅=⋅⋅⋅⋅= (1.3.3)

Da die induzierte Spannung Ui bei permanenterregten Motoren proportional zur Geschwindigkeit des Ankers (hier der Tauchspule) ansteigt, werden die

96

Page 54: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

unveränderlichen Geometrie-, Wickel- und Feldparameter zur Spannungskonstante KS zusammengefasst, die üblicherweise in den Produktunterlagen eines Motors angegeben ist.

• Ermittlung der Lorenz-Kraft: )()()( tIKtIBcw2tF F ⋅=⋅⋅⋅⋅= (1.3.4)

Die Kraft F, die der Motor entwickelt, ist proportional zum Motorstrom I. Die unveränderlichen Geometrie-, Wickel- und Feldparameter werden zur Kraftkonstante KF zusammengefasst. Spannungs- und Kraftkonstante sind bei diesem sehr einfachen Antrieb gleich. Bei etwas komplexeren Antrieben (Servo- oder Linearmotoren) sind sie näherungsweise gleich groß.

• Kräftegleichgewichte an den freigeschnittenen elastisch gekoppelten Teilmassen aus Abb. 1.2:

( )()()()( txtxktFdt

txdm 2121

2

1 −⋅−=⋅ ) (1.3.5)

( ) )()()()( tFtxtxkdt

txdm L2122

2

2 −−⋅=⋅ (1.3.6)

Dabei ist das Hooke’sche Gesetz zur Ermittlung der Federkraft Fk in den Gln. (1.3.5), (1.3.6) bereits berücksichtigt.

• Regelgesetz (hier für einen einfachen P-Regler):

( ))()()( txtxKtU 1sollv −⋅= (1.3.7)

Durch eine bereits recht aufwändige Umformung der Gln. (1.3.2)-(1.3.6) kann eine Differentialgleichung der Regelstrecke des Tauchspulmotors gemäß Gl. (1.3.1) angegeben werden (Ausgangsgröße x(t)=x2(t) ):

( )

( )[ ]

)()()(

)(

)()()(

tUKkdt

txdmmLdt

txdmmR

dttxdKKmmmkL

dttxdmmkR

dttdxKKktx0

F52

5

2142

4

21

32

3

SF221

22

2

212

SF2

⋅⋅=⋅⋅⋅+⋅⋅⋅+

⋅⋅⋅++⋅⋅+

⋅+⋅⋅+⋅⋅⋅+⋅

(1.3.8)

Der geregelte Tauchspulmotor ist ein System 5. Ordnung mit zwei Eingangsgrößen (Sollwert xsoll und Lastkraft FL) sowie zwei relevanten Ausgangsgrößen (Lastposition x2 und gemessene spulenseitige Position x1). In der Differentialgleichung gemäß Gl. (1.3.8) ist nur die Stellgröße U(t) und die Lastposition x2(t) als Ausgangsgröße berücksichtigt. Zur effizienten Darstellung mehrerer Eingangs- und Ausgangsgrößen ist die nachfolgend erläuterte Zustandsdarstellung besser geeignet. ♦ Für lineare Differentialgleichungen existieren Lösungsmethoden, mit denen die Reaktion des Systems für bestimmte Anfangsbedingungen und Eingangsgrößen berechnet werden kann. In [Lutz u. Wendt 2004] werden verschiedene Beispiele 1. und 2. Ordnung mit einem vierstufigen Verfahren behandelt:

1. allgemeine Lösung der homogenen DGL 2. spezielle Lösung der inhomogenen DGL 3. allgemeine Lösung der inhomogenen DGL 4. Berücksichtigung der Anfangsbedingungen

97

Page 55: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Diese Lösungsmethoden sind jedoch nur für einfache Systeme und einfache Eingangsgrößen (Sprung- oder Rampenfunktionen) analytisch lösbar. Eine derart starke Vereinfachung würde allerdings wesentliche Eigenschaften realer Achsen an Robotern und Werkzeugmaschinen nicht mehr berücksichtigen. Bereits am Beispiel des noch sehr einfachen Tauchspulmotors wird deutlich, dass eine realistische Beschreibung von Antriebssystemen eine höhere Systemordnung erfordert. Für die Beschreibung von nichtlinearen Systemteilen (z.B. Sättigung, Quantisierung, nichtlineare Kennlinien) sind die Differentialgleichungen entsprechend zu erweitern. Da die Lösung von nichtlinearen Differenzialgleichungen sehr aufwändig ist, wird oft um den interessierenden Arbeitspunkt herum linearisiert. Diese Linearisierung kann bei dominanten Nichtlinearitäten, beispielsweise bei trockener Gleitreibung oder Haftreibung, bereits eine unzulässige Vereinfachung darstellen. Die analytische Lösung der das System beschreibenden Differentialgleichungen im Zeitbereich ist für den Entwicklungsingenieur offensichtlich nicht effizient. Die Differentialgleichungen bilden jedoch die Grundlage für die Systembeschreibung durch Wirkungs- oder Signalflusspläne (lineare und nichtlineare Blockschaltbilder), auf die im Rahmen der Modellbildungssystematik in Abschn. 1.3.2 näher eingegangen wird. Für lineare Systeme mit vielen Energieträgern sowie mehreren Ein- und Ausganggrößen bietet sich die Zustandsraumdarstellung an. Zur Herleitung der Zustandsraumdarstellung sei auf die umfangreiche Literatur zu diesem Thema verwiesen [Unbehauen 1987, Ackermann 1988, Föllinger 1993, Isermann 2003, Lutz u. Wendt 2004]. Unter den Zuständen eines mechatronischen Systems versteht man zweckmäßigerweise energietragende Systemgrößen, z.B. Position und Geschwindigkeit von Starrkörpern, elektrischer Strom und elektrische Spannung sowie Druck und Strömungsgeschwindigkeit von Medien. Diese n Zustandsgrößen werden in einem Zustandsvektor ( )Tn21 txtxtxt )(),...,(),()( =x (1.3.9) die m Eingangsvariablen des Systems – meist die Stell- und Störgrößen – werden im Eingangsvektor (1.3.10) ( T

m21 tututut )(),...,(),()( =u )

)und die r Ausgangsgrößen werden im Ausgangsvektor (1.3.11) ( T

r21 tytytyt )(),...,(),()( =yzusammengefasst. Aus den Basisgleichungen des Systems können n Zustandsdifferentialgleichungen angegeben werden:

mnm11nnnn22n11nn

mm1111nn12121111

ububxaxaxadt

dx

ububxaxaxadtdx

⋅++⋅+⋅++⋅+⋅=

⋅++⋅+⋅++⋅+⋅=

......

...

......

(1.3.12)

Die Ausgangsvariablen des Systems ergeben sich allgemein aus den Zustands- und Eingangsvariablen:

mrm11rnrn22r11rr

mm1111nn12121111

ududxcxcxcy

ududxcxcxcy

⋅++⋅+⋅++⋅+⋅=

⋅++⋅+⋅++⋅+⋅=

.........

...... (1.3.13)

Diese Gleichungen können in Matrixform sehr effizient dargestellt werden:

)

)

()()( tttdtd uBxAx ⋅+⋅=

()()( ttxt uDCy ⋅+⋅=

(1.3.14)

(1.3.15)

98

Page 56: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Dabei bez ie eichnet man die (n x n)-Matrix A als Zustands- oder Systemmatrix, d(n x m)-Matrix B als Steuer- oder Eingangsmatrix und die (r x n)-Matrix C als Ausgangsmatrix. Die Elemente der (r x m)-Durchgangsmatrix D sind bei der Mehrzahl der technischen Systeme Null, da die Stellgrößen meist nur indirekt auf die Systemzustände wirken können. Im Abb. 1.3.2 ist die Zustandsdarstellung graphisch durch ein Signalflussbild verdeutlicht:

# �# � �

� = � � � >

� = � >�

� � � = � >

�!

� � - � � � = � >

Abb. 1.3.2: Allgemeines Signalflussbild einer Zustandsraumdarstellung,

nd zur Regelung mit dem Rückführvektor

zurück n

Zustandsregelung

Werden die Zustandsgrößen erfasst u( )Tn21 rrr ,...,,=r (1.3.16)

geführt, so kann das Verhalten des geregelten Systems wie folgt beschriebewerden:

[ ] )()()( ** ttt T uBxrbAx ⋅+⋅⋅+= (1.3.17)

atrix und übrigen

ddt

Dabei ist der Vektor b die zur StB* beinhaltet die restlichen Spalt

ellgren.

öße u(t) gehörende Spalte der SteuermEntsprechend werden im Vektor u* die

Eingangsgrößen des Systems (meist die Störgrößen) zusammengefasst. Zum Ausgleich stationärer Regelfehler durch die Rückführung muss die Vorfilterverstärkung V vorgesehen werden. Mit dem vollständigen Zustandsregler, bei dem alle Systemzustände erfasst und zur Regelung zurückgeführt werden, kann die beste Regelgüte erreicht werden. Allerdings stehen an realen Anlagen nicht alle Zustandsgrößen als gemessene Größen zur Verfügung. Weiterhin erfordert die Auslegung eines Zustandsreglers eine genaue Kenntnis der Systemparameter und ein vergleichsweise hohes Ausbildungsniveau des Inbetriebnahmepersonals. Da Zustandsregelungen an realen Anlagen zudem empfindlich gegen Stellgrößensättigung und Parametervariationen reagieren, haben sie sich noch nicht für Servoantriebe durchgesetzt. In der regelungstechnischen Literatur werden Beobachter eingeführt, um schwer oder nicht messbare Zustandsgrößen zu erfassen. An Werkzeugmaschinen und Robotern wurden derartige Strukturen zwar bislang untersucht [Phillip 1992, Hagl 1992, Zirn 2008] aber aufgrund praktischer Restriktionen (Parameterempfindlichkeit, Justageaufwand) nicht in serienreife Antriebssysteme umgesetzt. Ein erster praxisnaher Zustandsregleransatz wird in Abschnitt 3.2 vorgestellt.

99

Page 57: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Beispiel Tauchspulmotor 2:

Der Tauchspulmotor aus Abb. 1.3.1 besitzt fünf energietragende Systemgrößen, aus denen der Zustandsvektor gebildet werden kann:

• Position x1 der motorseitigen Masse (potentielle Energie) • Geschwindigkeit v1 der motorseitigen Masse (kinetische Energie) • Position x2 der lastseitigen Masse (potentielle Energie) • Geschwindigkeit v2 der lastseitigen Masse (kinetische Energie) • Motorstrom I (magnetische Energie) (1.3.18) ( T

2121 tItvtvtxtxt )(),(),(),(),()( =x )Aus den Basisbeziehungen in Gln. (1.3.2)-(1.3.6) des Tauchspulmotors können die linearen Zustandsdifferentialgleichungen hergeleitet werden:

)()( tvdt

tdx1

1 = (1.3.19)

)()( tvdt

tdx2

2 = (1.3.20)

)()()()( tImKtx

mktx

mk

dttdv

1

F2

11

1

1 ⋅+⋅+⋅−= (1.3.21)

2

L2

21

2

2

mtFtx

mktx

mk

dttdv )()()()(

−⋅−⋅= (1.3.22)

LtUtv

LKtI

LR

dttdI

1S )()()()(

+⋅−⋅−= (1.3.23)

Als Ausgangsgrößen sind beim hier zunächst eingesetzten einfachen Proportional-regler für die Lage der motorseitigen Position nur die Zustandsgrößen x1 und x2 von Interesse. In Matrizendarstellung können diese Zustandsgleichungen und die Ausgangs-gleichungen wie folgt zusammengefasst werden:

⎟⎟⎠

⎜⎜⎝ )( tFL

010001

⎞⎛ )( tU

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢

⎣ −−−

−=

LR0LK00000mkmk

mK00mkmk

S

22

1F11

////

///A

⋅+⋅= )()( txtdtd BAx (1.3.24)

)()( txt ⋅= Cy (1.3.25)

mit der Zustandsmatrix

⎢⎢⎡

0000

(1.3.26)

100

Page 58: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

der Steuermatrix

(1.3.27) [ ]

⎥⎥⎥⎥⎥⎥⎤

⎢⎢⎢⎢⎢⎢⎡

−=

0L1m10

000000

2

21

//

bb

⎦⎣

=B

(1.3.28)

er Rückführvektor für das Regelgesetz gemäß Gl. (1.3.7) lautet:

(1.3.29) Darau

und der Ausgangsmatrix

⎥⎤

⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

0001000001

2

1

cc

C⎦

D( )T0000K ,,,,=r v

s ergibt sich die Zustandsgleichung des lagegeregelten Tauchspulmotors zu

[ ] )()( tFt L2 ⋅+b)( tdt

T1 ⋅⋅+= xrbAx

An diesem Beispiel wird wieder deutlich,

d (1.3.30)

er Sprungantwort (d.h. des zeitlichen Verlaufes der Istpositionen

♦ dass die analytischen Lösungsverfahren im

Zeitbereich [Lutz u. Wendt 2004] hier nicht mehr mit vertretbarem Aufwand anwendbar sind. Damit wird durch die Zustandsdarstellung zunächst lediglich eine effizientere Beschreibung des mechatronischen Systems ermöglicht. Zur Analyse des dynamischen Verhaltens bedarf es weiterer Hilfsmittel, die nachfolgend behandelt werden. Für den lagegeregelten Tauchspulmotor ist der mit dem Modell gemäß Gl. (1.3.30) simulierte Verlauf dx1,2(t) bei sprungförmiger Änderung der Sollposition xsoll) für verschiedene Regelverstärkungen Kv in Abb. 1.3.3 a dargestellt. Abb. 1.3.3 b zeigt die Reaktion auf einen Störgrößensprung: a) b)

0 0.1 0.2 0.3 0.4 0.50

0.002

0.004

0.006

0.008

0.01

0.012

0.014

0.016

0 0.1 0.2 0.3 0.4 0.5−0.014

−0.012

−0.01

−0.008

−0.006

−0.004

−0.0020.018

0.02

t in s

−−

−xs

oll,

x1 in

m _

___x

1 in

m, .

...x2

in m

n Tauchspulmotors

Kv=150 V/m

Kv=300 V/m

Kv=900 V/m

Sprungantwort des P−lagegeregelte0

t in s

−−

−F

L/kN

, ___

_x1

in m

, ....

x2 in

m

Kv=150 V/m

Kv=300 V/m

Kv=900 V/m

Störsprungantwort des P−lagegeregelten Tauchspulmotors

auchspulmotors bei einem Soll-

örgrößensprung (b) für verschiedene Abb. 1.3.3 Sprungantwort des geregelten T größensprung (a) und einem St Lageregelverstärkungen Kv

101

Page 59: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

An den Zeitverläufen in Abb. 1.3.3 können die wesentlichen Kenngrößen des zeitlichen Systemverhaltens erläutert werden:

• aperiodische Reglereinstellung (hier Kv =150 V/m) Die aperiodische Reglereinstellung ist für Lageregelkreise oft erforderlich, um ein Überschwingen der Position und damit Kollisionen oder Beschädigungen des Werkstückes zuverlässig zu vermeiden. Diese – verschiedentlich als „konservativ“ bezeichnete – Reglereinstellung weist nur eine mäßige Störsteifigkeit auf, reagiert aber auf zeitliche Änderungen der Störgröße ebenfalls aperiodisch gedämpft. Im vorliegenden Beispiel wird eine dauerhafte Lastkraft von FL=8 N eine dauerhafte Regelabweichung an der motorseitigen Masse von Δx1=8,9mm erzeugen. Die Abweichung der lastseitigen Masse ist bedingt durch die Federsteifigkeit k der Kopplung noch etwas größer. Der geregelte Antrieb reagiert auf eine Lastkraft wie eine Feder. Man spricht in diesem Zusammenhang deshalb auch von der statischen

Achssteifigkeit : R

KKx

FK Fv

1

Lstat

⋅=

Δ= (1.3.31)

die hier ca. 0,9 N/mm beträgt. Diese statische Steifigkeit kann gemäß Gl. (1.3.31) anhand der Regelverstärkung und der Streckenparameter zuverlässig abgeschätzt werden. Verfälscht wird der scheinbar gemessene Steifigkeitswert in praktischen Anwendungen durch die Reibung im System, die es dann etwas steifer erscheinen lässt. Als worst-case-Abschätzung ist Gl. (1.3.31) jedoch sehr geeignet.

• gut gedämpfte Reglereinstellung (hier Kv =300 V/m) Von einer gut gedämpften Reglereinstellung spricht man, wenn der Istwert zwar etwas überschwingt, sich jedoch anschließend schnell ohne weiteres Unterschwingen dem Sollwert nähert. Für viele Anwendungen, bei denen ein schnelles Erreichen des Sollwertes beabsichtigt wird (z.B. Drehzahlregelung, Stromregelung) ist dies ein brauchbares Systemverhalten. Bei einer zeitlichen Änderung der Störgröße reagiert das geregelte System vergleichbar „gutmütig“. Anregelzeit Tan Als Anregelzeit bezeichnet man die Zeitspanne, die der Istwert benötigt, um den Sollwert erstmals zu erreichen. In diesem Beispiel beträgt diese Zeit ca. 0,13 s. Ausregelzeit Taus Als Ausregelzeit bezeichnet man die Zeitspanne, die der Istwert benötigt, um dauerhaft innerhalb eines gewissen Toleranzbereiches (z.B. ± 5%) um den Sollwert herum zu verbleiben. Hier beträgt diese Zeit ca. 0,25 s. Überschwingweite ü Die Überschwingweite ü wird auf den Sollgrößensprung bezogen

( )

soll

soll21

xxtx

üΔ

Δ−=

)(max , (1.3.32)

Im vorliegenden Beispiel beträgt ü ca. 10 %. Je nach Anwendung können Überschwingweiten von 20..40% toleriert werden.

• schlecht gedämpfte Reglereinstellung (hier Kv =900 V/m): Die weitere Erhöhung der Regelverstärkung bringt zwar eine Verbesserung der Laststeifigkeit, jedoch wird dies durch ein erhebliches Schwingen des Antriebes bei zeitlichen Änderungen der Sollgröße sowie der Last erkauft. Der so eingestellte

102

Page 60: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Antrieb reagiert unruhig, laut und erzeugt erhebliche Regelverlustleistungen. Für die meisten Regelkreise sind derartige Einstellungen unbrauchbar.

1.3.1.2 Beschreibung im Frequenzbereich Regt man ein lineares System mit einer harmonischen Eingangsgröße an, so wird sich nach Abklingen der transienten Einschwingvorgänge eine Ausgangsgröße gleicher Frequenz, jedoch anderer Amplitude und mit einer Phasenverschiebung behaftet, einstellen (Abb. 1.3.4). Drückt man die sinusförmigen Signale durch komplexe Zeigergrößen aus, so kann das Übertragungsverhalten des linearen Systems durch den Quotienten von Eingangs- und Ausgangssignal – die so genannte komplexe Übertragungsfunktion G(jω) – beschrieben werden:

( )

{ } { })(Im)(Re)(

ˆˆ

ˆˆ

)()()(

)( ωωω

ωωω

ωϕ

ϕω

ϕω

jGjGejG

eux

euex

jjjG

jj

jtj

tj

+=⋅=

⋅=⋅

⋅==

+

ux

(1.3.33)

? = @ � >� = � > � A 4 � � � = � � � � = � > � � 4 � � � = � � � � �

= @ � > � A 4 � @ � � = @ � > � � 4 � @ �

Abb. 1.3.4: Harmonische Anregung eines Systems

Die Übertragungsfunktion ist an Werkzeugmaschinen und Robotern oft messbar (siehe hierzu Abschn. 1.3.2.2). Für die Herleitung der Übertragungsfunktion kann die Differentialgleichung gemäß Gl. (1.3.1) folgendermaßen umgeformt werden:

( ) ( )( ) ( ) ...

...)()()(

+⋅+⋅++⋅+⋅+

== 2210

2210

jajaajbjbb

jjjG

ωωωω

ωωω

ux (1.3.34)

Für den Übergang vom Zeit- in den Frequenzbereich werden die zeitlichen Ableitungen durch die komplexe Frequenz jω ersetzt:

ii

ij

dttxd )()( ω→ (1.3.35)

In der praktischen Anwendung weniger aufwändig ist jedoch die direkte Herleitung der Übertragungsfunktion über die Basisbeziehungen. Auch hier wird jede zeitliche Ableitung einer Größe durch jω ersetzt. Ist die Zustandsdarstellung eines Systems gegeben, so kann die Übertragungs-funktion direkt ermittelt werden [Lutz u. Wendt 2004]:

[ ] bAEc ⋅−⋅⋅= −1T jjG ωω )( (1.3.36)

Dabei ist der Vektor b die zur Stellgröße u(t) gehörende Spalte der Steuermatrix B und der Vektor c die zur betrachteten Zustandsvariablen x(t) gehörige Zeile der Ausgangsmatrix C. Da die komplexe Übertragungsfunktion G(jω) nicht sehr anschaulich ist, wurden graphische Darstellungen der Übertragungsfunktion eingeführt:

• Bode-Diagramm: Die Übertragungsfunktion kann getrennt in Betrag und Phasenverschiebung dargestellt werden. Der Betrag – auch Amplitudengang genannt – wird logarithmisch aufgetragen (Pegeldarstellung in dB):

103

Page 61: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

{ } { }22 jGjG20jG20 )(Im)(Relog)(log ωωω +⋅=⋅ (1.3.37) Der Phasengang ergibt sich zu

{ } { }{ }⎭

⎬⎫

⎩⎨⎧

=)(Re)(Imarctan)(

ωωωϕjGjGjG (1.3.38)

Beide Darstellungen werden in Abhängigkeit von der Frequenz f bzw. Winkelgeschwindigkeit ω=2πf mit logarithmischer Abszissenteilung aufgetragen. Diese Darstellung – insbesondere der Amplitudengang – wird verschiedentlich auch als „Frequenzgang“ bezeichnet.

• Nyquist-Ortskurve:

Die komplexe Übertragungsfunktion G(jω) kann auch als Ortskurve in der komplexen Ebene dargestellt werden. Diese Ortskurve entsteht, wenn die Übertragungsfunktion als komplexer Zeiger für verschiedene Frequenzen in die komplexe Ebene eingetragen wird und anschließend die Zeigerspitzen durch eine Linie verbunden werden. Daher wird oft die Richtung zunehmender Frequenz an der Ortskurve durch einen Pfeil markiert. Der Einheitskreis der Ortskurvendarstellung entspricht der Null-Linie im Amplitudengang des Bode-Diagramms.

� � � � � � � � � � �

$ � � � � �

? $ = @ � >

? = @ � > � � = @ � � � � = @ � > � ? $ = @ � >4 ? 3 = @ � >

= @ � > � = @ � >3 � � � � � �

? 3 = @ � >

� = @ � >�

� � � � � � �

� - � B ? B

� �

@

& � = ? >

$ � = ? >� �

1 < C � � � � �: � � � �

�� $

� $

� - � � $

� 2 $

Abb. 1.3.5: Betrags- und Phasenreserve im Ortskurven- und Bode-Diagramm

Die Ortskurve des offenen Regelkreises kann für die Beurteilung der Stabilität des geschlossenen Regelkreises eingesetzt werden (siehe auch Abb. 1.3.5). Für Antriebe an Werkzeugmaschinen und Robotern wird das vereinfachte Nyquist-Kriterium [Unbehauen 1987] eingesetzt:

Ein Regelkreis ist nur dann stabil, wenn der kritische Punkt (Nyquist-Punkt -1+j.0) beim Durchlaufen der Ortskurve mit wachsender Frequenz links von der Ortskurve liegt.

Über die qualitative Stabilitätsaussage (stabil oder instabil) des Nyquist-Kriteriums hinaus ermöglichen die Gütekriterien Phasenreserve ϕR und Betragsreserve AR (siehe Abb. 1.3.5) eine quantitative Beurteilung des geregelten Systemverhaltens. Der geschlossene Regelkreis reagiert umso besser gedämpft, je größer Betrags- und Phasenreserve sind. In der regelungs- und antriebstechnischen Literatur werden verschiedene erfahrungsbasierte Kennwerte für Betrags- und Phasenreserve angegeben, um ein aperiodisches, gut gedämpftes Verhalten oder – für hohe Störsteifigkeit vereinzelt erforderlich – schlechte Dämpfung zu erreichen [Groß et al.

104

Page 62: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2000, Weck et al. 1999]. Diese Kennwerte sind in Tabelle 1.3.1 aufgeführt und können als erste Orientierung beim Antriebsentwurf oder zur Reglereinstellung nützlich sein.

Erwünschtes Systemverhalten

Phasenreserve ϕR Betragsreserve AR

aperiodisch > 75° > 10 gut gedämpft 40°-60° 4-10 schlecht gedämpft < 30° < 3,5

Tabelle 1.3.1: Wertebereiche für Betrags- und Phasenreserve für unter- schiedlich gedämpfte Einstellungen des geschlossenen Regelkreises Diese Gütekriterien sind auch dann anwendbar, wenn die Übertragungsfunktion eines Systems nicht bekannt ist und nur der Frequenzgang gemessen werden kann. Daher ist insbesondere die Phasenreserve ein weit verbreitetes Gütekriterium für die Reglereinstellung in der Antriebstechnik.

Beispiel Tauchspulmotor 3:

Die den Tauchspulmotor beschreibenden Basisbeziehungen Gln. (1.3.2)-(1.3.6) können im Frequenzbereich wie folgt ausgedrückt werden:

( ) )()()( ωωωω jUjIjLRjU i+⋅⋅+= (1.3.39) )()( ωωω jxjKjU 1Si ⋅⋅= (1.3.40)

)()( ωω jIKjF F ⋅= (1.3.41) ( ))()()()( ωωωωω jxjxkjFjxm 2111

2 −⋅−=⋅⋅− (1.3.42) ( )()()( ωωωω jxjxkjxm 2122

2 −⋅=⋅⋅− ) (1.3.43)

Da für die Lageregelung die Position der motorseitigen Masse x1 zurückgeführt wird, muss auch die entsprechende Übertragungsfunktion GS(jω)=x1(jω)/U(jω) hergeleitet werden. Aus den Gln. (1.3.39)-(1.3.43) gelingt dies nach kurzer Umformung:

)()()(

ωωω

jUjxjG 1

S = (1.3.44)

( )[ ]( ) ωω

ωωωω

jkKKRmmk

jmKKLmmkRmmjLmmkKmK

SF2

21

32SF21

421

521

F2

2F

⋅⋅⋅+⋅⋅+⋅−

⋅⋅⋅+⋅+⋅−⋅⋅⋅+⋅⋅⋅⋅+⋅⋅−

=

Die Übertragungsfunktion des Reglers ist noch sehr einfach:

vR KjG =)( ω (1.3.45)

Daraus folgt für die Übertragungsfunktion des gesamten offenen Regelkreises:

)()()( ωωω jGjGjG SR ⋅= (1.3.46)

( )[ ]( ) ωω

ωωωω

jkKKRmmk

jmKKLmmkRmmjLmmkKKmKK

SF2

21

32SF21

421

521

vF2

2vF

⋅⋅⋅+⋅⋅+⋅−

⋅⋅⋅+⋅+⋅−⋅⋅⋅+⋅⋅⋅⋅⋅+⋅⋅⋅−

=

Das Bodediagramm und die Ortskurve zu dieser Übertragungsfunktion sind für die ungeregelte Strecke sowie für drei exemplarische Regelverstärkungen in den Abb. 1.3.6 und 1.3.7 dargestellt.

105

Page 63: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Die Phasenreserve beträgt für die aperiodische Reglereinstellung ca. 80°, für die gut gedämpfte Einstellung ca. 60° und für die höchste Regelverstärkung mit entsprechend schwacher Systemdämpfung ca. 30°. Vergleicht man die frequenzbasierte Beschreibung des Tauchspulmotors durch Bode-Diagramm und Ortskurve mit den zugehörigen Zeitverläufen des geschlossenen Regelkreises (siehe Abb. 1.3.3), so wird deutlich, welche Wirkung Betrags- und Phasenreserve auf das Systemverhalten haben. ♦

100

101

102

103

−10

−5

0

5

|G| i

n dB

Bode−Diagramm

Kv=

1V/m

Kv=150V/m

Kv=300V/m

Kv=900V/m

100

101

102

103

−300

−200

−100

0

Pha

se in

Gra

d

f in Hz Abb. 1.3.6: Bode-Diagramm des Tauchspulmotors für aperiodische, gut und schlecht gedämpfte Reglereinstellung sowie für die ungeregelte Strecke (Kv=1 V/m)

−1.5 −1 −0.5 0 0.5 1−1.5

−1

−0.5

0

0.5

1

Nyquist−Punkt

Nyquist−Ortskurve

Re(G)

Im(G

)

Kv=

150V/m

Kv=

300V/m

Kv=900V/m

f

f

f

f

Abb. 1.3.7: Nyquist-Ortskurve und Nyquist-Kriterium der offenen Regelstrecke für aperiodische, gut und schlecht gedämpfte Reglereinstellung

106

Page 64: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Eine weitere Möglichkeit, das zeitliche Systemverhalten zu ermitteln, bietet die Laplace-Transformation:

{ } ∫∞

−⋅==0

stdtetftfsf )()()( L (1.3.47)

Das Verfahren ist in Abb. 1.3.8 graphisch verdeutlicht. Dabei werden die das System beschreibenden Basisbeziehungen oder die Differentialgleichung vom Zeitbereich (Originalbereich) in den komplexen Frequenzbereich transformiert. Dazu wird die Laplacevariable s=σ+jω eingeführt – eine komplexe Frequenz. Die so transformierten Gleichungen sind einfach nach der gesuchten Systemgröße auflösbar. Die Rücktransformation dieser Lösung im Bildbereich ergibt den gesuchten Zeitverlauf der entsprechenden Systemgröße.

� � � � � � � � �

) � � � � � � � � � � � � + - � � � � � � �. � � � � � � � � � � � � � � � � #D � + + � � � � � � � � � � � � � � � � � � � �� � � 0 - � � � � � � � � � � � � � � � �? � � � � � � � � � �

� + � E � � � � � � � � �# � � � � � � � � � � � �

? � E F �

3 < � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � �. � � � � � � � � � � � � � � � � #D � + + � � � � � � � � � � � � � � � � � � � � � + � � � � � # � � � � � � � � �

� � � � � � � � � � � � �

) E � � � � � + 9 � � # � � � � � � � � � � �? � E F � � � � � . � � # � � � � � �

� � � � ' � � � � � + � # � � � � � � � � � � � �? � E F � �

) � � � � � � �

� � � � � + - � � � � � - �

� � ' � � � � � ) � � � � � � �

� � � � � + - � � � � � - �

Abb. 1.3.8: Lösung von Differentialgleichungen durch Transformation, Lösung im Bildbereich und Rücktransformation

Die Transformation kann mit Transformationstabellen [Bronstein u. Semendjajew 1987, Lutz u. Wendt 2004] schnell durchgeführt werden. Die für mechatronische Systeme wichtigsten Transformationen sind in Tabelle 1.3.2 zusammengestellt. Bei Systemen höherer Ordnung erfordert die notwendige Partialbruchzerlegung allerdings häufig numerische Methoden zur Ermittlung der Nullstellen. Ist die Übertragungsfunktion G(jω) eines Systems bekannt, so kann diese Übertragungsfunktion durch die Substitution von jω durch die Laplacevariable s transformiert werden. Die Lösung im Bildbereich ergibt sich dann sehr einfach zu:

)(......)()()( su

sasaasbsbbsusGsx n

n10

mm10 ⋅⋅++⋅+⋅++⋅+

=⋅= (1.3.48)

Umgekehrt kann man sich die Laplace-Transformation zunutze machen, die Differentialgleichung oder die Übertragungsfunktion eines Systems direkt aus seinen Basisbeziehungen herzuleiten. Die transformierten Basisbeziehungen sind einfache algebraische Gleichungen, die mit wenig Aufwand in die transformierte Übertragungsfunktion G(s) oder in die transformierte Differentialgleichung in der Form gemäß Gl. (1.3.1) umgewandelt werden können:

∑∑<

==

⋅⋅+⋅=⋅⋅+⋅nm

1i

ii0

n

1i

ii0 susbsubsxsasxa )()()()( (1.3.49)

107

Page 65: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

� � � � � � �

� � � � 1 � � � � � � � � � � � �

� � � � : - � � � � �

& � = � >

$ � = � >

� � �

� � � � �

� � � � � � # ( � � + �

� � � � � � �� � # ( � � + �

Abb. 1.3.9: Pole und Nullstellen in der komplexen Ebene

Der konkrete Nutzen der Laplace-Transformation liegt hier allerdings nicht in der vereinfachten Lösung des transienten Systemverhaltens. Bei den für Werkzeug-maschinen relevanten Systemordnungen ist dies nicht geschlossen analytisch möglich. Auch würde die Genauigkeit der Ergebnisse durch die nicht berücksichtig-ten nichtlinearen Einflüsse verschlechtert. Vielmehr kann durch die Analyse der Pole und Nullstellen eine anwendungsnahe Aussage über die Stabilität und die Dämpfungseigenschaften des geregelten Systems gewonnen werden. Die Übertragungsfunktion kann alternativ zur Darstellung in Gl. (1.3.47) auch durch die Nullstellen zi des Zählerpolynoms und die Nullstellen pi des Nennerpolynoms, die sogenannten Pole, ausgedrückt werden:

( ) ( ) ( )( ) ( ) ( ) )(

......)()()( su

pspspszszszssusGsx

n21

m21 ⋅−⋅⋅−⋅−−⋅⋅−⋅−

=⋅= (1.3.50)

Die Lage der Pole in der komplexen Ebene (siehe Abb. 1.3.9) charakterisiert die Systemdynamik. Pole auf der negativ reellen Achse erzeugen ein aperiodisches Systemverhalten. Die imaginäre Achse stellt die Stabilitätsgrenze dar. Die negativ reelle Halbebene wird in einen Bereich guter und schwacher Dämpfung unterteilt.

Beispiel Tauchspulmotor 4:

Die Übertragungsfunktion der Strecke des Tauchspulmotors kann entweder aus den laplace-transformierten Basisbeziehungen Gln. (1.3.2)-(1.3.6) hergeleitet werden, oder aus der in Gl. (1.3.44) bereits gegebenen Übertragungsfunktion G(jω) mittels Substitution von jω durch s gewonnen werden:

)()()(

sUsxsG 1

S = (1.3.51)

( )[ ]( ) skKKsRmmk

smKKLmmksRmmsLmmkKsmK

SF2

21

32SF21

421

521

F2

2F

⋅⋅⋅+⋅⋅+⋅+

⋅⋅⋅+⋅+⋅+⋅⋅⋅+⋅⋅⋅⋅+⋅⋅

=

In Abb. 1.3.10 ist die Lage der Pole der ungeregelten Strecke eingezeichnet. Die Pole lassen sich wie folgt zuordnen:

108

Page 66: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

• das konjugiert komplexe Polpaar mit geringer Dämpfung (in Abb. 1.3.10 nur für positiven Imaginärteil gezeichnet) resultiert aus dem elastisch gekoppelten Zweimassensystem

• der Pol im Ursprung zeigt die freie Verschiebbarkeit des Motors ohne Lageregelung auf. Eine konstante Last- oder Antriebskraft würde zu einer immer weiter zunehmenden („aufintegrierenden“) Position führen.

• der Pol auf der reellen Achse resultiert aus der verzögernden bzw. bremsenden Wirkung der induzierten Gegenspannung bei einer Motorbewegung.

• der in Abb. 1.3.10 nicht mehr eingezeichnete Pol aus dem elektrischen Teilsystem (Reihenschaltung aus Wicklungsinduktivität L und Wicklungswiderstand R) liegt weit links auf der negativ reellen Achse.

Mit dem Regelgesetz Gl. (1.3.7) ergibt sich die Übertragungsfunktion der geregelten Strecke zu:

)()()(

sxsxsG

soll

1= (1.3.52)

( )[ ]( )[ ] kKKskKKsmKKRmmk

smKKLmmksRmmsLmmkKKsmKK

FvSF2

2Fv21

32SF21

421

521

Fv2

2Fv

⋅⋅+⋅⋅⋅+⋅⋅⋅+⋅+⋅+

⋅⋅⋅+⋅+⋅+⋅⋅⋅+⋅⋅⋅⋅⋅+⋅⋅⋅

=

Zeichnet man die Pole des geregelten Systems für steigende Regelverstärkung Kv in die komplexe Ebene ein, so entsteht die sogenannte Wurzelortskurve (WOK). Sie beginnt bei den Polen der ungeregelten Strecke und strebt für sehr große Regelverstärkungen in die Nullstellen der Übertragungsfunktion bzw. zu instabilen Pollagen. Hervorgehoben wurden in dieser Wurzelortskurve die Pole bei den Regelverstärkungen Kv={150, 300, 900}V/m, für die das zeitliche Verhalten des geregelten Systems in Abb. 1.3.3 bereits dargestellt wurde.

$ � = � >

/ ' � 6 � � � ! 2 �

& � = � >

/ ' � G � � � ! 2 �

/ ' � � 7 � � ! 2 �

� � � � � � � � � � � � 3 � � � � � �

/ '

/ '

/ ' / '

/ '

Abb. 1.3.10: Pole und Nullstellen der Regelstrecke des Tauchspulmotors, Wurzelortskurve des lagegeregelten Tauchspulmotors. (Der aus dem elektrischen Teilsystem resultierende Pol ist aus Übersichtlich- keitsgründen nicht enthalten)

Die Wurzelortskurve zeigt, dass zunächst (Kv=150..300 V/m) die schlecht gedämpften Pole der elastisch gekoppelten Massen das Systemverhalten dominieren. Höhere Regelverstärkungen entdämpfen das System, was durch die auf

109

Page 67: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

die imaginäre Achse (Stabilitätsgrenze) zustrebenden Wurzelortskurvenzweige verdeutlicht wird. ♦ Die Wurzelortskurve vermittelt auf einen Blick das Systemverhalten für ansteigende

1.3.1.3 Zeitdiskrete Systeme Systemgrößen wird heute meist mit Mikrocontrollern

s System beschreibende Differentialgleichung Gl. (1.3.1) geht dann in die

(1.3.53)

über. Die Ordnung n der Differenzengleichung richtet sich nach der Zahl der

Systemteil

erfassten Messdaten da nur die

Regelverstärkungen und wird daher oft in der antriebstechnischen Literatur [Phillip 1992, Groß 2000, Unbehauen 1987, Lutz u. Wendt 2004, Berkemer 2002] als Beurteilungskriterium eingesetzt. Dieses praktische Werkzeug für lineare Systeme wird in Abschn. 2.1 zur Herleitung der Regler-Einstellregeln an Servoachsen eingesetzt.

Die Regelung und Messung vonrealisiert. Durch die zyklische Abarbeitung der entsprechenden Programmteile wird das System nicht mehr kontinuierlich, sondern in regelmäßigen Zeitabständen (Abtastzeit T) erfasst. Das so abgetastete Signal wird auch als (zeit-) diskretes Signal bezeichnet, da nun nur noch die Systemwerte für die Abtastzeitpunkte t= k.T bekannt sind. Die daDifferenzengleichung

n

∑∑<

==

−⋅+⋅=−⋅+⋅nm

1ii0

1ii0 ikubkubikxakxa )()()()(

„Energiespeicher“ im System. Dabei ist u(k) die Eingangsgröße zum Zeitpunkt t=k.T und x(k) die interessierende Systemgröße (Ausgangsgröße). Die Größen x(k-i) und u(k-i) sind die vorhergehend abgetasteten Werte zum Zeitpunkt t=(k-i).T. Meist genügt es für die Modellbildung, nur den zeitdiskret arbeitendendurch eine Differenzengleichung gemäß Gl. (1.3.53) zu beschreiben. Der Übergang zum zeitkontinuierlich arbeitenden Systemteil (d.h. zur Regelstrecke) wird durch Halteglieder realisiert, die die Ausgangsgrößen des zeitdiskreten Systemteiles während einer Abtastperiode konstant halten. Die Abtastung verschlechtert prinzipiell dieniederfrequenten Signalanteile bis zur theoretischen Maximalfrequenz

T21f ≤ (⋅max 1.3.54)

erkannt werden können (sog.

tung ist diese Verschlechterung kaum merklich; man

nstigeren Verhältnissen, d.h. langsamerer Abtastung, bestimmt der

Abtasttheorem nach Shannon/Nyquist). Zudem gibt einzeitdiskret arbeitender Regler die Stellgröße aufgrund der erforderlichen Rechenzeit nur zeitverzögert aus. Im schlechtesten Falle (worst-case-Abschätzung) beträgt die Verzögerung eine Abtastperiode T. Ein abgetastet geregeltes System weist gegenüber einem kontinuierlich geregelten System damit prinzipiell schlechtere dynamische Eigenschaften auf. Bei ausreichend schneller Abtasspricht dann von einer quasikontinuierlichen Abtastung. Dies ist immer dann der Fall, wenn die Abtastzeit wesentlich (d.h. eine Größenordnung) kleiner als die kleinste Zeitkonstante des zu regelnden Systems ist. In diesen Fällen dürfen zeitdiskret arbeitende Teilsysteme mit guter Näherung durch zeitkontinuierliche Systeme – unter Berücksichtigung einer Totzeit in der Größenordnung der Abtastzeit – beschrieben werden. Bei ungüAbtastvorgang wesentlich die Systemdynamik. Zur Analyse wendet man die z-Transformation an. Sie ermöglicht, wie die Laplace-Transformation für

110

Page 68: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

zeitkontinuierliche Systeme, eine vereinfachte mathematische Behandlung zeitdiskreter Systeme:

(1.3.55) { } ∑∞

=

−⋅==0k

kzkTfkTfzf )()()( Z

Mithilfe von Transformationstabellen (siehe Tabelle 1.3.2 oder [Bronstein u. Semendjajew 1987, Lutz u. Wendt 2004]) kann die z-Transformation von Differenzengleichungen oder zeitabhängigen Funktionen sehr effizienterfolgen. Soll aus einer gemessenen Position x(t) die Geschwindigkeit v(t) ermittelt werden, so ist dies bei einem abgetasteten Signal nur durch diskrete Differenzierung möglich, d.h. man vergleicht den aktuell abgetasteten Positionswert x(kT) mit dem eine Abtastperiode zuvor abgetasteten Wert x((k-1)T) und ermittelt durch Division mit der Abtastzeit T eine mittlere Geschwindigkeit: ( ) ( )

TTkTx

TkTx

TT1kxkTxkTv

dttdxtv −

−=−−

=⇒=)()()()()()( (1.3.56)

Transformiert man diese Differenzengleichung mit Tabelle 1.3.2 in den z-Bereich (Bildbereich)

⎟⎠⎞

⎜⎝⎛

⋅−

⋅=⋅−= −

Tz1zzxz

Tzx

Tzxzv 1 )()()()( , (1.3.57)

so ergibt sich die z-transformierte Übertragungsfunktion des diskreten Differenzierers:

1z

TzzxzvzGD −

⋅==

)()()( (1.3.58)

Originalbereich f(t)

Bildbereich f(s)

f(z)

1(t) s

1 ( )1zz−

t 2s

1

( )21zzT

−⋅

ate−

( )as1+

( )aTezz−−

( )ate1a1 −−⋅

( )ass1+⋅

( )( ) ( )1zez

e1zaT

aT

−⋅−−⋅

( )ta1ea1 at2 ⋅+−⋅ −

( )ass1

2 +⋅ ( )

( )( ) ( )2aT

aTaT

aT2

1zezeaTe1z

e1aTz

−⋅−−−⋅+

+−⋅

−−

x(t-T)

sTesx −⋅)( 1zzx −⋅)(

T – Abtastzeit

Tabelle 1.3.2: Relevante Laplace- und z-Transformationsvorschriften für zeit abhängige Größen mechatronischer Systeme Obgleich nur die Regelungs- und Steuerungskomponenten abgetastet arbeiten, ist für eine Stabilitätsbetrachtung des Gesamtsystems im nicht quasikontinuierlichen Fall eine vollständige zeitdiskrete Beschreibung auch der zeitkontinuierlichen

111

Page 69: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Systemteile erforderlich. Meist ist dies die eigentliche Regelstrecke, für die die zeitdiskrete Übertragungsfunktion wie folgt hergeleitet werden kann:

⎭⎬⎫

⎩⎨⎧

⎭⎬⎫

⎩⎨⎧⋅

−== −

ssG

z1z

zuzxzG s1

s)(

)()()( LΖ (1.3.59)

Sind die z-transformierten Übertragungsfunktionen von Regler und Strecke bekannt, so kann die Übertragungsfunktion des geregelten Systems ermittelt werden:

)()(

)()()(

)()(zGzG1

zGzGzx

zxzGSR

SR

soll ⋅+⋅

== (1.3.60)

Die Lage der Pole (d.h. die Nullstellen des Zählers der Übertragungsfunktion) in der komplexen Ebene (siehe Abb. 1.3.11) charakterisiert die Systemdynamik. Pole auf der negativ reellen Achse zwischen 0 und 1 erzeugen ein aperiodisches Systemverhalten. Der Einheitskreis stellt die Stabilitätsgrenze dar. Das Innere des Einheitskreises wird in einen Bereich guter und schwacher Dämpfung unterteilt.

� � � � � � �

� � � � 1 � � � � � � � � � � � �

� � � � : - � � � � �

& � = >

� $ � = >�

��

�� �

� � � � �

� � � � � � # ( � � + �� � � � � � �� � # ( � � + �

@

� @

�� �

Abb. 1.3.11: Beurteilung der Systemeigenschaften aus der Lage der Pole in der komplexen z-Ebene

Beispiel Tauchspulmotor 5:

Die Wirkung einer Abtastregelung soll nun am Beispiel des Tauchspulmotors verdeutlicht werden. Um eine erste Orientierung zur sinnvollen Wahl der Abtastzeit zu bekommen, sind die Zeitkonstanten der Regelstrecke von Interesse. In der Literatur [Lutz u. Wendt 2004, Weck 1995, Ackermann 1988] wird hierzu meist die Ausgleichszeit Tg angesetzt, die aus der Sprungantwort der ungeregelten Strecke (Sprung der Stellgröße) ermittelt wird. In Abb. 1.3.12 ist dies für den Tauchspulmotor dargestellt, wobei hier wegen des integrierenden Verhaltens nicht die zur Regelung verwendete Position, sondern die Geschwindigkeit des Tauchspulmotors betrachtet wird. Zur Ermittlung der Ausgleichszeit Tg wird die Sprungantwort der Strecke durch eine um die Verzugszeit Tv verzögerte Rampenfunktion angenähert. Graphisch kann diese Rampenfunktion durch Anlegen einer Tangente im Punkt der schnellsten Änderung der Systemgröße ermittelt werden. Dieses Verfahren ist in [Lutz u. Wendt 2004, Weck 1995] für nicht schwingfähige Strecken beschrieben. Bei schwingfähigen

112

Page 70: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Strecken ist dieses graphische Verfahren nur mit einer gewissen Unsicherheit anwendbar. Bei sehr kleiner Dämpfung ist das nicht mehr sinnvoll, so dass hier die Periodendauer To der Eigenschwingung der Strecke als kleinste Systemzeitkonstante angesetzt werden muss. Abb. 1.3.12 zeigt, dass im vorliegenden Beispiel die Ausgleichszeit mit Tg≅25 ms kleiner als die Periodendauer mit To≅80 ms liegt.

0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20

0.2

0.4

0.6

0.8

1

1.2

t in s

− −

−U

/12V

_

___v

1, ..

..v2

in m

/sSprungantwort des Tauchspulmotors

T0T

vT

g

Abb. 1.3.12: Sprungantwort der Regelstrecke des Tauchspulmotors zur Ermittlung der Zeitkonstanten des Systems

Für Abtastzeiten, die kleiner als ein Zehntel der Ausgleichszeit sind (hier also ca. 2..3 ms), kann von quasikontinuierlichen Verhältnissen ausgegangen werden [Lutz u. Wendt 2004, Weck 1995]. Höhere Abtastzeiten werden eine Verschlechterung der Regelgüte zur Folge haben. In Abb. 1.3.13 ist die Sprungantwort des abgetastet lagegeregelten Tauchspulmotors für verschiedene Abtastzeiten dargestellt. Für quasikontinuierliche Verhältnisse (1 ms Abtastzeit) wird dasselbe gut gedämpfte Systemverhalten erreicht, wie bei zeitkontinuierlicher Regelung (siehe Abb. 1.3.3). Einzig die durch die Abtastung erzeugte Totzeit verschlechtert das System geringfügig. Bei einer Abtastzeit von 10 ms, die etwa einem Drittel der kleinsten System-zeitkonstanten entspricht, wird das geregelte System schon spürbar entdämpft. Eine Abtastzeit in der Größenordnung der Ausgleichszeit Tg führt zu einer starken Entdämpfung. Ein ausreichend gedämpftes Systemverhalten kann dann nur durch kleinere Regelverstärkungen erreicht werden – zulasten der Anregelzeit und der Störsteifigkeit des Antriebs.

113

Page 71: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

0 0.1 0.2 0.3 0.4 0.50

0.002

0.004

0.006

0.008

0.01

0.012

0.014

0.016

t in s

−−

−xs

oll,

x1 in

m

Abgetastet P−lagegeregelter Tauchspulmotor Kv=300V/m

Tsx

=1 ms

Tsx

=5 ms

Tsx

=10 ms

Tsx

=30 ms

Abb. 1.3.13: Sprungantwort des lagegeregelten Tauchspulmotors mit fester Reglereinstellung (Kv=300 V/m) bei verschiedenen Abtastzeiten T=Tsx

Zur Ermittlung der Pole muss das gesamte System zeitdiskret dargestellt werden. Wendet man Gl. (1.3.59) auf die Übertragungsfunktion der Strecke Gl. (1.3.51) an, wird durch die hohe Systemordnung ein erheblicher analytischer Aufwand erforderlich. Auch der Übergang auf die diskrete Zustandsdarstellung [Ackermann 1988] und die Ermittlung der Pole durch die charakteristische Gleichung bringt bei der Analyse hier keine Vorteile. Um im Rahmen dieser Einführung den prinzipiellen Einfluss der Abtastung auf die Pole des Systems zu verdeutlichen, wird die Induktivität vernachlässigt (L=0) und eine sehr steife Kopplung der beiden Teilmassen m1 und m2 angenommen (k→∞). Die Übertragungsfunktion Gl. (1.3.51) der Strecke vereinfacht sich damit zu:

( )

( ) ( ) RmmKKamit

ass1

Ka

sKKsRmmK

sUsxsG

21

SF

S

SF2

21

F1S

⋅+⋅

=+⋅

⋅=

⋅⋅+⋅⋅+≅=

)()()(

(1.3.61)

Mit Gl. (1.3.59) folgt für die z-transformierte Übertragungsfunktion der Strecke mit Hilfe der Transformationstabelle 1.3.2:

( )

( )

( )( ) (

( ) ( ))⎟⎟⎠

⎞⎜⎜⎝

−⋅−−−++−⋅

⋅⋅

=

⎟⎟⎠

⎞⎜⎜⎝

−+

−−

−⋅

−⋅

⋅=

⎭⎬⎫

⎩⎨⎧

+−⋅⋅

⋅−

=

⎭⎬⎫

⎩⎨⎧

⎭⎬⎫

⎩⎨⎧

+⋅⋅

−==

−−−

1zezaTee1e1aTz

Ka1

1zaT

z1z

ezz

z1z

Ka1

akT1eKa1

z1z

assKa

z1z

zuzxzG

aT

aTaTaT

S

2aTS

akT

S

2S11

s

Ζ

LΖ /)()()(

(1.3.62)

114

Page 72: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Die Übertragungsfunktion G(z) des geregelten Systems kann mit Gl. (1.3.60) aus Gl. (1.3.62) und dem Regelgesetz Gl. (1.3.7) ermittelt werden:

( ) ( )( )

( ) ⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜

⎥⎦

⎤⎢⎣

⎡+−−⋅

⋅+

⋅⎥⎦

⎤⎢⎣

⎡−−+−⋅

⋅+

−−++−⋅⋅

=⋅+

⋅==

−−−

−−

−−−

aTaTaT

S

v

aTaT

S

v2

aTaTaT

S

v

Sv

Sv

soll

1

eaTee1Ka

K

ze1e1aTKa

Kz

aTee1e1aTzKa

K

zGK1zGK

zxzxzG

)()(

)()()(

(1.3.63)

$ � = >

& � = >

� � � � � � � � �

� � � � 6 � � � �

� � � � 7 � � �

� � � � � � � �

Abb. 1.3.14: Wurzelortskurve des lagegeregelten Tauchspulmotors für eine feste Reglereinstellung (Kv=300 V/m) in Abhängigkeit von der Abtastzeit T

Typischerweise wird die Wurzelortskurve in Abhängigkeit von der Regelverstärkung dargestellt [Lutz u. Wendt 2004]. Die Lage der Pole hängt jedoch von allen Systemparametern ab, so dass die Wurzelorte auch in Abhängigkeit von der Abtastzeit T dargestellt werden können. Dies ist hier zum Vergleich mit Abb. 1.3.13 anschaulicher. Die Pole für kleine Abtastzeiten liegen im gut gedämpften Bereich und wandern für steigende Abtastzeiten in Bereiche schlechterer Dämpfung bis hin zur Instabilität bei zu langsamer Abtastung. Bei einer Abtastzeit von 30 ms ist die Stabilitätsgrenze schon fast erreicht, was in Abb. 1.3.13 durch die fast nicht mehr abklingende Schwingung um die neue Sollposition verdeutlicht wird. In den Übertragungsfunktionen Gln. (1.3.61) und (1.3.63) tritt die Abtastzeit immer als Produkt mit der Systemkonstante a auf. Der Kehrwert von a kann auch als Zeitkonstante des vereinfachten mechatronischen Systems aufgefasst werden. Die Ermittlung der Sprungantwort der vereinfachten Strecke in zeitkontinuierlichen Fall zeigt dies deutlich. Im hier vorliegenden Beispiel beträgt 1/a = 22 ms, was gut zu der zuvor abgeschätzten Ausgleichszeit Tg=25 ms passt.

115

Page 73: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Aus diesen einleitenden Darstellungen der regelungstechnischen und system-theoretischen Grundlagen wird ersichtlich, dass diese mathematischen Werkzeuge nicht ausreichen, um komplexe mechatronische Systeme wie Roboter und Werkzeugmaschinen hinreichend genau und effizient zu analysieren. Dennoch ist das Verständnis der in den Abschnitten 1.3.1.1 bis 1.3.1.4 beschriebenen Grundlagen nützlich, um die nachfolgend dargestellten Methoden zu erfassen und die damit erhaltenen Simulationsergebnisse hinsichtlich möglicher Fehlerquellen interpretieren zu können.

1.3.2 Modellbildung mechatronischer Systeme Das Ziel der Modellbildung ist die Herleitung einer eindeutigen mathematischen Beschreibung eines mechatronischen Systems. Das Modell soll aus Effizienzgründen so einfach wie möglich gehalten werden, wobei die für die Untersuchung wichtigen Systemeigenschaften ausreichend genau nachgebildet werden müssen. Abb. 1.3.15 verdeutlicht die Modellierung der Tauchspulmotorachse mit den hier behandelten Methoden.

� ! � � � � � � � � � � � � � " � � � � �

# � � � � � � � � � � � � � � " � � � �$ � � � � � � � � � � � � � �

� � - � � = � >

� � 2 $� H � 4 � � �

� � = � >/ 3

/ 0

� 2 � �

0 � = � >

� � = � >

� 2 � �

0 ) = � >� � = � >

& = � >

0 = � >

� �

� = � >

� �

0 $

� 0 $

0 $

� � � = � >5 � � � � � E F �

3 � � � � � � E F �

3 � E � � � E F �

% � � � � � � � � � � � � � �

� �

������� �

�����

� �

�����

� �

��������

� �

������

� �

���� ������

�� ��������

��������

����������

!

!

"#$

$

"#

%

%

""#

"

"

"#&

&

�� � - � �

� � � � � �

� � � � � � � � � � � � � � �

� � � � � � � �

� �

� � !

00 $

0 )

� � � �� �

$ )

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � �

/ '

� � - � �

Abb. 1.3.15: Nachbildung eines mechatronischen Systems durch ein physikali-

sches Modell und die mathematische Beschreibung durch Differential- gleichungen bzw. ein Blockschaltbild (mathematisches Modell)

Das reale System wird zunächst durch ein physikalisches Modell beschrieben. Aus dem physikalischen Modell wird ein mathematisches Modell hergeleitet, das dann – hier meist als Blockschaltbild – in einem Simulationswerkzeug implementiert werden kann. Die Komplexität des physikalischen Modells richtet sich nach den konkreten Fragestellungen, d.h. was und mit welcher Genauigkeit simuliert werden soll. Möchte man beispielsweise Hinweise auf die konstruktive Ausgestaltung der Strukturbauteile erhalten, so ist in den meisten Fällen die Finite-Elemente-Analyse, also ein sehr hoher Detaillierungsgrad erforderlich (auch das FE-Modell ist ein physikalisches Modell). Will man hingegen geeignete Komponenten (Führungen, Lager, Übertragungsglieder, Antriebe) auswählen, so reicht ein Starrkörpermodell mit wenigen Gliedern aus. Je nach Kinematik der Maschine kann gegebenenfalls sogar die Kopplung der Achsen und Freiheitsgrade vernachlässigt werden.

116

Page 74: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Steht die Voraussage der Produktivität (Steifigkeit, Geschwindigkeit) oder der erreichbaren Regelgüte im Vordergrund, so genügt meist ein ausreichend detailliertes Starrkörpermodell. Sollen dagegen lediglich Schätzwerte für die am Antrieb einzustellenden Regelverstärkungen ermittelt werden, dann genügt sogar ein weitgehend vereinfachtes Modell der jeweiligen Maschinenachse. Es ist daher wichtig, vor Beginn einer Modellierung das Modellbildungsziel oder die konkrete Fragestellung zu definieren. Davon hängt das physikalische Modell und dessen Komplexität ab. Der wesentliche Schritt bei der Modellbildung ist damit die Nachbildung – oder Annäherung – des zu betrachtenden Systems durch geeignete physikalische Modelle. Dieser Schritt erfordert neben einem sehr analytischen Vorgehen des Ingenieurs auch eine gewisse Erfahrung, um mit dem einfachst möglichen physikalischen Modell die zu untersuchenden Eigenschaften genau genug nachbilden zu können. Speziell für die Modellbildung von Werkzeugmaschinen und Robotern im Entwurfsstadium kann man grundsätzlich folgende Modellierungstiefen/ Kom-plexitätsniveaus unterscheiden:

• Niveau 1→ Achsmodelle Für das Modell einer Servoachse werden nur in Richtung des Achsfreiheitgrades (DOF - Degrees of Freedom) wirkende Einflüsse berücksichtigt. Die mechanische Struktur kann dabei durch Verkettungen von wenigen diskreten Trägheiten und Elastizitäten modelliert werden (Abb. 1.3.16). Auf diesem Niveau können einfache Auslegungsvorschriften hergeleitet werden, die zum überschlägigen Reglerentwurf genügen. Diesen „Handformeln“ widmet dieses Buch eine eingehende Betrachtung in Abschnitt 2.1.

• Niveau 2→ Robotermodell Dynamische Kopplungen zwischen verschiedenen Servoachs-Freiheitsgraden (DOF) können durch ebene/räumliche Robotermodelle mit idealisierten Gelenken nachgebildet werden (Abb. 1.3.17). Wenige dominierende Elastizitäten können dabei ebenfalls berücksichtigt werden. In Abschnitt 2.2 wird die Herleitung dieser Robotermodelle durch eine anwenderfreundliche Systematik aufgezeigt.

• Niveau 3→ Gekoppelte Simulation von Strukturmodellen und Achsregelkreisen Nur dieses anspruchsvollste und tiefste Niveau der Modellierung erlaubt direkte Rückschlüsse aus dem simulierten Gesamtsystemverhalten auf detaillierte konstruktive Optimierungspotentiale (siehe Abb. 1.3.18). Bei weitgehender Entkopplung zwischen den Achsen kann die Systembeurteilung anhand von Frequenzgängen zwischen Stellgröße (Antriebskraft F), Störgröße (Lastkraft FL) und Auslenkung am TCP und am Meßsystem vorgenommen werden. Anhand von Phasen- und Betragsreserve der offenen Regelkreise ist auch eine Abschätzung der erreichbaren Regelverstärkungen möglich [Kehl 2004]. Für Betrachtungen im Zeitbereich können die Frequenzgänge identifiziert werden, um sie als Übertragungsfunktionen in das Modell zu übernehmen (siehe hierzu Abschn. 1.3.2.2). Alternativ können Frequenzgänge an FE-Modellen ermittelt werden. Da an Werkzeugmaschinen und Robotern die Elastizitäten der Bindungen (Führungen, Lager) gegenüber den vergleichsweise steifen Gliedern dominieren, liefern räumliche Mehrkörper-Modelle [IWF-Achsbaukasten] eine mit FE-Modellen vergleichbare Genauigkeit. Für beide Modellierungsansätze hat es sich als sinnvoll erwiesen [Hatch 2000], die Bewegungsgleichungen in physikalischen Koordinaten

117

Page 75: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

mit Hilfe der Eigenvektoren und Eigenwerte für die dominierenden Eigenschwingungsformen und relevanten Knoten (z.B. Kraftangriffspunkte, Meßsystempositionen, TCP) in modale Koordinaten zu transformieren. So kann eine Zustandsdarstellung in blockschaltbildorientierte Simulationswerkzeuge importiert werden, die die gekoppelte Simulation von Steuer- und Regelalgorithmen mit detaillierten Strukturmodellen ermöglicht. Abschnitt 3.1 wird dies sehr tiefgehend beleuchten.

. � � �

3 � � # � �

. � � � � � � � � �5 - � - �

� 3

� 0

� / � - �

� 5

� � - �

� � � �� H � 4 � � � � � 2 I �

� �

5

5 � � �

� �

5 $ �

� 5 $ �

5 $ �

� �

/ � � � � �

� � � �� H � 4 � +

5 � - � �

/ '

� � - � �

� � - � �

0 '

# 2 # �

� �

) � � �

��

& � � �

� � � � � � � � � � � ' � ( � � � � �

� 2 � �

0 )

#

0 $ �

� 0 $ �

0 $ �

��

� �� �

�� 3

� �

� 3

� �� 3

� �

� �

' �

' �

" � � �

Abb. 1.3.16: Komplexitätsniveau 1 der mechatronischen Modellierung von Werkzeugmaschinen und Robotern (Achsmodell)

)

# �

� �

��

#�

��

#�

# 6

� 6

��

#�

� � '

� 2 I� � � �

5 $ �

� 5 $ �

* � � � � � � � � �

� 2 I� � � �

5 $ �

� 5 $ �

* � � � �� � � � �

5 � �

5 �

��

5 � � � �

5 � � � �

� � � � � � � � � ' � � � � � � ( � � ) � * � � ) � * � �

0 ) �

0 ) <

0 )

+ � � � � � � � � ,� 2 �

� � � �

0�

0 $ �

� 0 $ �

0 $ �

0� � � �

0 � �

5 � �

5�

5 $ �

5 $ �

��

D < � � � � � � � - # � �

Abb. 1.3.17: Komplexitätsniveau 2 der mechatronischen Modellierung von Werkzeugmaschinen und Robotern (Robotermodell) Der Konigsweg – der jedoch mit einem erheblichen Rechenzeitaufwand erkauft werden muss – ist sicherlich die gekoppelte Simulation von FE-Strukturmodell und Achsregelung im FE-Werkzeug. Obgleich es hierzu bereits einige kommerzielle Werkzeuge gibt [FEMLAB 2003, Berkemer 2002, Hatch 2000, Kehl 2009], ist der dazu erforderliche Ressourcenaufwand für Einarbeitung und Bearbeitung von Problemstellungen erheblich. Wenn – wie in [Großmann et al. 2004] detailliert ausgeführt – der Einfluss des Bearbeitungsprozesses in eine gekoppelte Simulation integriert wird, könnte man von einem vierten Komplexitätsniveau sprechen. Die Integration dieses Niveaus in den Werkzeugmaschinenentwicklungsprozess ist prinzipiell wünschenswert. Die Anforderungen an die Güte der Prozessmodelle, die Komplexität der Werkzeuge und Schnittstellen sowie der Modellierungsaufwand sind jedoch so hoch, dass derartige Komplettsimulationen auf absehbare Zeit nur an Hochschulen im Rahmen mehrmonatiger Arbeiten umsetzbar sind.

118

Page 76: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Mehrkörper (MK) - Modell:

Finite-Elemente (FE) – Modell:

Hybrides FE-MK-Modell:

* + � � � , � � - � �� 5 .

4 � 5 . H � 5 .4 - 5 .

� 5 . � � 5 .4 � 5 .

( � � � , � � - � �� 0 ;

4 � 0 ; H � 0 ;4 - 0 ;

� 0 ; � � 0 ;4 � 0 ;

. 5 . 2 0 ; � � � �� � � � � �

� � � � � � � � � � . / (

� � � � �0 � � �

1 � � � � � �. / (

� ���������23��

4 5 � � . / (

1 � � � � � �� � � ' �

/ E � � � � � �

/ E � � � � � �/ E � � � � � � �� � � � 0 ; � 5 - # � � �

Abb. 1.3.18: Komplexitätsniveau 3 der mechatronischen Modellierung von Werkzeugmaschinen und Robotern (gekoppelte Simulation)

1.3.2.1 Modellbildungssystematik

Phase Zielsetzung Ergebnis 1 Vorgaben sammeln

Übersicht über alle relevanten Daten des Systems; Funktionsweise verstehen

"Spezifikationen", Skizzen, Daten

2 Wirkzusammenhänge ergründen

Erkennen aller relevanten Einzelphänomene sowie deren Zusammenwirken

"Qualitatives Modell" physikalisches Modell

3 Quantitatives Modell

Einzelprozesse in Formeln fassen ⇒ algebr. Gleichungen ⇒ Differentialgleichungen

„Quantitatives Modell“ Satz von Gleichungen mathematisches Modell

4 Gleichungen aufbereiten

Gleichungen in eine Standardform für die Bearbeitung des Systems bringen

Blockschaltbild, Über-tragungsfunktionen

Tabelle 1.3.3: Phasenplan der Modellierung [Glattfelder 1994] Zur Herleitung des mathematischen Modells kann man einerseits von den grundlegenden physikalischen Gesetzen sowie der konstruktiven Auslegung

119

Page 77: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

ausgehen. Dieses Vorgehen bezeichnet man als Modellierung. Andererseits kann man auch von Messreihen der Aus- und Eingänge am bereits hardwaremäßig vorhandenen System zu einem mathematischen Modell gelangen. Man spricht dann von Identifikation (siehe Abschnitt 1.3.2.2). Die physikalischen Zusammenhänge von mechatronischen Systemen, wie elektromechanische und hydraulische Antriebe oder auch mechanisch nachgiebige Strukturen, sind meist sehr genau bekannt. Der Aufbau von Prototypen oder Versuchsaufbauten zur Erarbeitung von Messreihen dagegen ist außerordentlich kosten- und zeitintensiv. Es ist somit sinnvoll, das mathematische Modell soweit möglich aus den physikalischen Zusammenhängen herzuleiten und nur in Ausnahmefällen die Identifikation einzusetzen. Die Modellbildung mechatronischer Systeme erfordert die Betrachtung verschiedener physikalischer Effekte, die miteinander in Beziehung gebracht werden müssen. Dies führt bereits bei kleinen Systemen zu einer gewissen Komplexität. Bei der Herleitung des mathematischen Modells aus den physikalischen Zusammenhängen hat sich daher ein geordnetes, phasenweises Vorgehen gemäß Tabelle 1.3.3 als nützlich erwiesen. In der Praxis ist der Zeitaufwand für die verschiedenen Modellierungsphasen sehr unterschiedlich. Das Sammeln der Vorgaben (Phase 1) benötigt nicht selten Tage oder Wochen Zeit, da viele Informationen in den Produktbeschreibungen nicht oder nur unvollständig enthalten sind und damit Nachfragen beim Komponentenhersteller notwendig werden. Hier stellt das Internet mittlerweile eine gewisse Erleichterung dar. Auch mechanische Daten (z.B. Abmessungen, Steifigkeiten) sind trotz überall eingeführter CAD-Werkzeuge oft nur mit erheblicher zeitlicher Verzögerung von den Konstrukteuren zu bekommen, da die interessierenden Daten erst noch softwareseitig (z.B. mit der FEM-Methode) ermittelt werden müssen, der Kollege, der diese Optionen beherrscht, gerade nicht erreichbar ist, etc; kurz: Es braucht Nerven, Geduld und eine kontaktfreudige Ader, um diesen ersten Schritt effizient und erfolgreich zu bearbeiten. Der Zwang zur Kommunikation hat aber auch einen unbestreitbaren Vorteil: Man wird von den Gesprächspartnern immer mit deren Perspektive und Erfahrungshintergrund konfrontiert und bekommt daraus wertvolle Anregungen für die nachfolgenden Phasen der Modellbildung. Dagegen können die Phasen 2-4 meist in wenigen Stunden durchgeführt werden da inzwischen sehr benutzerfreundliche und effiziente Werkzeuge zur symbolischen Umrechnung von Gleichungen und zur Implementierung von Modellen verfügbar sind. Die Ergründung der Wirkzusammenhänge zielt auf die Erarbeitung des physikalischen Modells hin. Dieses physikalische Modell kann meist graphisch als elektrisches Schaltbild, Mehrmassen-Feder-System, Biegebalken oder thermisches Ersatzschaltbild veranschaulicht werden. Es dient Ingenieuren unterschiedlicher Fachrichtungen als anschauliche Diskussionsbasis. Die Modellierungsgenauigkeit wird weitgehend durch dieses physikalische Modell bestimmt, d.h. alle angenommenen Vereinfachungen gegenüber der realen Ausführung des Systems sind in der Definition des jeweiligen physikalischen Modells bereits enthalten. Dieses phasenweise Vorgehen wird nachfolgend am Beispiel des Tauchspulmotors demonstriert und im weiteren Verlauf des Buches an verschiedenen Systemen verdeutlicht. Das Blockschaltbild erlaubt die anschauliche Darstellung von Systemen mit linearen und nichtlinearen Übertragungselementen. Linearisierte Darstellungsformen, wie die Übertragungsfunktion oder die Zustandsdarstellung, lassen sich schnell aus dem

120

Page 78: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Blockschaltbild ableiten. Die Mehrzahl der heute gebräuchlichen Simulations-programme bedient sich u.a. der Blockschaltbilddarstellung, sodass die hier behandelten Systeme mit geringem Aufwand auf verschiedenen Simulations-werkzeugen implementiert werden können. Die in der Elektrotechnik, im Maschinenbau oder in der Verfahrenstechnik genormten Schaltzeichen (z.B. DIN 40900) eignen sich nur begrenzt zur Darstellung mechatronischer Systeme. Nachfolgend werden daher in Anlehnung an DIN 19266 die hier benutzten Blocksymbole der gebräuchlichsten Übertragungsglieder aufgelistet (Blockbibliotheken in Tabelle 1.3.4-1.3.6). Lineare zeitkontinuierliche Übertragungsglieder werden hierbei mit der Sprungantwort (Tabelle 1.3.4), lineare zeitdiskrete Übertragungsglieder mit der z-transformierten Übertragungsfunktion charakterisiert (Tabelle 1.3.5). Nichtlineare Übertragungsglieder werden mit Hilfe der Eingangs-Ausgangs-Beschreibung dargestellt (Tabelle 1.3.6). Für das hier eingesetzte Simulationswerkzeug MATLAB/Simulink (siehe auch Anhang A1) stellt das Blockschaltbild die direkt zur Implementierung geeignete Form des Modellbildungsergebnisses dar. Das Blockschaltbild eines Systems kann - mit einiger Übung - direkt aus den das System beschreibenden Differential- und Grundgleichungen hergeleitet werden. Bei größeren Systemen werden die Blockschaltbilder der Teilsysteme hergeleitet und im Sinne der Wirkzusammenhänge kombiniert. Die Blockschaltbilder immer wieder eingesetzter Komponenten (z.B. Servomotoren, Übertragungsglieder, Regler, elastische Kopplungen...) werden in Abschnitt 2.1 hergeleitet und dargestellt. Die Modellierung kann durch Nutzung dieser Modellbibliothek auch für komplexe Systeme sehr effizient erfolgen.

121

Page 79: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Bezeichnung mathematisches Modell

Blockschaltbild technisches Beispiel

Summierer )()()( tutvtx ±= � = � > � = � >

' = � >

Soll-Istwert-vergleich

Proportional-glied

)()( tuKtx ⋅= /

� = � >� = � >

Verstärker, Getriebestufe

Integrator ∫= dttutx )()( � = � >� = � >

Seilwinde

Differenzierer dt

tdutx )()( = � = � >� = � >

Tachogenerator

Totzeitglied )()( totTtutx −= � � - �

� = � >� = � >

Rechenzeit

PI-Glied

∫⋅+

⋅=

dttuTK

tuKtx

n)(

)()( � = � >� = � >

/ � �

Standardregler für Antriebe

Übertragungs-glied 1. Ordnung (PT1-Glied)

)(

)()(

tuKdt

tdxTtx

⋅=

⋅+ � = � >� = � >

/ �

Filter 1. Ord-nung

Tabelle 1.3.4: Blockbibliothek linearer zeitkontinuierlicher Übertragungsglieder

Bezeichnung mathematisches Modell

Blockschaltbild technisches Beispiel

Abtastung )kT(u)k(x = � = � > � = � >� � A/D-Wandler

Halteglied 0. Ordnung T)k(tkT

für)kT(u)t(x1+<≤

= * -

� = � >� = � >

D/A-Wandler

Diskreter Differenzierer T

)k(u)k(u)k(x 1−−= � �

� = � >� = � >

Geschwindig-keitsermittlung

Tabelle 1.3.5: Blockbibliothek linearer zeitdiskreter Übertragungsglieder

122

Page 80: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Bei sehr großen Modellen verliert das Blockschaltbild in einer Darstellungsebene seine Übersichtlichkeit. Simulationswerkzeuge erlauben daher die Zusammen-fassung von Teilen des Blockschaltbildes zu Subsystemblöcken. Alternativ kann die Zustandsdarstellung eingesetzt werden, um große lineare Systemteile übersichtlich zu beschreiben und in das Modell zu integrieren.

Bezeichnung Blockschaltbild technisches Beispiel

Sättigungsglied � � � �

� = � >� = � >

Spannungs- oder Strombegrenzung

Quantisierer � �

� = � >� = � >

inkrementelles Meßsystem (Meßsystemauflösung Δu)

Signum-Funktion � � � �

� � � � �

� � � �

� = � >� = � >

Trockene Gleitreibung

Multiplizierer � = � > � = � >

' = � >

positionsabhängige Koppelkräfte

Totzone � � - �

� = � >� = � >

Getriebespiel

Funktion � � + = � >

� = � >� = � >

Reluktanzmoment, Periodische Teilungsfehler

Tabelle 1.3.6: Blockbibliothek nichtlinearer Übertragungsglieder Der Aufbau und die Implementierung des Blockschaltbildes kann in folgende Schritte unterteilt werden:

• Herleitung der Blockschaltbilder der linearen Systemteile • Kombination der linearen Systemteile zum Gesamtsystem • Ergänzung durch die nichtlinearen Einflüsse

Für erste Schritte bei der Modellbildung der linearen Systemteile ohne Erfahrungen im Umgang mit komplexen Blockschaltbildern hat sich die Anwendung der Beobachtungsnormalform [Lutz u. Wendt 2004] als sinnvoll erwiesen. Dazu ist die Differentialgleichung Gl. (1.3.1) zur Beschreibung des linearen oder linearisierten Systems folgendermaßen umzuformen:

∑∑≤

=

=

⋅+⋅=+⋅+⋅nm

1ii

i

i0n

n1n

1ii

i

i0 dttudbtub

dttxd

dttxdatxa )()()()()( (1.3.64)

123

Page 81: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Das Blockschaltbild zu Gl. (1.3.64), welches aus den drei Grundelementen (Integrator- und Proportionalglieder sowie Summationspunkten) der Blockbibliothek aufgebaut werden kann, hat dann die in Abb. 1.3.19 dargestellte Form:

� = � >� = � >

� - � � � � � �

- � �4 � -

� � �4 � � � � � � �

4 � � � � �

� � � �� � � �

Abb. 1.3.19: Allgemeines Blockschaltbild zur Beobachtungsnormalform Gl. (1.3.64)

Die Zustandsgrößen {x1,x2,...,xn-1,x} der Beobachtungsnormalform entsprechen nicht zwingend den energietragenden Größen des Systems. Das Blockschaltbild muss entsprechend umgeformt werden, wenn die energietragenden Systemgrößen:

• Strom bei einer Induktivität • Spannung bei einer Kapazität • Position und Geschwindigkeit bei einer Punktmasse • Druck bei einem Hydraulikzylinder • Temperatur bei einer Wärmekapazität

jeweils am Ausgang eines Integrators sichtbar werden sollen. Eine solche Umformung erhöht die Übersichtlichkeit und die Anschaulichkeit eines Blockschaltbildes erheblich, da damit Teile des Blockschaltbildes konkreten Komponenten und Systemgrößen zugeordnet werden können. Die Integratoren im Blockschaltbild spielen eine wesentliche Rolle bei der Berücksichtigung der Anfangsbedingungen. Sind die Energiespeicher des Systemes zu Beginn einer Simulation „gefüllt“ (vorgespannte Federn, geladene Kapazitäten etc.), so kann das im Modell durch von Null verschiedene Startwerte der Integrator-Blöcke berücksichtigt werden. Die Umformung kann mit den Umwandlungsregeln für Blockschaltbilder in Abb. 1.3.20 erfolgen. Vereinzelt ist es auch sinnvoll, komplexere Blöcke durch die Basisblöcke Integrator, Proportionalglied und Summierer darzustellen oder mehrere Basisblöcke zu einem Block zusammenzufassen. Dadurch können interessierende Zustandsgrößen zugänglich gemacht werden oder Blockschaltbilder übersichtlicher gestaltet werden, wie Abb. 1.3.21 zeigt.

124

Page 82: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

? �

� = � >� = � >

* � � � � � � � � � � � � � � � � / � � � � � � � � � � � � � � �

? � ? �4 ? �

� = � >� = � >

� = � >� = � >

. � � � � � � � � � � 0 � � � � � � ! ! � � � �

? �4 ? �

� H ? �4 ? �

� = � >� = � >

1 � � � � � � � � � � � & � � � � � � � � � � � � � � �

? �

? �

� = � >� = � > ? � � = � >� = � >

? �

' = � >? �

' = � >

1 � � � � � � � � � � � 1 � ) ( � � � � � � � � � � � � �

� = � >� = � >

? �

' = � >

� = � >� = � >

' = � >� 2 ? �

? �

Abb. 1.3.20: Umwandlung von Blockschaltbildern

/ � � � � � � � � � � � � % 2 � � � � 3 ' � % � 0 � � � 4 �

D � + + � � � � � � � � � � � � � � � � � � . � - � � � � � � � � � � # � = . � - � � � � � � � � � - � � � � + - � � � � � ' � � � � � + � � � � > ���

� = � > 2 � � H # � = � > 2 # � � � � / 2 � 4 � = � >

� = � > � H � � 4 # � = � > 2 # � �� � � / � 4 � � = � >

= � 4 8 >

/ 2 �

� = � >� = � >

� = � >� = � >

/

� H � 4 �

� 2 �

� � � � � � � � � � � ' - � �/ 2 � � � � � / � 4 � � 2 �� � ! � � � � � � � � � � � # � � �3 � � � � � � - � � � � � � � �� � ? � � � � � - � � � � � �

' � ! � � � � � � � � 5 � � � � � � � * � � � � 3 ' 5 � 0 � � � 4 �

D � + + � � � � � � � � � � � � � � � � � � . � - � � � � � � � � � � # � = . � - � � � � � � � � � - � � � � + - � � � � � ' � � � � � + � � � � > ���

# � = � > 2 # � � � �� � � � � � � / 2 � 4 � = � > H / 4 # � = � > 2 # �

� = � > � / 4 � = � > H / 2 � 4 � � = � > # �

= � 4 8 >/ 2 �

� = � >

� = � >

/

� � � � � � � � � � � ' - � �/ 2 � � � � � / � 4 � � 2 �

� � ! � � � � � � � � � � � # � � �! � � � � � � � � � � �� � � � � �

� = � >� = � >

/ �

Abb. 1.3.21: Zusammenfassung von komplexeren Blockschaltbildern

125

Page 83: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Beispiel Tauchspulmotor 6:

Für den Tauchspulmotor gemäß Abb. 1.3.1 soll das vollständige Modell der Regelstrecke als Blockschaltbild angegeben werden. Hierzu ist der Phasenplan der Modellierung (Tabelle 1.3.3) konsequent anzuwenden: 1 Vorgaben sammeln Mit der Wertetabelle in Abb. 1.3.1 ist dieser Schritt bereits durchgeführt. Die Daten müssten ansonsten aus den Produktunterlagen des Motorherstellers entnommen (Motorkonstanten, elektrische Bauteildaten), aus den Konstruktionsunterlagen des Aufbaus errechnet (Massen und Steifigkeiten) oder direkt ausgemessen werden (z.B. Reibung). 2 Wirkzusammenhänge ergründen Die Wirkzusammenhänge werden durch das physikalische Modell in Abb. 1.3.1 beschrieben. Aus diesem Modell wurden bereits in Abschn. 1.3.1 die Basisbeziehungen Gln. (1.3.2)-(1.3.6) der linearen Systemteile abgeleitet. Die nichtlinearen Einflüsse resultieren aus der Reibung der Schlittenführung, der auf die Speisespannung begrenzten Stellgröße und der begrenzten Auflösung der gemessenen Position.

• Reibung: Die geschwindigkeitsabhängige Reibungskraft wirkt immer entgegen der Bewegungsrichtung des reibungsbehaftet geführten Körpers. Die Geschwindigkeitsabhängigkeit kann für viele Anwendungen vereinfacht werden (siehe Abb. 1.3.22). Am Tauchspulmotor ist die Haftreibungskraft nur unmerklich größer als die Gleitreibungskraft und der Antrieb wird als lagegeregelter Antrieb nur bei verhältnismäßig kleinen Geschwindigkeiten betrieben. Viskose Reibungsanteile sind so mit guter Näherung vernachlässigbar.

• Stellgrößenbegrenzung: Die Ausgangsspannung des Spannungsverstärkers in Abb. 1.3.1 ist die Stellgröße der Regelstrecke. Sie ist durch die Versorgungsspannung begrenzt (hier ±24 V). Dies kann im Blockschaltbild durch ein Sättigungsglied (Tabelle 1.3.6) zwischen reglerseitig geforderter Spannung Usoll(t) und tatsächlicher Ausgangsspannung U(t) nachgebildet werden.

• Positionsauflösung: Die Position eines Körpers kann – bedingt durch die Inkrementierung oder die A/D-Wandlung – nur mit einer gewissen Auflösung erfasst werden. Dies kann im Blockschaltbild durch ein Quantisierungsglied zwischen der eigentlichen Schlittenposition x1(t) und der vom Meßsystem erfassten Position x1m(t) berücksichtigt werden.

126

Page 84: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

? � � � � � � � � � � � � � � + � � 0 $

* � + � � � � � � � � � � � + � � 0 *

� 0 $

� 0 *

' � � � - � � �$ � � � � � �0 � + 4 '

0

'

� � � � � � � � � . � � � � � � � � � � � 0 $ � � 0 * J

� � � � � � � � � � ? � � � � � � � # � � � � � � � � � � � � � J

� - � � � ? � � � � � � � # � � � � � � � � J

' = � > 0 = � >

+ � � 0 $

' = � > 0 = � >

0 $

' = � > 0 = � >+ K 4 ' �

Abb. 1.3.22: Geschwindigkeitsabhängigkeit der Reibung, Näherungen für unterschiedliche Geschwindigkeitsbereiche

3 Quantitatives Modell Fasst man die Basisbeziehungen Gln. (1.3.2)-(1.3.6) zusammen, so kann die Differentialgleichung Gl. (1.3.8) angegeben werden, die als mathematisches Modell bezeichnet wird. 4 Gleichungen aufbereiten Zur Aufbereitung des mathematischen Modells als Blockschaltbild kann man zwei Wege beschreiten. Der analytische – leider aber weniger anschauliche – Weg nutzt direkt die Beobachtungsnormalform. Der anschaulichere Weg überspringt die Phase 3 und ordnet jeder Basisbeziehung des physikalischen Modells ein Teilblock-schaltbild zu. Diese Teilblockschaltbilder werden anschließend zum Gesamtblock-schaltbild zusammengesetzt. Variante 1 - Beobachtungsnormalform Zunächst muss die Differentialgleichung Gl. (1.3.8) gemäß Gl. (1.3.64) umgeformt werden:

( )

( )

)()()(

)(

)()()(

tUmmL

Kkdt

txddt

txdLR

dttxd

mLKK

mmmmk

dttxd

mmLmmkR

dttdx

mmLKKktx0

21

F5

5

4

4

3

3

1

SF

21

21

2

2

21

21

21

SF

⋅⋅⋅

⋅=+⋅+

⋅⎥⎦

⎤⎢⎣

⎡⋅⋅

+⋅+⋅

+

⋅⋅⋅+⋅⋅

+⋅⋅⋅⋅⋅

+⋅

(1.3.65)

Daraus kann mit Abb. 1.3.19 ein Blockschaltbild direkt angegeben werden:

� = � > � � � = � >� = � >

� � � � � � � � �� � � = � � H � � > 2 = � � � � >

$ 2 )

� � � � / 0

) � � � �

� � / 0 / 3

) � � � �

� �� $

� � � )/ 0 / 3

) � �

� �� H

Abb. 1.3.23: Blockschaltbild des Tauchspulmotors gemäß Beobachtungs- normalform

127

Page 85: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Variante 2 - Anschauliche Herleitung aus den Basisbeziehungen: In Abb. 1.3.24 sind die Gln. (1.3.2)-(1.3.6) des physikalischen Modells als Teilblockschaltbilder ausgedrückt. Setzt man nun diese Teilblockschaltbilder zu einem einzigen Blockschaltbild zusammen, so ergibt sich die Darstellung des linearen Systems in Abb. 1.3.25. Für das vollständige Streckenmodell sind jetzt noch die nichtlinearen Einflüsse zu berücksichtigen (Abb. 1.3.26):

• Signumglied für die trockene Gleitreibung der Führung • Sättigungsglied für die begrenzte Zwischenkreisspannung • Quantisierer für die begrenzte Positionsauflösung

Zudem ist in Abb. 1.3.26 das elektrische Teilsystem zu einem PT1-Glied zusammengefasst. Dabei wurde die elektrische Zeitkonstante Tel des Tauchspulmotors eingeführt:

RLTel = (1.3.66)

� = � >

$ 2 )

� 2 )

� � = � >

& = � >

� � = � >

/ 3

� � = � >

& = � >

/ 0

0 = � >

0 � = � >

� � = � >

� � = � >

� 2 � �

0 = � >

0 � = � >� � = � > � � = � >

� � = � >

� 2 � �

0 ) = � >

0 � = � > � � = � > � � = � >

� � = � >

5 � � � � � � � � � � � � ? � 4 � = � 4 � 4 � > J

& � # � � � � � � � 3 � � � � � � � � ? � 4 � = � 4 � 4 6 > J

) - � � � � / � � + � � ? � 4 � = � 4 � 4 > J

D < � � � � � � � � � � / � ( + � � � � � � � � � � � � � � � � � � � # � �� - � - � � � � � � � � � � 5 � � � � � ? � 4 � = � 4 � 4 7 > J

D < � � � � � � � � � � / � ( + � � � � � � � � � � � � � � � � � � � # � �� � � � � � � � � � � � � 5 � � � � � ? � 4 � = � 4 � 4 8 > J* - - � � � K � � � � � � ? � � � � J

Abb. 1.3.24: Basisbeziehungen des Tauchspulmotors als einzelne Teilblockschalt bilder dargestellt

Hier wird der Vorteil eines anschaulich hergeleiteten Blockschaltbildes ganz deutlich. Nur wenn die physikalischen Größen explizit im Blockschaltbild erscheinen ist es möglich, nichtlineare – d.h. im mathematischen Modell nicht oder nur sehr umständlich zu berücksichtigende – Einflüsse nachträglich zu berücksichtigen. ♦

128

Page 86: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

� = � >

$ 2 )

� 2 )

� � = � >

/ 3

/ 0

� 2 � �

0 � = � >

� � = � >

� 2 � �

0 ) = � >� � = � >

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

6 � � � � � ( � � � � �� � " � � � � � 7 � �

& = � >

0 = � >

Abb. 1.3.25: Blockschaltbild des Tauchspulmotors (linearer Systemteil)

� � - � � = � >

� � 2 $� H � 4 � � �

� � = � >/ 3

/ 0

� 2 � �

0 � = � >

� � = � >

� 2 � �

0 ) = � >� � = � >

& = � >

0 = � >

� �

� = � >

� �

0 $

� 0 $

0 $

� � � = � >5 � � � � � E F �

3 � � � � � � E F �

3 � E � � � E F �

Abb. 1.3.26: Vollständiges Blockschaltbild des Tauchspulmotors

Auch spätere Modellerweiterungen sind mit anschaulichen Blockschaltbildern schnell und effizient umsetzbar. Mit einiger Übung in der Modellbildung wird man Blockschaltbilder direkt vom physikalischen Modell herleiten können. Besonders sei in dieser Einführung auf das Teilmodell des Starrkörpers, hier die Punktmassen m1,2 mit je einem Freiheitsgrad, hingewiesen: Für jeden Freiheitsgrad kann das doppelintegrierende Verhalten der Trägheit durch einen Summationspunkt (Kräfte- bzw. Momentengleichgewicht), ein Proportionalglied (Trägheit) und zwei Integratoren nachgebildet werden. Damit wird es möglich, ein Modell so zu erstellen, wie wenn man die realen Komponenten zusammensetzen (montieren, verkabeln) würde. In [Fritzson 2004] wird dies auch als „objekt-orientierte Modellbildung“ bezeichnet.

129

Page 87: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.3.2.2 Identifikation Alternativ zur Modellbildung auf analytischem Wege, d.h. durch Anwendung der physikalischen Basisbeziehungen, kann ein mathematisches Modell auch durch Identifikation aus gemessenen Ein- und Ausgangszeitverläufen oder Frequenz-gängen gewonnen werden. Dazu ist jedoch eine reale Anlage erforderlich, an der geeignete Messungen durchgeführt werden können. Bei sehr komplexen Systemen kann es auch unmöglich oder nicht effizient sein, auf analytischem Wege ein Modell herzuleiten. Verschiedentlich sind die einzelnen physikalischen Systemparameter schlecht ermittelbar oder betriebsartabhängig. Hier hat sich die Identifikation als sehr nützlich erwiesen, weshalb in diesem Abschnitt die für Werkzeugmaschinen und Roboter in Frage kommenden Identifikationsmethoden erläutert werden. Typischerweise werden in der industriellen Praxis folgende Verfahren zur Erfassung des Systemverhaltens angewandt:

• Identifikation anhand der Sprungantwort • Frequenzgangerfassung • Systemindentifikation mittels Parameterschätzverfahren

Die Sprungfunktion lässt sich durch einen einfachen Schaltvorgang bzw. einen einfachen Stellgrößenverlauf erzeugen. Die Auswertung wird mit der gemessenen Antwortfunktion vorgenommen, die graphisch dargestellt und ausgewertet werden kann. Die meisten numerischen Steuerungen sowie die Inbetriebnahmehilfen für Antriebe unterstützen diese graphischen Darstellungen intern erfasster Systemgrößen (z.B. Motorposition oder –geschwindigkeit). In [Lutz u. Wendt 2004] ist für verschiedene einfache Strecken dargestellt, wie die Koeffizienten der Übertragungsfunktion schnell und anschaulich aus der Sprungantwort ermittelt werden können. Allerdings regt eine sprungförmige Eingangsgröße bei elastischen mechanischen Kopp-lungen vorzüglich eine – niederfrequente, schlecht gedämpfte – Eigenschwingungsform an. Die Auswertung der Sprungantwort liefert bei komplexeren Systemen daher nur noch Näherungen zu den dominierenden Einflüssen. Höhere Eigenschwingungsformen lassen sich daraus deutlich schwerer identifizieren. Oft reichen auch die Begrenzungen der Ein- und Ausgangsgrößen gar nicht aus, um das charakteristische Systemverhalten anhand einer Sprungantwort zu zeigen. Beispielhaft verdeutlicht wird dies in Abschnitt 3.1, wo der lagegeregelte Tauchspulmotor aus Abb. 1.3.1 u.a. anhand von Sprungantworten untersucht und durch den Vergleich mit gemessenen Sprungantworten validiert wird. Um ein System im Frequenzbereich zu identifizieren, muss zunächst ein Frequenzgang – entweder als komplexe Übertragungsfunktion G(jω) oder getrennt in Betrags- und Phasenfrequenzgang („Bode-Plot“) verfügbar sein. Daher werden zunächst die systemtheoretischen Grundlagen zur messtechnischen Ermittlung des Frequenzgangs dargestellt: Eine zeitkontinuierliche periodische Größe f(t) kann mit der Fouriertransformation als komplexes Spektrum f(ω) dargestellt werden [Herter u. Lörcher 2000]. Da messtechisch erfasste Systemgrößen als zeitdiskrete Folgen von N Werten vorliegen, muss die diskrete Fouriertransformation (DFT)

∑−

=

−⋅=1N

0k

kTjekTff ωω )()( (1.3.67)

130

Page 88: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

zur Ermittlung des Signalspektrums eingesetzt werden. Die DFT ergibt sich aus der z-Transformation in Gl. (1.55) für z=ejωT. Die Auflösung des Signalspektrums nimmt mit der Anzahl der erfassten Messwerte bzw. der Messzeit TM zu:

( ) T1N2

T2

M ⋅−==Δ

ππω (1.3.68)

Das Spektrum eines zeitdiskreten Signals ist damit wiederum ein diskretes Spektrum mit den Kreisfrequenzen

( ) T1N2mm⋅−

⋅=Δ⋅=

πωω (1.3.69)

mit m = 0, 1, ..N-1 Setzt man diese diskreten Frequenzen in die DFT ein, so ergibt sich ein leistungsfähiger Algorithmus, der als „Fast Fourier Transformation“ (FFT) bezeichnet wird:

( )( )⎟

⎠⎞

⎜⎝⎛ −⋅−

=

⋅==Δ⋅ ∑1k

Nm2jN

1kekTfmfmf

π

ω )()( (1.3.70)

Ein diskretes Spektrum f(m) kann mit der inversen FFT (IFFT) in ein zeitdiskretes Signal zurücktransformiert werden:

( )⎟⎠⎞

⎜⎝⎛ −⋅

=

⋅⋅= ∑)(

)(1m

Nk2jN

1memf

N1kTf

π

(1.3.71)

mit k = 0, 1, ..N-1 Abb. 1.3.27 zeigt den Aufbau einer Frequenzgangerfassung in einem Frequenzanalysator, digitalen Speicheroszilloskop oder modernen Umrichter. Die zeitdiskret erfassten Ein- und Ausgangswerte werden mittels FFT in ein diskretes Spektrum transformiert. Die diskrete Übertragungsfunktion – der Frequenzgang – wird durch komplexe Division von Ausgangs- und Eingangsspektrum ermittelt:

)()()()()()( mjemG

mmmGmG ϕω ⋅⋅==Δ⋅=

ux (1.3.72)

Die Darstellung erfolgt meist getrennt nach Betrag |G(m)| und Phase ϕ(m) (siehe Übung Ic in Abschnitt 2.1.1.6).

& � � � � �

� � � � � � �= 3 � � � � � �� � � � � � � - � >

� = � >

� = � >

� = � >

� = � >

0 0 �

? = � > �� = � >

� = � >

0 0 �

Abb. 1.3.27 Prinzipdarstellung zur Frequenzgangerfassung

Wichtig für die Frequenzgangmessung ist eine Anregung aller interessierenden Eigenschwingungen. Dazu werden meist Eingangssignale mit veränderlicher Frequenz (sogenannte Cirp-Signale) oder digital erzeugtes Rauschen (Noise)

131

Page 89: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

eingesetzt. Um den Einfluss von Nichtlinearitäten (v.a. trockene Gleitreibung, Meßsystemquantisierung) klein zu halten, werden diese Signale oft mit Gleichanteilen oder niederfrequenten Anteilen kombiniert. Weiterhin muss die Messzeit TM größer sein als die Zeitspanne, in der das System angeregt wird. Damit werden auch die Ausklingvorgänge mit erfasst. Theoretisch müssten so alle angeregten Frequenzen bis zur halben Abtastfrequenz erfassbar sein; dies ist in der Praxis allerdings nur durch eine zuvor auf die dominierenden Eigenfrequenzen und Nichtlinearitäten abgestimmte Anregung in Verbindung mit einer hohen Abtastfrequenz möglich. Daher sollte jede Frequenzgangmessung bei verschiedenen Anregungspegeln und für verschiedene Signalarten mehrfach durchgeführt werden, um Messfehler zu vermindern. Mit Hilfe von Parameterschätzverfahren kann direkt ein mathematisches Modell gemäß Gl. (1.3.73) aus den gemessenen ein- und ausgangsseitigen Zeitverläufen ermittelt werden.

nana

22

11

nbnb

22

110

zazaza1zbzbzbb

zuzxzG −−−

−−−

⋅++⋅+⋅+⋅++⋅+⋅+

==......

)()()( (1.3.73)

Dazu wird aus den gemessenen Ein- und Ausgangsdaten ein Gleichungssystem mit N Gleichungen zur Lösung der (na+nb+1) gesuchten Koeffizienten in Gl. (1.3.73) aufgestellt und geeignet gelöst. Eine Übersicht zu Identifikationsalgorithmen ist in [Isermann 2003], und eine sehr tiefgehende Darlegung der theoretischen Grundlagen ist in [Ljung 1989] zu finden. Eine praxisnahe und gut verständliche Einführung in die meist eingesetzten ARMAX- bzw. ARX-Identifikationsalgorithmen mit der Methode der kleinsten Quadrate geben [Lutz u. Wendt 2004, Czichos 2004]. Diese Identifikationsalgorithmen sind mit einigem Aufwand bereits in einem Tabellenkalkulationsprogramm bzw. einer Programmiersprache implementierbar oder als Funktion (z.B. aus der System-Identification-Toolbox® in MATLAB) in modernen Simulationswerkzeugen verfügbar. Vorzugeben bleibt jedoch die Ordnung des Nenners (na) und des Zählers (nb), deren sinnvolle Wahl über die Qualität des identifizierten mathematischen Modells entscheidet. Wird die zu identifizierende Ordnung zu klein angesetzt, so ergibt sich eine entsprechend schlechte Näherung. Eine zu hoch angesetzte Ordnung erhöht wesentlich den Rechenaufwand für die Identifikation und kann in Verbindung mit einer begrenzten Rechengenauigkeit zu einer Verschlechterung des identifizierten Modells führen. Liegt ein gemessener oder simulierter Frequenzgang eines zu identifizierenden Systems vor, so kann die Identifikation direkt mit diesem Frequenzgang erfolgen. Für einfache Systeme können die Parameter bekannter Übertragungsfunktionen (Tiefpass, Bandpass, Masse-Feder-System, Mehrmassensysteme) intuitiv angepasst werden, bis die Frequenzgänge mit ausreichender Näherung übereinstimmen. Oft genügt schon die Kenntnis von Eigenfrequenz (Resonanz/Antiresonanz) und Dämpfung dominanter Schwingungsformen, um Reglerparameter abschätzen zu können (siehe hierzu Abschnitt 2.1). Algorithmen zur systematisierten Identifikation im Frequenzbereich werden z.B. in [Unbehauen 1987] dargestellt, jedoch ist über deren praktische Umsetzung wenig bekannt [Eutebach 2000]. Da die zuvor dargestellte Identifikation anhand gemessener Ein- und Ausgangs-größen heute weitgehend mit erprobten Algorithmen (Toolboxes) erfolgen kann, bietet sich das in Abb. 3.1.28 verdeutlichte Verfahren zur Systemidentifikation aus Frequenzgängen an:

132

Page 90: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Eine passende Eingangsfunktion u(t) wird mittels FFT als Spektrum u(f) dargestellt und mit der gemessenen/simulierten Übertragungsfunktion in das Ausgangsspektrum x(f) umgewandelt. Mit geeigneten Softwarewerkzeugen ist dies leicht umsetzbar, indem frequenzweise das Betragsspektrum des Eingangs mit dem Betragsfrequenzgang multipliziert und die Phase des Frequenzganges auf die Phase des Eingangsspektrums aufaddiert wird. Mittels IFFT wird das so generierte Ausgangspektrum in den Zeitbereich rücktransformiert. Die so gewonnenen Ein- und Ausgangssignale werden dann mit den zuvor beschriebenen Identifikations-algorithmen auf der Basis von Parameterschätzverfahren weiterverarbeitet.

� � � � � � � � � 8� � � � � � � � / � � � � � � � � �7 � 9 � � ) � � � �

� � � � � � �= 3 � � � � � �� � � � � � � - � >

� = � > � = � > � = � >� = � >0 0 �

� * ,

& 0 0 �

? = > Abb. 1.3.28 Systemidentifikation mittels Parameterschätzverfahren anhand des Frequenzgangs

Abschließend sei noch betont, dass zur Identifikation zwar prinzipiell keine inneren Systemzusammenhänge bekannt sein müssen, jedoch die zu identifizierende Systemordnung wesentlich sinnvoller gewählt werden kann, wenn eine Vorstellung über die wesentlichen Wirkzusammenhänge (d.h. ein physikalisches Modell) existiert. Auch ist es dann möglich, von den identifizierten Modellparametern ai, bi auf die realen Systemparameter rückzuschließen. Damit kann verhindert werden, dass zwar im Sinne des Gütekriteriums ein mathematisch optimales Modell zu einer Messung identifiziert wurde, dieses aber unsinnige Systemparameter enthält und dann in anderen Betriebsbereichen falsche Ergebnisse liefert. Auch weitergehende Folgerungen, beispielsweise die geeignete Reglerauslegung, sind nur dann sinnvoll umsetzbar, wenn die wesentlichen Zusammenhänge des identifizierten Systems zuvor bekannt sind.

133

Page 91: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.3.2.3 Validierung Bevor das Modell als Entwurfs- und Optimierungsbasis Verwendung finden kann, muss es auf Richtigkeit und ausreichende Genauigkeit für den zu betrachtenden Fall überprüft werden. Dieser Abgleich mit der Realität - Validierung genant - ist sehr wichtig, um das Modell und die damit erarbeiteten Simulationsergebnisse abzusichern und Vertrauen in das Modell zu gewinnen. Ein nicht validiertes Modell ist immer mit Vorsicht zu genießen und hat nur begrenzten Aussagewert. Dabei kann die Validierung sehr aufwändig werden. Einerseits ist eine dem modellierten System sehr ähnliche Anlage erforderlich, an der die zu validierenden Modellgrößen gemessen werden können. Sind nur einzelne Komponenten vorhanden, so muss gegebenenfalls eine Teilvalidierung ausreichen. Andererseits erfordert die Anpassung des Modells an die im Rahmen der Validierung ermittelten Messergebnisse Nacharbeiten am Modell, so dass einzelne oder alle Phasen des in Tabelle 1.3.3 dargestellten Phasenplanes wiederholt werden müssen. Der Aufwand für die Nacharbeit hängt von der erforderlichen Simulationsgenauigkeit ab. Definiert man die Simulationsgenauigkeit als maximale Abweichung zwischen gemessenen und simulierten Systemgrößen, so kann man für die praktische Anwendung 3 Genauigkeitsklassen unterscheiden:

• Sehr gute Übereinstimmung (Abweichung < 5 %, siehe Abb. 1.3.29 a): Dies kann für kleine Modelle, wie dem in diesem Abschnitt vielfach dargestellten Tauchspulmotor-Beispiel, mit verhältnismäßig geringem Aufwand erreicht werden. Bei komplexeren Modellen nimmt der Aufwand stark zu. Durch stochastische Einflüsse und abzuschätzende Parameter kann es auch unmöglich sein, so genau zu simulieren. Soll simulativ das Einhalten bestimmter Grenzwerte und Normen ermittelt werden, ist eine derart hohe Simulationsgenauigkeit erforderlich.

• Gute Übereinstimmung (Abweichung < 30 %, siehe Abb. 1.3.29 b): Sollen wenige relevante Einflussfaktoren untersucht werden, kann mit vereinfachten Modellen gearbeitet werden. Dadurch bleiben Effekte unberücksichtigt, die zu Abweichungen zwischen Simulation und Messung führen. Für die Mehrzahl der Praxisfälle ist dies jedoch ausreichend, wenn man auf die Abschätzung der Parameter und Einflussfaktoren nach dem „worst case“-Verfahren achtet.

• Qualitative Übereinstimmung (Abweichung > 30 %, siehe Abb. 1.3.29 c): Dies ist mit meist geringem Aufwand erreichbar und genügt, wenn nur qualitative Aussagen zur Wirkung von einzelnen Systemparametern gefordert sind. Ein qualitativ mit der Realität übereinstimmendes Modell ist besser als gar kein Modell, da der Entwickler Hinweise bekommen kann, in welche Richtung er das System verändert, wenn er einen Parameter variiert!

� � � � � � � �

� � � � � � � �

� � � � � � � �

� � � � � � � �

� � � � � � � �

� � � � � � � �

� > >� >

5 � � � � � �3 � � � � � � � - �

Abb. 1.3.29 Genauigkeitsklassen zur Beurteilung der Validierung

134

Page 92: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

In wissenschaftlichen Publikationen ist die Validierung zu Recht ein wichtiger und immer abzuhandelnder Punkt. Meist wird die Qualität des Modells durch Gegenüberstellung von gemessenen und simulierten Zeitverläufen relevanter Systemgrößen verdeutlicht. Dabei ist es in den letzten Jahren üblich geworden, nur noch sehr exakte Übereinstimmungen zwischen Messung und Simulation zu zeigen. Ein möglicher Grund könnte darin liegen, dass die Beiträge von Dritten (Vorgesetzte, Reviewer) überflogen und teils ohne tiefere Sachkenntnis beurteilt werden, wobei sich eine „glatte“ Verpackung, zu der auch die möglichst gute Übereinstimmung der Darstellungen von Messung und Simulation zählt, von Vorteil ist. Dies führt zu unschönen Praktiken, wie dem Nacharbeiten von Messresultaten oder dem Weglassen der Darstellung weniger gut übereinstimmender Systemgrößen. Unter Berücksichtigung der für die konkrete Problemstellung wirklich erforderlichen Simulationsgenauigkeit erscheinen diese Auswüchse unsinnig.

135

Page 93: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

1.3.2.4 Analogiebetrachtungen Modellbildung und Entwurf von mechatronischen Systemen erfordern eigentlich eine ganzheitliche Betrachtungsweise des mechanischen, elektrischen und thermischen Verhaltens. Eine mögliche Verkettung der verschiedenen physikalischen Einflüsse kann wie folgt aussehen: Die an den Motorklemmen anliegende Spannung erzeugt einen Motorstrom; die durch diesen Strom hervorgerufenen ohmschen Verluste erwärmen benachbarte Strukturbauteile; die thermisch bedingte Ausdehnung der Struktur führt wiederum zu Spannungen und Störkräften, ... etc. Die Analogien zwischen elektrischen, hydraulischen, thermischen und mechanischen Systemen zeigen, dass alle Bereiche mit gleichen analytischen und numerischen Hilfsmitteln sowie vergleichbarer methodischer Vorgehensweise behandelt werden können. Damit ist eine gekoppelte Simulation auf dem Komplexitätsniveau 1 oder 2 gemäß Abschnitt 1.3.2 leicht umzusetzen. Obgleich in diesem Buch vor allem die elektrischen und mechanischen Eigenschaften von Werkzeugmaschinen und Robotern betrachtet werden, können thermische und – ganz vereinzelt – hydraulische Fragestellungen ebenfalls eine Rolle spielen. Daher sind die Analogien zwischen elektrischen, thermischen, hydraulischen und mechanischen Systemen für das Verständnis der Zusammenhänge sehr hilfreich. In den Tabellen 1.3.7 und 1.3.8 ist die Modellbildung einfacher Systeme mit jeweils einem Energieträger unter Berücksichtigung des Phasenplans (Tabelle 1.3.3) dargestellt. In Tabelle 1.3.9 ist die Modellbildung schwingfähiger elektrischer und mechanischer Systeme mit zwei unabhängigen Energieträgern beschrieben. Die Aufbereitung des mathematischen Modells mit Hilfe der Beobachtungsnormalform macht die Analogien sichtbar:

• Die in der Feder gespeicherte potentielle mechanische Energie entspricht der im Kondensator gespeicherten ladungsgebundenen elektrischen Energie, die ebenfalls als potentielle Energie interpretiert werden kann.

• Die mechanische Dämpfung entzieht dem System Energie und wandelt sie in Wärme um; in gleicher Weise erzeugt der elektrische Widerstand Stromwärmeverluste.

• Die in der bewegten Masse gespeicherte kinetische Energie verhält sich analog zur magnetischen Energie in der Induktivität mit dem Strom als Energieträger.

136

Page 94: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Kupfer-Luftspule:

� = � >

& = � >

D

Wärmeleitung:

: = � >

� �

� �

1 Vorgaben sammeln: ρ – spezifischer Widerstand μo – Permeabilitätskonstante D – Spulendurchmesser A – Drahtquerschnittsfläche a – Spulenlänge w – Windungszahl I(0) – Anfangsbedingung U(t), I(t) – Ein- und Ausgangsgröße

1 Vorgaben sammeln: κ – spezifischer Wärmeleitwert A – Außenfläche c – spezifische Wärmekapazität m – Masse ϑ(0) – Anfangsbedingung P(t) – Eingangsleistung, -größe ϑ (t) – Ausgangsgröße

2 Wirkzusammenhänge ergründen: Schaltbild (phys. Modell):

� = � >

� $

� )

& = � >

$

)

Widerstand (zylindrischer Leiter)

IU

ADwR R=⋅⋅

⋅=πρ

Induktivität (Luftspule)

dtdIU

a4DwL L

22

o /=

⋅⋅⋅

⋅=πμ

2. Kirchhoff’sche Regel (Maschenregel) U(t) = UL(t)+UR(t)

2 Wirkzusammenhänge ergründen: Schaltbild (phys. Modell):

$

L

: = � >

: L = � >

� = � >� �� �

: $ = � >

Thermischer Widerstand

RPA1R ϑ

κ=

⋅=

Wärmekapazität

ϑ∫=⋅=

dttPmcC C )(

1. Kirchhoff’sche Regel (Knotenregel) P(t) = PR(t)+PC(t)

3 Quantitatives Modell

dttdILtIRtU )()()( ⋅+⋅=

3 Quantitatives Modell

dttdC

RttP )()()( ϑϑ

⋅+=

4 Gleichungen aufbereiten

⇒ PT1-Block & = � >� = � >

� 2 $ � � �

mit Tel=L/R

4 Gleichungen aufbereiten

⇒ PT1-Block

� = � >: = � >

$ � � �

mit Tth=RC

Tabelle 1.3.7: Modelle elektrischer und thermischer Systeme erster Ordnung

137

Page 95: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Hydraulikzylinder:

!

M = � >

� = � >

Feder-Dämpfer:

� = � >

#

0 = � >

1 Vorgaben sammeln: σ – hydraulischer Leitwert B – Kompressibilitätsmodul V – Volumen p(0) – Anfangsbedingung Q(t) – Volumenstrom (Eingangsgr.) p(t) – Druck (Ausgangsgröße)

1 Vorgaben sammeln: k – Federkonstante d – Dämpfungskonstante x(0) – Anfangsbedingung F(t) – Kraft (Eingangsgröße) x(t) – Position (Ausgangsgröße)

2 Wirkzusammenhänge ergründen: Im Kleinsignalbereich (laminare Strömung) gilt: Qstat =σ . p Volumenänderung der Hydraulik-flüssigkeit unter Druck:

BVpV ⋅=Δ

Der Volumenstrom Q setzt sich aus einem statischen Strömungsanteil Qstat und einem dynamischen kom-pressionsbedingten Anteil zusammen:

dtVdpQ Δ

+⋅= σ

2 Wirkzusammenhänge ergründen: Federkraft: Fk = k . x Dämpfungskraft (viskose Dämpfung): Fd = d . dx/dt Aus dem dynamischen Kräfte-gleichgewicht der (hier als masselos angenommenen) Plattform ergibt sich: F = Fk + Fd

3 Quantitatives Modell

dttdp

BVtptQ )()()( ⋅+⋅= σ

3 Quantitatives Modell

dttdxdtxktF )()()( ⋅+⋅=

4 Gleichungen aufbereiten

⇒ PT1-Block

� = � >M = � >

� 2 � � � <

mit Thy=V/(σB)

4 Gleichungen aufbereiten

⇒ PT1-Block � = � >0 = � >

� 2 � � �

mit Tm=d/k

Tabelle 1.3.8: Modelle hydraulischer und mechanischer Systeme erster Ordnung

138

Page 96: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Elektrischer Schwingkreis:

� = � >

� $

� )

& = � >

$

)� L

L

Mechanischer Schwinger:

� = � >

#

0 = � >�

1 Vorgaben sammeln: R – Widerstand C – Kapazität L – Induktivität UC(0), I(0) – Anfangsbedingungen U(t) – Eingangsspannung, -größe UC(t) – Ausgangsgröße

1 Vorgaben sammeln: k – Federkonstante d – Dämpfungskonstante m – Masse x(0), v(0) – Anfangsbedingungen F(t) – Eingangskraft, -größe x(t) – Ausgangsgröße

2 Wirkzusammenhänge ergründen: Bauteilspannungen: UR=R.I UL= L.dI/dt ∫⋅+= dtI

C1UU 0CC

2. Kirchhoff’sche Regel: U = UC + UL +UR

2 Wirkzusammenhänge ergründen: Federkraft: Fk = k . x Dämpfungskraft: Fd = d . dx/dt Dynamischen Kräftegleichgewicht der Plattform: m . d2x/dt2 = F - Fk - Fd

3 Quantitatives Modell

CLU

dtUd

dtdU

LR

CLU

2C

2CC

⋅=+⋅+

3 Quantitatives Modell

dttdxdtxktF

dttxdm 2

2 )()()()(⋅−⋅−=⋅

4 Gleichungen aufbereiten

$ 2 )

� 2 ) L

� = � > � L = � >

� 2 ) L

4 Gleichungen aufbereiten

# 2 �

� 2 �

� = � >0 = � >

Tabelle 1.3.9: Mechanisches und elektrisches System mit zwei Energieträgern

139

Page 97: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Leitet man alternativ dazu die Blockschaltbilder der Systeme 2. Ordnung direkt aus den Basisbeziehungen her, oder formt man die Beobachtungsnormalform entsprechend um, so ergeben sich die anschaulicheren Darstellungen in Abb. 1.3.30:

6 � � � � � � � � � & � � ( � � � � � � � �

� 2 �

0 � = � >

� = � >0 = � >

0 # = � >

' = � >

#

" � � � � � � � � � � & � � ( � � � � �

� 2 L

� L = � >& = � >

� 2 $ � � �

Abb. 1.3.30 Anschauliche Darstellung der Blockschaltbilder zu den Systemen 2. Ordnung aus Tabelle 1.3.9

In Abb. 1.3.30 kann jedem Bauteil ein eigener Block zugeordnet werden. Zudem sind die energietragenden Größen (Strom und Spannung bzw. Geschwindigkeit und Position) explizit an den Ausgängen der entprechenden Integratoren ersichtlich. Damit können später bei der Simulation die Anfangswerte leicht vorgegeben werden. Auch eine Erweiterung durch Zusammensetzen verschiedener Teilsysteme ist auf der Basis dieses Blockschaltbildes recht anschaulich machbar.

140

Page 98: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

141

1.3.2.5 Übungen Übung I: Anlauf am Tauchspulmotor Der Tauchspulmotor aus Abb. 1.3.1 soll zunächst ohne die Lastmasse betrachtet werden. Wenn man an die Klemmen des stillstehenden Motors eine sprungförmige Eingangsspannung U(t)=U0

.1(t) anlegt, dann läuft der Motor an und beschleunigt, bis er eine gewisse Endgeschwindigkeit vmax erreicht.

a) Schätzen Sie die Endgeschwindigkeit vmax für U0=12V mit und ohne Schlittenreibung ab.

b) Geben Sie (durch Anwendung der Laplace-Transformation bei zunächst vernachlässigter Wicklungsinduktivität L≈0) das zeitliche Anlaufverhalten v(t) des Motors sowie den zeitlichen Verlauf des Motorstroms I(t) analytisch an und skizzieren Sie beide Verläufe.

c) Simulieren Sie das Anlaufverhalten mit MATLAB/Simulink (mit Reibung und Induktivität) und vergleichen Sie die simulierten Zeitverläufe v(t), I(t) mit den analytisch ermittelten Verläufen aus Aufgabenteil b).

Übung II: Kurzschlußbremsung Der Tauchspulmotor aus Abb. 1.3.1 wird (wieder ohne Lastmasse) mit senkrecht nach oben weisender Schlittenführung aufgestellt und bis zum oberen Anschlag angehoben (x=0). Lässt man den Motor jetzt los, so fällt er durch die Gravitation beschleunigt (und laut hörbar) in den unteren Anschlag (x=6cm). Schliesst man die Motorklemmen kurz, so fällt der Motor beim gleichen Versuch wesentlich sanfter in den unteren Anschlag.

a) Schätzen Sie die Endgeschwindigkeit vmax für die Gravitationskonstante g=10m/s2 mit und ohne Schlittenreibung ab.

b) Geben Sie (durch Anwendung der Laplace-Transformation bei zunächst vernachlässigter Wicklungsinduktivität L≈0) das zeitliche Verhalten v(t) des Motors sowie den zeitlichen Verlauf des Motorstroms I(t) beim kurzschlussgebremsten Fall analytisch an und skizzieren Sie beide Verläufe.

c) Simulieren Sie den Fallvorgang mit MATLAB/Simulink (mit Reibung und Induktivität) und vergleichen Sie die simulierten Zeitverläufe v(t), I(t) mit den analytisch ermittelten Verläufen aus Aufgabenteil b).

d) Wie kann man das Einfallen des Schlittens in den unteren Anschlag simulieren?

Übung III: Frequenzgangerfasung „Messen“ Sie den Streckenfrequenzgang am Tauchspulmotor mit/ohne angekoppelte Lastmasse durch Simulation einer Chirp- oder Rauschanregung mit Erfassung der Schlittenposition. Erweitern Sie dazu das Simulink-Modell des Tauchspulmotors entsprechend Abb. 1.3.26 und stellen sie die „gemessenen“ Frequenzgänge in einem Bode-Diagramm dar. Vergleichen Sie die Ergebnisse mit den analytisch gegebenen Frequenzgängen z.B. in Gl.(1.3.44).

Page 99: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2 Praktische Anwendungen

Die praktische Automatisierung stellt an den Maschinenbau-Ingenieur heute verschiedene Anforderungen:

• Anlagenentwurf: Entwurf und Optimierung mechanischer Bauelemente sind zurecht Schwerpunkte des Maschinenbau-Studiums. Entwurf und Optimierung kompletter Anlagen erfordern ein vergleichbar seriöses Vorgehen, jedoch mit einer breiteren mechatronischen Sichtweise. Viele Anlagen kann man heute nicht mehr zunächst als Prototyp aufbauen und dann heuristisch optimieren. Statt dessen muss durch ein ausreichend genaues Modell hergeleitet werden, mit dem alle Anlagenteile und deren Zusammenwirken simuliert und efffizient optimiert werden können. Die Kompetenz zur Modellbildung ist ebenso wichtig, um abzuklären, welche Anlagenteile unbeding prototypenhaft erprobt werden müssen, da die Simulation alleine hier keine ausreichende Sicherheit bietet.

• Inbetriebnahme: Obgleich das „Zusammenstecken“ verschiedener zugekaufter Komponenten zu einer zuverlässig funktionierenden und wirtschaftlichen Anlage aus wissenschaftlicher Sicht eher geringschätzig betrachtet wird, stellt dies doch die zentrale Kompetenz des Automatisierungsingenieurs dar. Die Inbetriebnahme geschieht in der Regel unter erheblichem Zeitdruck, in einer verlärmten und verschmutzten Umgebung bei regelmäßiger Störung durch ungeduldige Kunden. Auch Wartung und Fehlersuche an bestehenden Anlagen finden unter solchen Bedingungen statt. Ein tiefes mechatronisches Verständnis und die Verfügbarkeit von Simulationsmodellen hilft hier wesentlich weiter. Einerseits können Startwerte für die Inbetriebnahme schon vorab ermittelt werden. Andererseits können auftretende Schwierigkeiten anhand eines Abgleiches mit dem Modell wesentlich genauer lokalisiert und quantifiziert werden. Modellbildung und Simulation sind also neben guten Nerven, Erfahrung und Projektmanagement gute Voraussetzungen für die Inbetriebnahme von Anlagen.

• Dokumentation: Anlagen werden heute unter erheblichem Zeitdruck geplant, gefertigt und ausgeliefert. Nach der Abnahme und der Bezahlung durch den Kunden erlischt bei den Herstellern meist jedes weitere Interesse und man „wirft“ die knappen Ressourcen in das nächste Projekt. Dabei stellt die gewissenhafte Dokumentation von automatisierungstechnischen Anlagen nicht nur eine Voraussetzung für effiziente Weiterentwicklungen und eine gewisse „mechatronische Kultur“ dar, auch ist die Dokumentation aus Gründen der Sicherheit und Haftung immer häufiger gesetzlich eingefordert. Hier spielen Maschinenbau-Ingenieure aufgrund ihrer ausbildungsbedingt hervorragenden Dokumentationspraxis eine wichtige Rolle und sollten auch Anlagenteile dokumentieren, die informationstechnischer oder elektrotechnischer Natur sind. So ist gewährleistet, dass die Dokumente für „normale“ Menschen lesbar und verständlich bleiben. Auch für die Schulung von Mitarbeitern oder Anwendern ist die Dokumentation und die effiziente Aufbereitung der wesentlichen Zusammenhänge einer Anlage unerlässlich.

142

Page 100: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Es können nicht alle Anwendungsgebiete der Automatisierungstechnik intensiv in einem Lehrbuch behandelt werden. In allen praktischen Anwendungen werden jedoch dieselben oder zumindest vergleichbare Komponenten eingesetzt: - Servoantriebe als Schlüsselelement zur Erzeugung schneller und genauer

Bewegungen, - zu Manipulatoren verkettete Servoachsen als Basis für Roboter und

Werkzeugmaschinen, - Zeitkontinuierliche Steuerungen zur Vorgabe von Bewegungsvorgängen und zur

Steuerung von Bearbeitungsprozessen, - Ereignisdiskrete Steuerungen zum zustandsabhängigen Start von

Bewegungsvorgängen und zur Verknüpfung von Sensoren und Aktoren, - Feldbuskommunikation zur Verkettung von Anlagenkomponenten, - Leittechnik zur Bedienung und Visualisierung von Anlagen. Daher ist es sinnvoll, die berufsqualifizierende Kompetenz des Universitätsingenieurs aus der detaillierten Behandlung dieser Basiskomponenten zu entwickeln und zu üben. Dabei sollten stets die analytischen Werkzeuge und methoden im Vordergrund stehen, da dies der entscheidende Qualifikationsvorteil des Universitätsingenieurs gegenüber den Berufspraktikern – vor allem in den ersten Jahren - ist. Dazu werden in diesem zweiten Kapitel die theoretischen Grundlagen aus dem ersten Kapitel am Stand der Technik konkretisiert und erweitert. Viele praxisnahe Beispiele und Übungen vertiefen den „handwerklichen“ Umgang mit den analytischen Methoden. Die Musterlösungen zu den Übungen sind im Anhang enthalten. Viele der hier dargestellten Komponenten und Anwendungen werden in der einschlägigen Lehrbuchliteratur zur Antriebstechnik, Automatisierungstechnik und in den teils umfangreichen Produktunterlagen der Hersteller tiefgehender behandelt – jedoch oft auf einem analytisch weniger anspruchsvollen Niveau (Facharbeiter, Einkäufer, Führungskräfte) und mit einer stark herstellerspezifischen Terminologie. Dort, wo die weiterführende Literatur und Herstellerunterlagen zum besseren Verständnis hilfreich oder zur Anwendung unerlässlich sind, werden entsprechende Hinweise gegeben.

143

Page 101: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.1 Servoantriebe und numerische Steuerungen Der Servoantrieb stellt die Schlüsselkomponente für die Leistungsfähigkeit einer numerisch gesteuerten Fertigungsanlage dar. Der Servoantrieb ist neben dem Führungsgrößengenerator zudem meist die einzige Komponente, an der an bestehenden Anlagen schnell Parameter verändert werden können, um auf Probleme im Betrieb der Maschine zu reagieren. Daher werden in diesem Abschnitt die wichtigsten Regler- und Streckenparameter, die das Verhalten des Servoantriebes beeinflussen, behandelt. Dazu werden Einstellregeln hergeleitet, die einerseits eine überschlägige Abschätzung des zu erwartenden Antriebsverhaltens (Laststeifigkeit, Regelgüte, Führungsübertragungsverhalten) zulassen, und andererseits als Startwerte für die Optimierung an vorhandenen Anlagen oder detaillierten Modellen dienen. Den prinzipiellen Aufbau eines positionsgeregelten Servoantriebes zeigt Abb. 2.1.1 Die für die Einstellung wesentlichen Regelparameter sind dabei:

• Lageregelverstärkung Kv,

• Geschwindigkeitsregelverstärkung Kp,

• Nachstellzeit Tn im Geschwindigkeitsregler, sowie

• Vorsteuerung,

• Führungsgrößenglättung und

• Filterzeitkonstanten.

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �

� ! ! � � � � � � �

� � � � � � � � � � � � �

! � � � � � � � � � � � � �

" � � � � � # � � � � �

$ % $ �

� �

& � � � � � � � � � � �

� � � � � � � �� � � � � � � � �

� � � � � � � � � � �� � � � $ � � � � � � � � � � �

� � ' � � � � �! � � � � � � �

� � � �

� � � � �

Abb. 2.1. Prinzipieller Aufbau einer positionsgeregelten Servoachse

Die erreichbaren Regelparameter sind begrenzt durch • Ersatzzeitkonstante T des Stromregelkreises • Eigenfrequenz ω0 und Trägheitsverteilung λ einer elastisch angekoppelten

Last • Eigenfrequenz ω0m und Dämpfung D einer elastischen Encoderanordnung

144

Page 102: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

• Auflösung Δϕ der am Encoder gemessenen Position Die Einstellung des Stromregelkreises kann weitgehend unabhängig vom mechanischen Systemteil erfolgen. Sind die Wicklungsdaten des Motors bekannt, so kann mit den Empfehlungen des Umrichterherstellers zur Stromreglereinstellung ein befriedigendes Anregelverhalten erreicht werden. Im nachfolgenden Abschnitt 2.1.1 wird die Stromreglereinstellung erläutert. Für die weiteren Betrachtungen können die Zeitkonstante des Stromregelkreises, Totzeiten durch die Pulsweitenmodulation oder Rechenzeitverzögerungen des digitalen Stromreglers sowie die Zeitkonstante der vielfach eingesetzten Stromsollwert-Glättungsfilter zu einer Ersatzzeitkonstante T zusammengefasst werden. Mit dieser Ersatzzeitkonstante wird die zeitlich verzögerte Umsetzung des Sollmomentes Msoll in ein physikalisch wirksames Motormoment M ausreichend genau beschrieben. Die heute an Servoantrieben und Steuerungen erreichten Abtastzeiten sind so klein, dass deren Wirkung auf die Regelkreise weitgehend vernachlässigt werden kann. Nachfolgend wird daher mit quasikontinuierlichen Betrachtungen der Regelkreise gearbeitet. Die wesentlichen Einstellparameter eines Servoantriebes sind damit die Proportionalanteile in Lage- und Geschwindigkeitsregler. Mit ihnen liegt das Führungs- und Störübertragungsverhalten der Achse weitgehend fest. Können diese Parameter anhand der mechanischen Eigenschaften einer Achse überschlägig bestimmt werden, so bekommt der Entwickler einen schnellen Überblick über die erreichbare Leistungsfähigkeit. Weiterhin sind Schätzwerte der oben genannten Reglerparameter wertvoll, um die Inbetriebnahmezeit zu verkürzen. Die Meßsystemauflösung Δϕ kann aufgrund der diskreten Differenzierung des Positionssignals zur Geschwindigkeitsermittlung in Verbindung mit sehr hohen Regelverstärkungen zu Quantisierungsbrummen führen (siehe hierzu Abschnitt 2.1.3.5). 2.1.1 Servomotoren Der prinzipielle Aufbau eines Servoantriebs ist in Abb. 2.1.1 dargestellt. Hier ist zunächst ein elektrischer Servomotor eingezeichnet, der im nachfolgenden Abschnitt detailliert modelliert wird. Der Motor kann auch hydraulisch betrieben sein, die Modellierung hydraulischer Antriebe wird in Abschnitt 2.1.1.3 behandelt.

( � � � � �

� � � � � � � � � � � � � � � � �

" � � � � � � � $ � � � � � � � � � � �

� � � � � � � � ' � � � � �

) * � � � � � � � � � � +

� '

$ % $ �

,

,

� � � � �� � �

� � � � �

( +

� � � � � � � �

,

� � � � �

� +

��������������������

- � � � � � � � � � �

� � � � �

) * � � � � � � � � � � .

� � � � /

Abb. 2.1.2 Antriebskette und Regelungsstruktur des Servoantriebes

145

Page 103: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Moderne Servoantriebe sind vollständig mikroprozessorgesteuert und werden kaskadiert lagegeregelt. Der Kaskadenregler kann mit Hilfe von Inbetriebnahme-Softwarewerkzeugen auch von geringer qualifiziertem Personal eingestellt werden, ist robust und nutzt dennoch die Leistungsfähigkeit des Systems weitgehend – im Vergleich zu anderen untersuchten Regelungsansätzen – aus. Daher dürfte diese Regelungsstruktur auch längerfristig bei allen Antriebsherstellern dominieren. Meist ist heute der komplette Regler im Umrichter der Achse untergebracht (Groß et al. 2000, Rexroth 2004). Die Steuerung übergibt die Sollwerte über eine Busschnittstelle an den Umrichter. Vereinzelt werden Regelkreise auch in der Steuerung realisiert (Heidenhain 2004; Kuka 2004) und die Stellgrößen über analoge Schnittstellen oder einen Feldbus an den Umrichter übertragen. Für die Modellbildung der Servoachse ist dies nur dann von Bedeutung, wenn an den Eingängen der analogen Schnittstellen zusätzliche Filterzeitkonstanten zu berücksichtigen sind oder die Kommunikation über den Feldbus zu Totzeiten führt. Der Stromregelkreis wird meist mit der Pulsweitenmodulations- (PWM-) Frequenz von mehreren Kilohertz abgetastet. Die Abtastzeiten in Geschwindigkeits- und Lageregelkreis müssen – um Synchronisationsverluste und Aliasing-Effekte zu vermeiden – ganzzahlige Vielfache der Abtastzeit im Stromregler sein. Weiterhin haben alle gängigen Antriebsregler Momenten- bzw. Stromsollwertfilter, mit denen versucht wird, die Anregung der Maschinenstruktur durch die Stellgröße des Geschwindigkeitsreglers zu vermindern. In Abschnitt 2.1.3.5 wird die geeignete Wahl der Regelverstärkungen, Nachstellzeiten, Filterzeitkon-stanten und Abtastzeiten eingehend behandelt.

2.1.1.1 Elektrische Servoantriebe Der in Abschnitt 1.1 eingeführte Tauchspulmotor ist bereits ein einfacher Servo-Linearmotor für kurzhubige Bewegungen. Für längere Verfahrwege und rotierende Servomotoren muss eine Kommutierung (Stromwendung der kraftbildenden Ankerwicklungen entsprechend der Erregerfeldrichtung) vorgesehen werden. Mechanisch kommutierte Gleichstrommaschinen (sogenannte DC-Motoren) führen den Ankerstrom über Kohlebürsten und Schleifkontakte zu. Sie unterliegen daher einem erheblichen Verschleiss und müssen regelmäßig gewartet und ggf. getauscht werden. Zudem führt das Bürstenfeuer zu erheblichen elektromagnetischen Störungen. Seit Einführung der elektronischen Kommutierung (ca. 1980) werden DC-Motoren fast nur noch für kurzlebige Low-Cost-Produkte eingesetzt. In der Automatisierungstechnik werden heute meist permanentmagnetisch erregte Synchronmaschinen eingesetzt, da mit diesen Antrieben eine hohe Dynamik bei vergleichsweise geringer Erwärmung erreicht wird. Alternativ werden bei kostengünstigeren Achsantrieben und Hauptantrieben Asynchronmaschinen eingesetzt. In Verbindung mit der feldorientierten Regelung (Schröder 1995) erreichen Asynchronmaschinen unterhalb des Feldschwächbereichs für Servoantriebe ausreichende dynamische Eigenschaften. Sie verhalten sich im für Achsantriebe relevanten Bereich kleiner Geschwindigkeiten (siehe auch Abb. 2.1.5) analog wie die nachfolgend detailliert beschriebenen elektronisch kommutierten Synchronmaschinen (Abb. 2.1.3). Weitere selten eingesetzte Bauformen elektrischer Antriebe, wie z.B. Reluktanzmotoren, Elektromagnete, elektrodynamische Linearmotoren und Mehrkoordinatenantriebe sind in (Stölting u. Kallenbach 2001) beschrieben und bereits sehr anwendungsnah als physikalische Modelle aufbereitet. In Tabelle 2.1.1 sind die Daten eines Servoantriebes aufgelistet, die aus den Produktunterlagen des Motors, des Umrichters sowie der Steuerung entnommen werden können, oder bei der Inbetriebnahme eingestellt werden müssen.

146

Page 104: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Verschiedentlich ist die elektrische Zeitkonstante anstelle der Wicklungsinduktivität in den Produktdaten der Antriebshersteller zu finden. An einfachen Aktoren (z.B. Tauchspulmotor) sind Kraft- und Spannungskonstante gleich. Bei komplexeren elektrischen Maschinen ergeben sich abhängig von der Wicklungsgeometrie kleine Unterschiede zwischen Momentenkonstante und Spannungskonstante. Die Herstellerangaben sollten jedoch hinterfragt werden, wenn sich diese beiden Konstanten um mehr als 20% voneinander unterscheiden.

Motordaten Rotorrotationsträgheitsmoment J in kgm2

Ohm’scher Wicklungswiderstand* R in Ω Wicklungsinduktivität L in H Momentenkonstante des Motors KM in Nm/A Spannungskonstante des Motors KS in Vs/rad Reibungsmoment der Motorlagerung MR in Nm Meßsystemauflösung der Rotorpositionserfassung Δϕ in rad Leistungsteil Pulsweitenmodulations- (PWM-) Frequenz fPWM in Hz Zwischenkreisspannung UZ in V Maximalstrombegrenzung Imax in A Regler Lageregelverstärkung (auch Kv-Faktor genannt) Kv in s-1

Abtastzeit des Lageregelkreises Tx in s Vorsteuerfaktor Fv Proportionalverstärkung im Geschwindigkeitsregler Kp in Nms/rad

Nachstellzeit im Geschwindigkeitsregler Tn in s Abtastzeit des Geschwindigkeitsregelkreises Tv in s Zeitkonstante des Sollwertfilters Tf in s Proportionalverstärkung im Stromregler Kpi in Nms/rad

Nachstellzeit im Stromregler Tni in s Abtastzeit des Stromregelkreises Ti in s *gemessen zwischen zwei Motoranschlussklemmen

Tabelle 2.1.1 Modellparameter eines Servoantriebes Abb. 2.1.3 zeigt den prinzipiellen Aufbau der leistungselektronischen Ansteuerung einer elektronisch kommutierten Synchronmaschine. Verschiedentlich wird diese Anordnung als „EC-Motor“ (engl. für electronic commutation) bezeichnet. Ebenfalls in Abb. 2.1.3 dargestellt ist das daraus abgeleitete physikalische Modell. In diesem „modifizierten physikalischen Modell“ wurden die signalverarbeitenden sowie die nichtlinearen Systemteile bereits durch Blockschaltbilder nachgebildet. Das Versorgungsmodul richtet die Netzspannung gleich und versorgt ein oder mehrere Leistungsmodule mit der Zwischenkreisspannung UZ. Der Zwischenkreiskondensator CZ stabilisiert die Zwischenkreisspannung und dient zur Zwischenspeicherung generatorischer Bremsenergie. Mittels einer sechspulsigen Transistorbrücke kann die Drehfeldwicklung im Stator pulsweitenmoduliert so bestromt werden, dass ein magnetisches Drehfeld (Drehfeldvektor Φ) entsteht. Der mit Permanetmagneten beklebte Rotor versucht, sich nach diesem Drehfeld auszurichten. Das auf den Rotor wirkende Moment wird für eine Verdrehung des Drehfeldes gegenüber der magnetischen Rotorachse von β = 90° maximal und ist näherungsweise proportional zum Motorstrom I: M ≈ KM

. I . sin β (2.1.1)

147

Page 105: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

� � � � � � � � � � � � � � � � �

0

� � � � �

� 1

� 2 � 3� 4

� 5� 6

78 7

469�-

� � � � � � � � � � � � �

� � � � � � � � � � � �

� � � � � � � * � �

� � � � � �

/ � � � �

� � � � � � � � � �

! � � � � � 1

! � � � � � 4

! � � � � � 6

( � � � � � � � � � � � � � � � � � � � ! : �

; � � � � � � � � � � � � � � � �

� 1 # # 3

,

1 % ( �

� � � � �

� � � � � � � � � �

8 � � � �

;

/ � � � � � � � � � � � � � � � ' � � � � �

( � �

� � �

� � � � � � � � � � � � � ! � � � � � �

;

8

� /

8 �

/ �

<� � � � �

; � � � �

1 % ( � ( � � � � �

8� � � � �

� � � � 8 7

� � � � �� � � � � �

� � � � � � � �� � � � �

� � � � � � � �

� � �

� � � � �� � � � � � � � � � $ � �

� �

� � � � � � � !

Abb. 2.1.3 Prinzipschaltbild und physikalisches Modell der elektronisch kommu- tierten permanentmagnetisch erregten Synchronmaschine (EC-Motor)

In der Momentenkonstante KM sind die elektromagnetisch wirksamen Einflüsse (Motorgeometrie, Materialdaten) zusammengefasst. Soll ein positionsunabhängiges Moment mit minimalem Strom erzeugt werden, muss die Rotorposition erfasst werden, damit durch entsprechendes Ansteuern der Transistorbrücke über den Kommutierungsautomaten der Verdrehwinkel β immer bei 90° liegt. Gl. (2.1.1) macht deutlich, dass die Rotorlageerfassung nicht sehr genau sein muss, da ein Fehler von wenigen Grad keine nennenswerten Momenteinbußen ergibt. Daher kann die für die Kommutierung erforderliche Positionsinformation auch durch Hall-Sensoren oder die Rotorlageidentifikation (z.B. Messung der geringfügig

148

Page 106: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

positionsabhängigen Wicklungsinduktivität) gewonnen werden. Da für die Geschwindigkeitsermittlung ohnehin ein hochauflösender Geber erforderlich ist, arbeitet der Kommutierungsautomat heute überwiegend mit diesem Positionssignal. Damit ist das Motormoment näherungsweise proportional zum Motorstrom. Wird der Motor allerdings bei derart hohen Strömen betrieben, dass magnetische Sättigungseffekte auftreten, dann sinkt die Momentenkonstante KM. Allerdings kann es in diesem Betriebsbereich auch zu irreversieblen Entmagnetisierungs-erscheinungen der Permanentmagnete kommen. Umrichter und Motor sollten daher so kombiniert werden, dass diese absolute Belastungsgrenze des Motors gar nicht erreicht werden kann. Meist ist der zulässige Maximalstrom eher durch die zulässige Wicklungserwärmung oder die Umrichterkosten (die wesentlich vom Maximalstrom abhängen) begrenzt. Ein anderer magnetischer Effekt bei permanetmagnetisch erregten Motoren ist die Reluktanz. Durch das gezahnte Statorblechpaket entstehen positionsabhängige periodische Momente, die die magnetischen Pole des Rotors nach den Statorzähnen auszurichten versuchen. Diesen Effekt nutzt man bei Schrittmotoren. Das Reluktanz-moment kann sehr leicht veranschaulicht werden indem man mit der Hand die Welle eines abgeklemmten Servomotors andreht. Der Mittelwert des Reluktanzmomentes über eine Polteilung ist Null, jedoch wirkt das Reluktanzmoment als Teil des Lastmomentes auf den Motor. Obgleich die Reluktanzmomente moderner Servomotoren wesentlich kleiner als die Nennmomente sind, kann es in Verbindung mit einem schwach eingestellten Geschwindigkeitsregelkreis zu unerwünschten Welligkeiten kommen (Zirn et al. 1997). Die Reluktanz kann im physikalischen Modell bzw. im Blockschaltbild durch einen nichtlinearen Funktionsblock nachgebildet werden. In den Herstellerangaben wird die Reluktanz nicht oder nur als Maximalwert angegeben. Sie müsste, falls eine genaue Erfassung des Effektes gefordert ist, aufwändig gemessen werden. Ist ein Maximalwert bekannt, so kann das Reluktanzmoment auch durch eine mit der Polteilung periodische Sinusfunktion angenähert werden. Betrachtet man in der Prinzipdarstellung in Abb. 2.1.3 eine Rotorposition und damit einen Schaltzustand der Transistorbrücke (z.B. T1,4 durchgeschaltet) so wird deutlich, dass hier das Wicklungsmodell des Tauchspulmotors aus Abschnitt 1.1 übernommen werden kann. Die Eingangsspannung U wird durch eine entsprechende Pulsweite aus der Zwischenkreisspannung gebildet. Die Eingangsspannung ist durch die Zwischenkreisspannung begrenzt, -UZ ≤ U ≤ UZ (2.1.2) was durch ein Sättigungsglied im physikalischen Modell berücksichtigt ist. Während einer Pulsperiode kann das Leistungsteil nicht auf eine Änderung der geforderten Sollspannung Usoll reagieren. Im Sinne einer „worst-case“-Abschätzung kann dies durch ein Totzeitglied mit Ttot = 1/fPWM (2.1.3) nachgebildet werden. Der Stromregler hat die Aufgabe, den Motorstrom I einer Änderung des Stromsollwertes Isoll möglichst verzögerungsfrei nachzuführen und geschwindigkeits-unabhängig einzuhalten. Der Proportionalanteil Kpi sorgt dabei durch eine geeignet hohe Spannungsvorgabe für eine schnelle Stromänderung. Der Integralanteil (Nachstellzeit Tni) erhöht die Störfestigkeit gegenüber der in den Stromregelkreis einkoppelnden bewegungsbedingt induzierten Spannung Ui (siehe Abschnitt 2.1.1.2). Wird als Sollgröße für das Leistungsmodul ein Moment Msoll vorgegeben, so muss dieses noch in einen entsprechenden Sollstrom Isoll = Msoll/KM (2.1.4) umgerechnet werden.

149

Page 107: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

����

�1%/

1,�# �

��

8�

(�

(�

1%<

��

�;

87

8

��

�/

�/

�/

��

�����=>�

��������������

(�� ��

��

(� ��

���1

1,�# �

'

; ����

�����

1%(

�(

+

�����

�����

�+

$%$�

-����������

���

�����

?������������

��

����

/��*��

�����

�����

���������

���������� ��

; ��.

Abb. 2.1.4 Vollständiges Blockschaltbild des lagegeregelten Servomotors

150

Page 108: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Gibt der Geschwindigkeitsregler einen Sollstrom vor, so kann auf die Umrechung in Gl. 2.1.4 verzichtet werden. In diesem Fall trägt der Proportionalanteil Kp des Geschwindigkeitsreglers abweichend von Tabelle 2.1.1 die Einheit As/m. Da die Reibung der Motorlager im für Servoantriebe typischen niedrigen Drehzahlbereich vor allem durch die Kunststoffdichtungen erzeugt wird (trockene Gleitreibung), kann dieser Effekt durch ein konstantes Reibmoment MR entgegen der Bewegungsrichtung nachgebildet werden. Obgleich die hier behandelten Wirkzusammenhänge an einem rotierenden Servomotor verdeutlicht wurden, gelten sie in gleicher Weise auch für permanentmagnetisch erregte Synchron-Linearmotoren und vektorgeregelte Asynchron-Linearmotoren. Anstelle des Sollmomentes wird dann eine Sollkraft Fsoll vorgegeben, die Einheit der Kraftkonstante KF ist N/A, die Spannungskonstante KS trägt die Einheit Vs/m und der Proportionalanteil Kp des Geschwindigkeitsreglers wird in Ns/m angegeben. Analog zur Herleitung des quantitativen Modells des Tauchspulmotors in Abschnitt 1.1 können die linearen Systemteile des Servomotors durch folgende Gleichungen beschrieben werden:

)()()()( tUdt

tdILtIRtU i+⋅+⋅= (2.1.5)

dttdKtU Si)()( ϕ

⋅= (2.1.6)

)()( tIKtM F ⋅= (2.1.7)

LR MMtMdt

tdJ −−=⋅ )()(2

2ϕ (2.1.8)

Setzt man das mathematische Modell der linearen Systemteile in Gl. (2.1.5) – (2.1.8) in ein Blockschaltbild um, und ergänzt dieses Blockschaltbild durch den Kaskadenregler aus Abb. 2.1.2 sowie die zuvor erläuterten Blöcke im modifizierten physikalischen Modell (Abb. 2.1.3) nebst Reibung, so ergibt sich das vollständige Blockschaltbild des Servomotors in Abb. 2.1.4. In diesem Blockschaltbild können alle Blöcke sehr anschaulich den Antriebskomponenten zugeordnet werden. Die Zuordnung ist durch gestrichelt umrandete Bereiche in Abb. 2.1.4 gekennzeichnet. Dieses Blockschaltbild beschreibt den gesamten Betriebsbereich des EC-Motors, der in Abb. 2.1.5 anhand der statischen Drehmomenten-Drehzahlkennlinie dargestellt ist. Die theoretische Leerlaufdrehzahl bzw. Winkelgeschwindigkeit

S

Z

KU

=maxω (2.1.9)

ist dann erreicht, wenn die induzierte Spannung Ui gleich der Zwischenkreis-spannung UZ ist. Aufgrund der Reibung und der Belastung kann diese Drehzahl nicht erreicht werden. Als praktisch sinnvolle Drehzahlgrenze sollte daher die Nenndrehzahl ωN angesetzt werden, bei der noch das Nennmoment MN des

Antriebes zur Verfügung steht: MS

NN KK

RM⋅⋅

−= maxωω (2.1.10)

Das Nennmoment und die Nenndrehzahl definieren den Nennbetriebspunkt, d.h. den Betriebspunkt in dem der Antrieb dauerhaft ohne Überhitzung betrieben werden kann. Dieser Nennpunkt ist damit von der Kühlung des Antriebs abhängig worauf in Anhang B im Rahmen des thermischen Modells näher eingegangen wird. Der grau unterlegte Betriebsbereich in Abb. 2.1.5 kann anhand der Drehzahl

151

Page 109: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

MSM KK

RM⋅⋅

−= maxmaxmax ωω (2.1.11)

bei der das Maximalmoment gerade noch erreicht wird, in zwei Bereiche unterteilt werden. Bei niedrigen Drehzahlen (ω<ωMmax) spielt der Einfluss der induzierten Spannung eine untergeordnete Rolle für die erreichbare Stellgröße. Dies ist der typische Betriebsbereich für Vorschubantriebe (in Abb. 2.1.5 schraffiert dargestellt). Höhere Geschwindigkeiten (ω>ωMmax) werden nur für Eilgangbewegungen oder bei Einsatz als Hauptspindelantrieb (ggf. mit Feldschwächung) erforderlich.

� � � .

� 0

� 0� � � � . � � � .

� @ � � � � � � � � A � � � � � * � * � � � � � � � + � �� � � + � � � � � � � � � � � � - � � � � � � * � � � � � �

0 � � � � � � � �

� � � $ � � � � � � � * � � � � � �

� � � �

� � + � �

Abb. 2.1.5 Motorkennlinie des EC-Motors

Der mechanische Streckenteil beeinflusst die Regelgüte des Stromregelkreises kaum. Im typischen Betriebsbereich von Servomotoren kann man die induzierte Spannung im Blockschaltbild in Abb. 2.1.4 vernachlässigen, so ist der Stromregelkreis nur vom elektrischen Streckenteil abhängig. Damit kann der Stromregelkreis mit guter Näherung durch ein Übertragungsglied erster Ordnung, ein Totzeitglied und eine Momentenbegrenzung nachgebildet werden, wie dies im nachfolgenden Abschnitt 2.1.1.2 analytisch ausgeführt wird. Bei Asynchronmaschinen und fremderregten Gleichstrommaschinen wird durch eine Schwächung des Erregerfeldes eine höhere Drehzahl erreichbar. Hier spricht man vom „Feldschwächbetrieb“. Das permanantmagnetische Erregerfeld der Snychrinmaschine kann man nicht schwächen. Man kann den Motor jedoch mit kleinerem Kommutierungwinkel (β<90°) betreiben. Dadurch sinkt die Spannungskonstante und ermöglicht entsprechend Gl. (2.1.9) bei gleicher Zwischenkreisspannung höhere Geschwindigkeiten. Die sich dabei ergebende Motokennlinie ist in Abb. 2.1.5 dargestellt. Typischerweise startet der Stromregler die Feldschwächung ab der Maximal-geschwindigkeit ωMmax gemäß Gl. (2.1.11), wo der Motor gerade noch das Maximalmoment erreicht. Das dann erreichbare Moment beträgt:

)()()()()()( ωωωωωω

ωω 2MM

ZKK

MSZ

M KR

KR

UKR

KUKIMSM

⋅−⋅=⋅⋅−

=⋅=≈

(2.1.12)

Damit kann die erforderliche Motorkonstante KM in Abhängigkeit von den Motorparametern und der Drehzahl ermittelt werden

152

Page 110: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

ωωω

ω MRUUMK ZZM

⋅⋅−

⋅+

⋅= 4

22),( (2.1.13)

für die der Kommutierungswinkel β entsprechend Gl. (2.1.1) verkleinert wird. Obleich die Servoantriebshersteller hierzu keine genaueren Angaben machen und wenig aussagekräftige Untersuchungen zur Wirkung des Feldschwächbereiches auf die Servoregelung publiziert sind, gibt Gl. (2.1.13) vereinfacht den hierzu eingesetzten Algorithmus an. Für die Simulation des Feldschwächbetriebes muss das Block-schaltbild in Abb. 2.1.4 durch geschwindigkeitsabhängige Motorkonstanten ergänzt werden. In [Habil Zirn] ist dies für eine Fallstudie einer Drehoperation im Feldschwächbereich unter Last ausgeführt.

2.1.1.2 Stromregelung Der Stromregelkreis hat die Aufgabe, die Stellgröße (d.h. die stromproportionale Antriebskraft bzw. das Antriebsmoment) der vom Geschwindigkeitsregler geforderten Sollgröße nachzuführen und den Einfluss der bewegungsbedingt induzierten Gegenspannung auf die Stellgröße soweit möglich zu unterdrücken. Prinzipiell könnte der Stromregelkreis auch durch eine entsprechend angepasste Vorgabe der Motorspannung ersetzt werden. Dann reagiert der Motorstrom jedoch verzögert um die elektrische Zeitkonstante. Die Zeitkonstanten eisenbehafteter Servomotorwicklungen liegen im Bereich von 5..20 ms. Für anspruchsvolle Regelungen ist dies zu langsam. Nur bei Luftspaltwicklungen (z.B. beim Tauchspulmotor in Abschnitt 1) kann auf einen Stromregelkreis ggf. verzichtet werden. Die Regelstrecke (siehe Abb. 2.1.4) besteht aus einer Totzeit und einem Übertragungsglied erster Ordnung für die induktivitätsbehaftete Motorwicklung. Die Totzeit Ttot’ muss in dieser Näherung die PWM-bedingte Verzögerung gemäß Gl. (2.1.3) und – bei einem digitalen Stromregler – die Abtastung berücksichtigen. Die Verzögerung durch die Abtastung und die Rechenzeit im Stromregler kann mit der zweifachen Abtastzeit Tsi ausreichend gut berücksichtigt werden (Groß et al. 2000). An heutigen Servoantrieben liegt die Totzeit im Bereich von 50..250 µs und ist damit eine Größenordnung kleiner als die elektrische Zeitkonstante. Die Inbetriebnahmeunterlagen der meisten Servoantriebshersteller sehen folgendes heuristisches Einstellverfahren vor: a) b)

0 0.5 1 1.5 2 2.5 3

x 10-3

0

0.2

0.4

0.6

0.8

1

t in s

I in

A

Stromregler am Tauchspulmotor

Kpi= 1 V/A

Kpi= 5 V/AKpi= 10 V/A

Kpi= 20 V/A

Iststrom für Kpi= 12 V/ASoll

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

x 10-3

0

0.2

0.4

0.6

0.8

1

1.2

t in s

I in

A

Stromregler am Tauchspulmotor

Tni= 5 ms Tni= 2 ms

Tni= 0.5 ms

Tni= 0.2 ms

Iststrom für Tni= 1 msSoll

Abb. 2.1.6 Heuristische Einstellung des Stromreglers anhand der Sprungantwort am Tauchspulmotor (Tel = 1 ms, Ttot = 0,1 ms).

153

Page 111: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

a) Erster Schritt: P-Reglereinstellung durch sukzessives Erhöhen von b) Zweiter Schritt: I-Anteileinstellung durch Absenken der Nachstellzeit

Zuerst wird der I-Anteil inaktiviert (Tni→∞) und der P-Anteil Kpi so eingestellt, dass für einen sprungförmigen Sollstromverlauf (z.B. Sprung von 0 auf 1 A in Abb. 2.1.6) ein schnelles Anregeln des Iststromes mit vertretbarem Überschwingen (ca. 10-20 %) – jedoch ohne merkliches Unterschwingen - erreicht wird. Dann wird der I-Anteil durch sukzessives Absenken der Nachstellzeit Tni erhöht, um den Regelfehler durch die störende induzierte Gegenspannung des anlaufenden Motors wirksam zu unterdrücken. Dabei kann ein etwas höheres Überschwingen akzeptiert werden, jedoch muss eine Entdämpfung des Stromregelkreises im Sinne der Laufruhe des Antriebs vermieden werden. Die Hersteller geben mit Ausnahme von [Groß] keine analytischen Einstellregeln für den Stromregelkreis an, sondern liefern zu ihren Kombinationen von Umrichtern und Motoren Einstellwerte, die meist problemlos übernommen werden können. Vielfach besitzen Umrichter auch schon eine Autotuning-Funktion für den Stromregler, bei dem durch hochfrequente Rauschanregung die elektischen Streckenparameter identifiziert werden und daraus Reglereinstellungen abgeleitet werden. Die dabei gemessenen Streckenübertragungsfrequenzgänge können – bei guter Meßqualität – direkt genutzt werden, um z.B. mit den Kriterien der Betrags- und Phasenreserve (siehe Abschnitt 1.3.1.2) eine Reglereinstellung zu ermitteln. Für den Entwurf und zur Inbetriebnahmevorbereitung sind jedoch analytische Einstellregeln wünschenswert, wofür sich Betrags- und Phasenreserve hier nicht eignen, da diese zwar graphisch schön darstellbar, jedoch analytisch nicht gut nach den Regelverstärkungen auflösbar sind. Die Stromregelstrecke des Servomotors entspricht prinzipiell einer verfahrens-technischen Anlage (Totzeit durch Rohrleitungsdistanzen, Zeitkonstanten für Erwärmungs- oder Reaktionsvorgänge), so dass die Einstellregeln nach Ziegler/Nichols oder Chien/Hrones/Reswick [Lutz/Wendt] angewandt werden können. Allerdings betragen die Zeitkonstanten verfahrenstechnischer Anlagen eher Minuten oder gar Stunden, wogegen die Zeitkonstanten der Stromregelung im Millisekundenbereich liegen. Ein zwar stabil eingestellter, jedoch schlecht gedämpft abschwingender Stromregelkreis würde mit einem hochfrequenten Pfeifen verbunden sein (ein praxistaugliches Indiz für den geübten Inbetriebnahmeingenieur!), da Stromoszillationen direkt in Kraft-/Momentenoszillationen gewandelt werden und so die Achse wie ein Lautsprecher Körperschall emittiert. Wendet man die Einstellregeln nach Chien/Hrones/Reswick für gut gedämpftes Führungsverhalten an, so ergeben sich die Reglereinstellungen für einen PI-Stromregler zu:

tot

elpi T

TRK ⋅⋅≈ 60, elni TT ≈ (2.1.14)

Das Anregelverhalten für eine Reglereinstelllung gemäß Gl. (2.1.14) ist in Abb. 2.1.6 am Beispiel des Tauchspulmotors dargestellt. Obgleich die Einstellregeln nach Gl. (2.1.14) schon ausreichen, um einen konservativ eingestellten Stromregler zu parametrieren, soll an der vergleichsweise einfachen Stromregelstrecke die nachfolgend mehrfach angewandte Reglereinstellung anhand der Pole des geschlossenen Regelkreises (s.a. Abb 1.3.9 ff.) demonstriert werden. Dazu wird zunächst nur der P-Anteil, wie in Abb. 2.1.7a gezeichnet, betrachtet. Der Ersatz des Totzeitgliedes durch ein Übertragungsglied erster Ordnung ergibt für diesen Größenordnungsunterschied zwischen Ttot’ und Tel eine hervorragende Näherung für die Übertragungsfunktion der Regelstrecke:

154

Page 112: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

begrenzten Maximalstrom Imax nachbildet. Für die Servoregelung ist es dabei unerheblich, ob der Umrichter die Sollgröße Isoll begrenzt oder (sicherer) den tatsächlichen Iststrom überwacht und begrenzt.

;

; � � .� � � � B �

� � � � � ; � � � �

� � � 11 , � � � � �

� 1 % ( � % �

1 , � � '

������������

�@��������

"�������$�

����������

( � % �

�� � � � �

� � � � � � = > � � ' � � � � �

� � � � � � = > � � � � � � � � �

Abb. 2.1.9 Vereinfachte Darstellung des Stromregelkreises für elektrische Servoantriebe 2.1.1.3 Hydraulische und pneumatische Antriebe Gasförmige oder flüssige Medien spielen in der Technik eine wichtige Rolle zur Energiespeicherung, -wandlung und –übertragung. Prinzipiell ähnelt der Aufbau hydraulischer/pneumatischer Systeme dem Aufbau elektrischer oder elektro-mechanischer Automatisierungskomponenten. Die in diesem Kapitel erläuterten Analogien zwischen elektrischen und hydraulischen Kreisen erleichtern das Verständnis. Allerdings erfordert das teilweise stark nichtlineare Verhalten des Mediums eine eigene Betrachtungsweise bei der detaillierten Modellbildung im gesamten Betriebsbereich von Aktoren, die hier nur eingeschränkt erörtert werden kann. Neben den hydraulischen Aktoren spielen in der Automatisierungstechnik auch pneumatische Aktoren eine wichtige Rolle. Durch die hohe Kompressibilität des Mediums Luft ist es jedoch bislang nicht möglich, Aktoren mit hoher Steifigkeit und Genauigkeit zu realisieren. Meist werden pneumatische Zylinder gegen Festanschläge bewegt oder Druckluftmotoren weitgehend stationär – also ungeregelt – betrieben. Die Simulation pneumatischer Aktoren auf der Basis diskreter Modelle ist sehr fehlerbehaftet, da viele relevante Einflüsse (Reibungskräfte, Strömungsverhältnisse, Feuchtigkeit, Temperatur) bei vertretbarem Aufwand nur unvollständig modelliert werden können. Zudem steht bei pneumatischen Systemen der Automatisierungstechnik eher die qualitative Betrachtung von Zuständen und Bewegungsabfolgen im Sinne ereignisdiskreter Steuerungsprozesse (siehe hierzu Abschnitt 2.3) im Vordergrund. Mit den in (Stoll, 1999), (Paetzold, 1997), (Müller, 1997) dargestellten Handformeln und Auslegungshinweisen lassen sich pneumatische Systeme ausreichend genau planen, so dass hier für gewöhnlich keine rechnergestützte Simulation zum Einsatz kommt. Für die Schaltsymbole hydraulischer und pneumatischer Systeme gemäß DIN/ISO 1219 sei auf die umfangreichen Darstellungen und Beispiele in [Dubbel, Beater,Will?] verwiesen. In diesem Abschnitt sollen daher schwerpunktmäßig die Verhältnisse an hydraulischen Systemen behandelt werden. Der in Abb. 2.1.10 dargestellte hydraulische Kreis kann analog zu einem elektrischen Kreis beschrieben werden: Eine Pumpe nimmt druckloses Öl aus der Wanne auf und verdichtet es. Eine reale Pumpe kann – so wie eine reale Spannungsquelle durch Urspannung U0 und Innenwiderstand Ri beschrieben wird – durch eine ideale Pumpe beschrieben werden, die den Urdruck p0 erzeugt. Sobald der Pumpe ein Volumenstrom Q abverlangt wird, entstehen Druckverluste in der Pumpe, so dass der Pumpenausgangsdruck p1 absinkt (p1≤p0). In der gängigen Literatur und den

157

Page 113: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Produktdaten zu Pumpen ist dies durch die nichtlineare Pumpenkennlinie p1(Q) wiedergegeben. Durch die Strömungsverluste in einer Leitung sinkt der Druck bis zum Hydraulikzylinder nochmals ab (p2≤p1). Im Hydraulikzylinder (oder auch einem rotierenden Hydromotor) wird das Öl entspannt und somit die im Öl gespeicherte Energie in mechanische Arbeit umgewandelt.

Rückleitung (Ölwanne)

Hydrozylinder

Strömungsverluste in den Leitungen und Ventilen

Verluste in der Pumpe

Geschwindig- keit v

Volumenstrom Q

p = 0

p2p1 p0 Kraft F

Abb. 2.1.10 Hydraulischer Kreis – hydraulischer Schaltplan Der Druck p ist zunächst definiert als Kraft F je Flächeneinheit A:

VW

xAxF

AFp =

⋅⋅

== (2.1.24)

Erweitert man diese Definition in Zähler und Nenner durch den Weg x, so entsteht eine alternative Definition des Druckes als volumenbezogener Energiegehalt, d.h. als eine Energiedichte des Öls. Die Pumpe nimmt somit energielose (drucklose) "Öltröpfchen" auf und verleiht ihnen durch die Verdichtung eine bestimmte Arbeitsfähigkeit. Einen Teil der Arbeitsfähigkeit büßen die Öltröpfchen auf dem Weg durch die Pumpe und die Zuleitungen ein, um dann am Hydrozylinder die restliche hydraulische (Druck-) Energie in mechanische Energie zu wandeln. Der Druck als volumenbezogene Energie kann daher als Analogon zur Spannung als ladungsbezogene Arbeitsfähigkeit in elektrischen Stromkreisen betrachtet werden. Die vom Zylinder mit der Querschnittsfläche A entwickelte Kraft F ergibt sich durch die Umformung von (2.1.24) zu: F = p2

. A (2.1.25) Bewegt man den Zylinder mit der Geschwindigkeit v, so gibt dieser die mechanische Leistung Pmech = F . v (2.1.26) z.B. an eine Arbeitsmaschine ab. Diese Leistung ist bei vernachlässigbarer Reibung und Leckage im Zylinder gleich der hydraulischen Leistung des sich entspannenden Öles. Die hydraulische Leistung Phy ergibt sich aus dem Produkt von Druckdifferenz p2 am Zylinder und Volumenstrom Q=dV/dt: Phy = Q . p2 (2.1.27) Dies kann man leicht zeigen, wenn man die Kolbengeschwindigkeit v aus dem Volumenstrom Q und der Kolbenfläche berechnet: v = Q / A (2.1.28)

158

Page 114: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Druckverluste in Leitungen Wenn man den Druck als hydraulisches Analogon zur elektrischen Spannung ansieht, kann man den Volumenstrom Q als hydraulisches Analogon zum elektrischen Strom betrachten. Demnach erwartet man auch für hydraulische oder pneumatische Systeme eine Art "Ohm'sches Gesetz", nachdem der Transport von Volumenströmen über Leitungen mit einem gewissen Druckverlust verbunden sein sollte, der umso größer werden müsste, je größer der Volumenstrom wird.

Leitung, Drossel:

verstellbare Drossel:

scharfkantige Blende, Kante:

Abb. 2.1.11: Hydraulische und pneumatische Symbole für Leitungswiderstände,

einstellbare Drosseln, Blenden Physikalische Ursachen für solche Strömungswiderstände sind:

• die Viskosität des Mediums, d.h. die Eigenschaft einer Flüssigkeit, Schubspannungen aufzubauen. Bei laminarer Strömung werden die an der Rohrwand liegenden und damit weitgehend ruhenden Teilchen gegenüber den im Rohrinneren bewegten Teilchen gegen diese Schubspannung verschoben, womit sich eine Widerstandskraft ergibt, die zu einem Druckverlust auf der Rohrleitung führt. Dieser Druckverlust ist näherungsweise proportional zum Volumenstrom.

• bei Störstellen (Ventilen, Blenden, Ecken und Kanten) und bei hohen Strömungsgeschwindigkeiten in Rohren bildet sich meist eine turbulente Strömung aus. Die dabei auftretenden Reibungseffekte führen ebenfalls zu einem Druckverlust, der aber näherungsweise quadratisch mit dem Volumenstrom ansteigt.

Für die Modellierung von Strömungswiderständen bietet sich daher gemäß (Beater, 1999) eine Aufteilung in einen Kleinsignalbereich und einen Großsignalbereich an. Im Kleinsignalbereich (kleine Volumenströme) herrscht laminare Strömung und damit kann ein linearer Zusammenhang zwischen Volumenstrom und Druckverlust vorausgesetzt werden (vgl. Ohm'sches Gesetz U = R . I):

Qσ1p ⋅=Δ (2.1.29)

mit σ - hydraulischer Leitwert für laminare Strömung . Im Großsignalbereich (große Volumenströme) herrscht turbulente Strömung, für die ein quadratischer Zusammenhang angenommen werden kann:

2Q*σ

1p ⋅=Δ (2.1.30)

mit σ* - hydraulischer Leitwert für turbulente Strömung .

p1 p2

Δp=p1- p2 Q

p1 p2 p1

Δp=p1- p2 Q

p2

Δp=p1- p2 Q

159

Page 115: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Die hier eingeführten hydraulischen Leitwerte können für bestimmte Anordnungen und Querschnittgeometrien berechnet (Beater, 1999), (Jelali, 2003) oder – meist effizienter – aus den Produktdaten entnommen oder den darin enthaltenen p-Q-Kennlinien abge-lesen werden. Wie beim Leitungswiderstand von elektrischen Kreisen ist der Strömungswiderstand oft unerwünscht. In verschiedenen Anwendungen wird er jedoch bewusst erzeugt, um den Volumenstrom auf einen bestimmten Wert zu begrenzen oder den Druck auf bestimmte Werte einzustellen. Drosseln sind somit das hydraulische Analogon zu Vorwiderständen in der Elektrotechnik. Kompressibilität und Druckspeicher, hydraulische Induktivität Hydrauliköl und Luft sind kompressible Medien, d.h. bei höherem Druck vermindert sich das Volumen einer eingeschlossenen Gas- bzw. Flüssigkeitsmenge. Diese Kompres-sibilität wird durch den Kompressionsmodul B beschrieben:

ΔpBVΔV ⋅= (2.1.31)

Gl. (2.1.31) beschreibt die Volumenänderung ΔV bei einer Änderung des Druckes um Δp, die umso größer ausfällt, je größer das gesamte komprimierte Volumen V ist. Der Kompressionsmodul von Öl ist von verschiedenen Einflussfaktoren wie Ölsorte, Luftanteil, Temperatur und Druck abhängig (Beater, 1999). Für die hier betrachteten Modelle kann jedoch von einem Näherungswert gemäß Tabelle 2.1.2 ausgegangen werden.

Medium Kompressionsmodul Mineralöl Böl ≅ 1,4 . 109 N/m2 Wasser BWasser ≅ 2,3 . 109 N/m2 Luft BLuft ≅ 1,4 . p (Cremer, 1985)

Tabelle 2.1.2: Näherungswerte für den Kompressionsmodul verschiedener Medien Der Kompressionsmodul von Luft ist abhängig vom Druck im Luftvolumen. Dies entspricht auch unserer Erfahrung (z.B. mit einer Luftpumpe), nach der eine Luftsäule unter Druck durch dieselbe Druckänderung weniger stark komprimiert werden kann als wenn man eine Luftsäule unter Atmosphärendruck verdichtet. Luft ist um Größenordnungen kompressibler als flüssige Medien, weshalb pneumatische Antriebe auf wechselnde Lasten immer mit erheblich größeren Abweichungen reagieren als hydraulische Antriebe. Dafür kann das Medium Luft als Druckspeicher oder "Luftfeder" (z.B. bei Mountainbikes mit Federung) eingesetzt werden. Die zur Beschleunigung eines Mediums aufzubringende Kraft ist in aller Regel deutlich kleiner als die druckbedingten Kräfte und kann meist vernachlässigt werden. Bei sehr engen Spalten und Bohrungen können durch eine zeitliche Veränderung dQ/dt des Volumenstroms vereinzelt so hohe Beschleunigungen auftreten, dass die Trägheitskräfte des Mediums eine Rolle spielen können und hierbei ein zusätzlicher Druckverlust entsteht. Man spricht in diesem Zusammenhang von einer "hydraulischen Induktivität" als Analogon zur elektrischen Eigenschaft einer Spule, auf Stromänderungen mit einer Selbstinduktionsspannung zu reagieren. Die analytische Ermittlung dieser von Strömungsart und Bohrungsgeometrie abhängigen hydraulischen Induktivität ist in (Beater, 1999) sehr anschaulich dargestellt.

160

Page 116: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Servoventil Ventile werden nicht nur eingesetzt, um Strömungen zu sperren oder in bestimmte Richtungen freizugeben, sondern – in Teilaussteuerung – auch, um durch einen veränderbaren hydraulischen Widerstand Druck oder Volumenstrom zu beeinflussen. Damit kann die Kraft oder die Geschwindigkeit eines Hydraulikzylinders beeinflusst werden. Ventile können somit als hydraulisches Analogon zu Transistorbrücken aufgefasst werden.

Abb. 2.1.12: Servoventil (4/3-Wegeventil) und Hydraulikzylinder zur Lageregelung einer Achse Das Servoventil wandelt eine Stellgröße u (meist eine Spannung zwischen -10 V und +10 V) abhängig von Systemdruck ps und Ventilbauweise in einen bestimmten Volumenstrom Q (Jelali, 2003). Oft wird durch den elektrischen Stellantrieb der tatsächliche Stellweg u' des Schiebers im Ventil absichtlich so "verfälscht", dass ein linearer Zusammenhang zwischen Stellgröße und Volumenstrom entsteht. Die nachfolgend dargestellte Tabelle 2.1.3 zeigt die wichtigsten für die Modellierung eines Servoventils bzw. eines Servozylinders erforderlichen Modellparameter auf, die aus den Produktdaten entnommen werden können oder entsprechend ausgemessen werden müssen. Ventil- und systemspezifische Daten: pS - Systemdruck KQ - Durchflussverstärkung σ - hydraulischer Leitwert Tv - Anregelzeit des Ventils Zylinderspezifische Daten: A - Kolbenfläche V1,2 - Volumen KL - Leckagekoeffizient Mechanische Daten, Achsaufbau m - Tischmasse FL - Lastkraft FR - Reibung

Tabelle 2.1.3: Modellparameter eines servohydraulischen Antriebes

Q

V1

p1

m

F

xFR

Zylinder Schlitten , FL

ps

Tank

Pumpe, Druck-speicher

Lage-regler

Lagemess- system

Stell-antrieb

u u‘

x

p2

A V2

161

Page 117: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Regelungstechnisch kritisch - und damit für die Antriebsauslegung von Servoachsen interessant - ist beim hydraulischen Antrieb der Kleinsignalbereich, d.h. der Bereich mit kleinen Regelventilauslenkungen und kleinen Zylindergeschwindigkeiten. Für größere Ventilauslenkungen (Eilgangbewegungen) nimmt die Eigendämpfung des hydraulischen Antriebes zu1, sodass die Linearisierung und Vereinfachung für den Kleinsignalbereich eine robuste Auslegung ergibt (Schmutz, 1985). Das Regelventil setzt die Stellgröße u vom Lageregler in eine Ventilschieberstellung u‘ um. Es wird elektromechanisch (z.B. mit einem Tauchspulantrieb) betätigt. Es besitzt daher ein Übertragungsverhalten wie ein lagegeregelter Linearmotor. Die Anregelzeit Tv des Regelventils ist jedoch meist wesentlich kleiner als die Zeitkonstante des Hydraulikzylinders selbst, weshalb das Regelventil oft als Proportionalglied oder als Verzögerungsglied erster Ordnung aufgefasst werden darf. Im Kleinsignalbereich lautet die Durchflussgleichung des Ventils:

LQ puKQ ⋅−⋅= σ (2.1.32)

mit Q - Volumenstrom KQ - Durchflussverstärkung in Schiebermittelstellung σ - hydraulischer Leitwert (ventilseitiger "Bypass") in

Schiebermittelstellung und der resultierenden Druckdifferenz pL=p1-p2 (2.1.33) mit p1 - Druck Zylinderkammer 1 p2 - Druck Zylinderkammer 2 Neben dem ventilseitigen "Bypass" ergibt sich durch die Leckage zwischen den beiden Zylinderkammern ein weiterer Bypass. Der dazugehörige Leitwert wird als Leckage-koeffizient KL bezeichnet. Diese Werte können den Ventil- und Zylinderdaten entnommen oder müssen an der realen Anlage ausgemessen werden. Für die an der Kolbenstange erzeugte Vorschubkraft gilt: F = A.pL (2.1.34) Die Kontinuitätsgleichungen der beiden Zylinderhälften (Mittelstellung) lauten:

( )dtxdAppK

dtpd

BV/2

dtVd

21L11 ⋅+−⋅+⋅= (2.1.35)

( )dtxdAppK

dtpd

BV/2

dtVd

21L22 ⋅−−⋅−⋅=

mit x - Tisch- bzw. Zylinderposition Der Volumenstrom Q ergibt sich aus dem arithmetischen Mittel der Volumenströme der beiden Zylinderkammern:

1 Der Druckabfall an Leitungen und Ventilen steigt bei grossem Volumenstrom mit dem Quadrat des Volumenstroms. Für größere Zylindergeschwindigkeiten ist damit eine Linearisierung um den Bereich kleiner Volumenströme nicht mehr möglich. Die hydraulischen Leitwerte und die Durchflussverstärkung am Ventil sind dann nicht mehr konstant, sondern werden kleiner. Dadurch steigen die Strömungsverluste an und die Systemdämpfung nimmt zu.

162

Page 118: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

( )dtxdAppK

dtpd

dtpd

B4V

2dtVd

dtVd

Q 21L21

21

⋅+−⋅+⎟⎠

⎞⎜⎝

⎛ −⋅⋅

=−

= (2.1.36)

In Gleichung (2.1.36) wird deutlich, wie sich der vom Ventil abgegebene Volumen-strom auf einen komprimierten Volumenanteil, einen leckagebedingten Anteil und einen durch die Zylinderbewegung bedingten Anteil aufteilt. Die vorwiegend trockene Gleitreibung von Zylinder (Dichtungen) und Schlitten (Führungen) kann durch ein nichtlineares Übertragungsglied wiedergegeben werden. 3 Quantitatives Modell anschreiben (3.24) mit (3.20) liefert: (2.1.37)

Q VB

d pdt

K p A d xdt

LL L=

⋅⋅ + ⋅ + ⋅

4 Q V

Bs p K p A s xL L L=

⋅⋅ ⋅ + ⋅ + ⋅ ⋅

4

Das dynamische Kräftegleichgewicht der Tischmasse m ergibt mit (2.1.34):

m d xdt

A p FL R⋅ = ⋅ −2

(2.1.38) m s x A p FL⋅ ⋅ = ⋅ −2R

Aus dem dynamischen Kräftegleichgewicht ergibt sich folgende Beziehung zwischen Druck und Position unter Vernachlässigung der Reibung (FR=0):

p m s xAL =⋅ ⋅2

(2.1.39)

Setzt man Gln. (2.1.33), (2.1.39) in die Durchflussgleichung des Zylinders Gl. (2.1.36) ein, ergibt sich nach Umformung für das lineare Teilsystem

( )xsxs

VKBxs

VmABxu

VmABK L

Q ⋅+⋅⋅+⋅⋅

+⋅⋅⋅⋅⋅

+⋅=⋅⋅⋅⋅

⋅ 322 4404 σ (2.1.40)

bzw. das Blockschaltbild gemäß Beobachtungsnormalform (s.a. Abschnitt 1.3.2.1) :

1/s 4BAKQ V.m 1/s 1/s

u x

4B(σ+KL) V

4BA2

V.m

Abb. 2.1.13: Blockschaltbild des linearen Systemteils gemäß Beobachtungsnormalform Durch Umformung zur expliziten Darstellung der phyikalischen Größen pL, F ergibt sich das Blockschaltbild in Abb. 2.1.14. Hier kann man deutlich das mechanische Teilmodell und den hydraulischen Modellteil unterscheiden.

163

Page 119: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Analog zur elektrischen Zeitkonstante Tel bei elektrischen Servoantrieben kann eine hydraulische Zeitkonstante Thy definiert werden:

B)K(4

VTL

hy ⋅+σ⋅= (2.1.41)

Diese Zeitkonstante liegt für Hydrozylinder (und Hydromotoren) typischerweise im Bereich von 10-50 ms.

1/m

4B/V

A 1/s 1/s 1/s

u x

σ+KL

A

v F pL

KQ

mechanischer Modellteil hydraulischer Modellteil

Abb. 2.1.14: Umgeformtes Blockschaltbild des linearen Systemteils Die nachfolgende Umformung des Blockschaltbildes (Abb. 2.1.15) sowie die Ergänzung um den nichtlinearen Reibungsblock macht die Analogie von Elektromotor (ohne Stromregelung) und hydraulischem Antrieb deutlich:

• Der Verzögerung des Motorstromes gegenüber der Motorspannung durch die Induktivität entspricht die Verzögerung des Druck- bzw. Kraftaufbaues gegenüber der Ventilschieberstellung durch die Kompressibilität des Hydrauliköles.

• Der bei Bewegung des Motors induzierten Gegenspannung Ui, die den Motorstrom vermindert, entspricht der durch die Bewegung des Zylinders dem druck- bzw. kraftbildendem Volumenstrom KQ

.u aus dem Ventil entzogene Volumenstrom v.A.

Abb. 2.1.15: Vollständiges Blockschaltbild der Regelstrecke des Servozylinders

x

1/m

1 σ+KL

A 1/s 1/s u

A

v F pL

KQ

FR

s.Thy+1

hydraulischer Modellteil

mechanischer Modellteil

164

Page 120: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Wird das Ventil nicht direkt am Zylinder angebracht, so vergrößert sich das Volumen V um das Volumen in den Zuleitungen. Weiterhin ist zu beachten, dass sich eine vom Ventil ausgehende Druckänderung in Form einer Longitudinalwelle in der Zuleitung fortpflanzt. Dabei gilt für die Fortpflanzungsgeschwindigkeit cöl dieser Longitudinalwelle nach (Beater, 1999):

öl

ölöl ρ

Bc = ≅ 4.104 m/s (2.1.42)

mit ρöl - Dichte von Hydrauliköl (ca. 900 kg/m3) Böl - Kompressionsmodul von Hydrauliköl (ca. 1,4 . 109 N/m2) Bei weichen Leitungen (Schläuchen) oder gelöster Luft im Hydrauliköl sinkt diese Fortpflanzungsgeschwindigkeit erheblich ab. Dies ist gegebenfalls durch ein Totzeitglied zu berücksichtigen. Für Hydromotoren gilt das Model in Abb. 2.1.15 analog, wobei man hier anstatt der Kolbenfläche A eine Momentenkonstante KM (oft in Nm/bar angegeben) zur Stellgrößen-wandlung aus der Druckdifferenz einsetzt. Analog zu (2.1.34) gilt dann: M = KM . pL (2.1.43)

Umgekehrt erzeugt der mit der Winkelgeschwindigkeit ω umlaufende Hydromotor einen Volumenstrom Q:

Q = KS . ω (2.1.43) Die Geschwindigkeitskonstante KS wird in den Herstellerangaben als „Schluckvolumen“ bezeichnet und oft in cm3/° angegeben. Beide Motorkonstanten können auf dieselben MKSA-Einheiten zurückgeführt werden (1 Nm/Pa=1 Nm.m2/N=1 m3/rad) und sind auch annähernd gleich groß. Die Differenz zwischen beiden Konstanten ist ein Hinweis auf die Leckage und damit die Energieeffizienz im Hydromotor.

165

Page 121: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.1.1.4 Meßsysteme und Sensoren Die Vielfalt der in der Automatisierungstechnik eingesetzten Sensorprinzipien und Meßsystemvarianten füllt ganze Fachbücher ([Gevatter, Langmann, ??]) und ist zurecht ein eigenes Schwerpunktfach in den Ingenieurwissenschaften. Für die Modellbildung und Simulation von automatisierungstechnischen Systemen hingegen können Sensoren mit einigen wenigen charakteristischen Eigenschaften und Parametern beschrieben werden. Zudem sind für die hier behandelten Servoantriebe vor allem Sensoren zur Erfassung von Position, Geschwindigkeit und Beschleunigung von Bedeutung.

� � � � � D � � � � �

" � � � � � > � � � * � � � �� � � � � � � � � � �

� �

) * � � � � � � � � � �

, 5 -

, 5 -

� � > � � � '

" # � � � � / � � � � � � � � � � � � � �

8 � � � � � � � �

$ � � � � � � � � � � � � � � � � � � � � � � ) � � � � � / � � � � � �� $ � � �: � $ � � � � � � $ � � � � � � � � � � � � � � � � � � � � � � � � � � �

! � � � � � � � � � � � � ; )

; A 8 A

8 )

" � � � � � � � � � � �

.%

" � � � � � � � � � � �

; ) ; A

." � � � � � � � � � � �

8 )

8 A

� � � � � � � .) � ' � = � � �

.

* �

%

� � � � � � � � � � E � �" � � � � � � � � � � � � � � � �$ � � � � � > � @ � � � � �

6

4

1

9

1

4

6

. � � .

Abb. 2.1.16 a) Optisches inkrementelles Längenmeßsystem (prinzipieller Aufbau) b) Beispielhaftes Fehlerprotokoll Der wichtigste zu erfassende Freiheitsgrad für automatisierungstechnische Anlagen ist die Linear- oder Winkelposition einer Achse. Für einfachtste Anwendungen mit kleiner Lebensdauer (z.B. Modellbau-Servos) können Potentiometer eingesetzt werden. Induktive Wegsensoren weisen durch das berührungsfreie Meßprinzip eine höhere Lebensdauer auf, erlauben jedoch nur eine bescheidene Auflösung bei längeren Meßwegen. Kapazitive Aufnehmer können nur sehr kurzhubige Bewegungen, dafür berührungsfrei und hochaufgelöst, erfassen. Diese analogen

166

Page 122: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Meßprinzipien genügen jedoch hinsichtlich Lebensdauer, Meßbereich/Auflösung und Störsicherheit nicht den rauen Anforderungen der Produktionstechnik. Daher werden heute überwiegend inkrementelle Positions-Sensoren eingesetzt. Hier unterscheidet man Inkrementalaufnehmer nach dem Transformatorprinzip („Resolver“, preisgünstig, geringe Auflösung) sowie inkrementelle Meßsysteme mit magnetischer (abwechselnd magnetisiertes „Tonband“, kostengünstig, mittlere Auflösung) und optischer Abtastung (Glasträger mit Strichgitter, teuer, hochauflösend). Die optische Abtastung eines Strichgitters ist in Abb. 2.1.16a prinzipiell skizziert. Typische Gitterteilingen an optischen Strichgittern liegen bei 4 – 20 µm (magnetisch ca. 1 mm). Man erreicht durch die nachträgliche Aufbereitung (sog. Interpolation, 4 bis 1024-fach, Auswertung von 4 Flankenübergängen des interpolierten TTL-Signals) höchste Auflösungen bis in den Bereich weniger Nanometer. Die Interpolationselektronik wird heute meist in den Antriebsumrichter integriert, da die interpolierten TTL-Signale sehr hochfrequent sind und sich nicht mehr für die Übertragung eignen. Längen bis zu einigen Metern können so mit einer Absolutgenauigkeit von wenigen Mikrometern erfasst werden. Entsprechend erreichen Winkelmeßsysteme mit inkrementell optischer Abtatsung Auflösungen und Genauigkeiten von wenigen Mikrorad. Hochwertige Meßsysteme werden mit einem Fehlerprotokoll ausgeliefert (siehe Abb. 2.1.16b), das eine Kalibrierung des Meßsytems erlaubt. Diese vergleichsweise langwelligen und kleinen Positionsmeßfehler spielen für die Regelgüte einer Servoachse keine entscheidende Rolle. Maßgeblicher Parameter für die Modellbildung ist damit die Auflösung Δx bzw. Δϕ eines Positionsmeßsystems. Inkrementelle Meßsysteme haben zwei bezüglich der Gitterteilung um 90° phasenversetzt angeordnete Sensoren, um die Bewegungsrichtung erkennen zu können (siehe auch Abschnitt 1.2.1). Sie benötigen zudem eine Referenz, um eine absolute Position aus den Inkrementen heraufzählen zu können. Einfache Meßsysteme besitzen eine Referenzmarke, die (umständlich) vor Beginn des Bearbeitungsprozesses angefahren werden muss. Inzwischen sind abstandscodierte Referenzmarken verbreitet, die periodisch (z.B. alle 2 cm) mit geringfügig unterschiedlichen Abständen auf dem Strichgitter angebracht sind und die so eine Zuordnung der Absolutposition nach kurzer Referenzfahrt erlauben. Wo immer möglich sollten absolut-Inkrementelle Meßsysteme eingesetzt werden (mehrere Strichgitterspuren mit Gray-Code oder EnDAT [Heidenhain]) bei denen keine Referenzfahrt mehr erforderlich ist. Die Geschwindigkeit kann direkt mit einem Tachogenerator erfasst werden. Tachogeneratoren sind jedoch für Linearachsen kaum umsetzbar und erreichen bei entsprechender Auflösung an Rundachsen beachtliche Bauräume und Kosten (vergleichbar dem Servomotor selbst). Als Drehzahlregelkreise noch analogelektronisch ausgeführt waren (bis ca. 1990), stellte das ebenfalls analog verfügbare Geschwindigkeitssignal von Tachos aber durchaus einen nutzbaren Vorteil dar. Aktuelle digitalen Antriebe ermitteln Geschwindigkeiten durch diskrete Differenzierung der ohnehin für die Lageregelung oder Kommutierung erfassten Position – mit allerdings hörbaren Effekten wie dies in Abschnitt 2.1.3.5 ausgeführt wird.

167

Page 123: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

� �

%

* �

� � � � �� � � � �

! � � � � � � � � � � � �

� � � � � � � � A � � � � � �

� � $ � � � + � � � � � � � � �

D � . � 8 � . �

8 � F � �

. � F � �

% & ! %

� � � � � � * � � $

� � � � � � � ') � ' � � � � � � � � � � � �

� � � � � � � � � � � ' � � $ � �: � � * � � � � � = � �� � ; � � � .

8 � � � ; : � � � .

: � � * � � � � � = � �� � ; � � � .

Abb. 2.1.17 a) Piezoelektrischer Beschleunigungsaufnehmer mit charakteristischem Frequenzgang b) Beschleunigungssensor nach dem Ferraris-Prinzip Für die Erfassung von Strukturschwingungen und für die in Kapitel 3 behandelte modellbasierte Regelung ist die Beschleunigung eine wichtige Meßgröße. Hier sind piezoelektrische Beschleunigungsaufnehmer und Beschleunigungssensoren nach dem Ferrarisprinzip als Standardkomponenten erhältlich (siehe Abb. 2.1.17). Piezokristalle reagieren unter Krafteinfluss mit einer Ladungsverschiebung, die mit einem Ladungsverstärker in eine entsprechende analoge Ausgangsspannung gewandelt werden können, und sind damit zunächst hochlineare Kraftsensoren. Kombiniert man diese mit einer seismischen Masse, so entsteht ein Beschleunigungsaufnehmer für einen DOF, der leicht an jedem Ort einer Produktionsmaschine anzubringen ist. Der beispielhafte Frequenzgang in Abb. 2.1.17a zeigt die Einschränkungen dieses Meßprinzips. Einerseits fließen Ladungen unerwünschterweise durch den Piezokristall ab, so dass unterhalb von 5-10 Hz keine zuverlässigen Meßgrößen mehr erreichbar sind. Andererseits bildet die seismische Masse auf dem Piezokristall einen Feder-Masse-Schwinger, dessen Eigenfrequenz (bei 5-20 kHz) den Meßbereich ebenfalls einschränkt. Ferrarissensoren weisen diese Einschränkungen im für Produktionsmaschinen relevanten Frequenzbereich nicht auf [Hiller 2005], sind aber konstruktiv schwerer in Maschinenstrukturen zu integrieren. Sie werden vor allem antriebsnah appliziert, da sie die Relativbeschleunigung zwischen Metallband und Meßkopf erfassen (im Gegensatz zu Beschleunigungsaufnehmern, die die Absolutbeschleunigung messen). Ferraris-Sensoren messen die Änderung von geschwindigkeitsproportionalen Wirbenströmen nach dem Induktionsprinzip über Aufnehmerspulen (siehe Abb. 2.1.17b). Sie sind sehr robust gegen Montagetoleranzen, verfügen über bemerkenswerte Sensitivität (mit Meßverstärker und Filter zur Rauschunterdrückung) und sind vergleichsweise preisgünstig.

168

Page 124: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Kräfte und Momente sollten soweit möglich über den ohnehin zur Stromregelung elektronisch erfassten Motorstrom der entsprechenden Servoachsen gemessen werden. Gegebenenfalls muss eine Korrektur durch die zuvor identifizierte Reibung erfolgen. Momentenmeßplatformen erfordern eine aufwändige berührungslose Signalübertragung. Kraftmeßplatformen müssen in die Struktur eingesetzt werden und machen diese ggf. an entscheidender Stelle weicher. Diese zudem sehr kostenintensiven Meßsysteme bleiben daher auf Versuchsaufbauten und Laborbetrieb beschränkt.

2.1.1.5 Zusammenfassung zu Servomotoren Der Servomotor erzeugt – leicht verzögert - die Stellgröße einer Servoachse. Bei elektrischen Antrieben wird durch den Stromregelkreis auch die Rückwirkung der bewegungsbedingt induzierten Spannung wirkungsvoll unterdrückt. Damit kann das vollständige Blockschaltbild aus Abb. 2.1.4 deutlich vereinfacht werden, wie Abb. 2.1.18 zeigt:

� � � �

� � � 11 , � # � � � � 1 % <

� �

� � � .

� �

� /

� /

� /

� �

� � � � � = > �

( � � � �

� � � 11 , � # � '

� � � � �

( +

� � � � �

� � � � �

� +

$ % $ �

- � � � � � � � � � �

� � � � � � � �

? � � � � � � � � � � � �

� �

� � � �

/ � � * � �

� � � � �� � � � �

� � � � � � � � �

� � � � � � � � � � � �

Abb. 2.1.18 Vereinfachtes Blockschaltbild des Servomotors im für Vorschubantriebe typischen Betriebsbereich. In diesem Modell sind alle relevanten Parameter eines Vorschubantriebes enthalten. Die Erfahrung im Rahmen vieler Antriebsauslegungen zeigt, dass mit diesem Modell fast immer eine ausreichende Simulationsgenauigkeit erreicht wird. Einzig die Abtastung der kaskadierten Regelkreise muss bei extremer Antriebsdynamik noch berücksichtigt werden. Marktgängige Umrichter besitzen noch weitere zusätzliche Filter und Einstellparameter, die für die Antriebsoptimierung in seltenen Fällen nützlich sein könnten. Diese in Abb. 2.1.18 nicht berücksichtigten Erweiterungen sind in den Produktunterlagen meist schon als Blockschaltbild oder Übertragungsfunktion erläutert und können leicht nachgetragen werden. Darauf wird in Abschnitt 2.1.3.5 noch einmal näher eingegangen. Für beschleunigungsbegrenzte Führungsgrößen ist die Stellgrößensättigung im praktischen Betrieb nicht wirksam und kann daher für die Reglereinstellung vernachlässigt werden. Somit kann der ausreichend gedämpft eingestellte stromgeregelte Motor mit Stellgrößenfilter bezüglich seiner Wirkung auf die überlagerten Regelkreise mit guter Näherung durch ein Übertragungsglied erster Ordnung nachgebildet werden (Abb. 2.1.19). Die Ersatzzeitkonstante T ergibt sich

169

Page 125: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

aus der Addition der Zeitkonstante Telr = Tel.R/Kpi des stromgeregelten Motors, der

Totzeit Ttot’ und gegebenenfalls der Filterzeitkonstante eines Stellgrößenfilters Tf (Groß et al. 2000):

T = Telr+ Ttot’+ Tf (2.1.44)

� � � � �

� � � 11 , � �

������������

�@��������

"�������$�

���������� �

Abb. 2.1.19. Vereinfachtes Modell des stromgeregelten Antriebs

Für hydraulische Antriebe kann das stark vereinfachte Aktormodell in Abb. 2.1.19 auch eingesetzt werden. Dazu muss in Gl. (2.1.44) Telr durch Thy ersetzt werden, wobei zu beachten ist, dass die Rückwirkung der Bewegung von Zylinder oder Hydromotor nur für kleine Geschwindigkeiten vernachlässigbar ist.

170

Page 126: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.1.1.6 Beispiele und Übungen

Beispiel: Stromregler an einem Torque-Motor

−0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

0.2

0.4

0.6

0.8

1

1.2

Sprungantwort des Stromregelkreises einer Servoachse

t/Tel

I/Iso

ll

SollwertMessungSimulation des vollst. MotormodellsPT1−Glied mit Ersatzzeitkonstante T

Abb. 2.1.20 Torque-Motor-getriebene Rundachse für Fräsmaschinen (mit freundlicher Genehmigung der Rückle GmbH, Römerstein)

Rotor- und Tischträgheit J = 4.5 kgm2

Wicklungswiderstand R = 2.5 Ohm Wicklungsinduktivität L =30 mH Elektrische Zeitkonstante Tel = 12 ms Momentenkonstante KM = 36 Nm/A Spannungskonstante KS = 34 Vs/rad Lagerreibung MR = 40 Nm PWM -Frequenz fPWM = 8 kHz Zwischenkreisspannung UZ = 600 V Maximalstrom Imax = 25 A Winkelgeberauflösung (EnDAT mit 16384 Strichen) Δϕ =2. π /16384.4.1024 Abtastzeiten (Lage-, Drehzahl-, Stromregelkreis) Tsx= 1ms, Tsv= 250µs, Tsi= 62,5µs Stellgrößenfilter Tf=0.25ms Tabelle 2.1.4 Motor- und Umrichterdaten Die Fräsmaschinen-Rundachse in Abb. 2.1.20 wird mit einem großen drehmomentstarken Servomotor (sogenannter Torque-Motor) direkt angetrieben. Bei dieser Anwendung mussten Motor und Umrichter von verschiedenen Herstellern bezogen werden, so dass u.a. die Stromreglereinstellung vom Rundachshersteller selbst vorgenommen werden musste. Die Motor- und Umrichterdaten der Achse sind in Tabelle 2.1.4 gegeben. Die wirksame Totzeit im Stromregelkreis beträgt: Ttot’=1/fPWM + 2.Tsi = 250µs Mit den analytischen Einstellhinweisen in Gl. (2.1.18) und Gl. (2.1.22) folgt:

Kpi ≈ 0,5.R.Tel/Ttot’ = 60 V/A Tni ≈ 4.R.Tel/Kpi = 2 ms Die Einstellhinweise nach Chien/Hrones/Reswick ergeben für Kpi vergleichbare Werte, die Nachstellzeit wäre aber deutlich größer (d.h. recht konservative Einstellung). Mit den heuristischen Einstellhinweisen an der realen Anlage wurden von verschiedenen Einstellern Werte von Kpi = 40-60 V/A und Tni = 1,5-5 ms gewählt. Die Unterschiede kommen von der subjektiven Wahrnehmung des Höreindrucks

171

Page 127: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

sowie von der begrenzten Auflösung des Zeitverlaufs der Sprungantwort in der Oszilloskop-Funktion der Inbetriebnahmesoftware [SimocomU]. Abb. 2.1.20 zeigt den zeitlichen Verlauf der Sprungantwort an der Achse gemessen, sowie mit dem vollständigen Motormodell gemäß Abb. 2.1.4 simuliert. Die auf die elektrische Zeitkonstante bezogene Zeitachse macht deutlich, wie wirkungsvoll die Stellgrößengenerierung durch den Stromregelkreis beschleunigt werden kann. Die elektrische Zeitkonstante des stromgeregelten Motors beträgt gemäß Gl. (2.1.23):

Telr=Tel . R/Kpi = 0,5 ms

Addiert man die Verzögerungszeiten von Stellgrößenfilter, Stromregelkreis und Totzeit, so ergibt sich die Ersatzeitkonstante der Stellgrößengenerierung zu

T = Telr + Ttot’ + Tf =1 ms Dieser Wert liegt am unteren Rand der realistischerweise mit elektrischen Servomotoren erreichbaren Stellgrößendynamik. Aufgrund der meist wirksamerer eingestellten Stellgrößenfilter sind typische Werte in der Praxis eher bei T = 2-3 ms anzusetzen. Die Sprungantwort des vereinfachten Modells gemäß Abb. 2.1.19 ist beispielhaft in Abb. 2.1.20 dem simulierten Verlauf mit dem vollständigen Motormodell gegenübergestellt. Die zeitverzögerte Stellgrößenerzeugung wird durch das vereinfachte Modell bereits gut nachgebildet. Vergleicht man zusätzlich den zeitlichen Verlauf der mechanischen Systemgrößen (Position, Geschwindigkeit), so sind die Abweichungen zwischen detailliertem Motormodell bzw. Messung einerseits und vereinfachtem Motormodell andererseits äußerst gering. Dies wurde durch viele Tests und Inbetriebnahmen praxisnah bestätigt. Das vereinfachte Modell des stromgeregelten Antriebs gemäß Abb. 2.1.19 kann somit den nachfolgenden analytischen Betrachtungen zugrunde gelegt werden.

Übung I: Stromregler am Tauchspulmotor Obgleich der Tauchspulmotor aus Abb. 1.3.1 mit einer elektrischen Zeitkonstante von Tel=1ms schon sehr schnell eine Stellgröße aus der Eingangsspannung generiert, kann er durch einen PI-Stromregler noch weiter verbessert werden. a) Erweitern Sie das Blockschaltbild in Abb. 1.1.26 um einen PI-Stromregelkreis und implementieren Sie das Modell in MATLAB/Simulink. Stellen Sie durch iterative Simulationen den Stromregler zunächst heuristisch anhand der Sprungantwort (z.B. von 0 auf Isoll=1 A) ein. b) Welche Werte für Kpi und Tni liefern die analytischen Einstellregeln? Vergleichen Sie mit diesen Werten simulativ die Stellgrößengenerierung mit und ohne Stromregler. c) Stellen Sie die Nyquist-Ortskurve sowie das Bode-Diagramm des offenen Stromregelkreises dar und ermitteln Sie mit den Einstellwerten nach Aufgabenteil b) die Betrags- und Phasenreserve. d) Vollziehen Sie simulativ mit dem Stromregelkreis des Tauchspulmotors das heuristische Einstellverfahren nach Ziegler-Nichols nach: Bei diesem rein experimentellen Einstellverfahren wird die P-Regelverstärkung zunächst bis an den Stabilitätsrand angezogen, d.h. der Regelkreis schwingt ungedämpft (das sollte man nicht mit einer empfindlichen Anlage oder gar mit einem Atomkraftwerk ausprobieren... aber in der Simulation passiert ja nichts). Dieser Grenzwert Kpi,grenz und die sich einstellende Peropdendauer Tgrenz der Regelgröße liefern den Hinweis auf die Reglereintellung mit Kpi=0,45.Kpi,grenz und Tni=0,85.Tgrenz.

172

Page 128: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.1.4 Steuerung von Werkzeugmaschinen und Robotern

Numerische Steuerungen an Werkzeugmaschinen (CNC – s. Abb. 2.1.48) und Robotern (RNC) unterscheiden sich heute fast nur noch in der Programmier-oberfläche bzw. Programmiersprache. Während für Werkzeugmaschinen der Standard DIN 66025 (auch „DIN-ISO-Code“ genannt) weitgehend durch die Steuerungshersteller eingehalten wird, haben sich bei Robotern nur herstellerspezifische Konstrukte etabliert. Die für Roboter normierte Sprache IRL (Industrial Robot Language, DIN 66312) hat dagegen keine praktische Bedeutung. Damit ist das Übertragen von CNC-Programmen von einer Werkzeugmaschine auf eine andere mit wenigen Modifikationen möglich, wogegen Roboterprogramme nur zwischen Robotern desselben Herstellers austauschbar sind.

- � � � � � � �

0 1 0

� � � � + � � � � * � � � � �

� G � � � � � � = > � � � � � � � � � �

� � $

- � -

. � � � �

/

2 0 �

� � � � �H ) � � � �

/ � � � �I

) � � � �

� � � � � � � � � � $ � �

I ) � � � �

@ � � � �

� � � � �

) � � � �

� )

� .

� @

� �

/ � � � �H

) � � � �

� � � � � � � � � � $ � �

H ) � � � �

/ � � � �7

) � � � �

� � � � � � � � � � $ � �7 ) � � � �

/ � � � �)

) � � � �

� � � � � � � � � � $ � �

) ) � � � �

� � � � �) ) � � � �� � � � �

7 ) � � � �

� � � � �I ) � � � �

"

3

4

A � � � �

� � � � � � � � � � � � � � � � �

� � � � � � � ! 5 ! 6 � � � � � � � � � � � � �7 � � � � � � � �

.

Abb. 2.1.48 Übersichtsdarstellung zu den Komponenten einer numerisch gesteuerten Maschine

Die in einer Datei abgelegte Bewegungsinformation (NC- oder Roboter-Programm) muss von der Steuerung in entsprechende Führungsgrößen für die Antriebe umgewandelt werden. In diesem Abschnitt sollen die grundlegenden Eigenschaften des Führungsgrößengenerators numerischer Steuerungen behandelt werden, um deren Einfluss auf die Bahnbewegung von Werkzeugmaschinen und Roboter im Modell ausreichend genau quantifizieren zu können. Bezüglich der inzwischen sehr umfangreichen Funktionalität moderner Steuerungen sei auf die Literatur (Weck 1995) und die entsprechenden Handbücher (Siemens 2004, Heidenhain 2004, Rexroth 2004) verwiesen. Abb. 2.1.49 zeigt das Prinzip der Führungsgrößengenerierung in numerischen Steuerungen am Beispiel einer Stufenbahn auf. Das NC- oder Roboterprogramm ist satzweise aufgebaut, wobei jeder Satz die geforderte Bewegung von einen Stützpunkt zum nächsten in Basiskoordinaten beschreibt. Aus diesen Sätzen werden zunächst im Grobinterpolationstakt Tgrob=2..10 ms Grobinterpolationspunkte erzeugt, die entsprechend der Kinematik in Achs- bzw. Gelenkkoordinaten transformiert werden. Der Feininterpolator erzeugt daraus die für den Lageregelkreis erforderlichen Sollwerte. Feininterpolationstakt und Lageregeltakt sind synchronisiert.

208

Page 129: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

- � � � � � � � �+ * � � � C 9 # 1 � % �

! 1

! 2

! 6

! 4

@ � � � � �

. � � � � �

9 # 1

9 # 1 9 # 4

# # #! � ! � ! 1 � + � � C 1 9 9 J � ! ? ) �� ; 0 � ! 4 � + � � C 9 # 1 � % � � ! ? ) �� ; 0 � ! 6 � + � � C 9 # 1 � % � � ! ? ) �� ; 0 � ! 2 � + � � C 9 # 1 � % � � ! ? ) �# # #

# # #" 9 9 � H 9 � I 9 � � 6 9 9 9 9" 9 1 � H 1 9 9 � � 3 9 9 9" 9 1 � I 1 9 9" 9 1 � H 4 9 9# # #

� � � � � � � � � � � � � � �� ( / � � � ( � � � � / � * � � � � � � � � � �

1 0 � � � � � � � �� ? ; 0 ; � K � $ � �

8 � � � � � � � � � � � � � � 9 � � � � � � � �� / G � � � � � � � ' � � � � � � � � �

, � � � � � � � � � � � � � � � � �

@ � � � � � � � �

� � � � � �

9 # 1

1 4 6

9 # 4

9

. � � � � � � � �

� � � *

� � � � � � � � � � � � � � � � � �

� � � *

. � � � � � � �

�� ' � � �

Abb. 2.1.49 Prinzip der Führungsgrößengenerierung numerischer Steuerungen für Roboter und Werkzeugmaschinen

209

Page 130: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.1.4.1 Führungsgrößen Die in Abb. 2.1.49 dargestellten Führungsgrößen berücksichtigen die physikalischen Begrenzungen der Achsen noch nicht. So wird bei den Punkten P2,3 ein Geschwindigkeitssprung verlangt, dem die Achsen nur verzögert folgen können. Bei schwacher Lageregelverstärkung wirkt der Lageregelkreis wie ein Tiefpass, so dass die daraus resultierende Stellgröße (ωsoll oder vsoll) wieder „weich“ ist und der Geschwindigkeitsregelkreis diesem Sollwerten gut folgen kann. Dieses Tiefpassverhalten des Lagereglers erkauft man sich mit einem Schleppfehler σ.

sollv

xdtd

K⋅=

1σ (2.1.72)

Der Schleppfehler kann als Maß für die geschwindigkeitsabhängige Kontur-verzerrung (z.B. bei einer Eckenfahrt ohne Halt) aufgefasst werden. Der Maximalstrom des Umrichters wird zum Schutz der Leistungshalbleiter überwacht und ist damit begrenzt. Die meisten Regler sehen zudem für die Sollgeschwindigkeit oder den Stromsollwert ein Stellgrößenfilter vor. Damit können die in den Antrieb eingebrachten Kräfte und Momente zusätzlich begrenzt und „geglättet“ werden. Diese Maßnahmen greifen allerdings in den geschlossenen Regelkreis ein, womit die Phasenreserve sinkt und der Regelkreis entdämpft wird. Damit ist durch die reglerinternen Filter nur dann eine Anpassung an „rauhe“ Sollwerte möglich, wenn die dazu notwendigen Filterzeitkonstanten deutlich kleiner als die Zeitkonstanten der entsprechenden Regelkreise sind. Um eine Werkzeugmaschine oder einen Roboter mit größeren Regelverstärkungen sowie Vorsteuerung – und damit mit einer besseren Bahntreue – betreiben zu können, müssen die physikalischen Grenzen der Achsantriebe bei der Führungsgrößengenerierung berücksichtigt werden:

• Maximalgeschwindigkeit vmax Die Maximalgeschwindigkeit ist physikalisch durch die Zwischenkreisspannung und die Spannungskonstante des Motors oder die zentrifugalkraftbedingt begrenzte Rotordrehzahl gegeben. Außer bei Eilgangbewegungen sind die prozessbedingt geforderten Geschwindigkeiten meist deutlich kleiner als die antriebsseitig mögliche Geschwindigkeit.

• Maximalbeschleunigung amax Der Motorstrom ist aufgrund der Belastungsgrenze der Leistungshalbleiter im Umrichter oder aufgrund der zulässigen Erwärmung des Motors begrenzt. Die daraus resultierende Maximalkraft Fmax limitiert zusammen mit der zu beschleunigenden Gesamtträgheit m die mögliche Achsbeschleunigung amax.

mIK

mF

a F maxmaxmax

⋅== (2.1.73)

• Maximalruck rmax Wie bereits in Abschnitt 2.1.1 dargestellt, wird der Stromregelkreis benötigt, um die reglerseitig geforderte Stellgröße möglichst verzögerungsarm in einen entsprechenden Motorstrom umzusetzen. Der schnellst mögliche Stromanstieg ist durch die Zwischenkreisspannung UZ und die Motorinduktivität L gegeben:

L

UdtdI Z=

max (2.1.74)

210

Page 131: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Daraus folgt für den möglichen antriebsseitigen Ruck (s.a. Weck u.a. 1999):

maxmax

max dtdI

mK

dtdar F ⋅== (2.1.75)

Die tatsächlich einstellbaren Ruckwerte sind allerdings deutlich kleiner, da die beschleunigungsänderung die Struktureigenschwingungen anregt. In Abschnitt 3.2 wird anhand eines vereinfachten Achsmodells ein analytischer Zusammenhang zwischen dominierender Struktureigenfrequenz f0 und möglichem Ruck hergeleitet, der gut mit den bisherigen Erfahrungen an Werkzeugmaschinen übereinstimmt:

( ) 0150 far ⋅⋅≈ maxmax .., (2.1.76)

Für Test, Reglereinstellung und Auslegung einer einzelnen Vorschubachse wird eine Positionierbewegung betrachtet, deren zeitlicher Verlauf in Abb. 2.1.50 dargestellt ist. Oft werden in Umrichtern für Einzelachsanwendungen recht einfache Führungs-größengeneratoren vorgesehenen, die nur beschleunigungsbegrenzte Sollwerte erzeugen. Hier wird der Achse ein unendlich hoher Ruck abverlangt. Der Stromregelkreis oder der Stellgrößenfilter des Geschwindigkeitsreglers begrenzt dann den Ruck „hardwaremäßig“.

� + ! � � � � � � � � � � � ! � � � � � � � � � � � �� + ! : � � � � � � � � � � � � � � � � � � � �! ! ! ! � � � � � � � � � � � �

. � � �

� �

. � � �

. 4

. 1 . 1

. 4

+ � � � + � � �

+ � � . + � � .

� � � .� � � .

� � � . � � � .

� � � .� � � �

� � � .

� � � � � � � �

� � � �

��

� 1 � 4 � 6 � 6 � L� 3� 5� 2� 4� 1

� + ! " � � � � � � � � � � ! � � � � � � � � � � � �

. � � �

. 1

. 4

+ � � �

+ � � .

� � � .

� � � .

� � � .

� � � .

� � � �

� � � �

� 6 B � L B� 3 B� 5 B� 2 B� 4 B� 1 B

Abb. 2.1.50 Zeitverläufe von Ruck, Beschleunigung, Geschwindigkeit und Position für eine Positionierbewegung

Der ruckbegrenzte Führungsgrößenverlauf in Abb. 2.1.50 ist positionierzeitoptimal, da er die Leistungsgrenzen des Antriebes voll ausnutzt. Für die Vorsteuerung werden zudem die zeitlichen Verläufe der Sollgeschwindigkeit und – seltener – der Sollbeschleunigung benötigt. In (Weber 2003) ist die bei Robotern oft eingesetzte Methode zur ruckbegrenzten Führungsgrößenerzeugung

211

Page 132: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

mit Hilfe von sinoidenförmigen Beschleunigungsverläufen beschrieben. Ein Steuerungshersteller [Heidenhain] begrenzt zudem noch die Ableitung des Rucks – den Zuck. Darauf wird in Abschnitt 3.2 näher eingegangen. Zur Beschreibung der TCP-Bahn von Robotern wie Werkzeugmaschinen werden Geradenstücke (G01) und Kreissegmente (G02/G03) benutzt (siehe Abschnitt 2.1.4.2). Andere Bahnformen (z.B. für Freiformflächen) werden durch stückweise gerade oder kreissegmentförmige Bahnabschnitte angenähert (Bahnsegmente). Um den Bearbeitungsprozess definiert zu führen, ist eine möglichst konstante Bahngeschwindigkeit erforderlich. Dazu sind jedoch an den Stützpunkten der Geradenübergänge sprunghafte Geschwindigkeitsänderungen und an Geraden-Kreis- sowie Kreis-Kreis-Übergängen Beschleunigungssprünge erforderlich. Diese „rauen“ Führungsgrößen können von der Maschine nicht ideal umgesetzt werden. Um ruck- und beschleunigungsbegrenzte „weiche“ Führungsgrößen zu erzeugen, sehen moderne Bahnsteuerungen (Siemens 2004, Heidenhain 2004, Rexroth 2004) folgende Strategien vor (Abb. 2.1.51):

� � � � � � � � � �

� � $ � � � � �

� � � � � � A � � �

A � � � � � � � �" � � � � � � � �

A � � � � � � � �M * � � � � � � � � ' � �

M * � � � � � � � � ' � � � �

Abb. 2.1.51 Strategien von Bahnsteuerungen

• Genauhalt nach jedem Bahnsegment (G09 oder G61): Die Bewegung wird an jedem Bahnsegmentübergang kurz angehalten und dann – mit oder ohne Wartezeit - ruck- und beschleunigungsbegrenzt wieder fortgesetzt. (Sollwertverläufe wie in Abb. 2.1.50). Die programmierte Kontur wird so exakt nachgefahren, ohne die Leistungsfähigkeit der Maschine zu überfordern. Allerdings liegt dann keine konstante Bahngeschwindigkeit vor, was bei Fräsmaschinen an den Segmentenden zu Freischneidmarken führt. Die Oberfläche ist dann zwar sehr konturgenau jedoch optisch oft nicht befriedigend glatt und muss nachgearbeitet werden (z.B. Polieren von Hand). Ein Lackierroboter würde an den Segmentenden bei Genauhalt einen dickeren Farbauftrag erzeugen. Gerade bei schnell abgefahrenen Polygonzügen kann es zudem zu einer unerwünschten Anregung der schwingfähigen Struktur kommen.

212

Page 133: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

• Überschleifen der Segmentübergänge (G63 oder G64): Hierzu werden die Segmentübergänge innerhalb eines Toleranzbereiches (dem sog. Überschleifradius) verrundet. Dies kann durch eine Satzweiterschaltung nach Erreichen eines Positionierfensters oder durch das Einfügen von verrundeten Bahnsegmenten an Konturecken geschehen. Die Sollbahn wird damit gegenüber der programmierten Kontur verändert. Dafür entsteht durch die kontinuierliche Bahngeschwindigkeit eine gleichmäßige Oberfläche beim Fräsen bzw. eine konstanter Farbauftrag beim Lackieren. Für sehr klein gewählte Überschleifradien kann es jedoch zu einer Überforderung der Maschine kommen, aus der eine zusätzliche Abweichung der Bahn vom Sollwert und möglicherweise auch eine Schwingungsanregung der Struktur resultiert.

• Spline-Interpolation (herstellerspezifisch): Sollen die Stützpunkte genau und mit definierter Geschwindigkeit durchfahren werden, wird die Führungsgröße mit (meist kubischen) Splines interpoliert (s.a. Weck 1995). Daraus entstehen krümmungsstetige Sollbahnen, die an die dynamischen Möglichkeiten der Maschine angepasst werden können.

• Vorausschauende Geschwindigkeitsanpassung (look ahead): Mit dieser Funktion ermittelt die numerische Steuerung für die programmierte und ggf. überschliffene Kontur vorab die erforderlichen Beschleunigungen und passt die Bahngeschwindigkeit an die dynamischen Möglichkeiten der Maschine an. Durch die Geschwindigkeitsanpassung abweichend von der programmierten Geschwindigkeit kommt es an Ecken und engen Konturradien zu optischen Abweichungen des Bearbeitungsergebnisses, die jedoch meist toleriert werden können

2.1.4.2 Programmierung Während die numerischen Robotersteuerungen (RNC) bis heute von den Roboterherstellern selbst entwickelt und gefertigt werden, sind alle Steuerungsplattformen der Werkzeugmaschinenhersteller verschwunden. Diese nutzen heute die Steuerungsplattformen (CNC) weniger großer und einiger kleiner Steuerungsproduzenten. Dadurch sind die wichtigsten Grundfunktionen zur Programmierung von Werkzeugmaschinen normiert (DIN 66025 bzw. ISO 6983). CNC-Bearbeitungsprogramme sind satzweise aufgebaut. Die Steuerung interpretiert jeden Satz (siehe auch Abb. 2.1.52) und ruft den folgenden Satz erst auf, wenn die Anweisungen der vorherigen Satzes ganz abgearbeitet sind. Der Satzaufbau hat folgende Struktur:

Satz Geometrie Technologie Hilfsfunktionen Wegbe-dingung

Koordinaten Dreh-zahl

Vorschub Werkzeug Peripherie Nr.

G X Y Z A B C S F T M

Abb. 2.1.52 NC-Programmsatzaufbau mit wichtigen Funktionen

213

Page 134: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Die wichtigsten Geometriefunktionen (G-Funktionen) sind: G00 Punkt im Eilgang anfahren G01 Punkt auf einer Geraden anfahren (Geradeninterpolation) Beispiel: G01 X100 Y50 F5000 – fahre geradeninterpoliert zum Punkt X=100mm, Y=50mm mit v=5000mm/min G02/03 Kreisinterpolation (im/gegen Uhrzeigersinn) Beispiel: G02 X100 Y50 I50 J25 F100 – fahre auf einer Kreisbahn in der X-Y- Ebene mit Mittelpunkt X=50mm, Y=25mm im Uhrzeigersinn zum Punkt X=100mm, Y=50mm mit v=5000mm/min G04 Wartezeit (in ms) G33 Gewindeschneiden mit konstanter Steigung Beispiel: G33 X100 I1 F600 – Gewinde in X-Richtung mit 1mm Steigung

Dazu existiert eine Vielzahl von G-Funktionen zur Ebenenauswahl, Werkzeug-korrektur, Nullpunktverschiebung sowie Maß- und Einheiteneinstellung. Die Technologiefunktionen definieren Spindeldrehzahl und Geschwindigkeit. Den Werkzeugplätzen wird eine Werkzeuggeometrie (Fräserlänge, Durchmesser,..) zugeordnet, mit der die Steuerung die Führungsgrößen entsprechend anpassen kann. Hilfsfunktionen (M-Funktionen) steuern externe Komponenten (oft über die SPS oder eigene CNC-I/O-Module) sowie externe Eingriffe in den Programmablauf. Häufige M-Funktionen sind:

M01 Programmhalt (ggf. über Schalter) M02 Programmende M30 Programmende mit Rücksetzen auf Programmanfang M03/04 Hauptspindel ein rechts-/linkslaufend M05 Hauptspindel aus

Dazu können maschinenspezifische M-befehle definiert werden um Werkzeug-wechsel, Hilfsantriebe etc. zu steuern. Moderne CNC-Steuerungen sehen auch Kontrollstrukturen für Wiederholungen und Verzweigungen, Zuweisungen auf Variable, arithmetische und logische Operationen sowie Unterprogramme vor. Oft können vom CNC-Programm aus auch SPS-Variable oder Achsparameter (z.B. Regelverstärkungen) verändert werden. Eine ausführliche Darstellung der „DIN-ISO-Programmierung“ von Werkzeugmaschinen nebst anschaulichen Beispielprogram-men ist in [Pritschow, Weck] zu finden. Das Bearbeitungsprogramm kann bei einfacheren Werkstücken direkt an der Maschinensteuerung eingegeben werden. Bei komplexeren Bearbeitungsaufgaben (z.B. Freiformflächen, mehrstufige Zerspanprozesse mit hohem Zerspanvolumen) setzt man CAD-CAM-Werkzeuge ein, die die umfangreichen Satzfolgen direkt aus den CAD-Konstruktionszeichnungen generieren und die Bearbeitung zuvor visuell simulieren [Weck]. Die herstellerspezifischen Funktionen von CNC und RNC sind heute so vielfältig, dass alle Hersteller umfangreiche Schulungsangebote für Bediener, Inbetriebnahmepersonal oder Entwickler bereithalten, deren Nutzung dringend zu empfehlen ist.

214

Page 135: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Roboterprogrammiersprachen sind deutlich einfacher aufgebaut. Ein Normierungs-versuch (IRL – Industrial Robot Language) ist jedoch gescheitert. Alle herstellerspezifischen Roboter-Programmiersprachen (Kuka KRL, ABB RAPID, Stäubli V+) stellen einen Vorrat an Grundbefehlen zur Verfügung, mit denen sich die üblichen Aufgabenstellungen bewältigen lassen: - Fahrbefehle zur direkten Ansteuerung von Zielpunkten (Point to Point - PTP) - Fahrbefehle zur Ansteuerung von Zielpunkten auf Geradenbahnen (LIN) - Fahrbefehle für Kreisbahnsegmente (CIRC – über Zwischenpunkt definiert) - Ansteuerung des Effektors (Greiferbetätigung, Schweißzange) - Ein- und Ausgabe von Sensorsignalen für Meß- und Sychronisierungsaufgaben - Kontrollstrukturen für Wiederholungen und Verzweigungen - Zuweisungen auf Variable, arithmetische und logische Operationen, Unterprogramme Die Eingabe der Stützpunkte kann On-Line durch die sog. Teach-In-Programmierung erfolgen (dabei wird die Roboterzelle jedoch belegt) oder Off-Line an einem externen Programmierplatz durch Eingabe einer Koordinatentabelle z.B. auf Basis einer Werkstückzeichnung (wie bei der CNC-Programmierung). Abb. 2.1.53 zeigt eine beispielhafte Bedienoberfläche eines Industrieroboters nebst einem Roboter-programm:

Abb. 2.1.53 Beispiel für eine herstellerspezifische Roboter-Programmiersprache mit Eingabewerkzeug (Kuka KRL)

215

Page 136: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.1.4.3 Kopplung von NC-Achsen Verschiedene Bearbeitungsprozesse erfordern die synchrone Bewegung von numerisch gesteuerten Achsen. Dazu werden diese Achsen temporär oder fest steuerungsseitig miteinander verkoppelt. Dabei werden zwar sicherheitskritische Zustände der einzelnen Koppelachsen (z.B. Soll-Istwert-Abweichungen) überwacht, jedoch nicht geregelt. So gesehen ist der in Abschnitt 2.1.3.4 behandelte Gantry-Verbund bereits eine steuerungsseitige Achskopplung, da hier zwei im Prinzip unabhängige NC-Achsen über einen gemeinsamen Sollwert fest verkoppelt werden. Ein Beispiel für eine temporäre Verkopplung an Werkzeugmaschinen ist das Gewindeschneiden (G33 – Gewinde mit konstanter Steigung). Hier müssen eine oder mehrere Linearachsen für die Axialbewegung mit einer Rundachse für die Werkzeugbewegung für die dauer der Gewindescheidoperation verkoppelt sein. Die Steuerungshersteller erlauben darüberhinaus verschiedene Kopplungen von Achsen, die entweder fest in den Steuerparametern definiert sind oder zu Laufzeit des NC-Programmes (durch herstellerspezifische Satzbefehle) definiert und wieder gelöst werden können. Gekoppelte NC-Achsen werden als Achsverbund bezeichnet. Die angebotenen Funktionalitäten und die hersteller-spezifische Terminologie sind allerdings so vielfältig, dass hier nur eine Übersicht über die zumeist angebotenen Koppelfunktionen gegeben werden kann. Für die Entwicklung einer Produktions-maschine muss bereits in der Konzeptphase ein Applikationsspezialist des jeweiligen Steuerungsherstellers hinzugezogen werden, um sicherzustellen, dass die geplanten Kopplungen und Bearbeitungsprogrammstrukturen auch umsetzbar sind.

• „Mitschleppen“ Einer beliebig definierbaren Leitachse können beliebig viele Mitschleppachsen zugeordnet werden. Beim Bewegen der Leitachse werden auch die Mitschleppachsen unter Berücksichtigung eines jeweiligen Koppelfaktors bewegt. Für die Mitschleppachse kann zusätzlich eine unabhängige Bewegung programmiert werden, die der gekoppelten Mitschleppbewegung überlagert wird. Auch kann anstelle eines Koppelfaktors eine Koppeltabelle definiert werden, um so beliebige Bewegungen in Abhängigkeit von der Leitachsposition zu beschreiben.

• „Elektronische Kurvenscheibe“ Werden mehrere Folgeachsen über Koppeltabellen an einen periodischen Leitwert gekoppelt, so spricht man aufgrund der Analogie zu mechanischen Kurvenscheibensteuerungen von elektronischen Kurvenscheiben. Der Leitwert kann intern zeitgesteuert generiert werden oder von der Position einer internen oder gar externen Leitachse abhängig sein. Diese Leitachse kann ein Transportbandantrieb oder die Königswelle einer Anlage sein. Diese Funktionalität wird bei geringeren Anforderungen an die Synchro-nisation oft auch steuerungsextern realisiert, da dabei unterschiedliche Antriebssysteme mit Einachs-Steuerungen und dort abgelegten elektroni-schen Kurvenscheiben kombiniert werden können. Dazu ist in Abschnitt 2.4 ein Umsetzungsbeispiel mit Feldbus angegeben (Abb. 2.4.18).

• „Elektronisches Getriebe“ Hier wird eine Achse abhängig von Ist- oder Sollwerten mehrerer Leitachsen bewegt. Der unterschiedliche Einfluss der verschiedenen Leitachsen wird durch unterschiedliche Leitfaktoren sowie ggf. verschiedene Leit-Kurventabellen definiert. Elektronische Getriebe können sogar kaskadiert werden, d.h. die Folgeachse einer elektronischen Getriebestufe kann

216

Page 137: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Leitachse für ein weiteres elektronisches Getriebe sein. Damit können komplexe mechanische Getriebekopplungen durch flexible numerische Achsverbünde ersetzt werden.

Eine steuerungsseitige Kopplung von Achsen in der CNC ist immer dann sinnvoll, wenn hohe Anforderungen an die Synchronisation der Bewegungen gestellt werden. Die CNC erzeugt die synchronisierten Sollwerte zuverlässig im Grobinterpolations-takt (0,5 – 2 ms). Dagegen ist der Zyklustakt einer auf eine Master-SPS und dezentrale Positionierantriebe gestützten Kopplung meist deutlich länger und nicht unbedingt konstant, wodurch die Synchronität der gekoppelten Bewegungen schlechter wird. Ein Beispiel für die temporäre Kopplung von NC-Achsen ist in Abb. 2.1.54 dargestellt:

Abb. 2.1.54 Zahnradhonmaschine als Beispiel für die temporäre Verkopplung von NC-Achsen (mit freundlicher Genehmigung der Fässler AG, Dübendorf) Beim Zahnradinnenhonen wird ein Zahnrad-Rohling (Zahnrad gefräst und gehärtet, ggf. vorgeschliffen) in ein innenverzahntes Schleifrad (sogenannter Honstein) gedrückt. Damit wird die Zahnflankenform feingeschliffen und durch die besondere Kinematik dieses Wälzschleifprozesses eine Zahnoberfläche erzeigt, die sehr leise und wirkungsgradstarke Getriebe ermöglicht. Sowohl der Honstein (C1-Achse in Abb. 2.1.54) als auch die Werkstückspindeln (C2- und C3-Achsen) sind numerisch gesteuerte Servoachsen. Sie müssen für die Be- und Entladung sowie für das Anfahren des Abrichtwerkzeuges durch den Honstein einzeln angesteuert werden können. Im Honprozess hingegen ist die Werkzeugachse C1 mit ihren Zustellachsen Z1 und X temporär mit einer der Werkstückspindeln C2 oder C3 gekoppelt. Die Werkstückspindel ist dabei die Leitachse. Durch Kurventabellen können C1, Z1 und X so bewegt werden, dass ballenförmige Zahnflanken geschliffen und zuvor ausgemessene Zahnteilungsfehler sowie Unrundheiten gezielt beseitigt werden können [Diss Langenstein].

217

Page 138: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.1.4.4 Beispiele und Übungen Beispiel: Wasserstrahlschneiden

Abb. 2.1.55 Beispielprozess – Wasserstrahlschneiden eines Bleches In ein gebogenes Blech mit 40 mm Radius soll mit einem Wasserstrahlschneidegerät ein Ausschnitt, wie in Abb. 2.1.55 abgebildet, herausgeschnitten werden. Der Abstand des TCP (auch Effektor genannt) zum Blech soll konstant 10 mm betragen, die Schneidegeschwindigkeit 10 mm/s. Die Punkte P1 bis P5 sollen zuvor geteacht oder über eine Koodinatenzuweisungs-tabelle manuell eingegeben sein: P1: X=20mm; Y=10mm; Z=10mm; A=0°; B=0°; C=beliebig (in Greiferkoordinaten) P2: X=30mm; Y=10mm; Z=10mm; A=0°; B=0°; C=beliebig P3: X=52,12mm; Y=10mm; Z=18,78mm; A=0°; B=45°; C=beliebig P4: X=60mm; Y=10mm; Z=40mm; A=0°; B=90°; C=beliebig P5: X=60mm; Y=10mm; Z=80mm; A=0°; B=90°; C=beliebig ... Ein Programmvorschlag angeleht an die Kuka Robot Language (KRL) lautet: INI % Initialisieren, Freigabe PTP HOME % Ausgangsposition HOME anfahren PTP P1 vel=100% % Anfangspunkt anfahren SET KGG1 State=CLO % Wasserstrahl an LIN P2 vel=0.01m/s % Gerade zu P2 CIRC P3 P4 vel=0.01m/s % Kreisbahn über Zwischenpunkt P3 nach P4 LIN P5 vel=0.01m/s % Gerade zu P5 SET KGG1 State=OPN % Wasserstrahl aus ...

218

Page 139: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.3 Ereignisdiskrete Steuerungen Servoachsen und Manipulatoren selbst können nahezu vollständig mit den bisher behandelten zeitkontinuierlichen Beschreibungsformen modelliert und analysisert werden. Bindet man diese Komponenten jedoch als Subsysteme in ein Produktionssystem ein, wie in Abb. 2.3.1 am Beispiel einer Roboterzelle dargestellt, dann müssen die Wechselwirkungen zwischen den Komponenten (Förderband-Roboter-Greifer-Bildverarbeitung) ereignisdiskret beschrieben und analysiert werden.

� � � � � � � � � � � � � � �

� � �� �

� � � � � � � � � � � � �

� � �

� � � �� � � � � �

� � � � � � � � � � � � � �

� � � � � � � � � �� � � � � �

� � � � � � �

� � � � � � � � � !

" � # � � $ � � �

� � �

% � � & '( � � & � � # �

) � � ( � � # �� � # � � � � � �

� � � � � � # �& � # � � � �

� �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � !

� � � � � � � � � � �

� � � � � � � � � �� � � � � �

� � � � � � � � � �� � � � � �

� � � � � � � � � �� � � � � �

� � � � � � � � � �� � � � � �

� � � � � � � � � �� � � � � �

� � � � � � � � � �� � � � � �

� � � �� � � � � �

� � � �� * � � � �

� � � � � + � � � � � � �

, � � � �) � � � & � � � �

� " � � � � � � �

� � � � � � � � � �

� � � � � � # � � � & � � # � � � � #

% � � & ' � � � # � � � � � � #

Abb. 2.3.1 Übersichtsdarstellung zu den Komponenten einer Roboterzelle In der Produktionstechnik unterscheidet man dazu verschiedene Steuerebenen, die in Abb. 2.3.2 dargestellt sind (auch „Produktionspyramide“ genannt). Auf der Sensor-Aktor-Ebene werden Servoantriebe, Endschalter, Meßsysteme etc. zyklisch abgefragt und mit Stellgrößen versehen. Auf dieser tiefsten Ebene arbeiten die meisten Regelkreise der Automatisierungstechnik. Auf der Feldebene werden die Einzelsteuerungen einer Fertigungszelle (s. Abb. 2.3.1) ereignisgesteuert verkop-pelt. Die langsameren Abfragezyklen ermöglichen hier nur noch für einfachste Regelungsaufgaben. Mit der Zellenebene bezeichnet man die Kommunkationsebene zwischen Fertigungszellen (Bearbeitungszentren, Montagezellen). Hier werden größere Datenmengen (Produktdaten, CNC-/RNC-Programme) ausgetauscht. Heute ist allerdings die Trennung zwischen Feld- und Zellenbene nicht mehr sehr scharf, so dass oft nur von der Feldebene die Rede ist. In der Praxis werden ereignisdiskrete Steuerfunktionen durch SPS (Speicher Programmierbare Steuerungen) in der Sensor-Aktor-Ebene und Feldebene (siehe Abb. 2.3.2) realisiert. Die ereignisdiskrete Prozesssteuerung auf der Zellenebene oder bei verfahrenstechnischen Anlagen wird oft von Prozessleitrechnern gesteuert,

256

Page 140: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

zunehmend jedoch auch von SPS-Systemen, deren Leistungs- und Kommuni-kationsfähigkeit stetig zunimmt.

Leitebene

Zellenebene

Feldebene

Sensor-Aktor-Ebene Motoren, Sensoren, Relais, I/O-gesteuerte Subsysteme

Digitale Antriebe, Mehrachssysteme, Roboter, Montage-/ Handhabungsautomaten

Bearbeitungszentrum,Montagesystem

Fabrik, Fertigungs-leitsystem

SPS

Leit-rech-ner

Datenmenge Übertragungsdauer Übertragungshäufigkeit

Leitebene MByte Minuten Stunden .. Schicht/Tag

Zellenebene kByte Sekunden Sekunden .. Minuten

Feldebene Byte 100 µs .. 100 ms 5 .. 50 ms

Sensor-Aktor-Ebene Bit 1µs .. 1 ms 0,5 .. 5 ms (zyklisch)

Abb. 2.3.2 Produktionspyramide, Anforderungen der einzelnen Ebenen Prinzipiell können ereignisdiskrete Systeme analog zur Zustandsraumdarstellung zeitkontinierlicher Systeme beschrieben werden, wie in Abschnitt 1.2.6.3 gezeigt, jedoch gelingt dies für ereignisdiskrete Systeme nur für ganz wenige einfache Fälle. Meist muss man zum Entwurf einer ereignisdiskreten Steuerung alle Zustandswechsel einzeln betrachten und geeignet darstellen (Zustandsfolgetabelle, Automatengraph oder Petri-Netz). Da dies nur für ein kleines Komplexitätsniveau vollständig und übersichtlich gelingt, müssen komplexere Steuerungsaufgaben durch eine geeignete Hierarchisierung von Teilsteuerungen (auch innerhalb einer ereignisdiskreten Steuerung selbst) überschaubar gemacht werden. Dies geht häufig zulasten der Steuerungsgeschwindigkeit und macht größere Rechenleistungen/ Speicherkapazitäten erforderlich. Werkzeuge und Methoden zur Entwicklung komplexer ereignisdiskreter Steuerungssysteme werden permanent entwickelt und präsentiert, jedoch sind die heute verfügbaren Lösungen noch so wenig überzeugend, dass das intuitiv-heuristische Vorgehen erfahrener Steuerungs-entwickler auf absehbare Zeit nicht zu ersetzen ist.

257

Page 141: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

HMI

Prozess

Aktoren Sensoren Wandler Informationsverarbeitung (Steuerung)

Wandler

analog analog digital

Abb. 2.3.3: Steuern (open loop control), Regeln (feedback control) und Informationsfluss in Automatisierungssystemen (HMI-Human Machine Interface) Automatisierungsaufgaben umfassen im allgemeinen Steuerungen, (einfache) Regelungen und Überwachungsfunktionen. Die theoretischen Grundlagen sind in der (z.B.[Gevatter]) ausführlich beschrieben. Hier soll deshalb nur eine verkürzte Darstellung des Sachverhaltes gegeben werden. Wichtig bei bei der Betrachtung des Informationsflusses sind die zeitlichen Aspekte in Verbindung mit der erreichbaren Genauigkeit. Aus zeitlicher Sicht ist die Signalerfassung (Shannon’sches Theorem [Rembold/Levi]) über die Informationsverarbeitung bis hin zur Reaktionsgeschwindig-keit der Aktoren zu bewerten. Oberflächlich gesehen, könnte man die Aktoren (Ventile, Pumpen etc.) als Maß für die Zeitbedingungen heranziehen und die Verarbeitungsgeschwindigkeit des Prozessorsystems vernachlässigen. Das ist sicher für einen“normalen Betrieb“ ausreichend, aber leider gehören Störungen, Havarien etc. ebenso dazu und für diese Ereignisse hat das Erkennen und Reagieren oberste Priorität. Hier spielt also die Reaktionsgeschwindigkeit der Steuerung die entscheidende Rolle. Ereignisdiskrete Steuerungen können auch einfache Regelungsaufgaben erfüllen (schaltende Regler, langsame PID-Regler). Die Genauigkeit der möglichen Regelung hängt in erster Linie von der Auflösung der Analogsignale (Genauigkeit des A/D-Wandlers) ab, die mindestens 3-5 mal gößer als die erreichbare Regelgenauigkeit sein sollte, um stabile Prozessverläufe zu garantieren. Als Literatur für einschleifige Regelkreise und Entwurfsverfahren für PID-Regler ist [Lunze] geeignet.

258

Page 142: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.3.1 Speicherprogrammierbare Steuerungen Speicherprogrammierbare Steuerungen SPS (engl.: Programmable Logic Controller PLC) sind modulare und robuste Mikrocontroller-Systeme, die typischerweise in industrieller Fertigungsumgebungen ihren Einsatz finden. Sie haben aufgrund ihrer Flexibilität und der stark gesunkenen Kosten inzwischen weitgehend fest verdrahtete Steuerungen (Schütz-Steuerungen und pneumatische Folgesteuerungen), auch als verbindungsprogrammierte Steuerungen (VPS) bezeichnet, abgelöst. In Abb. 2.3.4 ist dies am Beispiel einer Türsicherung (Öffner E1.1) und eines Startknopfes (Schliesser E1.0) gezeigt, die verbindungsprogrammiert in Reihe vor ein den Prozess auslösendes Relais (A0.0) geschaltet sind. Ersetzt man diese VPS durch eine SPS, so kann dieselbe Funktionalität in verschiedenen Darstellungsformen implementiert werden, die im nachfolgenden Abschnitt 2.3.2 näher erläutert sind. In [Seitz, Pritschow] sind verschiedene weitere Beispiele zum Ersatz von VPS durch SPS dokumentiert. Stromlaufplan/ SPS elektromechanische Steuerung

E1.1

E1.0

A0.0

Eingangsmodul

Abfrage der Eingänge Bearbeitung des SPS-Programms Ausgabe der Ausgänge

Aus-gangs-modul

E1.0E1.1

A0.0

Beispiele für die Implementierung des SPS-Programms:

• Anweisungsliste (AWL) 001 U E1.0 002 UN E1.1 003 = A 0.0 004 BE

• Kontaktplan (KOP)

• Funktionsplan (FUP)

E1.0 E1.1 A0.0

E1.0

E1.1 A0.0

& Abb. 2.3.4 Beispielhafter Ersatz einer VPS durch eine SPS Geschichtlich gesehen folgt die Entwicklung der SPS den Mikroprozessoren und Controllern. Erstmals wurde 1969 unter dem Namen “Modicon 084“ von Richard

259

Page 143: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Morley ein „solid-state sequential logic solver“ (halbleiterbasierendes sequentielles Logiksystem) vorgestellt, regulär produziert und vertrieben (Abb. 2.3.5 a). a) b)

Abb 2.3.5: a) Dick Morley mit Modicon 084 (1969) (Urheberrecht --> KHS) b) SPS der Siemens S7-300-Reihe (2005) Der Kern dieser Anlage bestand aber noch nicht aus einem Prozessorchip, sondern wurde aus Einzelbauteilen auf einer Platine realisiert. Der Arbeitsspeicher von 4 kBit erreichte gerade die Leistungsfähigkeit der damals üblichen, fest verdrahteten Schaltschranklösungen. Den ersten Mikroprozessor hatte Intel zeitgleich 1969 vorgestellt. Die Serienfertigung von 4-Bit Prozessoren begann dann 1971, gefolgt von der 8-Bit Variante, der Byte-Informationen verarbeiten konnte. Als zugehörige Programmiersprache wurde der Kontaktplan KOP (engl. Ladder Diagramm) entwickelt, der auch heute noch Bestandteil der IEC-Norm 61131-3 ist (siehe Abschnitt 2.3.2). In Deutschland kam der Durchbruch Ende der 70-er Jahre mit den Geräten von Kloeckner Moeller, Kuhnke, Siemens, AEG und anderen. Die rasante Entwicklung wurde in den 80-er Jahren durch Zusammenschlüsse /Aufkäufe und Geschäftsverlagerungen bereinigt und übersichtlicher, so dass heute das SPS-System S7 (Abb. 2.3.4 b) von Siemens als Referenzsystem anzusehen ist. Die Fortschritt in der Automatisierungstechnik lässt sich von der Entwicklung am Computermarkt (Chipentwicklung, Prozessorleistung, Speicher, Peripherie, Kommunikation) nicht trennen, Während in der Anfangszeit zentrale Steuerungen üblich waren, dominieren heute dezentrale, über Feldbusse (siehe Abschnitt 2.4) vernetzte Steuerungen, deren Überwachung und Konfiguration mittlerweile über das Internet/Intranet möglich wird. Aus heutiger Sicht zeichnen sich die speicherprogrammierbaren Steuerungen durch folgende Merkmale aus: • robuste, industrieumgebungstaugliche Bauweise (thermisch, mechanisch und

elektromagnetisch) , • Möglichkeit der Anbindung an Kommunikationsnetze, • keine mechanischen Komponenten im Speichermanagement nötig, (???) • Eingabe- und Visualisierungsmodule sind nur während der Programm-

erstellung und den Tests nötig, • Normung der Programmiersprachen, • alle Betriebsweisen (Zyklisch, Echtzeituhr und Interrupt) möglich (siehe

Abschnitt 2.3.1.3)

260

Page 144: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Aus wirtschaftlicher Sicht ist der relativ geringe Preis (entsprechend grosse Stückzahlen) ein Grund, um diese Technik auch bei kleineren Anwendungen zum Einsatz zu bringen. Ein anderer Aspekt ist die Betreuung der Anlagen. Die SPS ist heute fester Bestandteil der Facharbeiterausbildung in allen Berufsfeldern der Automatisierungstechnik, so dass nicht unbedingt für jede Tätigkeit ein Ingenieurstelle vorgesehen werden muss. Als grösstes Einsatzgebiet ist sicher die Fertigungstechnik zu sehen, wo überwiegend binäre Verknüpfungen und Ablaufsteuerungen zu realisieren sind. Diese Aufgaben führen SPS mit kurzer Zykluszeit durch. Eine Erweiterung zur Messwerterfassung, Verarbeitung, Regelung und Kommunikation ist durch den modularen Aufbau der Hardware ( siehe Abschnitt 2.3.1.1) jederzeit möglich. In der Verfahrenstechnik dienen die SPS als Einzelgeräte für die Automatisierung von Teilanlagen (z.B. Tankbefüllung oder Fördereinrichtung). Die Möglichkeit der Anbindung an ein übergeordnetes Prozessleitsystem besteht natürlich auch in diesem Anwendungsbereich. Aus diesem Blickwinkel fügt sich die Geräteklasse der SPS in horizontaler, wie vertikaler Ausrichtung in die Automatisierungsebenen der Produktionspyramide (Abb. 2.3.2) ein. Aufgrund der grossen Anzahl von Anbietern auf dem Markt soll nachfolgend eine direkte Verbindung zu SPS-Typreihen vermieden werden um eine allgemeingültige Darstellung zu erreichen.

2.3.1.1 Komponenten Die SPS wird üblicherweise mit einer – im Schaltschrank ohnehin vorhandenen - Gleichspannung von 24 V versorgt. Für die Gebäudetechnik gibt es auch Varianten mit 230V-Einphasen-Wechselstromversorgung. Man unterscheidet Kompaktsteuerungen (Prozessor und Ein-/Ausgabemodule in einem Gehäuse, meist nicht erweiterbar) und modulare Steuerungen, die durch zusätzliche Baugruppen leicht erweitert werden können. Inzwischen werden auch PC-basierte Steuerungen angeboten. Im Fertigungsumfeld dominieren die modularen SPS. Die eigentliche SPS besteht aus dem Basismodul und Erweiterungsmodulen, die entsprechend der zu realisierenden Aufgabe ausgewählt werden. Das Basismodul als selbständige Einheit ist mit Prozessor, Speicher und meist auch mit einer kleinen Anzahl von Ein-und Ausgangsports verfügbar, so dass in Verbindung mit dem Netzteil kleinere Steuerungsaufgaben realisierbar sind. Eine serielle Schnittstelle zur Kommunikation (Programmerstellung) mit einem Rechner oder Handprogrammiergerät gehört zum Standard. Die Besonderheit der Kompaktsteuerungen ist die Eingabeeinheit/Tastatur und eine grafischen Ausgabeeinheit/Display.

Abb. 2.3.6 Kompaktsteuerungen (Spectra Computersysteme GmbH, Panasonic) Modulare SPS werden durch mögliche Erweiterungsmodule konfiguriert. Zu den Standarderweiterungsmodulen gehören:

261

Page 145: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

• E/A Module mit Relaisausgang • E/A Module mit Transistorausgang (pnp oder npn oder gemischt möglich) • A/D D/A –Wandler Module • Thermoelement Module • Modem Module (analog oder ISDN Verbindung) • Module mit der Möglichkeit, größere Lasten zu schalten (z.B. 230V/8A) • Module zur Feldbusankopplung (meist Profibus) • Module zum direkten Anschluss von Sensoren/Aktoren über den ASI-Bus

Darüberhinaus sind spezielle Module mit direktem Zuschnit für die Automatisierungs-technik verfügbar. Diese intelligenten Baugruppen entlasten durch ihre selbständige Aufgabenausführung die CPU (Basismodul) und gewährleisten eine hohe Dynamik und Genauigkeit. Als Beispiel können genannt werden:

- Zählen,Messen,Dosieren, inkrementelle Wegeerfassung - PID-Regelung - Positionieren mit Schrittantrieben, Servoantrieben - Temperaturregelung - Nockensteuerung - Taktsynchroner Anschloss von Antrieben

Abb. 2.3.7: Modulare Steuerungen FP2 von Panasonic und Moeller XC200 Neben der „Kompakt-SPS“ und der modularen SPS finden die „Slot SPS“ und die „Soft SPS“ ihren Einsatzbereich. Die Slot SPS besteht aus Einsteckkarten, die meist in normalen PC-Konfigurationen eingebunden werden. Die Soft SPS ist eine reine Software-Realisierung, die mittels PC (Industrie PC) ermöglicht wird. Ein Beispiel für eine Soft SPS ist das Programm CoDeSys der Firma

re ist im 3S. Damit können SPS-Programme erstellt und simuliert werden. Die Softwaweb unter der Adresse: www.3S-Software.com erhältlich. Nach Registrierung und Passworterhalt kann die Software genutzt werden. Eine reale Ankopplung von Aktoren und Sensoren an den Host-Rechner ist allerdings nur über eine zusätzliche Einsteckkarte möglich. Detaillierte Spezifikationen sind über die Firma 3S zu erfragen. Hier ist zu beachten, dass in diesem Falle der eingesetzte Rechner auch andere Aufgaben übernehmen kann (Visualisierung, Programmierung etc.). Diese Systeme sind aus dem Grund der standardisierten Plattform unter Windows interessant, da sich die Ankopplung übergeordneter Planungssysteme vereinfacht. Durch die stetige Erhöhung der Leistungsfähigkeit von PC-Systemen wird in Bezug auf die anderen SPS-Ausführungen eine höhere Verarbeitungsgeschwindigkeit erreicht. Diese Variante mit einem herkömmlichen PC (mit entsprechender Aufrüstung) ist für Echtzeitaufgaben jedoch nicht unbedingt vorzuziehen, da eine Abschätzung des Zeitverhaltens in Bezug auf das installierte Rechnerbetriebssystem (Windows etc.) extrem schwierig ist. Um das Echtzeitverhalten zu realisieren sind

262

Page 146: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

dann spezielle Industrie-PC mit einem Echtzeitbetriebssystem (siehe Abschnitt 1.1.7.1) einzusetzen. Diese Betriebssysteme, auch RTOS (real-time operating system) genannt, sind Systeme, die mit zusätzlichen Funktionen ausgestattet sind, um die unbedingte Einhaltung von Zeitbedingungen und die Vorhersagbarkeit des Prozessverhaltens zu gewährleisten. Einen Überblick über am Markt verfügbare Echtzeitsysteme gibt Wikipedia unter dem Stichwort „Echtzeitbetriebssystem“. Eine Wertung dieser Auflistung und die Gewähr der Verfügbarkeit kann hier nicht gegeben werden.

Abb. 2.3.8: Slot-SPS der Firma TRsystems GmbH und Siemens Simatic WinAC Slot 412

Abb. 2.3.9: Soft-SPS mit Codesys-Oberfläche (von S3 Homepage kopiert) Einen hervorragenden Überblick über die Vielfalt der am Markt befindlichen System bietet das SPS Magazin- Zeitschrift für Automatisierungstechnik unter der Web-Adresse: http://www.sps-magazin.ch . Aus technischer Sicht sind bei der Auswahl des Basismoduls und der Konfiguration der SPS folgende Punkte zu beachten:

- Anzahl Programmschritte - Anzahl Ein/Ausgänge - Größe des Arbeitsspeichers - Verarbeitungsgeschwindigkeit/Basisbefehl - Reaktionszeit auf äußere Anforderungen

263

Page 147: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

- Interruptfähigkeit ? - Anzahl schneller Zähler - E/A Konfiguration Relais/Tra

Zusnsistor-npn pnp atzmodule (z.B. A/D-Wandler)

Produktfamilie zu finden.

die modulare Struktur

Rechenwerk sind als Anschluss für externe Module als

ller sind universelle Mikroprozessoren, wobei Konfigurationen als Mehrprozessorrechner in

Einsatz kommen. Übliche Verarbeitungsbreiten entsprechen

Abb. 2.3.10 P r Aufbau einer SPS Bei Betrachtung des Speichers fallen doch Unterschiede zu den bekannten Modulen der PC-Technik auf. Die SPS verfügt über keine Festplatte, die das Programm au r Arbeitsspe SPS in Bereiche aufgeteilt, die sich in Ihrer Hardwareausführung unterscheiden, wie Abb. 2.3.11 zeigt.

Abb. 2.3.11 Speicheraufteilung einer SPS Zum Einsatz kommen Festwertspeicher (z.B. EEPROM, Flash-EPROM), RAM-Speicher mit der Unterscheidung, ob die Daten bei Spannungsausfall erhalten bleiben oder verloren gehen. Nichtflüchtige Speicher können als batteriegepufferte CMOS-RAM Module ausgeführt werden, flüchtige Speicher sind normale RAM-

- Anzahl und Leistung der- Kommunikationsmodule ?

Diese Informationen sind im Datenblatt einer SPS-

2.3.1.2 Architektur Die weiteren Ausführungen beziehen sich im wesentlichen aufder SPS. Die innere Struktur heutiger SPS-Basismodule basiert auf der Von-Neum nn-Archtektur. Die Komponenten Prozessor, Speicher undaüber einen internen Bus verbunden, derSteckverbindung an das Gehäuse geführt wird. Die verwendeten Contro

den SPS selten zumdem heutigen Stand der Technik und liegen bei 32/64 Bit.

Mikroprozessor Speicher Anwenderprogramm Merker Signalspeicher

Ein / Ausgänge Serielle Schnittstelle Netzversorgung

Interner Bus

rinzipielle

fnimmt. De icher ist in der

Programm- Daten- Sonderdaspeicher nicht flüchtig

speicher speicher Systeminformationen

ten-

feste Adress- zuweisung Moduladressen

variable Adresszuweisung eigene Deklaration

flüchtig nicht flüchtig

264

Page 148: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Bausteine. Aufbau und Arbeitsweise der genannten Speicher sind in Abschnitt 1.2.1.3 sowie in [Seiffart/Beikirch,Tietze/Schenk] beschrieben. Systemprogramme und Anwenderprogramme sind in Festwertspeichern bzw. im nichtflüchtigen Bereich des Arbeitsspeichers untergebracht. Anwenderdaten können sowohl in flüchtigen wie auch nichtflüchtigen Bereichen abgelegt werden. Die Entscheidung über den Speicherort der Anwenderdaten trifft der Programm-entwickler. Aus der Analyse des zu steuernden Prozesses werden die Daten des Prozessabbildes klass hend dem Speicher zugewiesen. Eine Beso i S in Bezug auf ihre hardwaremäßige Auslegung ih änge au r prozessnan robuste Komponenten, wird in der Klasse der SPS durch eine galvanische

Dieses geschieht durch den Einsatz von

ifiziert und entsprecnderheit ze chnen die SP

rer Ein/Ausg s. De ahe Einsatz, in Verbindung mit der Forderung

Trennung aller Ein-und Ausgänge erreicht. Optokopplern (Fotodiode/Fototransistor), wie in Abb. 2.3.12 gezeigt [Böge/Plaßmann].

Abb. 2.3.12: TLP620-4 allg.Datenblatt, Schaltzeiten und IC-struktur (durch ein eigenes Bild mit galv. E/A-Entkopplung analog zu Bild 9.3 in Pritschow, pnp/npn und Kenndaten Optokoppler ersetzen --> Zi/KHS)

265

Page 149: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Die wichtigsten Eigenschaften sind die galvanische Trennung, Potentialfreiheit am Ausgang und die Möglichkeit der Übertragung von digitalen, wie analogen Signalen (typisch 4...20 mA). Die Übertragungszeiten im Nanosekundenbereich spielen eine untergeordnete Rolle. Eine kleine Leistungsaufnahme und die Unempfindlichkeit gegenüber Temperaturschwankungen sind ebenfalls ein Vorteil dieser Schaltung.

2.3.1.3 Systemsoftware und Arbeitsweise Die Informationsverarbeitung in der SPS erfolgt zyklisch (Abb. 2.3.4):

- Einlesen der Sensordaten - Verarbeiten der Information un- Ausgabe an die Aktoren

Die Eingangskanäle (Daten) werden nacheinander abgefragt und im Datenspeicher als Eingangsabbild abgelegt. Es ist zu beachten, dass die im Speicher befindlichen Daten nicht die aktuellen, sondern die zum Abtastzeitpunkt anliegenden Eingangszustände sind. Dies ist für die Bewertung der Echtzeitanforderungen des Prozesses wichtig. Die schrittweise Programmbearbeitung erzeugt Ausgangszustände (Stellsignale für die Aktoren, Freigabesignale,...), die im Ausgangsabbild des Datenspeichers abgelegt werden. Erst nach Abarbeitung des

rogramms erfolgt nacheinander die rtragung der im Ausgangsabbild

S-glichkeiten bereithält. Die Vorgehensweise bei der Auswahl

eginnt auch hier mit der Analyse des zu automatisierenden Systems.

d Berechnung der Ausgabeinformation

P Übehinterlegten Stellwerte an die physikalischen Ausgänge. Die Abarbeitung von Anwenderprogrammen kan auf drei unterschiedliche Arten erfolgen, wie Abb. 2.3.13 zeigt. Hier sei aber angemerkt, dass nicht jedes SPBasismodul alle Möb

BetriebssystemeAllgemeine Darstellung

synchrone asynchrone

zyklische Abarbeitung mit Echtzeituhr gesteuert InterruptPrioritäten

P1 P2 P3

Z1 Z2 Z3P1

P2

P3

P2 P3

? Z ? Z

P1

? Z

HP

P1

P2

P3

ZS

Abb. 2.3.13 Übersicht über SPS-Betriebsysteme Die einfachste Betriebsweise ist die synchrone/zyklische Verarbeitung, die in zwei Ausprägungen umgesetzt werden kann. Im einfachsten Fall arbeitet die SPS alle Programme/Anweisungen (P1,P2,P3 in Abb. 2.3.13) in vorgegebener Reihenfolge ab und beginnt danach sofort mit der Wiederholung. Die Zykluszeit richtet sich dabei nach der Programmlänge. Schließt sich nach der Abarbeitung des Programms eine Zeitschleife an, ermöglicht dies eine zyklische Wiederholung aller Anweisungen in einem vorgegeben Zeitrahmen.

266

Page 150: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Die Einstellung der Wiederholzeit wird über die Systemregister des Basismoduls festgelegt, wobei sich diese Zeit als Faktor*Zeiteinheit darstellt. Der ganzzahlige Faktor wird als Parameter in das Systemregister eingetragen. Die Zeiteinheit hängt vom Basismodul ab (z.B. 2,5 ms für Panasonic Nais Control FP0-C14). Die synchrone echtzeituhrgesteuerte Arbeitsweise (wenn eine Echtzeituhr im Basismodul enthalten ist) steuert die Abarbeitung der Programme/Anweisungen (P1,P2,P3) durch programmierte Zeitvorgaben. Die ansynchrone Betriebsweise, auch Interruptverarbeitung genannt, wird durch die zyklische Abarbeitung eines Hintergrundprogramms (im einfachsten Falle eine Zeitschleife) mit zeitlich nicht vorhersehbarer Unterbrechung durch die Anwenderprogramme (P1,P2,P3) charakterisiert. Die Anwenderprogramme selbst sind mit Prioritäten versehen, die ein gegenseitiges Unterbrechen ermöglichen. Im folgenden Beispiel hat P3 eine höhere Priorität gegenüber P2 und P2 hat Vorrang vor P1. Abb. 2.3.14 verdeutlich den Zeitverlauf der in Abb. 2.3.13 beispielhaft dargestellten Programme/Anweisungen P1, P2 und P3 für die unterschiedlichen synchronen und die asynchrone Betriebsweise:

Zeit

Programme zyklisch ohne Zeitschleife

P1 P2 P3 P1 P2 P3 P1 P2 P3 P1 P2 P3

Programme zyklisch mit Zeitschleife

P1 P2 P3 P1 P2 P3ZS ZS P1 P2

Zeit

Programme mit Echtzeituhr

P3 P1 P2

Z3 Z1 Z2

P3 P1 P2

Z3 Z1 Z2 Zeit

Programme asynchron - Interrupt

P1P2

Z? Z? Z?

HP P3 P3

ZeitZ?

HPP2P3 P3HP P3

Z?Z? Z?

Abb. 2.3.14 Zeitlicher Ablauf der Programmverarbeitung bei synchroner und asynchroner Betriebsweise

267

Page 151: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

268

2.3.1.4 Beispiele und Übungen

Beispiel: Vergleich der Betriebsarten synchron - asynchron Aus der Betrachtung der möglichen zeitlichen Programmabarbeitung lassen sich für die einzelnen Möglichkeiten die Vor- und Nachteile erkennen. Die Fragestellungen könnten wie folgt formuliert sein:

- Wie sicher werden alle Programme abgearbeitet ? - Wie wirkt sich die Programmlaufzeit der einzelnen Programme auf das

Gesamtsystem aus ? - Wie wird die Ressourcenverteilung (Hardware) gehandhabt ? - Können Zusatzaufgaben erledigt werden? - Wie reagiert das System im Notfall ? - Wie sieht es mit dem Overheadaufwand aus?

Obgleich diese Fragen für eine konkrete Automatisierungsaufgabe und eine SPS-Hardware exakt zu beantworten sind, können nachfolgend aufgelistete allgemeine Aussagen getroffen werden:

Zyklische Verarbeitung

- definierte Zeitvorgaben - Ressourcenverteilung ist geregelt - kein grosser Overhead notwendig ( benötigt auch Zeit) - kontrollierter Ablauf in vorgegebener Reihenfolge

- synchron, aber variable Startzeit - Hardware nur für diese Aufgabe nutzbar - durchläuft alle Programme, obwohl zum Zeitpunkt X nicht alle notwendig wären - Reaktion auf Notfall mit Verspätung möglich

EchtzeituhrVorteile Nachteile

- absolut synchron - Ressourcenverteilung ist geregelt - kein grosser Overhead notwendig ( benötigt auch Zeit) - kontrollierter Ablauf in exakt vor- gegebener Reihenfolge - Zusatzaufgaben in freien Zeit- fenstern möglich

-Programmlaufzeit muss exakt ermittelt werden - durchläuft alle Programme, obwohl zum Zeitpunkt X nicht alle notwendig wären - Reaktion auf Notfall mit Verspätung möglich

InterruptsteuerungVorteile Nachteile

-Hardware kann auch für andere Aufgaben benutzt werden - Notfall wird mit höchster Priorität bearbeitet - flexibel - es werden nur die zum Zeitpunkt X notwendigen Aufgaben erledigt

- grosser Overhead - Überholprozesse sind möglich - Überblick über die Abläufe ( zeitlich) ist schwer zu erlangen

Vorteile Nachteile

Page 152: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Übung I: Motorsteuerung

(Bild --> KHS/Zi) Ein Trans eug soll über ein Tatstenbedienfeld vorwärts- und rückwärts fahren können und über eine dritte Taste gestoppt werden. Dabei sind die R genseitig zu ngstaste g ich s Stopp-K

unktionsweise dd Ausgänge lbe

lität der VPS-Lösung anc) Welche zusätzlichen Funktionen könnte man mittels einer SPS noch für die

Fahrtrichtungssteuerun ortfahrzeuges vorsehen?

portfahrz

ichtungsanweisungen ge verriegeln, d.h. wenn eine Richtuedrückt wurde, kann die andere R tungstaste erst nach Drücken denopfes gedrückt werden.

a) Erläutern Sie die F er abgebildeten VPS-Lösungsvariante b) Wieviele Ein- un

amuss eine SPS haben, um die

se

Funktion zudecken?

g des Transp

269

Page 153: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.3.2 Programmierung Welche Sprache soll zur nun zur Realisierung eines Projektes eingesetzt werden? Hier spielt die Leistungsfähigkeit der SPS, die Möglichkeit des Programmiergerätes und der Softwareentwicklungsumgebung eine wichtige Rolle. Zu berücksichtigen ist, dass nicht alle Sprachen zur Verfügung stehen müssen. Auch ist die Umwandlung zwischen den Sprachen ist herstellerabhängig. Entscheidend für die Wahl der Sprache wird die Vorgabe des Auftraggebers sein. Eine wichtige Entscheidungs-grundlage sind das Lasten- und Pflichtenheft, die das Ergebnis der Analyse und Spezifikation des zu steuernden bzw. regelnden Prozesses beinhalten. Lasten- und Pflichtenheft sind nicht nur eine solide Planungsgrundlage für eine automatisierungs-technische Anwendung, sondern auch eine Rückversicherung des ausführenden Ingenieurs gegenüber späteren Modifikationen und Haftungsfragen. Ausführlichere Informationen zu dieser Thematik sind in der Literatur zu finden [VDI/VDE]]. Ein ausführlich beschriebenes Beispiel aus dem Bereich des Qualitäts- und Projektmanagements ist in [K.F. Früh/U.Maier] gegeben. 2.3.2.1 Programmiersprachen gemäß EN 61131

rammierung hat sich ein herstellerübergreifender Standard (IEC / den meisten SPS-Umgebungen akzeptiert

ne SPS (elektrisch,mechanisch und funktionell)

Für die SPS-ProgIN EN 61131) entwickelt, der heute von D

wird. Herstellerspezifische Dialekte sind zwar nicht ganz verschwunden, richten sich jedoch weitgehend nach diesem Standard. Die Bestandteile der Norm IEC / DIN EN 61131 sind:

1. Allgemeine Begriffsbestimmungen und funktionale Merkmale einer SPS 2. Anforderungen an ei3. Programmiersprachen 4. Anwenderleitlinien 5. Kommunikationsbausteine (Vernetzung von SPS-en verschiedener Hersteller) 6. Fuzzy-Control-Prgrammierung 7. Anwendung und Implementierung von Programmiersprachen

SPS-Programmiersprachen – nach IEC 1131(DIN EN 61131)

Textebene Graphische Ebene

Beispiel: Logische ODER-Verknüpfung der Variablen X mit der negierten Variablen Y. Das Ergebnis soll der Variablen Z zugeordnet werden

FunktionsbausteinFBS

KontaktplanKOP

AnweisungslisteAWL

LD XORN YST Z

Strukturierter TextST

Z = X OR NOT Y

AblaufspracheAS

Abb. 2.3.15 SPS-Programmiersprachen

270

Page 154: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Hier wird insbesondere auf die Programmiersprachen eingegangen und versucht,

ungsliste (AWL) ist die bler für die Mikrocontroller-

auch die erste

Programmierregeln und allgemeine Vorgehensweisen zu vermitteln. Gemäß IEC 61131-3 (die Erweiterung -3 steht für den 3-ten Teil der Norm) erfolgt die Festlegung der Programmiersprachen (Abb. 2.3.15):

• Kontaktplan (KOP) – Ladder Diagramm(LD) • Funktionsbaustaeinsprache (FBS) – Function Block Diagramm(FBD) • Ablaufsprache (AS) – Sequential Function Chart(SFC) • Strukturierter Text (ST) – Structured Text(ST) • Anweisungsliste (AWL) – Instruction List(IL)

Die in der Norm gleichberechtigt behandelten Programmiersprachen lassen sich in 2 Gruppen unterteilen, textorientierte Programmierung und auf graphischen Symbolenbasierte Programmierung. Die Programmierung in ‚Strukurierter Text’ erinnert an eine höhere Programmiersprache (ähnlich MATLAB oder C). Die Anweismaschinennaheste Sprache und mit Assemprogrammierung vergleichbar. In der graphischen Ebene ist die Funktionsbausteinsprache (FBS) als Verknüpfung unterschiedlicher Funktionselemente (arithmetische, boolsche etc.) zu verstehen. Der Kontaktplan (KOP) ist ähnelt früheren Schaltungsdarstellungen von Relais-Steuerungen und ist daher unter Facharbeitern besonders geschätzt. KOP warProgrammiersprache, die für SPS angeboten wurde.

SPS-Programmiersprachen – Ablaufsprache

Abb. 2.3.16 Ablaufsprache AS Die Ablaufsprache ähnelt in gewisser Weise den Petrinetzen (Abschnitt 1.1.6.2) und ist für die Realisierung von ereignisdiskreten Abläufen sicher am besten geeignet [Aspern]. In der Literatur wird diese Art der Darstellung oft auch als Ablaufkette

erden im unteren Beispiel als Schritte bezeichnet. Der Anfangsschritt muss bei

der Initialisierung eines AS-Netzwerkes in den aktiven Zustand versetzt werden. Ein

bezeichnet. Die grafischen Elemente w(Stellen) mit Aktionen und als Transitionen

271

Page 155: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Schritt kann nur ausgeführt werden, wenn die Bedingung am Eingang den Zustand true erreicht. Das Schalten einer Transition deaktiviert alle voranstehenden Schritte. Petrinetzanalogie – eine Transition kann erst schalten, wenn alle Eingangsstellen mit einer Marke belegt sind. Auch hier gilt, dass Schritte und Transitionen abwechseln mü chritte in den anderen, zur Ve eit er n ZuHi here Folge realisiert wird un enthält. Auch hier ist die Ve unterscheidet man auch

b. 2.3.17), die ein Reihe von Funktionen und Bausteinen

ssen. Das Besondere ist, dass die Realisierung der Srfügung stehenden, Sprachen durchgeführt wird. Diese Programmiermöglichk

laubt neben Sprüngen auch die parallele oder alternative Verzweigung und deresammenführung. erbei ist darauf zu achten, dass die Struktur immer als sicd keine unerreichbaren Schritte oder rekursive Aufruferbindung zur Petrinetztheorie sichtbar. Im Pertrinetz

zwischen sicher, unsicher,lebendig und deadlock (siehe auch Abschnitt 1.1.6.2). Wie in jeder anderen Programmiersprache gibt es auch für die SPS-Programmierung geeignete Bibliotheken (Abzur Verfügung stellen. Im Wesentlichen unterscheidet man zwischen hersteller-eigenen Bibliotheken und Bibliotheken die der IEC-Norm unterliegen. Bei der Programmerstellung ist entsprechend der Vorgaben aus dem Pflichtenheft darauf zu achten, welche Bibliotheken zur Benutzung freigegeben sind. Die Befehlsgruppen sind mit den aus der Mikrocontrollerprogrammierung bekannten Funktionen vergleichbar.

Standardbibliothek einer SPSFunktionen und Funktionsbausteine

• Standard Operatoren• Umwandlungsfunktionen• Numerische Funktionen• Zeichenketten-Funktionen• Arithmetische Fkt. der Zeit• Bit-Schiebe/Rotationsfunktionen• Boolsche Funktionen• Auswahlfunktionen• Vergleichsfuntionen

• Speicher SR (einzelne Zellen)RS (Flip-Flop)

• Trigger F_Trig (fallende Flanke)R_Trig (steigend)

• Zähler CTU (aufwärts)CTD (abwärts)CTUD (auf- und abwärts)

• Timer TP (Pulsbreite)TON (Einschaltverzögerung)TOF (Ausschaltverzögerung)

• Regler PID_FB (PID-Regler)

Abb. 2.3.17 Standardbibliothek einer SPS Ungeachtet der gewählten Programmiersprache sollte beim Engineering eine korrekte Vorgehensweise eingehalten werden. Folgende Arbeitsschritte sind zur korrekten Programmerstellung erforderlich:

- Öffnen der Programmierumgebung auf einem externen Rechner iersprache und des Basismoduls (CPU) - Auswahl der Programm

- Programm erstellen - Programmsimulation/Probelauf in der Programmierumgebung zur

Sicherstellung der Fehlerfreiheit, ggf. Nutzen der Debug-Funktionen - Übertragung des Programms in die SPS

272

Page 156: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Das Programm befindet sich im SPS-Programmspeicher und wird im RUN-Modus autark abgearbeitet. Die Verbindung zum PC kann jetzt getrennt werden, eine erneute Verbindung ist nur bei Programmänderungen nötig. Die meisten Programmierumgebungen für SPS ermöglichen das Setzen und Auslesen von SPS-Registern zur Laufzeit (RUN-Modus). Damit kann für Versuchsaufbauten der PC als „Bedienfeld“ genutzt werden, wenngleich das von den Automatisierungsherstellern nicht gerne gesehen wird, da die Verbindung PC-SPS ist nicht unterbrechungssicher genug sei. 2.3.2.2 Beispiele

273

g des Systems führen können. Obwohl die logische Verknüpfung der Eingangssignale (in diesem Beispiel erfolgt die Beschränkung auf digitale Sensorsignale vom Typ Boole) einfach zu überblicken und die Ausgangsfunktionalität ohne Hilfe zu ermitteln ist, wird der formale Weg über das Erstellen der Funtionstabelle, dem Übertrag in das KV-Diagramm und die Erstellung der minimierten Ausgangsfunktion aufgezeigt. S1 S2 S3 Y

Beispiel I: Schaltwerk Zur Verdeutlichung der Unterschiede der SPS-Programmiersprachen wird ein einfaches Beispiel aus der Automatisierungstechnik gewählt. In sicherheitsrelevanten Steuerungen werden redundante Betriebsmittel [Strohrmann] eingesetzt. So kann der Einsatz vor 3 Sensoren zur Erfassung eines Parameters gewählt werden um die erfasste Messgrössen nach der Vorgabe 2 aus 3 zu bewerten und für die weitere Verarbeitung freizugeben, oder aber Zusatzroutinen zu aktivieren, die bis hin zur Notabschaltun

S1S2

S3 1 1 1 0

0 1 0 0

001

000

011

010

111

110

101

100

Regel: benachbarte Elemente (horizontal und vertikal)dürfen sich nur in einer Bitstelle unterscheiden

0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

Abb. 2.3.18 Wahrheitstabelle und KV-Diagramm Die disjunktive Normalform aus dem KV-Diagramm abgelesen ergibt:

212331 SSSSSSY ⋅+⋅+⋅= (2.3.1)

möglich: Eine weitere Vereinfachung nach dem Distributivgesetz ab+ac=a(b+c) wäre

( ) 23231 SSSSSY ⋅++⋅= (2.3.2)

Um ie das

jedoch ist das nachfolgende Beispiel mit der DNF gemäß Gl. (2.3.1) implementiert. die ausgeführten Beispiele zu verstehen, folgt ein Auszug aus der Norm, d

Adressierungsformat nach IEC 61131-3 festlegt:

Page 157: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

eu zeichnen --> KHS/Zi

. 2 9 res rungsformat nach IEC/EN 61131-3 ispi : IX0 Eingangsmodul, Datentyp BOOL, Wort 0, Bitposition 0

QW Ausgangsmodul, Datentyp Word, Wort 3 MX .5 interner Speicher, Datentyp BOOL, Kennzahl interner

Speicher, Wortnummer, Bitposition

e na folg den plementierungsbeispiele wurden mit Control FPWIN Pro5 der ma ats ita rstellt. Die Sensoren/Schalterstellung wird direkt an einen

Ausgang (mit LED beschaltet) weitergeleitet, um eine optische Kontrolle zu ermöglichen:

nAbb .3.1 Ad sieBe ele % .0 % 3

% 0.1

Di ch en ImFir M ush e

274

Page 158: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abb. 2.3.20 Programmbeispiel AWL

Abb. 2.3.21 Programmbeispiel Strukturierter Text

275

Page 159: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abb. 2.3.22 Programmbeispiel KOP

Abb. 2.3.23 Programmbeispiel FUP

276

Page 160: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Beispiel II: Ampelsteuerung Das vorige Beispiel (2 aus 3) eignet sich nicht direkt für die Darstellung der Ablaufsprache. Das nachfolgende Beispielprogramm stellt einen Teil einer Ampelsteuerung dar, welche als ganz typische ereignisdiskrete Steuerung zu verstehen ist. Hier wird der Übergang einer Schaltphase in die Folgende abgehandelt. Das hier aufgeführte Beispiel ist aus Gründen des Umfangs nicht vollständig, was die reguläre Ampelsteuerung betrifft. Es ist z.B. kein Fussgängereingriff eingearbeitet. Die implementierten Phasen sind in Abb. 2.3.24 erläutert:

Abb. 2.3.24 Phasen der Ampelsteuerung Als globale Variablen wurden die Signalsteuerkanäle und die zugehörige Phasenablaufzeit deklariert:

Abb. 2.3.25 Globale Variable

eht aus Schritten mit integrierten Aktionen und ransitionen:

Das eigentliche Programm selbst bestT

277

Page 161: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abb. 2.3.26 Programmablauf in Anweisungssprache

Abb. 2.3.27 Anweisungen, die im Schritt PKW_bereit ausgeführt werden

278

Page 162: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Die Aktionen PKW_rot, PKW_gelb und FG_rot sind in den globalen Variablen verankert. Die Aktion Berechnung_bereit_Zeit (Abb. 2.3.28) ruft das in Abb. 2.3.29 dargestellte Netzwerk auf, das die Ablaufdauer dieses Schrittes realisiert. Nach Ablauf wird die Transition bereit_Zeit_beendet gesetzt und der nächste Schritt bearbeitet.

Abb. 2.3.28 Aktion Berechnung_bereit_Zeit Um die Arbeitsweise des Funktionsblockes Zeit_TON (Einschaltverzögerung) zu verstehen, wird in Abb. 2.3.29 auch das das Zeitdiagramm dargestellt:

279

Page 163: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abb. 2.3.29 KOP-Darstellung und Zeitdiagramm des Funktionsblockes TON

280

Page 164: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.3.3 Prozess- und Produktionsleittechnik

Abb. 2.3.30 Aufbau von Leitsystemen - Prozessleitstruktur Ein technischer Prozess ist gemäß DIN 66202 mit der Umformung und/oder dem Transport von Materie, Energie und/oder Informationen verbunden, wobei die Zustandsgrößen technischer Prozesse mit technischen Mitteln gemessen werden können. Der Begriff Prozessautomatisierung wird in der Literatur unterschiedlich gebraucht. Entweder werden mit „Prozess“ alle Fertigungsabläufe und Verfahrensarten bis hin zu Verkehrsabläufen und Logistik verstanden, oder es wird zwischen Prozessautomatisierung mit Fertigungsautomatisierung unterschieden. Dabei werden wie bei der Fertigungspyramide in Abb. 2.3.2 entsprechend der Informationsmenge und –häufigkeit verschiedene Leitebenen unterschieden, wie Abb. 2.3.30 zeigt. Die Prozessautomatisierung ist eine Schnittstellendisziplin zwischen Maschinenbau (Fertigungstechnik, Antriebe), Wirtschaftswissenschaften (Fertigungsplanung, Unternehmensführung), Arbeitspsychologie (Bedienfelder, Arbeitsplatzergonomie) und Informatik (Rechnertechnik, Informationsverarbeitung). Die ganze Breite dieser Disziplin wird in [Früh/Maier] behandelt. Der angehende Maschinenbau-Ingenieu

enieure

.3.3.1 Struktur prozesstechnischer Anlagen bb. 2.3.31 zeigt den typischen Aufbau einer verfahrenstechnischen Anlage. In inem Reaktor/Mischer „brodelt“ ein Produkt (Bier, Farbe,...), dessen Zustände durch

Sensoren erfasst werden. Eine Steuerung veranlasst das Nachführen oder Regeln dieser Zustände entsprechend den Soll-Vorgaben. Dabei sind Prozesse in der Prozessautomatisierung bevorzugt verfahrenstechnische Prozesse, in denen besondere Randbedingungen

• Explosionsschutz (Zündschutzarten, Eigensicherheit),

• geringe Datenrate,

• große Distanzen zwischen den Anlagenteilen

r kann diese praktischen Aspekte in Lehrveranstaltungen für Wirtschaftsing

der geeigneten Abschlussarbeiten in der Industrie vertiefen. o

2Ae

281

Page 165: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

zu berücksichtigen sind.

Abb. 2.3.31 Typischer Aufbau eines Reaktors einer verfahrenstechnischen Anlage [Seitz 2003]

ozesse und diskontinuierlichen

ierlicher Prozess.

Fertigung bedeutet dabei bevorzugt zerspanende, umformende Herstellprsowie die Montage. Hier wird zwischen kontinuierlichen Fertigungsprozessen unterschieden. So ist das Walzen von Stahlbändern oder das Ausfräsen einer Form ein kontinuierlicher Prozess, die Montage (z.B. mit Industrierobotern, Palettiersystemen, Fließbändern) ist ein überwiegend diskontin

2.3.3.2 Bedienelemente und Benutzerschnittstellen

Abb. 2.3.32 Visualisierung eines verfahrenstechnischen Prozesses mit der Leitsystemsoftware InTouch der Firma Wonderware (Seitz 2003) Bedienung und Beobachtung des von der SPS automatisiehäufig noch vor Ort über ein Bedienfeld in unmittelbarer Näh

rten Prozesses erfolgt e des Prozesses. Auf

ich zum einen Schalter zur Prozessbedienung und zum zesszustände. Die Schalter und usgänge der SPS verdrahtet.

dem Bedienfeld befinden sanderen Leuchten zur Signalisierung bestimmter ProLeuchten sind dabei als physikalische Ein- und A

282

Page 166: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

283

esse durch PC-basierte Anzeige- und Bedienkomponenten (ABK) bedient und beobachtet, die die Prozesszustände visualisieren und eine Bedienung per Mausklick oder Touch-Screen ermöglichen. Kommen ein oder mehrere ABKen zum Einsatz, die miteinander und mit SPSen vernetzt sind, so spricht man von einem Leitsystem.

Zunehmend werden Proz

Abb. 2.3.33 Einsatz von Anzeige- und Bedienkomponente (ABK) und Programmiergerät in einem PC (a), PG, ABK und SPS in einem PC (b) sowie aller drei Komponenten (c) in einem eigenen PC (Seitz 2003)

ggf. ausführlicher --> Ve

Page 167: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.4 Feldbuskommunikation

Der steigende Marktdruck in der Fertigungs- und Automatisierungstechnik hinsichtlich Produktivität und Flexibilität führt zu einer zunehmenden Integration sowie Verkettung von Einzelmodulen/-aggregaten mit dezentraler Intelligenz. Durch den hohen Kommunikationsaufwand der Teilsysteme auf verschiedenen Ebenen und die räumliche Ausdehnung der verketteten Anlagen führt die diskrete Verkabelung zu technisch schwer handhabbaren und wirtschaftlich nicht mehr darstellbaren Systemen. Dies macht die Anwendung geeigneter Bussysteme zur Minimierung der Kosten für Installation, Inbetriebnahme sowie Wartung komplexer Anlagen erforderlich [Schnell], [Reißenweber]. In diesem Kapitel werden dazu die in Abschnitt 1.1.7 eingeführten Grundlagen der Datenübertragung auf die Anwednung bei Feldbussen erweitert und am Beispiel zweier häufig eingesetzter Busssysteme vertieft.

2.4.1 Grundlagen der Feldbuskommunikation

2.4.1.1 ISO-OSI Modell Das ISO-OSI Modell (ISO- International Organization for Standardization, OSI-Open Systems Interconnection Reference Model) wurde im Jahre 1983 entwickelt und hat sich als Standardmodell für die Aufgabenverteilung in digitalen Kommunikations-systemen etabliert. Das Modell ist als Schichtenmodell (sog. „layers“) konzipiert, wobei jede Schicht durch eine genaue Aufgabenbeschreibung charakterisiert wird. Die konkrete Umsetzung der in den Schichten realiserten Protokolle wurde nicht standardisiert, so dass sich zahlreiche Varianten herausgebildet haben.

Abb. 2.4.1 ISO-OSI Modell (Wikipedia – selbst herauszeichnen) Betrachtet man die Verbindung und den Datenaustausch zwischen z.B. zwei Computern, so wird die auszutauschende Information vom Sender (ausgehend von der 7-ten Schicht) solange umgeformt und mit Zusatzinformationen angereichert, bis sie über die Schicht 1 (physikalische Schicht) gesendet wird. Der Empfänger verarbeitet die Information in umgekehrter Reihenfolge. Die in einer Ebene

284

Page 168: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

ablaufenden Prozesse können mit gleichgestellten Prozessen derselben Ebene kommunizieren. Da die Prozesse einer Schicht aber auf Dienste ihrer benachbarten Schichten zurückgreifen müssen, liegt eine vertikale Informationsverabeitung vor. Der reale Datenaustausch erfolgt jedoch nur in der physikalischen Schicht. Im allgemeinen kann man die Schicht 1 bis 4 als Transportsystem zusammenfassen, während die Schicht 5 bis 7 als Anwendersystem angesehen werden kann [Schiffmann]. Die Aufgabenverteilung in den einzelnen Schichten sei nachfolgend kurz beschrieben: Schicht 1: Physikalische Schicht Realisiert die Datenübertragung über ein physikalisches Medium nebeneinander-liegender Knoten. Die Protokolle betreffen die Regeln für die Übertragung reiner Datenbits, sowie die Spezifikation der benötigten Hardware (Kabel,Stecker etc.) Schicht 2: Datensicherungsschicht Vorbeitung der Daten für eine fehlerfreie Weiterleitung zur nächsten Schicht. Die Daten werden zwischen nebeneinanderliegenden Knoten ausgetauscht. Schicht 3: Vermittlungsschicht Weiterleitung der Datenpakete innerhalb des Netzwerkes zur Zieladresse (nicht nebeneinanderliegende Knoten). Schicht 4: Transportschicht Stellt die zuverlässige Datenübertragung zwischen Endknoten sicher und kann auch Mechanismen zur Fehlererkennung beinhalten, sofern nicht von Schicht 1 bis 3 ausreichend bereitgestellt. Schicht 5: Sitzungsschicht Synchronisiert die Kommunikation zwischen den Anwendungen während einer Sitzung (Management und Steuerung des Datenaustausch zwischen Kommunikation und Anwendung) Schicht 6: Darstellungsschicht Umwandlung - kodiert übertragene Daten in ein verständliches Format (z.B ASCII mit fester und variabler Länge, oder Zeichensätze für Mac und Windows) Schicht 7: Anwendungsschicht Hier werden die für Anwendungsprogramme verständlichen Dienste bereitgestellt (Dateiverzeichnis, Lesen, Schreiben etc.) Ein Server bietet allgemein einen Dienst im Netz an und wartet, bis ein Client (Programm) eine Verbindung zu ihm aufbaut, um eben diesen Dienst in Anspruch zu nehmen. Die Verbindung des Server zum Netz muss also jederzeit gegeben sein. Während die Arbeit im Internet auf der Server-Client-Philosophie beruht und alle Schichten des Modells in die Kommunikation einbezieht sind in der Automati-sierungstechnik Vereinfachungen möglich. Betrachtet man die Kommunikationpyramide der Automatisierungstechnik (siehe Abb. 2.3.2), so sind zwei unterschiedliche Busstrukturen ersichtlich. Zum einen wird eine Verbindung von Sensoren und Aktoren zu den Steuergeräten benötigt, zum anderen ist eine Verbindung/Kommunikation der meist dezentral operierenden Steuergeräte untereinander notwendig. In beiden Fällen wird der Datenaustausch nach den Vorgaben des ISO-OSI Modell vollzogen, wobei die Schichten 1,2,3 und 7 die wesentliche Rolle spielen. Als Beispiele werden im nachfolgenden Abschnitt

285

Page 169: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.4.2.1 der ASI-Bus (Aktor-Sensor-Interface) und in Abschnitt 2.4.2.3 der Profibus/Profinet näher behandelt. Für die Automatisierungstechnik ist auch in Bezug auf der Echtzeitfähigkeit der Systeme die Übertragungsgeschwindigkeit und somit Bereitstellung der Prozessparameter von eminenter Bedeutung. Bei den hier angesprochenen Bussystemen handelt es sich um serielle Verbindungsaufbauten zwischen den einzelnen Busteilnehmern. Wie aus der Abb.2.4.1 ersichtlich, wird die Nutzdatenrate um eine ganze Reihe von Informationen (Header) ergänzt, um die Datenübertragung zun realisieren. Das heisst aber, dass die effektive Übertragungsgeschwindigkeit der Nutzdaten für diese Netze stark herabgesetzt werden kann. Im weiteren werden Hardwareaspekte des ISO-OSI Modells in bezug auf die Netzwerktechnik angesprochen. In der Netzwerktechnik ist die 5-4-3 Regel für Ethernetverbindungen (Baumstruktur) ausschlaggebend. Die Regel besagt, das ein Netzwerk aus max. 5 Segmenten mit 4 Repeatern bestehen darf. Grund ist die Laufzeit des Signals (Summe der Laufzeiten je Segment plus Verzögerung durch den Repeater), die bei Überschreitung einer Schwelle zu Datenkollisionen führen kann. Detailliertere Aussagen zu seriellen Verbindungen hinsichtlich duplex/halbduplex und Kollisionerkennung sind in der Literatur zu finden [Popp]. Als Verbindungselemente zwischen benachbarten oder Endknoten sind in der Regel Hub’s, Switches, Repeater, Router und Gateway’s im Einsatz. Diese Hardwarekomponenten unterscheiden sich in ihrer Leistungsfähigkeit und den bearbeiteten Schichten, wie Abb. 2.4.2 zeigt. a) Hub/Switch b) Router c) Gateway

Abb. 2.4.2 Hardwarekomponenten der Netztechnik Während der der Hub nur auf Schicht 1 des ISO-OSI Modells arbeitet, kann der Switch bis Schicht 2 eingesetzt werden. Die einzelnen Ports können unabhängig voneinander Daten senden und empfangen. Weiterhin sind verschieden Betriebsmodi (Fehlerkorrektur) vorhanden. Der Router arbeitet auf Schicht 3 und leitet Daten an das Ziel/Subnetz weiter. Er besitzt eine Routingtabelle (IP-Adressen) und seine Schnittstelle kann unterschiedliche Netze (Ethernet, WLAN, ISDN) ansprechen, wobei aber nur ihm bekannte Protokolle der Schicht akzeptiert werden. Das Gateway realisiert die Verbindung von Netzwerken, die mit völlig unterschiedlichen Protokollen arbeiten, d.h. es arbeitet auf allen Schichten des ISO-OSI Modells. Im Extremfall können sogar alle Protokollinformationen vom Datenpaket entfernt und durch andere ersetzt werden (IPX/SPX <-> TCP/IP) [Popp, Pigan/Metter].

1

2

3

4

5

6

7

1 1

2

3

4

5

6

7

2 2

1

2

3

4

5

6

7

1 1 1

2

3

4

5

6

7

3

7

2 2

1

2

3

4

5

6

7

1 1 1

2

3

4

5

7

6 6 6

5 5

3 3 4 4

2

286

Page 170: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.4.1.2 Bustopologien Bei der Anwendung von Bussystemen können unterschiedlichste Topologien zum Einsatz kommen. Die Realisierung topologischer Grundstrukturen kann als eindimensionale oder mehrdimensionale Struktur erfolgen [Schneider/Werner]. Punkt zu Punkt Sternstruktur Linienstruktur Ringstruktur Baumstruktur

Netz-teilvermascht Netz-vollvermascht Abb. 2.4.3 Topologische Grundstrukturen - eindimensional a) b)

Abb. 2.4.4 a) mehrdimensionale Sternverteilung T-Teilnehmer V-Vermittler b) vermaschtes Netz Bei der Bewertung der einzelnen Topologien ist auf die Aspekte des Hardwareaufwandes (Verkabelung) und der Sicherheit zu achten. Die Fragestellung lautet: Wie robust ist mein Netz gegenüber Ausfällen (Verbindungsdefekten, Teilnehmerausfällen oder Vermittlungsausfällen) und kann mein zu steuernder Prozess diese Störungen über welchen Zeitraum tolerieren, ohne selbst zu einem Sicherheitsrisiko zu werden?

287

Page 171: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.4.1.3 Klassifikation Die Übertragung digitaler Informationen unterliegt stark differierenden Anforderungen aus den unterschiedlichsten Branchen, was zu einer entsprechend großer Palette von Systemen (Industrielösungen) geführt hat, die in der nachfolgenden Abb. 2.4.5 klassifiziert sind. Einige wichtige Bussysteme werden nachfolgend behandelt. Bus für Digitalsignale für Analogsignale seriell parallel parallel-seriell zeitmultiplex frequenzmultiplex

synchron asynchron

determinierter Zugriff stochastischer Zugriff Abb. 2.4.5 Klassifizierung der Bussysteme Die Mehrfachnutzung von Leitungen ist auch für die Übertragung von Analogsignalen einsetzbar. Ein Bus ist somit ein verteilter Multiplexer [Gevatter]. Zunächst seine zwei verbreitete parallele Bussysteme erläutert:

• IEC-Bus Der IEC Bus basiert auf dem 1965 von der Firma HP entwickelten Interface. Der IEC Bus ist auch unter firmeneigenen Namen (IEEE-Bus, GPIB) zu finden. Der IEC-625 (internationale Normbezeichnung) als externer Parallelbus dient der Verbindung von Messgeräten und anderen Peripheriegeräten (Drucker) mit einem PC. Grundsätzlich müssen zum Betrieb des Busses die Funktionselemente Steuergerät (Controller), Sprecher (Talker) und Hörer (Listener) vorhanden sein. Die Leistungsfähigkeit der einzelnen Komponenten lässt sich bereits aus der Namensgebung ableiten. Während das Steuergerät die Fähigkeit der Steuerung, des Sendens und Empfangens besitzt, können die beiden anderen jeweils nur Senden oder Empfangen. Eine Mischform Senden/Empfangen ist ebenfalls möglich. Die Struktur

zentral dezentral

Master/Slave Flying Master

CSMA/CA CSMA/CD CSMA

288

Page 172: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

des Busses teilt sich in Datenleitungen (Ein/Ausgabe 8 Leitungen), Managementleitungen (5 Leitungen) und Handshakeverbindungen (3 Leitungen). Zur detaillierten Beschreibung der asynchronen Datenübertragung sei auf die entsprechende Literatur [Piotrowski] verwiesen.

Steuerung Handshake

Daten

Controller (PC)

Talker+Listener z.B. Multimeter

Talker z.B. Oszilloskop

Listener z.B. Drucker

Abb. 2.4.6 IEC-625 Bus für messtechnische Anwendungen

• VMEBus Der VMEBus ist als Multi-User System etwa seit 1981 auf Basis des VERSAbus der Firma Motorola als 16/32 Bit Version auf dem Markt. Aktuell steht mit dem VME64 die Version mit 64 bit Busbreite zur Verfügung. Ausgeführt wird das System als Backplanebus für 19“ Einschubgehäuse. Der VMEbus lässt sich in vier Teilsysteme aufspalten: 1. Daten-Transfer-Verbindungen: Sie enthalten alle Daten und Adressleitungen zuzüglich der Steuerleitungen, wobei die Aufteilung des Speichers in einen Daten- und Programmbereich erfolgt. 2. Arbitrationsbus: Dieser beinhaltet die Steuerung des Multi-Master Systems (für Multiprozessor-anwendungen) 3. Interruptbus: Dieser erlaubt eine prioritätsgesteuerte Interruptverarbeitung 4. Versorgungs- und Hilfsleitungen: Sie dienen der Stromversorgung und Fehlererkennung Zusätzlich wird eine serielle Busverbindung bereitgestellt, die unabhängig von der parallelen Struktur Daten (Zusatzinformationen) übertragen kann. Bei seriellen Bussystemen wird der zeitmultiplexe, asynchrone Datentransfer am häufigsten eingesetzt. Die Entscheidung über den Buszugriff (determiniert oder stochastisch) wird immer nach Analyse des Automatisierungssystem zu fällen sein. Am bekanntesten ist das Master/Slave-Prinzip. Der Master, als aktive Bussteuer-einheit, stellt zu den passiven Komponenten (Slaves) eine Verbindung her und erwartet eine Antwort auf dem Bus. Der Verbindungsaufbau erfolgt in der Regel zyklisch (Polling-Verfahren), wobei eine vorgegebene Abtastzeit eingehalten werden kann und die Echtzeitfähigkeit garantiert wird. Bei dem als Token-Passing-Verfahren bekannten Buszugriff existiert kein zentraler Master. Die Steuerung erfolgt über ein spezielles Zeichen (Token), das nur einmal im System vorhanden ist. Wer im Besitz des Zeichen ist, erhält das Recht auf die Busnutzung, wobei nach Abschluss der

289

Page 173: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Datenübertragung das Zeichen durch den Sender freigegeben wird und allen zur Verfügung steht. Wichtig ist in diesem Konzept, daß die Zeit des Token-Besitzes festgelegt ist und das Token auch zwangweise entzogen werden kann. Somit ist dieses Verfahren ebenfalls echtzeitfähig. Der zufällige Buszugriff unterscheidet sich durch die Möglichkeit der Kollisionserkennung- und entprechende Strategien zur Verhinderung des Datenaus-tausches. Die einfachste Art ist das CSMA-Verfahren (CarrierSenseMultipleAccess). Es erfolgt die Prüfung, ob die Leitung frei ist (Carrier Sense), in diesem Fall besteht eine Sendefreigabe. Bei belegtem Bus wird der Sendeversuch zu einem späteren Zeitpunkt (Multiple Access) erneut gestartet. Dieses Verhalten schränkt die Echtzeitfähigkeit der Systeme erheblich ein. Eine Verbesserung ist mit der Erweiterung der Kollisionserkennung gegeben (CSMA/CD Collision Detection). Der Sender überwacht seine eigenen Daten auf dem Bus ständig. Der Datentransfer wird bei Kollision abgebrochen und nach einem zufälligem Zeitintervall neu gestartet. Das CSMA/CA (Collision Avoidence) Verfahren vergibt an die einzelnen Busteilnehmer Prioritäten, die im Übertragungsprotokoll (Bereich-Identifier) abgelegt sind. Dieses Vorgehen kann auch, wie von anderen prioritätsgesteuerten Vorgehensweisen, zu einem „Aushungern“ der niedrigsten Priorität führen. In allen Fällen des zufälligen Buszugriffes ist immer die zeitliche Busbelastung in Bezug zur Echtzeitfähigkeit zu bewerten. Zusammenfassend sind in der nachfolgenden Tabelle 2.4.1 die in der Automatisierungstechnik verbreiteten seriellen Busse anhand wesentlicher Eigenschaften charakterisiert:

Bezeichnung Datenaustausch Zykluszeit Übertra-gungsrate

Anwendung

SERCOS Token-Ring 1 .. 2 ms

4 MBd S/A-Bus (Servoantr.)

ASI Polling, zyklisch 1 .. 10 ms

170 kBd S/A-Bus (binäre S/A)

Profibus Master-Slave mit Token Passing

2 .. 200 ms 10kBd .. 12 MBd

Zellen- und Feldbus

Profinet I/O Industrial Ethernet TCP / IP

1 .. 100 ms 10 MBd Zellen- und Feldbus

Interbus-S Schieberegister mit Summenrahmenprotokoll

3 .. 20 ms typ. 500 kBd Feldbus

CAN-Open Prioritätsgesteuerter Datenverkehr

10 .. 100 ms 1 MBd Feldbus (Automobil)

Tabelle 2.4.1 Vergleich wichtiger Busse in der Automatisierungstechnik

290

Page 174: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.4.2 Beispiele für Feldbusse 2.4.2.1 ASI (Aktor-Sensor-Interface) Das Aktor-Sensor-Interface ist ein Vernetzungssystem für den untersten Feldbereich. Hauptsächlich werden binäre Sensoren und Aktoren angesprochen, wobei Daten und Energie über eine ungeschirmte, geometrisch kodierte, verpolungssichere Zweidraht-Flachleitung zwischen Steuerung und Peripherie übertragen werden. Die Kontaktierung des Leiters erfolgt mittels Durchdringungstechnik (Schneid-Klemm-Technik) in den ASI-Modulen. ASI ist in Europa durch die EN 50295 und international durch IEC 62026-2 genormt. Abb. 2.4.7 zeigt wesentliche ASI-Buskomponenten: a) b) b)

c) d) e)

Abb. 2.4.7 ASI-Buskomponenten a) verpolungssichere Zweidraht-Flachleitung für ASI-Anwendungen b) Beispiele zur Durchdringungstechnik c) Kontaktelement d) Aktoreinheit (Ventilinsel) e) Aktor und Sensoreinheit Mit diesem System kann die herkömmliche, sternförmige Verkabelung von Sensoren und Aktoren kostengünstiger als Ring oder Baum realisiert werden. Die Vorteile sind:

- einfache Projektierung und Installation - Zeitersparnis bei Inbetriebnahme und Wartung - Einsatz ungeschirmter Zweileiterkabel

Abb. 2.4.8 zeigt einen beispielhaften Aufbau eines mit zwei SPS automatisierten Praktikumsprüfstandes, der Klötzchen verschiedener Materialien erkennt und sortiert. Die Kommunikation der Steuerungen erfolgt über Profibus, die Kommunikation der Steuerungen mit den zugeordneten Sensoren und Aktoren erfolgt über baum-/linienförmige ASI-Busse. Schon diese noch vergleichsweise einfache Anlage zeigt anschaulich die Vorteile des ASI-Busses im Vergleich zu einer diskreten Verdrahtung aller Aktoren und Sensoren mit Ein-/Ausgabeterminals an den SPS auf.

291

Page 175: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abb. 2.4.8 Beispielanwendung im Prozesstechnik-Praktikum (IPP TU Clausthal)

292

Page 176: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Aufgrund der Forderung nach kurzen Reaktionszeiten (ms-Bereich) wurde das Master-Slave-Verfahren mit zyklischem Abtastverhalten gewählt. Der Master sendet eine Nachricht (Telegramm) an einen Slave und erwartet nach einer kurzen Pause eine Antwort. Wird durch eine Störung die Antwort verhindert, erfolgt eine erneute Sendung des Telegramms. Alle Slaves werden zyklisch nacheinander angesprochen. Ein Nachrichtenaustausch besteht aus dem Masteraufruf, der Masterpause, der Slaveantwort und der Slavepause. Neben den reinen Informationbits wird ein Start und Stopbit benötigt. Um fehlerhafte Übertragungen zu erkennen, wird die einfachste Form – ein Paritätsbit - verwendet. Der Masteraufruf enthält weiterhin die Adresse des anzusprechenden Slavemoduls,wobei eine automatische Adressierung erfolgt, d.h. ein Slave wird automatisch nach Prüfroutinen vom Master erkannt.

Master-pause

0 SB A4 A3 A2 A1 A0 I4 I3 I2 I1 PB 1 0 I3 I2 I1 I0 PB 1

Masteraufruf

ST EB

Slaveantwort Slavepause

EBST

ST = StartbitSB = Steuerbit ( 0-Daten; 1-Kommando)A4...A0 = Adresse des SlavesI3...I0 = Informationsteil vom Master an Slave ( 5 Bit )

und von Slave an Master ( 4 Bit )PB = ParitätsbitEB = Endebit

Master-pause

0 SB A4 A3 A2 A1 A0 I4 I3 I2 I1 PB 1 0 I3 I2 I1 I0 PB 10 SB A4 A3 A2 A1 A0 I4 I3 I2 I1 PB 1 0 I3 I2 I1 I0 PB 1

Masteraufruf

ST EB

Slaveantwort Slavepause

EBST

ST = StartbitSB = Steuerbit ( 0-Daten; 1-Kommando)A4...A0 = Adresse des SlavesI3...I0 = Informationsteil vom Master an Slave ( 5 Bit )

und von Slave an Master ( 4 Bit )PB = ParitätsbitEB = Endebit

Abb. 2.4.9 ASI Nachrichtenstruktur Wie bei allen seriellen Datenverbindungen ist die Nettodatenrate entscheidend. Der ASI-Bus ermöglicht eine Nettodatenrate von 53,3 kbits/s. Dieser Wert ist erreichbar, da eine Beschränkung auf 9 verschiedene Busaufrufe vorliegt:

• Datenaufruf Master sendet Bitmuster für die Ausgangs- peripherie und Slave gibt aktuelles Bitmuster zurück

• Parameteraufruf Datenübertragung zum Slave • Adressieraufruf Einstellung der Slaveadresse • Reset Slave Slave wird in den Grundzustand versetzt • lösche Adresse Slave bekommt die Adresse 00H • lese E/A-Konfiguration Master liest die E/A-Konfiguration des Slave-

Datenports aus • lese ID-Code zusammen mit der E/A-Konfiguration ist eine

eindeutige Identifikation des Slave möglich. ID- Code wird vom Hersteller vergeben.

• lese Status Slave-Statusregister wird gelesen (4 Flags für Adressiervorgang, Paritätsfehler, Endebitfehler und Lesefehler)

293

Page 177: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

• lese und lösche Status Slave überträgt das Statusregister mit anschließender Löschung

Für die Informationsübertragung auf dem ASI-Bus wird das Alternierende-Puls-Modulationsverfahren (APM) verwendet. [Lerch] Die Sendefolge wird zunächst nach Manchester [Lochmann] umcodiert, wobei bei jeder Änderung des Sendesignals eine Phasenumtastung erfolgt. Daraus wird dann ein Sendestrom erzeugt, der in Verbindung mit einer im System nur einmal vorkommenden Induktivität (Netzgerät) durch Differentiation den gewünschten Signalspannungspegel erzeugt. Ein negativer Spannungsimpuls ist das Ergebnis des Sendestromanstiegs, ein positiver Impuls das des Sendestromabfalls. Die Empfängerseite dedektiert die Spannungssignale und wandelt in die gesendete Bitfolge um. Beim AS-Interface wird in der Schicht 1 des ISO-OSI-Modells ein hoher Sicherungsaufwand betrieben, d.h. Mehrfachabtastung, Signalformauswertung, Kontrollwechsel von positiven und negativen Signalpulsen und Päritätsprüfung. Durch diese Maßnahmen erreicht das Verfahren trotz geringer Hammingdistanz von 2 eine sehr kleine Restfehlerwahrscheinlichkeit [Kriesel/Madelung].

294

Page 178: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.4.2.2 CAN (Controller Area Network) Dieses Bussystem wurde ursprünglich für die Vernetzung der Steuereinheiten in Automobilen entwickelt, findet aber immer häufiger auch den Einsatz im industriellen und anwendungstechnischen Bereich. Dieses System ist in der ISO 11898 international genormt. Als maximale Bitrate ist 1 Mbit/s bei einer maximalen Entfernung von 40 m zwischen den Teilnehmern festgelegt. Als Kabel wird eine 7-drähtige Cu-Litze, Adern zu Paaren und Paare in Lagen verseilt, farbcodiert mit einem Cu-Abschirmgeflecht verwendet (-->KHS). Die am CAN-Bus teilnehmenden Einheiten sind Master mit unterschiedlicher Priorität. Der Buszugriff wird mit CSMA/CA geregelt (s. Abb. 2.4.5), wobei Kollisionen nicht dedektiert, sondern vermieden werden [Wittgruber]. Der Teilnehmer mit der höchsten Priorität erhält bei freiem Bus und gleichzeitiger Anfrage mehrerer Master den Vorzug. Die Prioritätenkennung ist im Nachrichtenprotokoll festgelegt.

Abb. 2.4.10 CAN-Bus Nachrichtenstruktur (neu zeichnen) Der CAN-Bus arbeitet mit dem Broadcast-Verfahren, d.h. einer sendet und alle hören. Dabei wird keine Adresse benötigt, entscheident ist das Arbitrationsfeld (Abb. 2.4.10). Jeder am Bus angeschlossene Teilnehmer entscheidet, wie er mit der gesendeten Nachricht umgeht.

Akzeptieren

Knoten 1

Empfangen

Bewerten

Vorbeiten

Knoten 2

Senden

Knoten 3

Empfangen

Bewerten

Akzeptieren

Knoten 4

Empfangen

Bewerten

CAN ( 2-adrig geschirmt )

Abb. 2.4.11 CAN-Bus Übertragungsprinzip (neu zeichnen) Das Bussystem ist in verschiedene Klassen (mit unterschiedlichen Datenübertragungsraten – Bit-/Baudraten) aufgeteilt, die hauptsächlich in der Automobilindustrie Anwendung finden [Lawrenz]:

295

Page 179: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abb. 2.4.12 CAN-Bus Klassifikation nach Übertragungsraten und Anwendungs-/ Sicherheitsaspekten

mechatronische Appplikatoren / Smart Sensor-Smart Aktor

Klasse ALIN-Bus (Local Interconnect Network)Bspl.: Aussenspiegel

SchaltermodiTürverriegelungFensterhebermodi

Karosserieelektronik

Klasse BBspl.: Klimaanlage

LampensteuerungZentralverriegelung

Antrieb / Fahrwerk

Klasse CBspl.: Motorsteuerung

Getriebe Bremsen

Sicherheitskritische Systeme

Bspl.: Airbagredundante Auslegung

Kommunikation/Telematik

Bspl.: AutoradioNavigationBedien/AnzeigeeinheitInternet

Abb. 2.4.13 CAN-Bus Klassifikation anhand von Beispielen im KFZ

296

Page 180: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.4.2.3 Profibus/ProfiNet Der Profibus als Beispiel ist in der Lage, mit den Protokollspezifikationen DP, PA und FMS die Bedürfnisse der Sensor-Aktor-Ebene, der Feldebene und teilweise auch der Zellenebene abzudecken, womit dieser Bus eine besonders große Anwendungsbreite gegenüber den weiteren marktgängigen Bussystemen (z.B. Interbus, CAN) aufweist. Mittelfristig ist jedoch eine Ablösung des Profibus durch Industrial-Ethernet-basierte Busse (SIMATIC NET/Profinet I/O) zu erwarten [Popp/Weber]. Die Besonderheit des Profibus ist sein vergleichsweise allgemein gehaltenes Kommunikationsmodell, das seinen Einsatz in der Zellen- und Feldebene verschiedener Sparten ermöglicht. Seit 1996 ist der Profibus europäisch normiert. Die deutsche Profibus-Norm DIN 19245 von 1992 [DIN19245] geht somit in die EN 50 170 über. Nachfolgend wird der Profibus hinsichtlich Eigenschaften und Spezifikationen kurz erläutert. Für tiefergreifende Details hinsichtlich Protokollstruktur und physikalische Parameter sei auf Normen [DIN19245] und entsprechende Literatur (z.B. [Popp], [Profibus Nutzerorg]) verwiesen. Hauptschwerpunkt dieses Abschnittes ist die Vermittlung der Einsatzpotentiale dieses Feldbussystemes, die anhand praktischer Beispiele aus der Fertigungs-technik quantitativ (technisch, wirtschaftlich) verdeutlicht werden. Zur Darstellung der erreichbaren Leistungsdaten hinsichtlich Kosten, Funktionalität und Elektrokonzept wird die Anwendung des Profibus in Abschnitt 2.4.2.4 beispielhaft anhand einer Transfermaschine beschrieben. Wie die meisten Industriebusse basiert der Profibus auf der mehrpunktfähigen Schnittstellenspezifikation RS-485, die den bidirektionalen Datenverkehr über eine verdrillte Zweidrahtleitung vorsieht. Für große Übertragungsraten sind die über-brückbaren Längen zwischen den Busteilnehmern begrenzt. Beispielwerte [Popp], [Profibus Nutzerorg]:

10 .. 100 kBd ⇒ > 1 km

3 .. 12 MBd ⇒ < 100 m Größere Entfernungen können mit regenerierenden Repeatern erreicht werden. Alternativ zum Kupferleiter kann für große Übertragungsraten und große Entfernungen zwischen den Busteilnehmern die optische Signalübertragung mittels Kunststoff- oder Glasfaser-Lichtwellenleiter eingesetzt werden. Damit wird die elektromagnetische Störfestigkeit der Gesamtanlage deutlich verbessert. Organisation des Datenaustausches – Anlagenaufbau: Die Initiative zum Datenverkehr geht beim Profibus von einem Bus-Master aus, der die Busteilnehmer (Slaves, ggf. weitere Master) zyklisch abfragt. Der Bus-Master stellt für die eigentliche Steuerung, meist eine SPS ("Host"), die Schnittstelle zu den Busteilnehmern dar. Bei mehreren Bus-Master wird die Zugriffszeit durch den Austausch eines Token aufgeteilt. Der Master im Besitz des Tokens hat eine bestimmte Zeitscheibe zur Durchführung des Nutzdatenverkehrs zur Verfügung.

297

Page 181: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

M

S

SSS(M)

SS R

M - MasterS - SlaveR - Repeater - Abschlußwiderstand

Segment 1

Segment 2

a)

b) Aufruftelegramm

Antworttelegramm

Schluß-Info Ausgangsdaten Kopf-Info

Schluß-InfoKopf-Info Eingangsdaten

DP-Master

DP-Slavesofortige

Antwort

Abb. 2.4.14 a) Aufbau einer Profibusanlage mit einem Master (zwei Master) b) Kommunikation zwischen Master und Slave Ein Bussegment besteht aus bis zu 32 Teilnehmern. Mit Repeatern können Segmente zu Linien-/Stern- oder Baumstrukturen erweitert werden. An einer Ge-samtanlage können bis zu 126 Teilnehmer mit den Adressen 0 .. 125 beteiligt sein. An fertigungstechnischen Anlagen werden im Sinne ausreichender Reaktions-geschwindigkeit meist maximal 20 .. 50 Teilnehmer vorgesehen. In Abb. 2.4.15 ist der Anstieg der Reaktionszeit (benötigte Zeit zur Kommunikation mit allen beteiligten Teilnehmern) bei mehreren Teilnehmern beispielhaft dargestellt.

10 ms

5 ms

1 ms

Reaktionszeit

Anzahl Busteilnehmer10 20 30

Übertragungsrate 1,5 MBd

Übertragungsrate 12 MBd

Abb. 2.4.15 Reaktionszeiten am Profibus in Abhängigkeit von der Anzahl der Busteilnehmer (Annahme: 4 Byte I/O-Daten je Slave/Teilnehmer)

298

Page 182: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Spezifikationen und Profile Um die vielfältigen Anforderungen der verschiedenen Ebenen und Anwendungs-gebiete ohne allzu großen Overhead erfüllen zu können, existieren für den Profibus heute 3 verschiedenen Ausprägungen (Spezifikationen gemäß [DIN19245]): Profibus-FMS objektorientierter, universeller Datenaustausch auf Zellenebene (FMS = Fieldbus Message System) Profibus-DP schneller Datenaustausch im Feldbereich der Fertigungstechnik und Gebäudeautomatisierung (DP = dezentrale Peripherie)

Die Datenübertragung auf der I/O- (Bit-) Ebene kann direkt durch Profibus-DP-I/O-Terminals oder mittels AS-Interface-Gateways erfolgen. Der ASI-Bus ist eine sehr kostengünstige Lösung für kleine verteilte Sensor-Aktor-Systeme (s. Abschnitt 2.4.2.1). Der Anwender hat in beiden Fällen nur den Profibus als Projektierungsschnittstelle.

Profibus-PA Erweiterung von Profibus-DP für die Anforderungen der Prozeßindustrie, z.B. Feldgerätespeisung via Buskabel, Explosionsschutz, etc. (PA = Process Automation) Zur Reduzierung des Projektierungs- und Engineeringaufwandes des Profibus-DP wurden verschiedene Anwendungsprofile definiert: Encoder - Schnittstelle für Winkelgeber und Längenmeßsysteme NC/RC - Bewegungs- und Programmsteuerung von Robotern und Handhabungseinrichtungen Profidrive - Schnittstelle zur Ansteuerung drehzahlgeregelter Antriebe HMI - Schnittstelle für einfache Bedien- und Visualisierungsgeräte (Human Man Interface) Die Palette der Anwendungsprofile wird entsprechend den erschlossenen Anwendungsgebieten stetig erweitert [Profibus Nutzerorg]. Es bietet sich für den Profibus-DP-Anwender an, die Nutzung eines Anwenderprofiles zu prüfen, bevor eine spezielle Weiterverarbeitung der Einzelinformationen (z.B. Encoderinkremente, Bewegungstrajektorien) in der Steuerung (z.B. SPS) implementiert wird. Speziell das Encoder-Profil sollte konsequent genutzt werden, da bei hochauflösenden inkrementellen Meßsystemen einzelne digitale oder analoge Eingänge hinsichtlich der erforderlichen Abtastzeit zur zuverlässigen Erkennung der Inkremente überfordert sind. Weiterhin stellt das Zählen von Inkrementen einen asynchronen Vorgang dar, der über eine geeignete Schnittstelle, an der zyklisch die aktuelle Position abgefragt wird, ergänzt werden muß. Mit Encoder- und Profidrive-Profil können mit drehzahlgeregelten Antrieben Lageregelkreise über den Master aufgebaut werden, die vielen Ansprüchen in der Automatisierungs- und Gebäude- bzw. Verkehrsleittechnik genügen. Für Servoantriebe in der Fertigungstechnik ist die mit dem Profibus erreichbare Abtastzeit im Lageregler (Reaktionszeit) nicht ausreichend, weshalb hier schnellere Bussysteme (z.B. SERCOS oder herstellerspezifische Antriebs-Bussysteme) zum Einsatz kommen.

299

Page 183: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Einordnung in das ISO-/OSI-Modell Da es sich bei Feldbussystemen um lokale Netzwerke (LAN = "Local Area Network") handelt, die einen schnellen Datenaustausch durchzuführen haben, sind nur die Schichten 1,2 und z.T. die Anwenderschicht ausgeprägt. Beim Profibus ist die Ausprägung FMS und DP/PA in Schicht 1/2 gemeinsam definiert, d.h. sowohl die Übertragungsphysik als auch das Telegrammformat sind identisch. Profibus FMS bietet dem Anwender leistungsfähige, objektorientierte Dienste an, mit dem komplexe Kommunikationsaufgaben bei mittleren Reaktionszeiten erfüllt werden können, die über den einfachen, bitweisen und schnellen Datenaustausch von Profibus DP hinausgehen. Die Ausprägung FMS ist somit in der Schicht 7 definiert, während diese Schicht beim Feldbus für dezentrale Peripherie (Ausprägung DP) aus Effizienzgründen leer ist.

Schicht 7: AnwendungSchicht 6: DatendarstellungSchicht 5: Kommunikationssteuerung

Schicht 2: Verbindungssicherung (Data Link)Schicht 3: VermittlungSchicht 4: Transport

Schicht 1: Bitübertragung (Physical Layer)EN 50 170EN 50 170

FMS

DP, PA

Abb. 2.4.16 Der Profibus im ISO-/OSI-Modell Eine zentrale Aufgabe des Entwicklungsingenieurs bei der Projektierung einer Anlage ist die Auswahl des Bussystemes und dessen Spezifikationen. Dabei kann sich je nach Anforderungen eine durchgängige Lösung mit einem Bussystem oder eine Kombination mehrerer Bussysteme als technisches oder wirtschaftliches Optimum erweisen. Meist strebt der Anwender den Einsatz gleicher oder verwandter Bussysteme an, um den Inbetriebnahme-, Kommunikations- und Einarbeitungs-aufwand kleinst möglich zu halten. Die zentralen Auswahlkriterien im Bereich der Feld- und Zellenebene sind:

• Leistungsfähigkeit (Anzahl Teilnehmer, Reaktionsgeschwindigkeit)

• Modularität (Erweiterbarkeit, Stand-alone-Betrieb von Segmenten)

• Offenheit (Second Sources, Interoperabilität)

• Sicherheit (Notlaufeigenschaften, Fehlerbehandlung und -diagnose)

• Kosten (Anschaffung, Installation, Inbetriebnahme, Wartung) Nicht zu vernachlässigen sind auch die unternehmens- und entwicklungspolitischen Einflußfaktoren, die zwar nur schwer quantitativ bewertbar sind, aber die Auswahl von Komponenten und Bussystemen wesentlich beeinflussen können. Zu diesen "weichen" Faktoren gehören auch Verbreitung und Kundenakzeptanz im Zielmarkt der Anlage. Unter Projektierung versteht man in diesem Zusammenhang vor allem die Konfiguration eines Bussystemes. Hierzu stellen die führenden SPS-Hersteller geeignete Softwarewerkzeuge (sog. Projektierungstools) zur Verfügung, mit denen ein System an der Anlage oder vorab im Büro zusammengestellt werden kann.

300

Page 184: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Hierzu sind die Master-/Hostparameter, die Busparameter und die Slaveparameter zu definieren. Die Konfiguration muß in Abstimmung mit der SPS-Programmierung geschehen, um eine zuverläsige Übereinstimmung von Funktionsabläufen und physikalischen Schnittstellen zu gewährleisten (s. Abb. 2.4.17).

Abb. 2.4.17 Beispiel einer Projektierungstool-Oberfläche (COM-Profibus, Fa. Siemens) für die elektronische Kurvenscheibe (Beispiel I im nachfolgenden Abschnitt 2.4.2.4)

301

Page 185: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

2.4.2.4 Anwendungsbeispiele Beispiel I: Elektronische Kurvenscheibe Der erste Schritt zur Flexibilisierung von mechanisch gesteuerten, zwangsgeführten Systemen ist die Verkettung dezentraler Antriebe mit integriertem Positionsregler und Ablaufprogrammspeicher. Man spricht hier gerne von "intelligenten" Antrieben. Die dezentralen Antriebe erhalten über den Feldbus

• die (ggf. virtuelle) Position der Masterwelle (0 .. 360°),

• globale Statusinformationen der Gesamtanlage (Start, Stop, Fehler, Sonder-betriebsarten, Programmvorwahl).

Die Antriebe melden über den Feldbus den lokalen Status (Betriebsbereitschaft, Sollposition erreicht/nicht erreicht, Fehlermeldungen) zurück. Der Bewegungsablauf selbst, der im jeweils angewählten Programmspeicher in Form von Stützpunkten in Abhängigkeit von der Masterwellenposition abgelegt ist, wird vom Antrieb gemäß der aktuell gemeldeten virtuellen Masterwellenposition selbständig positionsgeregelt nachgefahren. Die Vorteile sind:

• Schneller Werkstückwechsel (Wechsel des Bearbeitungsablaufes/Operationen)

• Leichte Konfigurierbarkeit (Ausbau, Modifikation)

Profibus DP

MASTER

Profibus-Schnittstelle

Ablaufprogramm-speicher

Lageregler

Umrichter

Ant

riebs

posi

tion

Motor

Profibus-Schnittstelle

Ablaufprogramm-speicher

Lageregler

Umrichter

Ant

riebs

posi

tion

MotorMasterwellenpositionpr

ogra

mm

iert

e So

llpos

ition

0° 360°

Programm 1

Programm 2

Profibus DP Profibus DP

Masterwellen-position

Dreh-geber

Profibus-Schnittstelle

Abb. 2.4.18 Elektronische Kurvenscheibe mit Feldbusverkettung

302

Page 186: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Beispiel II: Optimierung des Elektrokonzeptes einer Rundtaktmaschine Zur beispielhaften Darstellung der Anwendungspotentiale der Feldbusse und zur quantitativen Beleuchtung der möglichen Kosteneinsparpotentiale stellt die Rundtaktmaschine ein gutes Beispiel für die Anforderungen einer allgemeinen Fertigungs- bzw. Montagezelle dar. Auf Zellenebene werden beim in Abb. 2.4.19 dargestellten Produktionssystem die Halbzeugfertigung (z.B. Decolletage-Zelle) das Bearbeitungssystem (z.B. Rundtaktmaschine) und die Nachbearbeitung (z.B. Waschanlage, Qualitäts-sicherung, Verpackung, etc.) verkettet. Zwischen diesen Zellen kann mit Hilfe des Profibus-FMS ein paletten-, schicht- oder losweiser Datenaustausch erfolgen. Die zwischen Halbzeugfertigung und Bearbeitungssystem auszutauschenden Daten können sein:

• Identifikation der Palette / des Loses

• Identifikation einzelner Werkstücke (z.B. bei "chaotischer" Fertigung/Montage) Innerhalb des Bearbeitungssystemes arbeiten auf der Feldebene oft bis zu 20 Bearbeitungs- oder Montagestationen. Da keine heute am Markt erhältliche NC-Steuerung so viele Achsen steuern kann, müssen die Bearbeitungseinheiten auf verschiedene Steuerungen verteilt werden. Vielfach besitzt jede Bearbeitungseinheit eine eigene Steuerung mit einer eigenen SPS. Auch das Belademodul besitzt aufgrund der spezifischen Anforderungen eine eigene Steuerung (RNC bei einem Roboter) nebst SPS. Das Transfersystem (hier der Rundtisch) hat ebenfalls eine lokale Positioniersteuerung mit einer entsprechenden Bus- oder SPS-Schnittstelle. Weiterhin besitzen solche Anlagen oft eine aufwendige Peripherie (Späneentsorgung, Werkstücktransport, Kühlschmiermittelaufbereitung, Filter, Hydraulikaggregate und -ventile, Kühlaggregate, Klimatisierung, .. etc.).

Halbzeug-zuführung

Belademodul(z.B. Roboter)

Weitertransport derbearbeiteten Werkstücke

z.B. Waschanlage, QS,Verpackung

z.B. Drehautomaten(Decolletage-Zelle)

3-Achs-Bearbeitungs-

Einheit

Rundschalttisch

Abb. 2.4.19 Schematische Darstellung der Profibus-Anwendung am Beispiel einer Rundtaktmaschine Zwischen diesen mehr oder weniger "intelligenten" Modulen ist ein schneller Datenaustausch meist binärer Informationen erforderlich, der mit Hilfe von Profibus-

303

Page 187: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

DP durchgeführt werden kann. Dabei muß die Steuerung eines Modules oder eine weitere Zentralsteuerung mit einem Bus-Master vorgesehen werden. Dieser Master hat die Aufgabe der Steuerung der Gesamtanlage und der Kommunikation mit dem Bediener (via MMI) sowie den benachbarten Zellen. Zentrale Informationen auf Feldebene sind:

• Synchronisation von Transfer- und Bearbeitungstakt (Kollisionscheck) • Werkstückstatus (bearbeitet/nicht bearbeitet/Werkzeugbruch) • Status der verschiedenen Module (Betriebsbereitschaft, Füllstand,

Endlagenkontrolle, Temperaturschutz, etc.) Der Austausch dieser Informationen erfolgt durch die Übermittlung binärer Signale zwischen den Ein- und Ausgängen der Master-SPS und der beteiligten Slaves. Nur in seltenen Fällen sind analoge Daten zu übertragen (z.B. Temperatur-überwachung). Werden die Ein- und Ausgänge der lokalen Steuerungen und die Endschalter sowie die Peripheriemodule direkt miteinander verbunden (diskrete Verkabelung, zentraler Schaltschrank), so ergeben sich folgende Probleme:

• hoher Elektromontageaufwand, Fehlerhäufigkeit bei Kleinserien • große Kabellängen • hoher Konfigurationsaufwand bei Modifikation der Anlage • erschwerte Fehlerdiagnose • EMV-Störempfindlichkeit Wird die Kommunikation zwischen den Modulen mittels Profibus-DP ausgeführt, so nimmt vor allem der Aufwand für Inbetriebnahme, Wartung, Fehlerdiagnose und Konfiguration deutlich ab. Weiterhin ergeben sich insgesamt kleinere Kabellängen. Hält man jedoch am Konzept des zentralen Schaltschrankes fest, so bleibt der Aufwand für die Motor- und Meßsystemverkabelung unverändert. Erst die vollständige Dezentralisierung der Module (inklusive Steuerung, Umrichter) lässt eine deutliche Verringerung des Verkabelungsaufwandes zu. In der nachfolgenden Tabelle 2.4.2 sind die Kosten für die drei hier skizzierten Konzepte, bezogen auf eine Bearbeitungseinheit beispielhaft (Listenpreise) dargestellt. Diese Aufstellung macht deutlich, daß die naheliegende Umstellung Elektrokomponenten (Endschalter, Kommunikation auf Feldebene) auf die Busankopplung ohne konsequente Dezentralisierung zwar technische Vorteile, aufgrund der Kosten für Busterminals und Schnittstellen an den Feldbusgeräten jedoch keine Vorteile bezüglich der Beschaffungskosten bringt. Erst die vollständige dezentrale Lösung mit Profibus-DP ergibt deutliche Vorteile auch für die Anschaffungskosten.

304

Page 188: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

a) Diskrete Verkabelung

MMI

Master-SPS

SPS/NC1

Spindel

Achsantriebe

Endschalter

Meßsysteme

SPS/NC2

Spindel

Achsantriebe

Endschalter

Meßsysteme

SPS/NC3

Spindel

Achsantriebe

Endschalter

Meßsysteme

Schaltschrank

10 m

b) Hybridkonzept mit Profibus-DP

MMI

Master-SPS

SPS/NC1

Spindel

Achsantriebe

Endschalter

Meßsysteme

SPS/NC2

Spindel

Achsantriebe

Endschalter

Meßsysteme

SPS/NC3

Spindel

Achsantriebe

Endschalter

Meßsysteme

Schaltschrank

Benachbarte ZelleProfibus-FMS

Profibus-DPSchaltschrankSchaltschrank

10 m

c) Vollständiges Buskonzept

MMI

Master-SPS

SPS/NC1

Spindel

Achsantriebe

Endschalter

Meßsysteme

SPS/NC2

Spindel

Achsantriebe

Endschalter

Meßsysteme

SPS/NC3

Spindel

Achsantriebe

Endschalter

Meßsysteme

Benachbarte ZelleProfibus-FMS

Profibus-DP

lokale Elektro-Box

Terminal-Box

10 m

1 m

Abb. 2.4.20 Elektrokonzepte mit Feldbussen (hier Profibus)

305

Page 189: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

306

Kabelkomponenten der Bearbeitungseinheit

a) Diskrete Verkabelung

b) Hybridkonzept mit Profibus-DP

c) Vollständiges Buskonzept

Motor-Leistungskabel 300.- 300.- 100.-Motorfeedback 150.- 150.- 50.-Positionsmeßsysteme 150.- 150.- 50.-Spindel-Leistung 80.- 80.- 50.-24 V -Versorgung 50.- 50.- -Not-Aus-Kreis 50.- 50.- 50.-Endschalter 150.- 150.- -Kommunikation* 200.- 50.- 100.-Bus-Terminal/Schnittstellen - 470.- 470.-Summe 1130.-

(100 %)1450.-

(128 %)870.-

(77 %)* Annahme: 16 binäre Eingänge und 16 binäre Ausgänge je Bearbeitungseinheit

Tabelle 2.4.2 Kostenvergleich

Page 190: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

424

Page 191: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Anhang A Ingenieurwissenschaftliche Softwarewerkzeuge Die graphische oder analytische Modellierung von technischen Systemen ist der Kern der ingenieurwissenschaftlichen Arbeit. Hier kann und sollte noch sehr viel von Hand (mit Bleistift und Papier) gearbeitet werden, um den (In) Genius nicht durch die Handhabung von Werkzeugen abzulenken. Die Auswertung dieser Modelle zur Produktentwicklung und Optimierung hingegen kann nicht mehr effizient von Hand erfolgen, hier werden entsprechende ingenieurwissenschaftliche Softwarewerkzeuge benötigt, mit denen die Modelle implementiert, simuliert und die Resultate graphisch aufbereitet werden können. Anwenderprogramme zur Texterstellung (Office, Latex), zur grafischen Darstellung und zur Tabellenkalkulation sind zwar für den modernen Maschinenbau-Ingenieur zur Bewältigung der Alltagsgeschäfte nützlich, dürfen aber nicht als ingenieurwissen-schaftlich gelten. Dagegen können mit Mathematik-Programmen (Mathematica®, Maple®, MatCad®, …) bereits umfangreiche mathematisch formulierbare wissenschaftliche Fragestel-lungen bearbeitet werden. Eine erste wichtige Gruppe von ingenieurwissenschaftlichen Werkzeugen stellen die CAD/CAM-Programme dar. Sie dienen heute nicht nur zur digitalen Erstellung von technischen Zeichnungen und Schaltplänen, sondern unterstützen zudem die Generierung von Stücklisten, kinematischen und kinetischen Parametern, Fertigungsangaben, Leiterplatten-Layout, etc. Vielen Dieser Werkzeuge ist sogar ein eigenes (sehr spezialisiertes) Simulationswerkzeug angeschlossen, das gleich eine simulative Überprüfung der Funktionsfähigkeit zulässt. Eine zweite Gruppe von ingenieruwissenschaftlichen Werkzeugen bilden die vielen Finite-Elemente-Analyse-Programme zur Ermittlung von Spannungen, Verformung-en, Temperaturverteilungen, Strömung, Strukturdynamik, Wechselwirkungen, etc. Bei diesen beiden Gruppen ist ein solides Grundverständnis der eingesetzten Algorithmen und Methoden sowie eine gehörige Frustrationstoleranz zur handwerklichen Bedienung der teilweise sperrigen Bedienoberflächen1 gefordert. Beides wird in den einschlägigen Lehrveranstaltungen gelehrt und geübt. Daneben gibt es eine dritte Gruppe von ingenieurwissenschaftlichen Softwarewerkzeugen, die sehr flexibel an unterschiedliche Anwendungszwecke und vor allem für die Erprobung neuer Methoden und Analyseverfahren angepasst werden können. Sie haben sich daher parallel zu den CAD/CAM- und FE-Werkzeugen in Industrie und Hochschule verbreitet. Das bei weitem bekannteste dieser Werkzeuge ist MATLAB®. Es hat sich als hochflexible und leistungsfähige Entwicklungsstütze im Ingenieurwesen etabliert. Neben der Simulation und der Echtzeit-Steuerung/Regelung von mechatronischen Prototypen werden viele sachlich spezialisierte Toolboxen angeboten. Daher wird dieses Werkzeug hier ausführlich behandelt.

1 Leider hat sich bei Softwareanbietern für ingenieurwissenschaftliche Werkzeuge eine gewisse „Wegelagerer“-Mentalität etabliert. Offenbar überschauen nur noch wenige Entwickler diese Werkzeuge ganz und haben zu wenig Kapazität, diese fehlerfrei und bedienerfreundlich zu halten. Statt dessen werden in immer kürzeren Abständen mit bunten Optionen überfrachtete Releases von offensichtlich ausreichend vorhandenen Verkäufern in den Markt gedrückt, deren Defizite die Effektivität der Nutzer stark bremsen. Zudem wird bei entsprechender Marktmacht der Nutzer durch teure Pflege- und Wartungsverträge geknebelt. Diese Branche ist ein Lehrstück für das Versagen der Marktwirtschaft im Hinblick auf das Erreichen bestmöglicher Produkte und Lösungen.

425

Page 192: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Typische Simulationswerkzeuge für automatisierungstechnische Anwendungen sind in Tabelle 1.1 aufgelistet:

Software-Werkzeug Eingabeformat für Modelle, Parameter und Simulationssteuerung

Bevorzugte Eignung

MATLAB/Simulink2 (www.mathworks.com)

Text-Datei, Blockschaltbild

Mechatronische Systeme

ACSL [www.acsl.com]

Text-Datei, Blockschaltbild

Mechatronische Systeme

SIMPLORER [Stephan 1999]

Blockschaltbild, Schaltbild, Text-Datei, vordefinierte Komponetenbibliothek

Elektrische Antriebe

PSPICE [Beetz, 2000]

Text-Datei, Schaltbild, Blockschaltbild, umfangreiche Komponentenbibliotheken

Elektrische Schaltungen

MODELICA [Tiller 2001, Fritzson 2004]

Text-Datei, Blockschaltbild Mechatronische Systeme

Tabelle A.1 Auswahl marktgängiger Simulationswerkzeuge

2 MATLAB© and Simulink© are trademarks of The MathWorks, Inc. and are used with permission.

426

Page 193: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A1 MATLAB MATLAB ist ein Softwarewerkzeug, welches zur Behandlung von Matrizen entwickelt wurde und einen großen Umfang von graphischen Darstellungsmöglichkeiten zur Verfügung stellt. Neben der interaktiven Befehlseingabe bietet MATLAB die Möglichkeit, über eine einfache, pseudocode-orientierte Programmiersprache (sog. Script-Dateien) Parameterdefinitionen, Auswertungen und Darstellungen automatisiert ablaufen zu lassen. Simulink erlaubt die interaktive Simulation dynamischer Systeme mit nichtlinearen Systemteilen (z.B. Sättigung, Reibung). Die Eingabe erfolgt in Form von Blockschaltbildern, deren Elemente aus Bibliotheken entnommen werden (drag&drop). Neben der interaktiven Simulation kann die Simulation von Simulink-Modellen auch von der MATLAB-Ebene gesteuert werden. Die Simulationsergebnisse können in Form von Vektoren von der Simulink-Ebene auf die MATLAB-Ebene (Workspace) übertragen werden (siehe Abb. A.1.1).

Editor

Simulink- Modell

Diagramm

MATLAB-Workspace

Darstellung

Simulationsresultate Simulationssteuerung

Bediener

Interaktive Bedienung

Script-Datei-

Program- mierung

Abb. A.1.1 Übersicht zur Arbeitsmethodik mit MATLAB/Simulink Die Kombination aus MATLAB und Simulink stellt somit ein mächtiges Werkzeug zur Simulation mechatronischer Systeme dar, das die benutzerfreundliche Handhabung

427

Page 194: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

von Blockschaltbildern mit komfortablen Auswerteoptionen und einer frei programmierbaren Simulationssteuerung verbindet. Der Entwickler hat somit die Möglichkeit, sich in kurzer Zeit eigene angepasste Werkzeuge zum Systementwurf zu erstellen. Die Konvergenz von programmierten Optimierungsalgorithmen (z.B. zur Reglereinstellung) muss durch eine geeignete Wahl der Anfangswerte und Randbedingungen sichergestellt werden. Diese kurze Einführung in MATLAB berücksichtigt nur die für die Simulation mechatronischer Systeme in Verbindung mit Simulink notwendigen Funktionen und ist weitgehend unabhängig von der verwendeten Matlab-Version3. Der interessierte Leser sei bezüglich weitergehender Informationen und Hinweise auf die umfängliche Begleitliteratur zu MATLAB [Lutz, 2003; Beucher, 2002; Biran, 1995; Hoffmann, 2000] sowie die „help“-Funktion der MATLAB-Workspace verwiesen. Zur Einarbeitung in Simulink kann die animierte, interaktive Einführung von Matlab/Simulink (ab Version 6) oder die schrittweise Erklärung der Blockschaltbilderstellung in [Lutz, 2003] hilfreich sein.

Abb. A.1.2 MATLAB-Bedienoberfläche Nach Aufruf des Programmes (bzw. Doppelklick auf das MATLAB-Icon) erscheint das Hauptfenster (s. Abb. A.1.2). Die wichtigsten Bedienelemente von MATLAB sind:

• "Command Window" für direkten Dialog • "Workspace" stellt alle in Benutzung befindlichen Größen dar • "Command History" enthält der Entstehungreihenfolge nach alle Eingaben • "Current Directory" zeigt einen Überblick des aktuellen Verzeichnisses • "Help": Große Hilfe-Datenbank mit Querverweisen • "Editor": Zur Bearbeitung von Textdateien (z.B. m-Dateien, s. Abschnitt A.1.3)

3 Alle hier behandelten Übungen können schon mit der 1993 erschienenen Matlab-Version 3 bearbeitet werden. Seit dieser Zeit haben sich die Matlab-Versionen vor allem hinsichtlich Oberflächengestaltung (Windows-Oberfläche) und Eingabekomfort verändert. Hier wurde die 2008 erschienene Vollversion (Matlab R2008a) verwendet, für die die TU Clausthal (IPP, IEI, IEE) mehrere Dutzend Classroom-Lizenzen beschafft hat. Seit Anfang 2010 ist eine dazu kompatible Studentenversion verfügbar (www.mathworks.de). Die Unterschiede dieser Versionen sind jedoch vernachlässigbar gering (Aufwärtskompatibilität).

428

Page 195: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A1.1 Basisfunktionen in Matlab MATLAB verarbeitet Variable als Matrizen. Sie müssen nicht (wie z.B. in C) zuvor deklariert werden. Die Eingabebefehle lauten: >> a=2; der Variablen a wird der Wert 2 zugewiesen

>> a=[1;3;4;2]; Zeilenvektor

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

2431

a

>> a=[1 3 4 2]; Spaltenvektor ( 2431a = )

>> A=[1 3 4 2;0 1 0 0; 4 80 5 0]; 4x3-Matrix ⎟⎟⎟

⎜⎜⎜

⎛=

0580400102431

A

Zeilenvektoren (z.B. zur Erzeugung einer Werte- oder Zeitbasis) können linear mit >> T=0:0.1:10; 101 Elemente, Schrittweite 0,1, untere Schranke 0, obere Schranke 10 und mit logarithmischer Teilung mit >> T=logspace(-4,1,100); 100 Elemente, Wertebereich von 10-4 bis 101 erzeugt werden. Zeichenketten (strings) werden in Hochkommata zugewiesen: >> text = 'Hallo!' Der Abschluss einer Eingabe mit dem Semikolon (;) unterdrückt die Quittierung der Eingabe auf der Workspace. In Matlab sind einige feste Zahlen schon mit Variablen verknüpft (z.B. pi = 3,141...), die direkt so (sehr leserlich in trigonometrischen Funktionen) zugewiesen werden können. Komplexe Zahlen werden mit i oder j am Imaginärteil gekennzeichnet: >> s = 1 + 3i oder Z=R+j*X Mathematische Operationen werden mit den elementaren Operatoren oder dem entsprechenden Funktionsbefehl und der Übergabe von Funktionsparametern ausgeführt: >> a=b+c; ..b-c; ..b*c; ..b/c; Addition, Subtraktion, Multiplikation, Division >> a=x^2; a = x2 >> a=exp(b); a = eb >> a=sqrt(b); Wurzel-Funktion a = x1/2 >> a=cos(2*pi*f*t); Cosinus-Funktion >> a=atan(y/x); Arcuscosinus-Funktion >> a=min([1 4 5 6 2]); ..max(); Minimum- und Maximumfunktion Für die Behandlung von Matrizen stehen ebenfalls umfangreiche Funktionen zur Verfügung: >> B=inv(A); Inverse Matrix B=A-1 >> B=det(A); Determinante von A >> B=A‘; Transponierte B=AT >> b=A*a; Matrizenmultiplikation

429

Page 196: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

>> A = [M; 7 8]; Matrix um eine Zeile erweitern >> B = A(2:end,:); Teilmatrix übernehmen Die Funktionen „length(a)“ und „size(A)“ geben die Länge des Vektors a bzw. die Zahl der Spalten und Reihen der Matrix A als Ergebnis aus. Workspace-Fenster: Die auf der MATLAB-Workspace aktuell definierten Variablen und Parameter können mit dem Befehl „whos“ angezeigt werden oder sind im Workspace-Window ersichtlich So wie das Command History-Fenster einen Blick auf die Befehlshistorie zulässt, sieht man im Workspace-Fenster alle bisher angelegten Größen, bereits benutzte Namen sowie deren Werte oder wenigstens deren Struktur. Ein Doppelklick auf das Symbol vor einem Namen öffnet ein Fenster zur Anzeige der Werte. Im Workspace-Fenster lassen sich Größen selektieren und dann im Kontextmenü Leistungen bezüglich der Selektion abrufen (z.B. Löschen, Umbenennen, Wert ändern). Das Workspace-Fenster ist eine große Hilfe bei der Fehlersuche, da Sie auf einen Blick sehen, ob eine Variable überhaupt bekannt bzw. definiert ist und ob die langen – bei der Simulation entstehenden - Ergebnisvektoren auch die passende Länge haben, etc. Alle Größen lassen sich mit „clear all“ im Command Window aus dem Workspace entfernen. Mit den Befehlen „load“ und „save“ können Workspace-Variablen (z.B. als ASCII-Dateien) im- und exportiert werden, wenn sie später oder für ein anderes Anwenderprogramm zur Verfügung stehen sollen. � Help – die Hilfe-Funktionen: Egal, wie lange man mit MATLAB arbeitet, man weiss nicht alle Funktionen und deren Parameter auswendig – muss man auch nicht. Dazu hat sich die Hilfe-Funktion als sehr effizient erwiesen, mit der ein einfacher Hilfetext im Command-Window erscheint, der die angefragte Funktion beschreibt, ein Beispiel nennt und unter „see also“ verwandte und ergänzende Funktionen auflistet. Speziell „see also“ liefert immer die gesuchte Funktion, auch wenn man deren Namen gerade nicht im Kopf hat. Die Eingabe >> help abs liefert: ABS Absolute value. ABS(X) is the absolute value of the elements of X. When X is complex, ABS(X) is the complex modulus (magnitude) of the elements of X. See also sign, angle, unwrap, hypot. Mit „doc abs“ wird ein großes Hilfefenster geöffnet, das die umfangreichere Online-Dokumentation von MATLAB zeigt – braucht man aber selten. Mit „clc“ wird der Fensterinhalt gelöscht, was nach Schleifen mit vergessenem Semikolon oder mehreren „help“-Aufrufen nötig sein kann. Command History - Fenster Auf bereits eingegebene Zeilen kann einfach mit der Pfeil-oben-Taste zurückgegriffen werden. Länger zurückliegende Befehszeilen können einfacher im "Command History"-Fenster kann eingesehen und mit Copy-Paste in das Command-

430

Page 197: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Window übernommen werden. Durch Doppelklick auf Einträge im "Command History"-Fenster werden diese sofort ausgeführt. Current Directory – Ein Blick auf die Verzeichnisumgebung MATLAB® hat immer ein aktuell benutztes Verzeichnis, das im Unterfenster "Current Directory" mit seinen Unterverzeichnissen und Dateien gezeigt wird. Dieses Verzeichnis sollte bewusst eingestellt werden. Unterverzeichnisse sollten so gestaltet werden, dass immer eine nachvollziehbare Ordnung erhalten bleibt, da bei längerer Arbeit mit MATLAB® eine große Menge von Dateien und Versionen von Programmen entsteht. Sachlich zusammenhängende Funktionen können übersichtlich in einer Art Bibliothek zusammengefasst werden. Benötigen und/oder erzeugen MATLAB®-Programme große Datenmengen (z.B. Meßdaten in ASCII-Dateien), so können diese aus Dateien gelesen bzw. in Dateien geschrieben werden. Diese sollten dann auch sinnvoll im Dateisystem eingeordnet sein. Wichtige Charaktereigenschaften von MATLAB® zum Verständnis: MATLAB® wurde vorzugsweise als Werkbank zu Matrizenrechnungen entworfen, matrizenartige Strukturen durchziehen daher das ganze Programm. Größen sind im Allgemeinen eine Matrix (m x n) von (bevorzugt) Fließkommazahlen (Typ double mit 64 Bit):

- eine einzelne Größe ist dann eben eine 1 x 1-Matrix - ein Spaltenvektor ist eine n x 1-Matrix - ein Zeilenvektor ist eine 1 x n-Matrix

Operatoren werden immer sachlich passend zu den Operanden verstanden. Vektor-und Matrix-Multiplikation werden nach Regeln der Matrizenrechnung angewandt abweichend von diesen Regeln gibt es Sonderschreibweisen der Operatoren für andere sinnvolle Rechenweisen, z.B. die elementweise Multiplikation „a .* b“. Für den Nutzer ist eine hocheffiziente Schreibweise möglich. Soll beispielweise die mathematische Funktion y = x² –2 soll in diskreten Punkten im Intervall [-2,2] dargestellt werden, so lautet die kurze Eingabe im Command Window: >> x = -2 : 0.1 : 2; >> y = x.^2 -2; >> plot(x,y); Beim Versuch, regelwidrige Rechnungen abzuverlangen, lehnt das System diese mit (meist gut interpretierbaren) Fehlermeldungen ab.

431

Page 198: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A1.2 Grafische Darstellungen Zur graphischen Darstellung von Vektoren mit linearer Achsskalierung dient die „plot“-Funktion. Im nachfolgenden Beispiel in Abb. A.1.3 wird ein Zeitvektor t und dazugehörige Wertevektoren y1, y2 generiert und mit einer schwarzen durchgezogenen Linie bzw. rot gepunktelt mit Quadraten in einem Diagramm dargestellt. Die Funktionen „xlabel“, „ylabel“ und „title“ erlauben die Beschriftung des Diagramms. Der Befehl „axis“ erlaubt die Definition der darzustellenden Wertebereiche der Achsen. t = 0 : 0.1 : 10; % Vektor mit Zeitpunkten y1 = sin(2*pi*t/10); % Sinus: eine Vollwelle y2 = y1.^2; % 2. Funktion: Quadrat von y1 hold off; % alte Plots überschreiben plot(t,y1,'k','LineWidth',1); % mit Voreinstellungen hold on; % weitere Plots zulassen plot(t,y2,'r:s'); % rot-gepunktet-Quadrate title('Funktionen sin und sin^2'); axis([-0.5 10.5 -1.1 1.1]); % xmin xmax ymin ymax xlabel('Zeit in s'); ylabel('Strom, Leistung'); legend('Strom','Leistung','Location','SouthWest'); grid on % Gitterlinien

0 1 2 3 4 5 6 7 8 9 10

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Funktionen sin und sin2

Zeit in s

Stro

m, L

eist

ung

StromLeistung

Abb. A.1.3 Beispiel für Plot-relevante Funktionen Eine oder mehrere Verlaufslinien in einer Darstellung, sowie die einzelnen Stützpunkte eines Plots können durch Markierungen hervorgehoben werden. In der Kurzreferenz in Anhang A1.7 sind die wichtigsten Plot-Gestaltungsmöglichkeiten wiedergegeben. Die Liniendicke wird mit dem Parameter LineWidth definiert

432

Page 199: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

(Standardeinstellung=1). Eine Legende zu mehreren Funktionensverläufen in einer Grafik wird mit legend definiert. Der Legendenort (1.-4. Quadrant) kann mit dem letzten parameter ausgewählt werden. Voraussetzung zum Plotten sind Felder von diskreten Werten. Wenn nur ein Vektor von Werten vorliegt, so wird er als Menge von y-Koordinaten verstanden, die einfach den natürlichen Zahlen zugeordnet werden. Vielfach stellt man Funktionen in Abhängigkeit von der Zeit dar (wie beim Oszilloskop); dann braucht man einen Vektor mit diskreten Zeitpunkten und für jede Funktion einen Vektor mit diskreten Funktionswerten passend zu den gewählten Zeitpunkten. Logarithmische Achsskalierungen können mit den Funktionen „semilogx“, „semilogy“ und „loglog“ erzeugt werden. Räumliche Darstellungen von Ergebnissen (z.B. aus Parameterstudien) sind mit den Funktionen „plot3“, „mesh“ und „surf“ möglich. Sollen mehrere Darstellungen gleichzeitig am Bildschirm behandelt werden, so sind die Darstellungen mit „figure(x)“ mit der Nummer x zu kennzeichnen. Ohne die Kennzeichnung der entsprechenden Darstellung beziehen sich alle Darstellungs-funktionen auf die letzte definierte Darstellung (figure(1), wenn keine weiteren Darstellungen definiert wurden). Die Darstellungen können über den Menü-Befehl „Edit/Copy Model“ an der MATLAB-Grafik und den Befehl „Einfügen“ in Textverarbeitungsprogramme importiert und dort als Grafik behandelt werden. Auch ein Export als .eps oder .jpg ist möglich.

433

Page 200: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A1.3 Script-Dateien und Funktionen MATLAB stellt einen ASCII-Editor zur Verfügung, in dem Befehlsfolgen editiert werden können. Diese Befehlsfolgen werden als sogenannte Script-Dateien (Erweiterung „*.m“) abgespeichert und stehen in der MATLAB-Workspace als Befehle zur Verfügung. Da in der englischsprachigen Benutzergemeinde der Begriff „M-File“ üblich ist, wird er auch von deutschsprachigen Nutzern anstelle des eigentlich korrekten Begriffes „Script-Datei“ verwendet. Der Aufruf im Command Window erfolgt ohne die Erweiterung „*.m“. Beim Starten per RUN-Knopf wird automatisch der aktuelle Stand gespeichert und dann der gesamte Inhalt der Datei abgearbeitet. Es können zum Editieren der Script-Dateien auch andere Editoren (z.B. unter DOS oder Windows-Zubehör) eingesetzt werden, wobei darauf zu achten ist, dass sich die Script-Dateien im aktuellen MATLAB-Verzeichnis befinden. Dieses Verzeichnis kann in der MATLAB-Workspace mit dem Menüpunkt File/Set_Path oder mit dem „path“-Befehl definiert werden. Die Script-Dateien / M-Files erleichtern einerseits die interaktive Eingabe. Andererseits ermöglichen sie zusammen mit den Schleifen „while“, „for“ und den Verzweigungen „if“, „else“ (siehe Minireferenz in Abschnitt A1.6) die Erstellung vollwertiger Simulations- und Ausgabeprogramme. Die Programmierung erfolgt ähnlich wie bei einem Compiler für höhere Programmiersprachen (z.B. C), wobei aus Script-Dateien in der Regel keine ausführbaren (.EXE-) Programme generiert werden. Die Script-Dateien werden lediglich von MATLAB interpretiert. Daher laufen größere Rechenoperationen langsamer ab als bei einer Implementierung in C. MATLAB bietet die Möglichkeit, C-Code zu integrieren, um Simulationszeit zu optimieren (siehe hierzu (Matlab, 2001)). Mit der inzwischen verfügbaren Prozessorleistung wird dies jedoch kaum mehr erforderlich. Für die Simulation mit MATLAB/Simulink hat sich folgender Aufbau von Script-Dateien als nützlich erwiesen:

• Kopf mit Namen, Zweck/Kurzbeschreibung, ggf. Ersteller/Datum • Definition der Modellparameter, Reglereinstellungen, Sollgrößengenerierung • Definition der Simulationsparameter • Simulationssteuerung, ggf. über Schleifen • Auswertung und Darstellung der Simulationsergebnisse

Mit „%“ können Kommentare in die Script-Datei eingefügt werden, da MATLAB die Zeichen dahinter ignoriert. Auf die gleiche Weise können Teile der Script-Datei schnell und einfach aktiviert bzw. inaktiviert werden. Wie im Umgang mit höheren Programmiersprachen ist auch bei der Script-Datei-Programmierung die Kommentierung sehr wichtig, um längere Abläufe und Algorithmen les- und editierbar zu halten! Tipp:

Definieren Sie jeden Modellparameter mit einem kurzen, formelzeichennahen Namen und geben Sie im Kommentar dahinter Einheit und Bedeutung des Parameters an. Beispielsweise sollte der Wicklungswiderstand einer Motorwicklung, der bei Raumtemperatur den Wert 5 Ohm hat, folgendermaßen definiert werden: „R=5; % Ohm Wicklungswiderstand“ Auf diese Weise ist Ihnen auch nach längerer Unterbrechung der Simulationsarbeit oder einem Kollegen, der mit Ihren Script-Dateien arbeiten will, sofort klar, um welchen Parameter es sich handelt und welche Einheit daraus interpretiert wird.

434

Page 201: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Neben prozeduralen Befehlsfolgen als Unterprogramme können auch Funktionen definiert werden, die Ergebnisse an die MATLAB-Workspace zurückliefern. Im Prinzip sind alle MATLAB-Befehle solche Funktionen, die wiederum aus gemeinsam genutzten Unterfunktionen zusammengesetzt sind. Damit kann der Anwender eigene Befehls-Funktionen generieren, um z.B. immer wiederkehrende aufwendige Darstellungen zu ermöglichen o.ä. Nicht im Funktionskopf übergebene Variable müssen als globale Variable in der MATLAB-Workspace und in der Funktion definiert werden, um innerhalb der Funktion verwendet werden zu können. In Simulink macht man sich später die Funktionen zunutze, um komplexere Berechnungen in Blöcke zu integrieren. Dazu kann der „MATLAB–Function-Block“ eingesetzt werden. Mehrere Ein-/Ausgänge werden mit Multiplexern („Mux- und Demux-Blocks“) zu Vektoren zusammengefasst bzw. aufgegliedert.

• Funktionen ohne Ergebnisrückgabe Funktionen mit prozeduralem Charakter können in Abhängigkeit von mitgegebenen Parametern ein Bündel von Anweisungen abarbeiten. Beispiel: function skalplot(vek_x,vek_y) xmin= min(vek_x); xmax= max(vek_x); ymin= min(vek_y); ymax= max(vek_y); zgx= (xmax-xmin)*0.05; % Zugabe x zgy= (ymax-ymin)*0.05; % Zugabe y axis([xmin-zgyxmax+zgxymin-zgyymax+zgy])

• Funktionen mit Ergebnisrückgabe Funktionen mit Ergebnisrückgabe können in Abhängigkeit von mitgegebenen Parametern ein Ergebnis erarbeiten und zurückliefern. Solche Funktionen können in algebraischen Ausdrücken verwendet werden. Beispiel: function v=vol_quader(l,b,h) % <--vol_quader(l,b,h) % liefert das Volumen eines Quaders % Parameter: Länge, Breite und Höhe v = l*b*h; Nutzung nach Erstellung, Abspeicherung und ggf. Pfadanpassung: >> v25st = 25*vol_quader(24,11.5,5.25)

435

Page 202: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Wenn MATLAB®-Skripte ablaufen, wird ein Dialog über das Command Window mit folgenden Ein-und Ausgaben ermöglicht: - Eingabe mit Aufforderungstext lae= input('Länge: '); % MATLAB-Auswertung der % Eingabe-Zeichenfolge txt= input('Farbe: ','s'); % liest direkt Zeichenfolge ein - Ausgabe in Textform mit autom. Umwandlung disp('Hallo'); % z.B. als Kontrollausgabe disp(vektor); % Variablenwert als Zeichenkette disp(['V = ', num2str(V)]); % Zusammengesetzte Zeichenkette - Formatierte Ausgabe fprintf('a= %d, ',a); % Begleittext, Dezimalzahl fprintf('V = %d %d %d', V3d); % Text, drei Vektorkomponenten

A1.4 Graphical User Interface Matlab stellt eine große Vielfalt von Windows-Funktionen zur Verfügung, mit der die üblicherweise Kommandozeilen- oder M-File-orientierte Arbeitsweise benutzerfreundlicher gestaltet werden kann. Für die Eingabe können spezielle Eingabefenster entworfen werden und die Ergebnisaufbereitung kann in dafür spezifizierten Ausgabefenstern geschehen. Vereinzelt werden damit sogar die Bedienoberflächen komerzieller Software-Werkzeuge gestaltet, wie dies am Beispiel des IWF Axis Construction Kit (“Achsbaukasten”) dargestellt ist, mit dem auf Basis von räumlichen Starrkörpermodellen das dynamische Verhalten von Werkzeug-maschinen bereits im Entwurfstadium simuliert und optimiert werden kann:

Über ein Eingabefenster wählt der Entwickler/Konstrukteur die Körper Antriebe, Steuerungsbausteine und Bindungen an, aus der das Maschinenkonzept bestehen

436

Page 203: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

soll. Ein Ausgabefenster stellt diese Struktur zur Plausibilitätskontrolle als 3D-Plot dar - die MATLAB-Funktion „plot3()“ wird hier genutzt – und über weitere Ausgabefenster werden Stabilitätskarten (Störfrequenzgänge für die Fräsbearbeitung) und Bahntests (Kreisbahn, Eckentest) ausgegeben. Solche detailliert gekoppelt modellierte mechatronischen Systeme werden am Beispiel von Werkzeugmaschinen und Robotern in Abschnitt 3.1 behandelt. Einerseits können GUI’s als eigene Matlab-Funktionen mit einem Definitionsteil der Ein- und Ausgabeelemente und einem Aktionsteil, der in Abhängigkeit der als aktiv erkannten Eingaben die entsprechenden Aktionen steuert, aufgebaut werden. Die MATLAB-Hilfedokumentation ist hier sehr mächtig und nicht unbedingt für Maschinenbauer geschrieben. Andererseits können einfachere GUI’s auch sehr effizient über den interaktiven GUI-Layouteditor aufgebaut werden. Hier kann man durch Drag&Drop die Ein-Ausgabe-Elemente auswählen und platzieren. Durch Abspeichern wird eine MATLAB-Funktion angelegt, die die ausgewählten Funktionselemente enthält und in die nachträglich die Aktionen implementiert werden können. Ein einfaches Beispiel soll dies hier verdeutlichen: Ein GUI soll aus zwei Tast-Knöpfen (Radio-Buttons) bestehen, mit denen in einer Grafik zwei unterschiedliche Vektoren dargestellt werden sollen. Dazu öffnet man mit dem Befehl „guide“ (oder im Menü File/New/GUI) den Layouteditor, platziert zwei Radio-Buttons und ein axes-Fenster. Durch Doppelklick auf die Elemente öffnet sich ein Property Inspector, mit dem z. B. der Name der Buttons angepasst werden kann.

Speichert man dieses GUI ab, so entsteht eine gleichnamige Matlab-Funktion deren Aufbau nachfolgend verkürzt aufgelistet ist. Fügt man nun in die zu den Buttons gehörenden Callback-Funktionen die auszuführenden Plot-Befehle ein (fett hervorgehoben), so werden diese bei Anklicken mit der Maus im GUI jeweils ausgeführt.

437

Page 204: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

function varargout = A1_gui_bsp1(varargin) % A1_GUI_BSP1 M-file for A1_gui_bsp1.fig % ... % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help A1_gui_bsp1 % Last Modified by GUIDE v2.5 02-Aug-2010 08:59:02 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @A1_gui_bsp1_OpeningFcn, ... 'gui_OutputFcn', @A1_gui_bsp1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before A1_gui_bsp1 is made visible. function A1_gui_bsp1_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to A1_gui_bsp1 (see VARARGIN) % Choose default command line output for A1_gui_bsp1 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes A1_gui_bsp1 wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = A1_gui_bsp1_OutputFcn(hObject, eventdata, handles) % ... % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in radiobutton1. function radiobutton1_Callback(hObject, eventdata, handles) % ... X=[0 1 3 2 3 0]; plot(X,'k','LineWidth',2); % Hint: get(hObject,'Value') returns toggle state of radiobutton1 % --- Executes on button press in radiobutton2. function radiobutton2_Callback(hObject, eventdata, handles) % ... X=[0 -1 1 1 -1 -1]; plot(X,'k--','LineWidth',2); % Hint: get(hObject,'Value') returns toggle state of radiobutton2

438

Page 205: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A1.5 Toolboxen und Erweiterungen Dieser Abschnitt gibt eine Übersicht über die gängigen Erweiterungen (Toolboxes) und Schnittstellen von MATLAB zu anderen Simulationswerkzeugen und Echtzeitanwendungen, die für die Behandlung mechatronischer Systeme bei Werkzeugmaschinen und Robotern hilfreich sein können.

Toolboxen Als Toolbox bezeichnet man eine Gruppe von Funktionen und Programmen, die aus den Grundfunktionen von MATLAB für einen bestimmten Anwendungsfall entwickelt wurden. Da MATLAB inzwischen an allen Hochschulen und sehr vielen Industriezweigen verbreitet ist, existieren naturgemäß verschiedenste Toolboxen für unterschiedlichste Anwendungsgebiete von Mathematik über Finanzwirtschaft und neuronale Netze bis hin zu verfahrenstechnischen Anlagen. Einen Überblick über die inzwischen über 300 Toolboxen ist unter www.mathworks.com zu finden. So gesehen ist auch Simulink eine Toolbox, die MATLAB mit einer graphischen Benutzer- und Eingabeoberfläche verknüpft. Weitere Beispiele für mechatronisch relevante Toolboxen sind:

• Control Systems Toolbox©: Hier werden die aus der Regelungstheorie bekannten Methoden und Darstellungen zusammengefasst, z.B. Bode- und Nyquist-Diagramme, Pol-Nullstellenverteilung, Wurzelortskurven, Sprungantworten von Systemen, Zustandsdarstellungen.

• System Identification Toolbox©: Sie beinhaltet verschiedene Identi-fikationsalgorithmen für lineare Systeme, die eine Übertragungsfunktion aus gemessenen Aus- und Eingangsmessdaten liefern.

• Symbolic Math Toolbox©: Damit werden symbolische Behandlungen von Gleichungen möglich. Die Symbolic Math Toolbox nutzt die Funktionen des Softwarewerkzeuges Maple (Hörhager 1996).

• SimMechanics©: Hier wird in Verbindung mit Simulink ein „Baukasten“ mechanischer Bauelemente (Stäbe, Gelenke, Lager, Balken …) mit einer graphischen Oberfläche zur Verknüpfung der Elemente zur Verfügung gestellt, um so mechanische Systeme simulieren zu können, ohne sich mit den mechanischen Grundgleichungen auseinandersetzen zu müssen (Mathworks 2004).

• SimPowerSystems©: Hier wird in Verbindung mit Simulink ein „Baukasten“ elektrischer und leistungselektronischer Bauelemente aus der Energietechnik (Leitungen, Generatoren, Transformatoren …) mit einer graphischen Oberfläche zur Verknüpfung der Elemente zur Verfügung gestellt, um so energietechnische Systeme simulieren zu können.

• Virtual Reality Toolbox©: Mittels VRML-Objekte (Virtual Reality Modelling Language) können Bewegungen mechatronischer Systeme räumlich visualisiert werden. Damit können beispielsweise die Bewegungen eines Roboters in einer Montagezelle animiert werden.

Auf die Möglichkeiten der Symbolic Math Toolbox soll nachfolgend noch etwas näher eingegangen werden, da mit ihrer Hilfe größere analytische Umformungen effizienter als mit Bleistift und Papier vorgenommen werden können. Das macht sich vor allem bei komplexeren dynamischen Modellen (z.B. Robotermodelle) vorteilhaft bemerkbar.

439

Page 206: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Um Variablen symbolisch behandeln zu können, müssen diese zunächst als Symbole definiert werden: >> syms a t Es können nun Funktionen dieser symbolischen Variablen definiert werden, z.B. die Funktion x=f(a,t)=2.a.t2: >> x=2*a*t^2; Die Ableitung dieser Funktion nach der Zeitvariable t wird mit dem „diff“-Befehl, unter Angabe der Variablen, nach der abgeleitet werden soll, ausgeführt: >> dx=diff(x,t) was als differenzierte Funktion dx(a,t) folgende Antwort liefert: dx = 4*a*t. Gleichungen können auch analytisch gelöst werden. Die Nullstellen der Funktion y=2x2+32 liegen auf der imaginären Achse bei x1,2=±j.4. Dies kann mit Hilfe der „solve“-Funktion berechnet werden: >> Nullstelle=solve(’2*x^2+32’) liefert: Nullstelle = [ 4*i] [ -4*i] Soll eine etwas aufwändigere Matrizengleichung symbolisch berechnet werden, z.B. ein Kraftvektor Fqp :

( )⎟⎟⎟

⎜⎜⎜

⎛⋅+⋅⋅

⎟⎟⎟

⎜⎜⎜

⎛−

⎟⎟⎟

⎜⎜⎜

⎛⋅−⋅= qJqJJF &&&& (q)(q)

0000m000m

0gm

0(q) AAp

p

pT

Aqp

mit den Matrizen und Vektoren:

⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛=

ϕϕϕ &&

&&&&

&

&&

aq

aq

aq

⎟⎟⎟

⎜⎜⎜

⎛⋅⋅−

=10

L0L1

(q)JA ϕϕ

cossin

⎟⎟⎟

⎜⎜⎜

⎛⋅⋅−⋅⋅−

==00

sinL0cosL0

dt(q)dJ(q)J 1

1A

A ϕϕϕϕ

&

&&

dann kann das mit der nachfolgend dargestellten Script-Datei erfolgen:

440

Page 207: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

% "symbolic_calc.m" Symbolische Berechnung der % Matrizengleichungen (3.6) bis (3.8) clear all % Symbole syms a phi va vphi aa aphi F M syms mp ma J_p h L g % Achskoordinaten q=[a;phi]; dq=[va;vphi]; d2q=[aa;aphi]; % Jacobi-Matrizen: Jp=[1 -L*sin(phi);0 L*cos(phi);0 1]; JpT=[1 0 0;-L*sin(phi) L*cos(phi) 1]; % transp. Jacobi dJp=[0 -L*vphi*cos(phi);0 -L*vphi*sin(phi);0 0]; % Kraftvektor: Fpp=[0;-mp*g;0]; % Massenmatrix: Mp=[mp 0 0;0 mp 0;0 0 0]; % Resultierende Kraft aus (3.6): Fqp=simplify(JpT*(Fpp-Mp*(Jp*d2q+dJp*dq))) Hilfreich kann hierbei die Funktion „simplify“ sein, um möglichst einfache Ausdrücke zu erhalten. Allerdings gelingt es von Hand oft besser, komplexe Gleichungen zusammenzufassen, da den einzelnen Termen – mit etwas Erfahrung – physikalische Bedeutungen zugemessen werden kann und damit in der Regel anschaulichere Darstellungen resultieren. Auf die Verwendung von Toolboxen für mechatronische Systeme über die Matlab Symbolic Toolbox hinaus wird hier bewusst verzichtet. Einerseits können alle mecha-tronischen Fragestellungen mit der – auch in der Studentenversion enthaltenen – Grundversion von MATLAB mit Simulink und der Symbolic Math Toolbox behandelt werden. So erhält der Anwender ein gutes Fundament der Basisfunktionen. Er muss dann im jeweiligen Anwendungsfall entscheiden, ob für das Problem eigene Modelle entwickelt oder eine passende Toolbox beschafft werden soll. Andererseits „verführen“ Toolboxen den Anwender zu „Black-Box-Denken“, d.h. er kann nicht mehr beurteilen, was genau in einer Toolbox an Algorithmen abläuft und ist darauf angewiesen, dass der Ersteller der Toolbox seinen Anwendungsfall ausreichend bedacht hat. Toolboxen sind wie alle Softwareprogramme nicht fehlerlos und manchmal sehr grob unter Zeitdruck „zusammengestrickt“. Zu bedenken bleibt immer eines: Wenn es zu einer bestimmten Anwendung eine Toolbox gibt, dann kann sie auch von der Konkurrenz verwendet werden.

441

Page 208: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Simulink und StateFlow Simulink ist eine Matlab-Toolbox zur Implementierung und Simulation dynamischer Systeme, die als Blockschaltbild dargestellt werden können. Der Befehl „Simulink“ im Workspace-Fenster (oder ein Doppelklick auf das Simulink-Symbol im Launch-Pad-Fenster) ruft die Simulink-Modellbibliothek für Blockschaltbilder auf. In der Modellbibliothek, die auf verschiedene Ordner aufgeteilt ist, sind vordefinierte Blöcke („Blocks“) enthalten, die durch Mausklick und Halten der linken Maustaste auf das Eingabefenster kopiert („gezogen“) werden können. Die Parameter der vordefinierten Blöcke können durch Doppelklick in einem eigenen Fenster geöffnet und angepasst werden. Blockparameter können auf der MATLAB-Workspace definierte Variablen oder Zahlenwerte sein. Eine intensive Einführung in dieses für die gekoppelte Simulation von Steuerungen, Regelkreisen und strukturmechanischen Einflüssen bedeutende Werkzeug findet sich im nachfolgenden Abschnitt A2. Stateflow ist eine Erweiterung von Simulink, mit der ereignisdiskrete Problemstellungen zusammen mit zeitkontinuierlichen Modellen simuliert werden können. Die in dieser Toolbox implementierten Automaten/Petri-Netze basieren auf der Unified Modelling Language (www.uml.org), die sich aus dem Software-Engineering heraus entwickelt hat.

Eine kurze Einführung in dieses für ereignisdiskrete Automatisierungsaufgaben (z.B. Kopplung von SPS und CNC-Steuerungen) manchmal nützliche Werkzeug findet sich in Abschnitt A2.

442

Page 209: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Echtzeitsimulation Die Simulation und die Entwicklung von Programmen zur Regelung realer Systeme (z.B. mit PC oder Mikroprozessoren) ist in der industriellen Anwendung häufig gekoppelt. Ziel dieser Kopplung ist es, die Entwicklung von Steuerungs- und Regelungsalgorithmen soweit möglich anschaulich unter Simulink durchzuführen und dann aus den Simulink-Modellen lauffähigen Code (z.B. C) „auf Knopfdruck“ zu erzeugen, mit dem dieselben Regelungsalgorithmen von einem Prozessor umgesetzt werden können (MATLAB Real Time Workshop©). Zum einen kann durch den so erzeugten C-Code eine sehr schnelle Abarbeitung der Algorithmen erfolgen. Falls sehr große Modelle simuliert werden sollen und die Simulationszeit unter MATLAB/Simulink zu lange wird, kann durch Simulationen auf C-Code-Basis erheblich Zeit eingespart werden. Zum anderen können Regelalgorithmen im Sinne geistigen Eigentums geschützt werden, indem nur ausführbarer Code an Dritte weitergegeben wird. Hauptsächlich wird die automatische Generierung von C-Code jedoch eingesetzt, um sogenannte „Hardware-in-the-loop“-Simulationen durchzuführen. Dabei ist die Regelstrecke oder Teile davon real vorhanden und soll durch Simulink angesteuert werden. Für sehr langsame Applikationen (z.B. Heizungsregelung) kann dies an einem PC mit entsprechenden Schnittstellen (Analog-Digital-Wandlerkarten, Parallelschnittstelle, etc.) direkt von MATLAB aus erfolgen (z.B. mit Hilfe der Data Acquisition Toolbox). Bei hohen Anforderungen an die Zugriffs- und Rechengeschwindigkeit (z.B. Positionsregelung an Servomotoren, Automobilelektronik) muss ein eigener Prozessor dafür eingesetzt werden. Hierzu gibt es käufliche – leider sehr kostenintensive - Lösungen (z.B. das DSPACE©-Echtzeitsystem (DSPACE 2001)), die mit leistungsfähigen Signalprozessoren und schnellen Ein- und Ausgabeschnittstellen die Regelung realer Systeme von der Simulink-Oberfläche aus ermöglichen. In Abb. 3.15 ist der auf einem DSPACE-Echtzeitsystem implementierte Regelalgorithmus zur Lageregelung des Tauchspulmotors dargestellt. Die Kopplung zwischen Simulink und den Hardwareschnittstellen erfolgt durch die Schnittstellenblöcke des Real-Time-Workshops. Nachfolgende Abbildungen zeigen einen Echtzeit-Regelalgorithmuns in Simulink sowie die Bedienoberfläche „Control-Desk“ (DSPACE 2001) zur Steuerung des X-Bot-Prüfstandes am IPP der TU Clausthal. Gut zu erkennen ist das Ein-Ausgabe-Panel von DSPACE, an das die Encoder und Antriebe sehr anschaulich angeschlossen werden können und das wiederum in Simulink als Hardwareschnittstelle sehr einfach angesprochen werden kann.

443

Page 210: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A bb_3_15_m od

beobachte te Geschwind igke i t

d i ffe renz ie rte G eschwind igke i t

gem essene P osi ti on

gem essener S trom

Ste l lg rößenausgang

6vb

5Im

4xso l l

3vm

2xm

1tm

Zero -O rde rHo ld1

Zero -O rd e rHo ld

0 .05

Wegp rop .-fakto r

z

1

Un i t De lay1

z

1

Un i t De lay

-K -

U - F-Anpassung

-K -

S trom prop .-fakto r

Repea tingS equence

RT I Da ta

K v

1K v

K p

1K p

y(n )=Cx(n)+Du (n)x(n+1 )=Ax(n )+B u(n )

Discre te S ta te -S paceBeobach te r

z-1 *(1 -T s/T n )

z-1

Discre teT ransfe r Fcn2

z-1

T s.z

Discre teT ransfe r Fcn1

DA C

DS 110 4DA C_C1

ADC

DS1104ADC_C6

ADC

DS1104ADC_C5

Clock

444

Page 211: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Kombination mit weiteren Softwarewerkzeugen MATLAB ist an Hochschulen und in Entwicklungsabteilungen der Industrie so weit verbreitet, so dass in diesen Bereichen alle Beteiligten mit dem Werkzeug vertraut sind oder dies mit geringem Einarbeitungsaufwand werden können. Sollen MATLAB-Programme oder die Darstellungsmöglichkeiten von MATLAB in anderen Unternehmensbereichen verwendet werden, so kann es günstig sein, die Eingabe der Parameter tabellenorientiert unter Excel zu realisieren und mit dem MATLAB-EXCEL©-Link (eine weitere Toolbox) die Auswertung unter MATLAB vorzunehmen. Auch die Berechnung nach der Finite-Elemente-Methode (FEM) kann mit MATLAB/Simulink verknüpft werden. Dies bietet sich dann an, wenn eine weitgehende Diskretisierung, wie sie für die Aufstellung der Differentialgleichungen erforderlich ist, nicht – oder nur mit großen Verlusten an Simulationsgenauigkeit – möglich ist.

Die Software FEMLAB© ermöglicht statische Berechnungen von elektromagnetischen, thermischen, mechanischen oder strömungsdynamischen Aufgabenstellungen. Obige Abbildung zeigt das ebene FE-Modell von Schlitten und elastisch angekoppelter Last am IPP-Tauchspulmotor. Damit kann die neben der Grundschwingung auftretende Oberschwingung sehr anschaulich dargestellt werden. Zudem besteht die Möglichkeit, über das FEMLAB-Simulink-Interface Subsysteme bzw. Funktionen analog zu MATLAB-Funktionsblöcken in ein Simulinkmodell zu integrieren. Dies ist anhand animierter Tutorials sehr anschaulich in (FEMLAB 2003) beschrieben. MATLAB-Schnittstellen sind auch bei stärker in der Konstruktion von Produktionsmaschinen verbreiteten FEM-Werkzeugen vorhanden (Hatch 2000, Berkemer 2003, Denkena et al. 2005), um eine gekoppelte Simulation von Strukturdynamik und Regelung zu ermöglichen. Allen ausgeführten Arbeiten gemeinsam ist aber der immense Bedarf an Rechenzeit und der erhebliche Einarbeitungsaufwand. Auf absehbare Zeit erscheint es wirtschaftlicher, die FE-Analyse mit den bewährten CAD-FEM-Werkzeugen quasistatisch mit einem hohen Detaillierungsgrad auszuführen (Kehl 2004) und daraus reduzierte Modelle für die Achsdynamik zu identifizieren oder daraus Zustandsdarstellungen abzuleiten, die in MATLAB/Simulink effizient mit den Regelkreisen gekoppelt und simuliert werden können (Hatch 2000, Denkena et al. 2005). Dies wird in Abschnitt 3.1 intensiv behandelt.

445

Page 212: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A1.6 Mini-Referenz Organisation Funktion Beschreibung Beispiel whos Anzeige aller Variablen (Workspace) clear Variablen (aus Workspace) löschen clear all, clear a b clc Löschen Command Window help Hilfefunktion (einfach) help sind doc Funktionsdokumentation (umfangreicher) doc [round] edit Starten des Editors (für .m-Dateien) edit [test.m] save Speichert Workspace-Variablen in Datei save(Dateiname) load Holt Variablen aus Datei in Workspace load(Dateiname) Mathematische Funktionen Funktion Beschreibung Beispiel abs Betrag einer Zahl abs(a) round Rundung auf den nächsten Integer-Wert round(a) sin, cos, tan Trigonometrische Funktionen (Bogenmaß) sin( pi/(2*3) ) atan2 Arcustangens im Vollkreis (s. doc atan2) atan2(x,y) sind, cosd, tand, …

Trigonometrische Funktionen (degree, 360°) sind(30), cosd(30)

inv Matrixinversion inv(A) max, min Maximum / Minimum von Vektorelementen a=[1 2 3 2 5]; 5 max(a) sum Summenbildung (s. doc sum) sum(v) norm Matrix- oder Vektornorm(Betrag) norm(v) length Zahl der Elemente in einem Vektor length(a) size Anzahl der Zeilen und Spalten einer Matrix [m,n] = size(A) imag, real Imaginär- und Realanteil einer komplexen Zahl c=1+2i;

1 real(c), 2 imag(c) angle Berechnet Phasenwinkel in Bogenmaß angle(c) sqrt Quadratwurzel sqrt(A) power Grafische Darstellung Funktion Beschreibung Beispiel figure Bestimmung des Darstellungsfensters figure(2) title Betitelung einer Darstellung title(’title of the figure’) subplot matrixartige Anordnung von mehreren Plots subplot(221) hold on/off Vorhandene Objekte erhalten/überschreiben hold on plot, plot3 Darstellung von Wertevektoren im Diagramm plot(t,a, ’r: ’) legend erzeugt Legende zu mehreren Kurven legend(’func1’,’func2’); xlabel, ylabel

Achsenbezeichnungen xlabel(’time in seconds’)

text Ausgabe eines Textes in Grafik text(x,y,’Text’) axis Darstellungsbereich der Achsen axis([0 5 -2 6]) grid on/off Gitternetz an/aus grid on

446

Page 213: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Linienspezifikation in der plot-Anweisung Punktsymbole Linienfarbe Linienstil

+ +-Symbol b blau - durchgezogen o o-Symbol c cyan -- gestrichelt * *-Symbol g grün : gepunktet x x-Symbol k schwarz (black) -. Strich-Punkt

^ v Dreieck(n. oben/unten) m magenta < > Dreieck(n. links/rechts) r rot

s Quadrat(sqare) w weiß d Raute(diamond) y gelb (yellow) p Fünfeck(pentagram) h Sechseck(hexagram)

Programmstrukturierung Funktion Beschreibung Beispiel if bool true_anw [else false_anw] end

Bedingte Ausführung (Selektion) in Abhängigkeit des logischen Ausdrucks (bool) mit Option [] einer Alternative

if abs(x)<eps x=0.0; end

switch ausdr case c1 anw_1 case c2 anw_2 otherwise anw_o end

Geschaltete Selektion in Abhängigkeit eines Ganzzahl- oder Textausdrucks

switch farbe case ’rot’ disp(’Halt!’); case ’gruen’ disp (’Los!’); otherwise disp (’Fehler!’); end

for ind=… anw end

Zähl-Schleife (Iteration) sum = 0; for n=1:10 sum = sum+n^2; end

while bool anw end

Abweisende Schleife (Iteration), in Abhängigkeit des logischen Ausdrucks werden die Anweisungen des Schleifenrumpfes ausgeführt

f(1)=1; f(2)=1; n=2; while f(n)<100 n=n+1; f(n)=f(n-1)+f(n-2); end

447

Page 214: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A1.8 Übungen Übung 1: Aufgabe 1.1 Stellen Sie den Vektor a = [0, 0, 1, 1, 0, 0] über den Zeitwerten des Vektors t = [0, 1, 1.5, 2.5, 3, 4] mit Hilfe der plot-Funktion dar. Beschriften Sie die Grafik. Aufgabe 1.2 a ) Erzeugen Sie mit Hilfe einer for-Schleife einen Spannungsvektor u, der den zeitlichen Verlauf der Netzspannung U(t) mit 230 V Effektivwert beschreibt. Stellen Sie diesen zeitlichen Spannungsverlauf über eine Periodendauer (T=1/f) in einer geeigneten Grafik dar. b) Erstellen Sie mit der subplot-Funktion eine zweite Grafik im gleichem Fenster, in der das Spannungssignal über eine ganze Sekunde dargestellt wird. Übung 2: Aufgabe 2.1 a) Stellen Sie mit der plot-Funktion einen Kreis mit dem Radius R = 2 mm dar. Der Kreisradius soll im command window abgefragt und auch eingegeben werden. b) Stellen Sie eine Spirale mit der subplot-Funktion im gleichen Fenster dar. c) Erweitern Sie nun die 2D-Spirale um die Z-Achse, somit erhalten Sie eine konisch verlaufende räumliche Spirale. Stellen Sie diese in einem dritten subplot dar. Aufgabe 2.2 a) Ermitteln Sie den für die Spiralendarstellung erforderlichen Speicherplatz. b) Parametrieren und automatisieren Sie die Darstellung von Kreis und Spiralen dahingehend, dass Sie Start-/Endwert sowie Schrittweite durch geeignete variablen vorgeben können. Übung 3: Aufgabe 3.1 Erzeugen Sie eine Matrix mit 21 Spalten und 101 Zeilen. Die erste Spalte soll als Zeitvektor (t=0-100s) interpretiert werden, wogegen die anderen Spalten Werte enthalten, die graphisch dargestellt werden sollen. Zur Generierung dieser Werte erzeugen Sie harmonische Verläufe mit abnehmender Periodendauer (z.B. 100s für die erste Wertespalte und 80s für die letzte Wertespalte). Stellen Sie nun die Werte über der Zeitspalte mit Hilfe der plot3- oder mesh-Funktion dar. Nutzen Sie dabei verschiedene Blickwinkel (view-Funktion). Aufgabe 3.2 Es ist unter Nutzung der plot-Funktion ein Nikolaushäuschen zu zeichnen. Das Häuschen soll von vornherein parametrisch beschrieben werden (Breite b, Höhe h, Dachhöhe d, linker Abstand l, unterer Abstand u). Da verschiedene Punkte gleiche Koordinaten haben, bietet sich an, ein Koordinatenraster (xl, xm, xr) und (yu, ym, yo) einzuführen. Schließlich werden die erforderlichen Vektoren x und y mit Koordinaten belegt, so dass das Nikolaushäuschen ohne "abzusetzen" in einem Zug (plot(x,y)) durchgezeichnet werden kann. Die angefahrenen Punkte sind noch mit Nummern zu beschriften.

448

Page 215: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Übung 4 Aufgabe 4.1 Erstellen Sie für die 3 folgenden Aufgabenstellungen je eine MATLAB-Funktion a) Berechnung.m: Addition, Substraktion, Multiplikation, Division mit 2 Eingabeparameter: Zahl1 (x), Zahl2 (y) A = x + y; S = x - y; M = x * y; D = x / y; Beachten Sie, dass bei der Division der Dividend/Divisor ungleich 0 sein muss. Bei 0 soll die Division nicht ausgeführt und stattdessen ein Warntext ausgegeben werden. Ausgabe von A,S,M,D in geeigneter Form. b) KreisUFV.m: Berechnung des Umfangs, Fläche, Volumen Eingabeparameter: Radius X=double(2*pi*r); Y=pi*r^2; Z=4/3*pi*r^3; Ausgabe von Umfang, Fläche, Volumen c) QuaderUFV.m: Berechnung des Umfangs, Fläche, Volumen Eingabeparameter: Länge, Breite, Höhe X=2*L+2*B; Y=L*B; Z=L*B*H; Ausgabe von Umfang, Fläche, Volumen Benutzen Sie input und fprintf: Beispiel: lae = input(‘Länge: ‘); fprintf('Der Umfang zum Radius %d ist: %g\n',[r,U]);

449

Page 216: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Übung 5 Aufgabe 5.1 Entwerfen Sie einen Testkörper (Quader, Pyramide, Dreieck) auf Papier und nummerieren Sie dessen Stützpunkte und Linien. Implementieren Sie darauf aufbauend eine MATLAB-Funktion, die die Datenstruktur des graphischen Objektes enthält. Aufgabe 5.2 Erstellen Sie eine Funktion zur Darstellung eines beliebigen Körper aus der in Aufgabe 5.1 definierten Datenstruktur. Hinweise: - Koordinatenkreuz x in Rot, y in Grün, z in Blau - positive Richtung durchgezogen und negative Richtung gestrichelt - Grundachsenskalierung, damit später eigene Transformationen gut sichtbar werden Aufgabe 5.3 Erstellen Sie Funktionen zur Skalierung, Translation und Rotation der Körper. Hinweis: Da dies alles Abbildungen des Testkörpers sind, wird der Testkörper einer Variablen zugewiesen (also eine Kopie erstellt) und dann erst die Transformation durchgeführt. Nutzen Sie erst die Transformationen ohne homogene Koordinaten. Aufgabe 5.4 Erstellen Sie ein GUI in der unten dargestellten Form, das die Funktionen aus den Aufgaben 5.1-3 steuert.

450

Page 217: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A2 Simulink A2.1 Basisfunktionen in Simulink Der Befehl „Simulink“ im Workspace-Fenster (oder ein Doppelklick auf das Simulink-Symbol im Launch-Pad-Fenster) ruft die Simulink-Modellbibliothek für Blockschaltbilder auf. In der Modellbibliothek, die auf verschiedene Ordner aufgeteilt ist, sind vordefinierte Blöcke („Blocks“) enthalten, die durch Mausklick und Halten der linken Maustaste auf das Eingabefenster kopiert („gezogen“) werden können. Die Parameter der vordefinierten Blöcke können durch Doppelklick in einem eigenen Fenster geöffnet und angepasst werden. Blockparameter können auf der MATLAB-Workspace definierte Variablen oder Zahlenwerte sein. Die wichtigsten für mechatronische Systemmodelle relevanten Simulink-Blocks sind unter Abschnitt A2.2 zusammengefasst dargestellt. Die Blöcke werden mit der linken Maustaste von den Aus- zu den Eingängen durch Pfeile verbunden. Verzweigungen werden mit der rechten Maustaste aus bestehenden Pfeilen herausgezogen. Damit kann ein Blockschaltbild aufgebaut - implementiert - werden. Ein vollständiges Blockschaltbild besteht aus Eingängen („sources“), dem eigentlichen Modell und Ausgängen („sinks“), in denen die Simulationsergebnisse abgelegt werden. Ein Simulink-Modell wird mit der Erweiterung „*.mdl“ abgespeichert. Es kann über die Modellbibliothek, offene Modellfenster (Menü: File/Open) oder die MATLAB-Workspace direkt durch Eingabe des Modellnamens (ohne Erweiterung) aufgerufen werden. Tipp:

Vergeben Sie nie denselben Namen für eine Script-Datei und ein dazugehöriges Simulink-Modell oder Variablen (Modellparameter)! Um die Zusammengehörigkeit von Script-Datei und Modell zu kennzeichnen hat sich folgende Benennung als günstig (aber nicht zwingend) erwiesen: - Simulink-Modell: „Name_mod.mdl“ - Script-Datei: “Name_dat.m”

Die Simulation kann interaktiv vom entsprechenden Simulink-Modell aus erfolgen. Dazu sind zunächst die Simulationsparameter zu definieren (Menü: Simulation/Parameters):

• Simulationszeit bzw. Start- und Stoppzeit • Integrationsalgorithmus (Der Algorithmus mit fester Schrittweite „ode5“ entspricht

dem Verfahren nach Runge-Kutta und hat sich für die hier behandelten Modelle bewährt)

• Integrationsschrittweite (deutlich kleiner als die kleinste Zeitkonstante des Modells, siehe hierzu Abschnitt 1.1)

Die Simulation wird über das Start-Menü (Simulation/Start) oder den Start-Button gestartet und kann mit dem Stopp-Menü (Simulation/Stop) oder dem Stopp-Button unterbrochen werden.

451

Page 218: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Simulationsstart

Abb. A2.1 Simulink-Modellfenster mit dem Menü zur Vorgabe der Simulationsparameter

Um die grafischen Ausgabemöglichkeiten von MATLAB nutzen zu können, empfielt sich die Ausgabe der interessierenden Simulationsergebnisse auf die MATLAB-Workspace. Dies erfolgt mit dem „To Workspace-Block“. Die entsprechenden Simulationsergebnisse können unter dem im Block erscheinenden Variablennamen (z.B. mit dem „plot“-Befehl) weiterverarbeitet werden. Wichtig ist die Definition des Speicherformats des Blocks als Matrix (ältere Versionen) oder als Array (neuere Versionen), damit MATLAB die Simulationsergebnisse wie einspaltige Vektoren behandelt. Der Simulationsstart vom Simulink-Modellfenster aus ist für erste Simulations-versuche sicherlich sinnvoll. Wenn aber viele Simulationen durchgeführt werden, ist es umständlich, immer wieder in die Matlab-Workspace zurückzukehren, um die Simulationsresultate darzustellen. Alternativ dazu kann daher die Simulation auch von der MATLAB-Workspace – und damit in einer Script-Datei - aufgerufen werden. Hierzu sind zunächst die Simulationsparameter zu definieren: >> sim_parameter=simset('Solver','ode5','FixedStep',1e-5); (siehe auch: >> help simset). Der Aufruf >> [x,y,t]=sim('Beispiel_mod',0.1, sim_parameter);

452

Page 219: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

veranlasst eine Simulation des Modells „Beispiel_mod“ von 0.1 s Dauer mit dem Integrationsalgorithmus „ode5“ mit 0,01 ms Schrittweite und limitiert die Zahl der Simulationspunkte (d.h. die Länge der Ergebnisvektoren) auf 10000. Im Zusammenhang mit den Script-Dateien können so Simulationsreihen und Parameterstudien automatisiert werden. Energieträger werden im Blockschaltbild mit „Integrator-Blocks“ dargestellt. Die Anfangsenergie eines Energieträgers zu Beginn einer Simulation kann durch die Definition eines Anfangszustandes („Initial Condition“, d.h. der Ausgangswert des Integrators zum Zeitpunkt t=0) berücksichtigt werden. Die Vorgabe von zuvor unter MATLAB erzeugten Größen (z.B. Sollwerte) kann durch den „Repeating-Sequence-Block“ erfolgen. Dieser Block benötigt einen Zeit- und einen Wertevektor gleicher Länge. Jedem Punkt des Zeitvektors wird ein Wert des Wertevektors zugeordnet, woraus eine Zeitsequenz entsteht. Nach Ablauf der Sequenz wiederholt der Block diese Sequenz bis zum Simulationsende. Zeitdiskrete Systemteile werden durch den „Discrete-Transfer-Fcn-Block“ in Simulink implementiert. Als Blockparameter werden Nenner und Zähler der z-transformierten Übertragungsfunktion sowie die Abtastzeit eingegeben. Nebenstehendes Beispiel bildet die diskrete Differenzierung der Position mit der Abtastzeit T nach.

453

Page 220: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Tipp: Um unter MATLAB eine Simulationszeitbasis zur Verfügung zu haben, ist es

sinnvoll, die Modelle mit einem „Clock-Block“ in Verbindung mit einem z.B. als ts benannten „To Workspace-Block“ zu versehen.

Die Ausrichtung von mit einem Mausklick markierten Blöcken kann – zur Verbesserung der Übersichtlichkeit – mit der Tastenkombination „CTRL/STRG“+“R“ angepasst werden. A2.2 Minireferenz Simulink Abb. A.4: Häufig verwendete Simulink-Blöcke

Simulink/Continuous Simulink/Discrete

Simulink/Functions&Tables

Simulink/Math

Sum

Simulink/Nonlinear

Simulink/Sources

Simulink/Sinks

Simulink/Signals&Systems

Mux Demux

sin

TrigonometricFunction

TransportDelay

1

s+1Transfer Fcn

simout

To Workspace

Switch

Step SignalGenerator

Sign

Scope

Saturation

system

S-Function

RepeatingSequence

Quantizer

Product

eu

MathFunction

MATLABFunction

MATLAB Fcn Look-UpTable

s

1

Integrator

1

Gain

f(u)

Fcn

1

z+0.5Discrete

Transfer Fcn

du/dt

Derivative

em

Dead ZoneCoulomb &Viscous Friction

1

ConstantClock

Backlash

|u|

Abs

454

Page 221: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

A2.3 Beispiele- und übungen Beispiel I: Linearmotor (vereinfacht) Gefragt sei ein Simulink-Modell, das einen zunächst ruhenden Linearmotor nachbildet, der zum Simulationsstart (t=0) durch den sprungförmig eingeschalteten Maximalstrom Imax angetrieben wird. Das dazugehörige Blockschaltbild hat folgende Form: 1/s1/m

s2.x F s.x 1/sKF

I x Die Modellparameter sind: Masse von Primärteil und Schlitten m = 40 kg Strom-Kraft-Faktor KF=142 N/A Maximalstrom Imax=14 A

� � � � �� �

� �

Abb. A2.3 Simulink-Modell des anlaufenden vereinfachten Linearmotors mit Script- Datei und Ausgabeplot

455

Page 222: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Beispiel II: Tauchspulmotor Zur Simulation des anlaufenden Tauchspulmotors bei sprungförmig anliegener Klemmenspannung benötigt man eine Script-Datei zur Vorgabe der Modellparameter, zur Simulationssteuerung und zur Darstellung der Resultate sowie ein Simulink-Modell. Das Blockschaltbild des Tauchspulmotors soll zunächst in ein Simulink-Modell implementiert werden:

Abb. A2.4 Simulink-Modell des Tauchspulmotors Die Modellparameter gemäß Tabelle 3.1 können Sie direkt in die Blöcke als Zahlenwerte eingeben oder – wesentlich besser – zuvor in der Matlab-Workspace definieren und statt dessen die Variablennamen in die Simulink-Blöcke eingeben. Bei wenigen Modellparametern, wie in diesem Beispiel, könnten Sie die Werte von Hand in der Matlab-Workspace definieren. Bei mehr Modellparametern empfielt es sich, eine Script-Datei (vergleichbar mit dem ersten Teil der Datei aus Abb. B.5) zu schreiben und diese zunächst unter Matlab aufzurufen. Dann sind Sie jederzeit im Bilde darüber, welche Parameter mit welchen Werten definiert sind. Zur Verdeutlichung des Simulink-Modells aus Abb. B.4 seien die Eingabefenster einiger Blöcke (Sie öffnen sich automatisch bei einem Doppelklick auf den jeweiligen Block) dargestellt. Zunächst sollen die von Simulink automatisch vergebenen Namen für die Blöcke verwendet werden. Simulink nummeriert mehrfach verwendete Blöcke, z.B. hier die Integratoren oder Summationsblöcke, automatisch durch, um sicherzustellen, dass kein Block denselben Namen trägt, wie ein anderer. In Abb. B.8 ist dargestellt, wie mit Hilfe dieser eigentlich frei wählbaren Namen die Lesbarkeit des Modelles noch verbessert werden kann.

456

Page 223: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Summationsblock “Sum”: Den Summationsblock finden Sie in der Blockbibliothek der mathematischen Funktionen (siehe auch Abschnitt 2.4).

In der „List of signs“ geben Sie die Anzahl und die Vorzeichen der Eingänge des Summationsblockes vor. Die Zeichenfolge “+-“ führt dazu, dass der Summationsblock den ersten von zwei Ausgängen als positiven Eingang interpretiert und davon den zweiten Eingang subtrahiert. Mit dem vorangestellten Zeichen “|“ können Sie Einfluss auf die graphische Darstellung der Eingänge nehmen. Wenn Sie sehr viele Größen (>3) summieren wollen, sind runde Summationsblöcke etwas unübersichtlich. Hier könnte man als „Icon shape“ die Rechteckdarstellung wählen und den Block entsprechend vergrößern.

457

Page 224: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Integratorblock “Integrator”: Den Integratorblock finden Sie in der Blockbibliothek der zeitkontinuierlichen Funktionen (siehe auch Abschnitt 2.4).

In der „Initial condition“ geben Sie den Anfangszustand des Tauchspulmotors ein. Da der „Integrator“ zwischen der Geschwindigkeit und der Position des Motors integriert, können Sie hier die Anfangsposition des Motors eingeben. Beim Integratorblock „Integrator1“, der zwischen Beschleunigung und Geschwindigkeit integriert, können Sie eine Anfangsgeschwindigkeit des Motors zu Beginn der Simulation vorgeben. Im hier behandelten Beispiel sind beide Anfangsbedingungen Null.

458

Page 225: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Proportionalglied “Gain”: Den Proportionalblock (linearer Verstärker) finden Sie in der Blockbibliothek der zeitkontinuierlichen Funktionen.

Als Verstärkungsfaktor „Gain“ geben Sie den entsprechenden Modellparameter oder einen algebraischen Ausdruck ein. Wenn Sie nach dem Schliessen des Parametrierfensters den Gain-Block ausreichend gross darstellen, erscheint der Verstärkungsfaktor explizit im Block des Simulink-Modells, was die Lesbarkeit des Modells sehr verbessert. Ist der Gain-Block zu klein dargestellt, wird nur “-K-“ im Innern des Blockes wiedergegeben.

459

Page 226: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Übertragungsglied “Transfer Fcn”: Das allgemeine Übertragungsglied (Transfer Function) finden Sie in der Blockbibliothek der zeitkontinuierlichen Funktionen.

Zur Parametrierung dieses Übertragungsgliedes müssen Sie Zähler („Numerator“) und Nenner („Denominator“) in Vektorform definieren. Diese Vektorform beinhaltet die Koeffizienten der zeitkontinuierlichen Übertragungsfunktion in absteigender Reihenfolge der Potenzen der Laplace-Variable s.

Die Übertragungsfunktion 00

11

22

33

00

11

22

33

sasasasasbsbsbsbG(s)⋅+⋅+⋅+⋅⋅+⋅+⋅+⋅

=

hat den Zählervektor Numerator=[b3 b2 b1 b0] und den Nennervektor Denominator=[a3 a2 a1 a0]

Beispiel: s3ss4

1s2G(s) 23

2

⋅+−⋅−⋅

= Numerator=[2 0 -1], Denominator=[4 -1 3 0];

Hier soll die Übertragungsfunktion erster Ordnung der Wicklung wiedergegeben

werden: elTs1

1/RG(s)⋅+

=

Daraus folgt als Zählervektor Numerator=[1/R] und als Nennervektor Denominator=[Tel 1]

460

Page 227: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Reibungsblock “Coulombic & Viscous Friction”: Den Block zur Nachbildung der trockenen Gleitreibung sowie der viskosen Reibung finden Sie in der Blockbibliothek der nichtlinearen Funktionen (in manchen Versionen auch „Discontinuities“ genannt).

Der trockene Gleitreibungsanteil ist hier die Reibungskraft FR. Der viskose Reibungsanteil kann gemäß unseres Modelles bei den kleinen hier behandelten Geschwindigkeiten vernachlässigt werden. Daher ist ein sehr kleiner Koeffizient für die viskose Reibung eingegeben. Eigentlich sollte dieser Koeffizient Null sein, jedoch hat die Erfahrung gezeigt, dass dann gehäuft numerische Probleme bei der Simulation zu beobachten sind. Dieselben numerischen Probleme treten auf, wenn man die trockene Gleitreibung durch einen Signum-Block „sign“ (aus den mathematischen Funktionen) und einen Proportionalblock „Gain“ nachbildet.

461

Page 228: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Schrittförmige Eingangsgröße “Step”: Den Block zur Nachbildung der schrittförmig ansteigenden Eingangsspannung finden Sie in der Blockbibliothek der Quellen.

Sie geben zunächst den Zeitpunkt vor, wann der Schritt stattfinden soll, d.h. wann durch Schliessen des Schalters S die Eingangsspannung angelegt sei („Step time“). Hier sei der Schalter zum Zeitpunkt t=0, d.h. zu Simulationsbeginn, geschlossen. Vor dem Schliessen des Schalters S ist keine Spannung am Tauchspulmotor anliegend, daher ist der Anfangswert („Initial value“) Null. Der Endwert („Final value“) ist die angelegte Spannung U0. Defaultmäßig schlägt Simulink einen Schrittzeitpunkt von 1 (Sekunde) vor. Wenn Sie vergessen, diesen Wert anzupassen und z.B. eine Simulationsdauer wählen, die kleiner als eine Sekunde ist, dann bewegt sich im Modell natürlich nichts – ein immer wieder vorkommender Anfangsfehler.

462

Page 229: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Ergebnisübergabeblock an Matlab “To Workspace”: Den Block zur Übergabe der Simulationsresultate an die Matlab-Workspace finden Sie in der Blockbibliothek der Senken.

Achten Sie darauf, daß Sie alle Ergebnisübergaben als Vektoren speichern lassen, d.h. als „Save format“ Array oder (in älteren Versionen) Matrix wählen. Simulink schlägt hier defaultmäßig das Speicherformat Struktur vor, welches von der „plot“-Funktion nicht bearbeitet werden kann. Tipp:

Um sicher zu gehen, dass es zwischen Modellparametern, simulierten Resultaten, intern von Matlab erzeugten Größen und gegebenenfalls Messgrößen nicht zu Namenskonversionen kommt, hat sich folgende Benennung der Systemgrößen bewährt: - alle simulierten Größen bekommen ein „s“ am Namensende angehängt (z.B. Is, xs) - alle Meßgrößen bekommen ein „m“ am Namensende angehängt (z.B. Im, xm) - alle Modellparameter werden möglichst nah an ihrer Indizierung benannt (z.B. Kpx wird zu Kpx oder Kω wird zu Komega)

Zunächst kann die Simulation mit dem Simulink-Modell interaktiv gestartet werden. Dazu müssen die Simulationsparameter von Hand vorgegeben werden (Simulink-Menü Simulation/Simulation Parameters):

463

Page 230: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Die Simulation dauert 0,1 Sekunden. Der Lösungsalgorithmus mit fester Schrittweite heißt ode5 (Runge-Kutta-Verfahren) und die Integrationsschrittweite soll 0,1 ms betragen, was ausreichend kleiner ist als die elektrische Zeitkonstante Tel=L/R=1 ms, die die kleinste Zeitkonstante des hier behandelten Modelles darstellt. Speichern Sie das Simulink-Modell unter dem Namen „Tauchspulmotor_mod.mdl“. Bevor Sie die Simulation starten, müssen Sie noch alle Variablen, die im Simulink-Modell benutzt werden (Uo, R, Tel, KF, Kv, m) in der Matlab-Workspace definieren, d.h. zunächst von Hand eingeben. Haben Sie einen der Modellparameter vergessen oder falsch eingegeben (Groß- und Kleinschreibung beachten!), so meldet sich Simulink mit einer Fehlermeldung wenn Sie die Simulation starten. Falls Sie anstelle der Masse m eine Masse mx definiert haben, kommt folgende Meldung:

464

Page 231: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Nach dem erfolgreichen Start der Simulation sollten in der Workspace neben den Modellparametern vier weitere neue Vektoren vorhanden sein, die Simulationszeitbasis ts, der Strom Is, die Geschwindigkeit vs und die simulierte Position xs. Da mit einer Schrittweite von 0,1 ms über 0,1 Sekunden simuliert wurde, müssen jeweils 1001 Ergebnispunkte vorhanden sein. Geben Sie zur Kontrolle das Kommando „whos“ in Matlab ein:

Mit dem plot-Befehl >> plot(ts,vs,’k’) kann nun das Simulationsergebnis dargestellt werden:

465

Page 232: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Es stellt sich – wie erwartet – nach einer Beschleunigungsphase eine konstante Geschwindigkeit ein. Bei einer Spannung von U0=12 V und einer Spannungskonstante von Kv=12 Vs/m erwarten wir eine Endgeschwindigkeit von ca. 1 m/s. Dass das simulierte Resultat etwas kleiner ist, liegt an der Reibung FR der Führung.

466

Page 233: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Zum ersten Test des Modelles war diese interaktive Vorgehensweise ganz gut. Zur effizienteren Simulation empfielt sich eine geeignete Script-Datei. Dazu rufen wir mit „New – M-File“ den Script-Datei-Editor auf und geben folgende Script-datei ein, die wir unter dem Namen „Tauchspulmotor_dat.m“ abspeichern. % Tauchspulmotor_dat.m Script-Datei zur Simulation eines Tauch- % spulmotors gemäß Abschnitt 3.1 % O. Zirn 21.9.2008 clear all % alle Variablen löschen % Modellparameter m=1; % kg Schlitten- und Spulenmasse L=2e-3; % H Wicklungsinduktivität R=2; % Ohm Wicklungswiderstand KF=12; % N/A Kraftkonstante (Strom-Kraft-Faktor) Kv=12; % Vs/m Spannungskonstante (Geschw.-Spannungsfaktor) FR=5; % N trockene Gleitreibungskraft des Führungen Tel=L/R; % s elektrische Zeitkonstante der Wicklung U0=12; % V Speisespannung (Speiseschaltung 1) % Simulationsparameter definieren simulation_opt=simset('Solver','ode5','FixedStep',1e-4); Tsim=0.02; % Simulationszeit % Simulation starten [x,y,t]=sim('Tauchspulmotor_mod',Tsim,simulation_opt); % Simulationsergebnisse darstellen figure(1); hold off % erste Grafik aufrufen, alte Darstellung löschen plot(ts,xs,'k--'); % Zeitverlauf der Position darstellen hold on; % alte Darstellung halten plot(ts,vs,'k'); grid; % Zeitverlauf der Geschwindigkeit darstellen, Gitterlinien xlabel('t in s');ylabel('Position x in m, Geschwindigkeit v in m/s'); title('Anlaufsimulation des Tauchspulmotors'); % Achsbezeichnungen, Titel figure(2); % zweite Grafik aufrufen plot(ts,Is,'k'); grid; % Zeitverlauf des Stromes darstellen, Gitterlinien xlabel('t in s');ylabel('Strom in A'); % Achsbezeichnungen, Titel title('Anlaufsimulation des Tauchspulmotors');

Abb. A2.5 Script-Datei zur Modellparametereingabe, Simulation und Ergebnis- darstellung des Tauchspulmotors

467

Page 234: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Nun genügt ein Aufruf „Tauchspulmotor_dat“ im Workspace-Fenster (oder im Menü des Script-Datei-Editors unter Debug/Run) und es erscheint das Ergebnis der Simulation in zwei Darstellungen. Darstellung 1 (Figure 1 in Abb. A2.6) zeigt den Zeitverlauf von Position und Geschwindigkeit.

Abb. A2.6 Simulierter Zeitverlauf von Position und Geschwindigkeit am

Tauchspulmotor Darstellung 2 (Figure 2 in Abb. A2.7) zeigt den Zeitverlauf des Stromes. Hier sieht man deutlich, dass der Stromanstieg durch die Induktivität verzögert wird. Gegen Ende des Beschleunigungsvorganges wird die angelegte Spannung U0 fast völlig durch die induzierte Gegenspannung Ui=Kv

.v kompensiert, so dass nur noch der Strom fliesst, der zur Deckung der Reibung erforderlich ist. Um die Lesbarkeit des Simulink—Modelles zu verbessern, können Sie die Blocknamen ändern und durch Doppelklick auf leere Bereiche auch weitere Kommentare einfügen (siehe hierzu Abb. B.8).

468

Page 235: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abb. A2.7 Simulierter Zeitverlauf des Stromes am Tauchspulmotor

Abb. A2.8 Vollständig kommentiertes Simulink-Modell

469

Page 236: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Übung I: Servoachse – positionsgeregelter Tauchspulmotor Ergänzen Sie nun das Modell des Tauchspulmotors durch einen kaskadierten P/PI-Positionsregler und stellen Sie die Regelparameter Kv, Kp und Tn gemäß Abschnitt 2.1 ein. Die Servoachse soll einer Positionsrampe der Höhe 10 mm mit einer Geschwindigkeit von 0,1 m/s mit möglichst geringem Schleppfehler folgen. Stellen Sie den Zeitverlauf von Soll- und Istposition dar. Übung II: Servoachse - Stromreglerergänzung Ergänzen Sie nun das Modell des kaskadiert lagegeregelten Tauchspulmotors durch eine innere PI-Stromregelkaskade und stellen Sie die Regelparameter Kpi, Tni ein. Welche Regelparameter Kv, Kp und Tn erreichen Sie jetzt? Vergleichen Sie Führungs- und Störverhalten (z.B. Lastsprung von 20 N) des stromgeregelten Antriebs mit dem Verhalten des Antriebs ohne Stromregler aus Übung I.

470

Page 237: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

D Lösungshinweise zu den Übungen

Abschnitt 1.1.1.3, Übung I: Für das Segment a (ohne Sonderzeichen) ergibt sich das KV-Diagramm zu:

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

?

� �

→ 3231314 SSSSSSSa ⋅+⋅+⋅+=

Abschnitt 1.1.1.3, Übung II:

� � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �

� � �

� � � 4

@

→ 01220130 xxxxxxxxy ⋅⋅+⋅⋅+⋅=

Abschnitt 1.1.4.3, Übung I: Dualzahl Dezimalzahl Hexadezimalzahl

0b1010100000 672 0x2A0 0b10000001 129 0x81 0b10100100 196 0xA4 0b10110101 213 0xB5

0b1111101000 1000 0x3E8 0b00010001 17 0x11

Abschnitt 1.1.4.3, Übung II: Mittlere Entfernung Erde-Mond: 384400 km – Berechnung des Bias für den Vorzeichenlosen Exponent mit 8 Bit: Bias=28-1-1=127 Umwandlung der Dezimalzahl in eine Dualzahl ohne Vorzeichen: 384400/2 = 192200 Rest 0 (LSB) 192200/2 = 96100 Rest 0 96100/2 = 48050 Rest 0 48050/2 = 24025 Rest 0 24025/2 = 12012 Rest 1 12012/2 = 6006 Rest 0 6006/2 = 3003 Rest 0 3003/2 = 1501 Rest 1 1051/2 = 750 Rest 1 750/2 = 375 Rest 0 375/2 = 187 Rest 1 187/2 = 93 Rest 1 93/2 = 46 Rest 1

523

Page 238: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abschnitt 1.3.2.5, Übung I: a) Aus dem Kräftegleichgewicht folgt: vmax=U0/KS – FR

.R/KS.KF = 1m/s bzw. 0,97m/s

b) Differentialgleichung des elektrischen Systemteils und Hintransformation

x(s)sKI(s)s)L(RU(s)(t)Udt

dI(t)LI(t)RU(t) vdt

dx(t)K(t)U mit} L{ erttransformiLaplace

ivi

⋅⋅+⋅⋅+=⎯⎯⎯⎯⎯⎯⎯⎯ →⎯+⋅+⋅=⋅=

Differentialgleichung des mechanischen Systemteils und Hintransformation

(s)FI(s)Kx(s)sm(t)FI(t)K(t)FF(t)dt

x(t)dm LF2} L{ erttransformiLaplace

LFL2

2−⋅=⋅⋅⎯⎯⎯⎯⎯⎯⎯⎯ →⎯−⋅=−=⋅ −

mit der allgemeinen externen Last FL (hier gleich der Reibung FR).

Lösung im Bildraum: RLs

x(s)sKU(s)I(s) v

+⋅⋅⋅−

=

( )vF

2LF

KKmRsmLs(s)FRsL-U(s)Kv(s)x(s)s⋅+⋅⋅+⋅⋅

⋅+⋅⋅==⋅

Mit L=0, FL=0, s

UU(s)sonst0

0tfürUU(t) oL{}o =⎯→⎯

⎩⎨⎧ <

= folgt aus (5.5) für x(s):

⎟⎟⎠

⎞⎜⎜⎝

⎛−⋅

⋅⋅

−⋅=⎯⎯⎯⎯⎯⎯ →⎯⎟⎠⎞

⎜⎝⎛

⋅⋅

+⋅⋅

⋅=

⋅⋅⋅

− tmRKK

2vF

o

v

o{}L hZeitbereicdeninormationRücktransf

vF2

oFvF

1-

e1

RmKK

UtKUx(t)

mRKKss

UmR

Kx(s)

für v(s): ⎟⎟⎠

⎞⎜⎜⎝

⎛−⋅=⎯⎯⎯⎯⎯⎯ →⎯

⎟⎠⎞

⎜⎝⎛

⋅⋅

+⋅⋅

⋅=

⋅⋅⋅

− tmRKK

v

o{}L hZeitbereicdeninormationRücktransf

vF

oFvF

1-

e1KUv(t)

mRKKss

UmR

Kv(s) (5.7)

tmRKK

o{}L hZeitbereicdeninormationRücktransf

vF

o2

FvovF

1-

eRUI(t)

mRKKss

UmRKK

RsUI(s)

⋅⋅⋅

−⋅=⎯⎯⎯⎯⎯⎯ →⎯

⎟⎠⎞

⎜⎝⎛

⋅⋅

+⋅⋅

⋅⋅

−⋅

= (5.8)

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.050

1

2

3

4

5

6

7

8

9

10

11

t in s

x in

cm

, v in

0,1

m/s

(--),

I in

A, U

in V

(--)

Simulation zu a-e, L=1mH bzw. L=0

R=1Ω, m=1 kg, KF=Kv=12 N/A, Uo=10 V

U(t)

v()

x(t)I(t)

L=0

L=2mH

Der Tauchspulmotor beschleunigt solange, bis die induzierte Gegenspannung Ui gleich der angelegten Spannung Uo ist. Dann fließt kein Strom mehr, die Spule bewegt sich mit der konstanten Endgeschwindigkeit

v(t→∞)= Uo / Kv Bei kleiner elektrischer Zeitkonstante Tel=L/R (hier für 1 ms dargestellt) hat die Induktivität einen vernachlässigbaren Einfluss auf v(t) und x(t).

526

Page 239: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

mit L=0 kann analytisch auch für FL=FR rücktransformiert werden:

⎟⎟

⎜⎜

⎛−⋅

⋅⋅

−−⋅⎟⎟

⎞⎜⎜⎝

⎛⋅⋅

−=⎯⎯⎯⎯⎯ →⎯⎟⎠⎞

⎜⎝⎛

⋅⋅

+⋅

−⋅⋅=

⋅⋅⋅

− tmRKK

2vF

Lo

vF

L

v

o{}L Rücktrafo

vF2

Lo

FvF

1-

e1

RmKKmFU

tKKFR

KUx(t)

mRKKss

mFU

mRK

x(s)

⎟⎟

⎜⎜

⎛−⋅⎟⎟

⎞⎜⎜⎝

⎛⋅⋅

−=⎯⎯⎯⎯⎯ →⎯⎟⎠⎞

⎜⎝⎛

⋅⋅

+⋅

−⋅⋅=

⋅⋅⋅

− tmRKK

vF

L

v

oL Rücktrafo

vF

Lo

FvF

1-

e1KKFR

KUv(t)

mRKKss

mFU

mRK

v(s) {}

tmRKK

F

Lo

F

L{}L

vF

Lv

o2Fv

ovF

1-

eKF

RU

KFI(t)

mRKKss

FmR

KUmRKK

RsUI(s)

⋅⋅⋅

−⋅⎟⎟⎠

⎞⎜⎜⎝

⎛−+=⎯⎯→⎯

⎟⎠⎞

⎜⎝⎛

⋅⋅

+⋅

⋅⋅

−⋅⋅⋅

−⋅

=

Die Endgeschwindigkeit sinkt gegenüber dem zunächst betrachteten Fall ohne Lastkraft:

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.050

1

2

3

4

5

6

7

8

9

10

11

t in s

x in

cm

, v in

0,1

m/s

(--),

I in

A, U

in V

(--)

Simulation zu f-g, L=1mH, FL=10N

U(t)

v(t)

x(t)I(t)

v(t→∞)= ⎟⎟⎠

⎞⎜⎜⎝

⎛⋅⋅

−vF

L

v

o

KKFR

KU

Zur Aufrechterhaltung des Kräftegleich-gewichtes wird im Beharrungszustand jetzt der Strom I(t→∞)=FL/KF erforderlich. c) Die MATLAB/Simulink-Simulationen mit L=2mH wurden mit dem Modell gemäß Abb. A2.4 durchgeführt. Abschnitt 1.3.2.5, Übung II: a) Aus dem Kräftegleichgewicht folgt: vmax= m.g.R/KS

.KF = 0,14 m/s b) Mit FL(t)=m.g.1(t) bzw. FL(s)=m.g.1/s und U0=0 folgt:

⎟⎟

⎜⎜

⎛−⋅

⋅⋅⋅

=⎯⎯⎯⎯⎯ →⎯⎟⎠⎞

⎜⎝⎛

⋅⋅

+⋅

−=

⋅⋅⋅

− tmRKK

vF

L Rücktrafo

vF

vF1-

e1KK

gmRv(t)

mRKKss

gv(s) {}

⎟⎟

⎜⎜

⎛−

⋅=⎯⎯→⎯

⎟⎠⎞

⎜⎝⎛

⋅⋅

+⋅

⋅=

⋅⋅⋅

− tmRKK

F

{}L

vF

vvF

1-

e1K

gmI(t)

mRKKss

gRK

I(s)

c) Simulation mit dem Modell gemäß Abb. A2.4 mit U0=0 und Lastkraftsprung-Block für die Gewichtskraft ergänzt. d) Der Endanschlag ist mit einer Totzohne (6cm) und einer harten Feder mit aperiodischen Dämpfung (Lehr’sches Dämpfungsmaß D > 0,7) modellierbar. Abschnitt 1.3.2.5, Übung III: Meßkette analog zu Abschnitt 3.1.1, Übung I e.

527

Page 240: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abschnitt 2.1.1.6, Übung I: a,b) Simulinkmodell und Simulationsergebnis mit Kpi=12 V/A und Tni=1ms:

U211 _mod .mdl

Ui

F

FR

U

v--> x

1s

ts

ts

a --> v

1s

Strom

Is

Spannungskonstante

KS

Sollwert

Isolls

PWM

PI_Stromregler

In1 Out1

Motorposition

xs

Motor -geschwindigkeit

vs

Motormasse

1/m

Kraftkonstante

KF

Coulombic friction

Coil

1/R

Tel .s+1

Clock

1A Soll -sprung

Out 11

P-Anteil

Kpi

I-Anteil

1/Tni

.

1s

In 11

Die Anregelgeschwindigkeit der Stellgröße wird deutlich besser durch den Stromregler:

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

x 10-3

0

0.2

0.4

0.6

0.8

1

Stromregelung am Tauchspulmotor U211 I

t in s

Soll in AIst in A

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

x 10-3

0

0.2

0.4

0.6

0.8

1

Stromregelung am Tauchspulmotor U211 Id mit Ziegler-Nichols

t in s

Soll in AIst in A

c) Nyquist-Ortskurve und Bode-Plot des offenen Stromregelkreises:

-1.5 -1 -0.5 0 0.5-1.5

-1

-0.5

0

0.5

102 103-20

-10

0

10

20U211 Ic

Gai

n in

dB

102 103

-150

-100

-50

0

Pha

se in

deg

rees

f in Hz Abgelesen: Phasenreserve ca. 55°, Betragsreserve ca. 2,5. d) Erhöhen von Kpi bei Tni=1s (d.h. I-Anteil ist inaktiv) liefert: Kpigrenz = ca. 33 V/A mit Tgrenz= ca. 0,8 ms; daraus folgt eine eher „sportliche“ Stromreglereinstellung mit Kpi=15 V/A und Tni=0,7ms, bei der der Antrieb Lärm entwickeln wird.

528

Page 241: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Abschnitt 2.1.2.5, Übung I: a,b) Simulinkmodell mit/ohne Stromregler um einen PI-Geschwindigkeitsregler erweitert und Stellgrößenausgang zur Vergleichbarkeit von Kp [in Ns/m] angepasst:

U212 _I_mod .mdl

Ui

F

FR

U

v--> x

1s

ts

ts

a --> v

1s

Strom

Is

Spannungskonstante

KS

Sollwert

vsolls

PWM

PI_Stromregler

In1Out1

PI_Geschw.-reglerKp Tn

In1Out1

Motorposition

xs

Motor -geschwindigkeit

vs

Motormasse

1/m

Kraftkonstante

KF

Fsoll-->

Isoll

1/KF

Coulombic friction

Coil

1/R

Tel .s+1

Clock

0.1 m/s Soll-sprung

U212 _Ib _mod .mdl

Ui

F

FR

U

v--> x

1s

ts

ts

a --> v

1s

Strom

Is

Spannungskonstante

KS

Sollwert

vsolls

PWM

PI_Geschw.-reglerKp Tn

In1Out1

Motorposition

xs

Motor -geschwindigkeit

vs

Motormasse

1/m

Kraftkonstante

KF

Fsoll-->

Usoll

R/KF

Coulombic friction

Coil

1/R

Tel .s+1

Clock

0.1 m/s Soll-sprung

Der geschwindigkeitsgeregelte Motors wird deutlich dynamischer durch einen unterlagerten Stromregler (mit Kp=2500 Ns/m, Tn=2ms gegenüber ohne Kp=600 Ns/m und Tn=10ms):

0 0.005 0.01 0.0150

0.02

0.04

0.06

0.08

0.1

0.12Geschwindigkeitsregelung am Tauchspulmotor U212 I

t in s

v in

m/s

Sollmit Stromreg.ohne Stromreg.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

0

0.02

0.04

0.06

0.08

0.1

0.12Geschwindigkeitsregelung am Tauchspulmotor U212 I mit elastisch gekoppelter Last

t in s

v in

m/s

SollMotorLast

c) Die elastische Last begrenzt die Regelgüte so stark, dass der Stromregler hier keine Vorteile mehr bringt (Kp=90 Ns/m, Tn=80ms).

U212 _Ic_mod .mdl

Ui

F

FR

U

v2--> x2

1s

v--> x

1s

ts

ts

a2 --> v2

1s

a --> v

1s

Strom

Is

Spannungskonstante

KS

Sollwert

vsolls

PWM

PI_Geschw.-reglerKp Tn

In1Out1

Motorposition

xs

Motor -geschwindigkeit

vs

Motormasse

1/m1

Lastpos.

xLs

k

Lastmasse

1/m2

Last-geschwindigkeit

vLs

Kraftkonstante

KF

Fsoll-->

Usoll

R/KF

Coulombic friction

Coil

1/R

Tel .s+1

Clock

0.1 m/s Soll-sprung

529

Page 242: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

b) Simulink-Modell (s.o.); c) Sinnvolle Werte liegen bei Kp=60000-100000 Ns/m, Tn=40ms und Kv=25-35s-1 sowie Fv=0,3-0,7. Die höheren Werte können nur bei sehr weichen Führungsgrößen eingestellt werden.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

0.001

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0.01

t in s

Pos

ition

in m

X-axis positioning operation with amax=2 m/s2

SetpointsMotorTCP

0.36 0.38 0.4 0.42 0.44 0.46 0.48

9.8

9.85

9.9

9.95

10

x 10-3

t in s

Pos

ition

in m

X-axis positioning operation with amax=2 m/s2

SetpointsMotorTCP

c) Mit Kstat=Kp

.Kv lässt sich eine Steifigkeit von ca. 2..3 N/µm erwarten (keine gute Fräsmaschinenachse!), was durch die Simulation eines 500N-Lastsprunges nach erfolgter Positionierung (s. vergrößerter Plot: 200µm Abweichung) auch bestätigt wird. d) Die Führungen können soweit geschwächt werden, bis die durch die Führungssteifigkeit bedingte Einschränkung der Regelgüte gegenüber der weichen Basis dominant wird, was in erster Näherung durch die Eigenfrequenz abgeschätzt werden kann (k > ca. 1,5N/µm). Abschnitt 2.1.3.6, Übung II: Bewegungswandler

Getriebe Bandantrieb Kugelgewindetrieb Prinzip, wesentliche Parameter

A �� � � �

� �� �

A �

� � �

� � � � � � �

�+ � � � � � � � �

� � � � � 1 � � � � ) � � � � � � �

��

! " � � � � � �A �

Treibrollenradius r

� � � � � �

! " � � � � � �

) � � � � �

- � � � � � # � �

B � ) ) � � � #� � �

! " � � � � � � ) � � � � � � �

� � �

) � � � � � � �

Spindelsteigung hS

Übersetzungs-faktor ü

1

2

rrü

L

M ==ϕϕ

rx

ü 1==

ϕ

Shxü πϕ 2

==

Umrechnung von Kräften auf die Motorseite

üMM L

L ='

rFM LL ⋅=' π2

' SLL

hFM ⋅=

Umrechnung von Trägheiten auf die Motor-seite

2'üJJ L

L = 2' rmJL ⋅= 2

2' ⎟

⎞⎜⎝

⎛⋅=πS

Lh

mJ

Bewegungswandler (Getriebe) wandeln rotatorische Bewegungen von Servomotoren in rotatorische oder lineare Bewegungen der Nutzlast. Im Sinne einer langen

531

Page 243: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

558

Page 244: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Literaturverzeichnis Ackermann J (1988) Abtastregelung. Springer-Verlag, München Alberts F (1991) Dynamikgerechter Entwurf von Werkzeugmaschinen Gestellstrukturen. IWB Forschungsberichte Nr. 93 Angermann A, Beuschel M, Rau M, Wohlfarth U (2002) Matlab – Simulink - Stateflow. Oldenbourg Wissenschaftsverlag, München Arndt H (2000) Auslegung und Bewertung von Vorschubantrieben mit Spindel-Mutter-Systemen. Dissertation, Schriftenreihe des Lehrstuhls für Werkzeugmaschinen, Eigenverlag Technische Universität Dresden Aspern J (2003), SPS-Softwareentwicklung mit Petrinetzen, VDE-Verlag 2003 Beater P (1999) Entwurf hydraulischer Maschinen. Springer-Verlag, Berlin Heidelberg Beetz B (2000) Elektronik-Aufgaben mit PSPICE. Vieweg-Verlag, Braunschweig Wiesbaden Berkemer J (2002) Integrated Simulation of Machine Dynamics with active Control. Permas Users’ Conference, Heidelberg, 11-12 April 2002 Beucher O (2002) Matlab und Simulink – Grundlegende Einführung. Pearson Studium, München Biran A, Breiner M (1995) MATLAB for Engineers. Addison-Wesley Publishing Company Böge W, Plaßmann W (2004) Handbuch Elektrotechnik Vieweg Verlag, 2004. S 776 Braasch J (1997) Geradeaus oder rundherum? Technica 17/97, S.28-33 Bremer H, Pfeiffer F (1992) Dynamik elastischer Mehrkörpersysteme. Teubner, Stuttgart Bronstein IN; Semendjajew KA (1987) Taschenbuch der Mathematik. Verlag Harry Deutsch, Thun Codourey A (1998) . The International Journal of Robotics Research Vol. 17, No. 12, December 198, pp.1325-1336 Craig J (1989) Introduction to Robotics, Mechanics and Control. 2nd Ed. Addison-Wesley Publishing Company Cremer L, Hubert M (1985) Vorlesungen über technische Akustik. Springer-Verlag Czichos H, Hennecke M (2004) Hütte – Grundlagen der Ingenieurwissenschaften. Springer-Verlag Czichos H, Hennecke M (2008) Hütte – Das Ingenieurwissen. Springer-Verlag, 2008. ISBN 978-3-540-71851-2 Delzer S (2004) IDCON Classic – Automatic Generation of Dynamic Simulation Models from Measured Data. Toolbox for use with MATLAB and Microsoft EXCEL. www.expertcontrol.com. Denkena B, Rehling S, Tracht K (2005) Modelling and Calibration Process of Mechatronical Machine Tool Models. Annals of the Wissenschaftliche Gesellschaft für Produktionstechnik (WGP), 12(2005). Dobrinski P (1996) Physik für Ingenieure, Teubner-Verlag DSPACE (2001) dSPACE Users Manual, dSPACE GmbH, Paderborn (www.dspace.com) Dubbel (1994) Taschenbuch für den Maschinenbau. 18. Auflage, Springer-Verlag

559

Page 245: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Ernst A (1998) Digitale Längen- und Winkelmeßtechnik. Verlag Moderne Industrie, Landsberg/Lech Eubert P (1992) Digitale Zustandsregelung elektrischer Vorschubantriebe. Dissertation, Institut für Werkzeugmaschinen und Betriebswissenschaften, TU München Eutebach T (2000) Ein Beitrag zur Bedämpfung von Torsionsschwingungen in hochdynamischen Industrieantrieben. Dissertation Universität Siegen Feindt EG (1999) Computersimulation von Regelungen: Modellbildung und Software-entwicklung. Oldenbourg-Verlag, München, Wien FEMLAB (2003) FEMLAB Users Manual, Comsol AB, Stockholm (www.femlab.com). Fischer R (1995) Elektrische Maschinen. Hanser-Verlag, München Wien Föllinger O (1993) Nichtlineare Regelungen Bd 2. Olbenbourg-Verlag, München Wien Fritzson P (2004) Principles of Object Oriented Modelleing and Simulation with Modellica 2.1. IEEE Press, Piscataway NJ Früh KF, Maier U (2004) Handbuch der Prozessautomatisierung/Prozessleittechnik für verfahrenstechnische Anlagen 3.Auflage 2004 Oldenbourg Industrieverlag Führer A, Heidemann K, Nerreter W (1997) Grundgebiete der Elektrotechnik Bd 1. Hanser Verlag, München Wien Geering HP, Shafai E (2004) Regelungstechnik II. IMRT-Press, ETH Zürich. Gees A (1996) On-line accelerometer gain and offset identification. International Symposium on Measurement and Control in Robotics ISMCR’96, Brüssel Gevatter HJ (1999) Handbuch der Meß- und Automatisierungstechnik Springer 1999,S.479 Groß H, Hamann J, Wiegärtner G (2000) Vorschubantriebe in der Automatisierungstechnik. Hrsg Siemens AG, Berlin München, Publicis MCD Verlag, Erlangen München Großmann K (1991) Dynamische Verhaltensanalyse an spanenden Werkzeugmaschinen. Habilitationsschrift an der Technischen Universität Dresden Großmann K (1998) Die Realität im Virtuellen – Simulation in technischen Anwendungen. Schriftenreihe des Lehrstuhls für Werkzeugmaschinen, Eigenverlag Technische Universität Dresden Großmann K, Jungnickel G (2003) Instationäres thermoelastisches Verhalten von Vorschubachsen mit bewegtem Wälzkontakt. Schriftenreihe des Lehrstuhls für Werkzeugmaschinen, Eigenverlag Technische Universität Dresden Großmann K, Mühl A, Löser M (2004) Adaptiv geregeltes Fräsen auf einer Parallelkinematik. Zeitschrift für wirtschaftlichen Fabrikbetrieb, ZWF Jahrg. 99 (2004) 5, Hanser-Verlag, München Grothe K-H, Feldhusen J (2005) Dubbel – Taschenbuch für den Maschinenbau. Springer-Verlag Hagedorn P (1990) Technische Mechanik Bd. 3. Verlag Harri Deutsch, Thun. Hagl R (1992) Erhöhung der Verfügbarkeit von Vorschubantrieben mit selbstanpassender Lageregelung. . ISW 86, Springer-Verlag Hamann J, Wiegärtner G, Teufelde, B (1993) Mit der richtigen Kupplung weniger Schwingungen. Technica 24/93, Technica Verlag, Rupperswil

560

Page 246: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Hatch M R (2000) Vibration simulation using MATLAB and ANSYS. CRC PressLLC, Boca Raton FL Hebsacker M (2000) Entwurf und Bewertung Paralleler Werkzeugmaschinen – das Hexaglide. Dissertation ETH Nr. 13467, Zürich Hees W (1989) Digitale Filter. Teubner, Stuttgart Heidenhain (2004) TNC. Firmenschrift der Dr. Johannes Heidenhain GmbH, Traunreuth Heinemann R (2009) PSPICE – Einführung in die Elektronik-Simulation. Carl-Hanser-Verlag. ISBN 987-3-446-41592-8. Hermann G, Müller D (2004): ASIC - Entwurf und Test. Carl-Hanser-Verlag, ISBN 3-446-21709-6. Hiller B (2004) Neue Entwicklungen und Anwendungen des Ferraris-Sensors. Seminar Fortschritte in der Regelungs- und Antriebstechnik, Universität Stuttgart, 18./19.6.2004 Hoffmann J (2000) MATLAB und SIMULINK. Fachbuchverlag Leibzig Honegger M (1999) Konzept einer Steuerung mit Adaptiver Nichtlinearer Regelung für einen Parallelmanipulator. Dissertation ETH Nr. 13162, Zürich Hörhager M (1996) MAPLE in Wissenschaft und Technik. Maple Praxis, Addison-Wesley, Bonn INA (2005) Produktunterlagen Wälzlager. Firmenschrift INA-Schaeffler KG, Herzogenaurach Index (2001) Hochgenau drehen mit Stabkinematik. Index-Werke, mav 7/8 – 2001 Isermann R (2003) Mechatronic Systems - Fundamentals. Springer-Verlag, London ISO 230-2 (1995) Statistische Prüfung der Arbeits- und Positionsgenauigkeit von Werkzeugmaschinen (früher VDI/DGQ 3441-3445) bzw. Test code for machine tools – Part 2: Determination of accuracy and repeatibility of positioning for numerically controlled machine tools. International Organization of Standardization ISO 230-4 (1996) Test code for machine tools – Part 4: Circular Tests for numerically controlled machine tools. International Organization of Standardization ISO/DIS 10791-1 (1998) Test condition of machining centres. Part 1 – Geometric tests for machines with horizontal spindle and with accessory heads. International Organization of Standardization Jelali M, Kroll A (2003) Hydraulic Servo Systems. Springer-Verlag, London Jordan S (1992) Geregelte elektrische Antriebe für die Fertigungsautomation. Verlag Moderne Industrie, Landsberg/Lech Jungnickel G (2000) Simulation des thermischen Verhaltens von Werkzeugmaschinen. Schriftenreihe des Lehrstuhls für Werkzeugmaschinen, Eigenverlag Technische Universität Dresden Kainka B (2009) Lernpaket Mikrocontroller. Franzis-Verlag, 2009. ISBN 978-3-7723-4899-0 Kehl G (2004) Simulation von Strukturdynamik und Regelungstechnik an Bearbeitungszentren – Begrenzung der Dynamik. Umdruck zum Seminar Fortschritte in der Regelungs- und Antriebstechnik, Selbstverlag FISW GmbH, Stuttgart Kemnitz G (2009) Technische Informatik, Band 1: Elektronik. eXamen.press, Springer-Verlag. ISBN 978-3-540-87840-7 Knaebel M (1992) Technische Schwingungslehre. Teubner, Stuttgart

561

Page 247: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Knapp W (1994) Kreisformtest für hohe Geschwindigkeiten. Werkstatt und Betrieb 127/10, 1994 Knapp W (2002) Measurement Uncertainty and Machine Tool Testing. Annals of the CIRP Vol. 51/1/2002 Kofler M, Bitsch G, Komma M (2002) Maple – Einführung, Anwendung, Referenz. Pearson Studium, München Kriesel W, Madelung O (1994) ASI - Das Aktuator-Sensor-Interface für die Automation, Hanser 1994 KTR (2004) Servokupplungen. Firmenschrift der KTR Kupplungstechnik GmbH, Rheine Kuka (2004) Steuerschrank KR C2. Broschüre der Kuka Industrieroboter GmbH Augsburg Kummetz J (2005) Exakte Positionserfassung – Anforderungen an Messgeräte für Direktantriebe. A&D Kompendium 2005 (www.aud24.net) Langmann R (2004) Taschenbuch der Automatisierung. Fachbuchverlag Leipzig, 2004. ISBN 3-446-21793-2 Lawrenz W (2000) CAN - Grundlagen und Praxis, Heidelberg 2000 Lerch R (2005) Elektrische Messtechnik, 4.Auflage Springer S542 ffg. Lochmann D (2002) Digitale Nachrichtentechnik,3. Auflage Verlag Technik 2002 Lunze J (2003) Automatisierungstechnik, Methoden für die Überwachung und Steuerung kontinuierlicher und ereignisdiskreter Systeme, Oldenburg Verlag, 2003. Lutz H, Wendt W (2004) Taschenbuch der Regelungstechnik. Verlag Harri Deutsch, Thun und Frankfurt Mathworks (2003) Matlab Student Edition. Mathworks, Natick MA Mathworks (2003) SimMechanics Toolbox Users Manual, Mathworks, Natick MA Mathworks (2004) Matlab Users Manual Release 14 . Mathworks, Natick MA (www.matlab.com). Messmer HP (2000) PC-Hardwarebuch. Addison-Wesley, 2000. Müller G (1977) Elektrische Maschinen – Theorie rotierender elektrischer Maschinen. VEB Verlag Technik, Berlin Müller G, Groth, C (1999) FEM für Praktiker. Expert-Verlag, Renningen N.N. (1991) DIN 19245: Profibus. Teile 1,2, Beuth-Verlag, 1991. N.N. (2001) VDI/VDE Richtlinie 3694: Lasten-/Pflichtenheft für den Einsatz von Automatisierungssystemen. April 2001 N.N. (2004) Technical Overview. Profibus Nutzerorganisation e.V., Karlsruhe, http://www.profibus.com, 2004. NSK (1990) Präzisions-Maschinen-Elemente Linearbewegungstechnik, Firmenschrift der NSK, Nippon Seiko Petuelli G (1983) Theoretische und experimentelle Bestimmung der Steifigkeits- und Dämpfungseigenschaften normalbelasteter Fügestellen. Dissertation TH Aachen Pfeiffer F (1992) Einführung in die Dynamik. Teubner, Stuttgart Phillip W (1992) Regelung mechanisch steifer Direktantriebe für Werkzeugmaschinen. ISW 86, Springer-Verlag Pigan R, Metter M (2005) Automatisieren mit PROFINET Siemens Publicis Corporate Publishing Erlangen 2005

562

Page 248: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Piotrowski A (1987) IEC-Bus; Die Funktionsweise des IEC-Bus und seine Anwendung in Geräten und Systemen. Franzis München. Popp M (1996) Profibus-DP. Hütig Verlag, 1996. Popp M (2005) Das Profinet IO-Buch Hüthig Verlag 2005 S21 ffg Popp M, Weber K (2004) Der Schnelleinstieg in PROFINET. Profibus Nutzerorganisation e.V., Karlsruhe, Best. Nr. 4.181, 2004. Pruvot (1993) Conception et calcul des machines-outils, Vol. 2: Les broches. Etudes cinematique et statique; Vol.3: Les broches. Etude dynamique.. EPFL, Lausanne. Rechenberg P, Pomberger G (2002) Informatik-Handbuch. Hanser-Verlag, 2002. ISBN 3-446-21842-4 Reißenweber, B (1998) Feldbussysteme. Oldenbourg Verlag, München, 1998. Rembold U, Levi P (1999) Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Hanser-Verlag, 1999. ISBN 3-446-18157-1 Rexroth (2004) Rexroth IndraDrive und IndraMotion MTX. Produktinformationen der Bosch Rexroth AG, Lohr Riedel T, Huwaldt A (2010) myAVR Lehrbuch Mikrocontrollerprogrammierung. Begleitheft zur Entwicklungsumgebung myAVR Workpad SE, Laser-Solutions GmbH, Löbau, 2010. Sahm H (1978) HiFi-Lautsprecher. Franzis-Verlag Schäfers E, Hamann J, Tröndle HP (2003) Mechatronic Support. Seminar Vorschubantriebe für Werkzeugmaschinen, 9./10.7.2003 am WZL der RWTH Aachen Scherf HE (2003) Modellbildung und Simulation dynamischer Systeme. Oldenbourg Wissenschaftsverlag, München Schiffmann W, Schmitz R (2004) Technische Informatik - Grundlagen der digitalen Elektronik. 5.Auflage, Springer-Verlag, 2004. ISBN 978-3-540-40418-7. Schildt GH, Kastner W (1998) Prozessautomatisierung, Springer 1998 Schmidt LP, Schaller G, Martius S (2006) Grundlagen der Elektrotechnik 3 - Netzwerke. Pearson Studium, 2006. ISBN 3-8273-7107-4. Schmutz R (1985) Lageregelung eines Servozylinders mittels Beobachter und Zustandsrückführung. Regelungstechnische Methoden in der Antriebstechnik, Sonderdruck aus Maschinenbau, Schweizer Industrie-Magazin, Juni 1985. Schneider U, Werner D (2007) Taschenbuch der Informatik. Fachbuchverlag Leipzig 4. Auflage. Schnell G (2003) Bussysteme in der Automatisierungs- und Prozesstechnik. Vieweg-Verlag, Braunschweig, 2003. Schröder D (1995) Elektrische Antriebe Bd 2 Regelung von Antrieben. Springer-Verlag, Berlin Heidelberg Schulz H, Stanik M (1998) Direkt oder indirekt messen? Werkstatt und Betrieb 131, S.1034-1037 Sciavicco L, Siciliano B (1996) Modeling and Control of Robot Manipulators. McGraw-Hill Companies, New York Seifart M, Beikirch H (1998) Digitale Schaltungen. Verlag Technik, 1998. ISBN 3-341-01198-6 Shabana A (2003) Dynamics of multibody systems. Cambridge University Press Siemens (2004) Sinumerik 840D – Das digitale CNC-System für komplexe Aufgaben. Siemens AG Automation and Drives, www.siemens.de/sinumerik

563

Page 249: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Simon W (1986) Elektrische Vorschubantriebe an NC-Systemen. Dissertation, Institut für Werkzeugmaschinen und Betriebswissenschaften, TU München Spur G, Weck M, Pritschow G (1998) Technologien für die Hochgeschwindigkeitsbearbeitung. VDI-Verlag, Düsseldorf Stengele G (2003) Vergleich unterschiedlicher Antriebskonzepte für Bearbeitungszentren. Tagungsband zum WZL-Seminar am 9./10.7.2003, RWTH Aachen Stephan W (1999) Leistungselektronik interaktiv. John Wiley & Sons Stoiber D, Knorr M (2000) Ruckfrei - Dank der Impulsentkopplung. WB Antriebstechnik, Bd 133(2000) Heft 6 Stölting H-D, Kallenbach E (2001) Handbuch Elektrische Kleinantriebe. Hanser Verlag, München Wien Strohrmann G (2002) Automatisierung verfahrenstechnischer Prozesse Oldenburg Verlag. Tiller M (2001) Introduction to Physical Modelling with Modelica. Kluwer Academic Publisher, Boston Tschudin (2002) WO 02/36305 A1, Centreless cylindrical grinding machine. Tschudin AG, Grenchen Ulbricht G (1986) Netzwerkanalyse, Netzwerksysnthese und Leitungstheorie. Teubner, Stuttgart. Unbehauen H (1987) Regelungstechnik. Vieweg, Brauschweig VDI (2002) Wärmeatlas – Berechnungsblätter für den Wärmeübergang. Springer-Verlag Weber W (2002) Industrieroboter – Methoden der Steuerung und Regelung. Fachbuchverlag Leipzig Weck M (1995) Werkzeugmaschinen Fertigungssysteme Bd 3.2 Automatisierung und Steuerungstechnik. VDI-Verlag, Düsseldorf Weck M, Krüger P, Brecher C (1999) Grenzen für die Reglereinstellung bei elektrischen Lineardirektantrieben. Antriebstechnik, Februar/März 1999 Weikert S (2000) Beitrag zur Analyse des dynamischen Verhaltens von Werkzeugmaschinen. Dissertation ETH Nr. 13596, Zürich Wittgruber F (2002) Digitale Schnittstellen und Bussysteme,Vieweg 2002 S.156 Wsp (1999) Metoda sztymnych elementow skonczonych w dynamice konstrucji. Wydawnictwa Naukowo-Technicze, Warszawa Wüst K (2009) Mikroprozessortechnik. Vieweg+Teubner-Verlag, 2009. ISBN 978-3-8348-0461-7 Zirn O (1996) Beitrag zum Entwurf von Vorschubantrieben für die Hochgeschwindigkeitsbearbeitung. Diss. ETH Nr. 11676, Eidgenössische Technische Hochschule, Zürich. Zirn O (2002) Modellbildung und Simulation mechatronischer Systeme. Expert-Verlag, Renningen Zirn O, Glattfelder AH (1998) Auslegung dynamischer Positionsregelkreise unter Berücksichtigung der Meßwertquantisierung. at-Automatisierungstechnik, R. Oldenbourg Verlag

564

Page 250: W 8735 Grundlagen der Automa · PDF fileA1 MATLAB 427 A2 Simulink 451 . D Lösungshinweise zu den Übungen 523 . ... technik. Automatisierung ist für alle Ingenieurwissenschaften

Zirn O, Preu H J, Hebsacker M, Honegger M (1998) Steuerung und Antrieb parallelkinematischer Werkzeugmaschinen. wt Werkstattstechnik, Springer-VDI-Verlag. Zirn O, Scheer C, Hundt W (1997) Reduktion der reluktanzbedingten Ober-flächenwelligkeit beim Fräsen. VDI-Z Nr. 7/8, Special Antriebstechnik.

565