MikroComputer-Praxis Herausgegeben von Dr. L. H. Klingen, Bonn, Prof. Dr. K. Menzel, Schwăbisch Gmiind und Prof. Dr. W. Stucky, Karlsruhe Informatik fur technische Berufe Ein Lehr- und Arbeitsbuch zur programmierbaren Mikroelektronik Von Prof. Dr. Ewald von Puttkamer, Kaiserslautern und Studiendirektor Dipl.-Ing. Alfons Rissberger, Worms Unter Mitwirkung von Studienrat Bernhard Pohl, Albisheim und Studiendirektor Hubertus Walde, Neustadt/WeinstraBe Mit zahlreichen Abbildungen, Tabellen, Programmbeispielen und Obungen Springer Fachmedien Wiesbaden GmbH Prof. Dr. rer. nat. Ewald v. Puttkamer Geb. 1936 in Pommern. Studium der Physik in Gătlingen und Freiburg und Promotien 1969 in Freiburg. 1969/70 Assistent am physikalischen Institut der Universităt Mainz und von 1970 bis 1974 Akad. RatiOberrat am Fachbereich Physik der Universităt Kaisers lautern. Wechsel zur Informatik und 1974 Berufung auf eine C3-Professur am Fach bereich Infermatik der Universităt Kaiserslautern. Mitglied der Gesellschaft fOr Informatik (GI) und des German Chapter der ACM. Studiendirektor Dipl.-Ing. Alfons Rissberger Geb. 1948 in Worms. Nach der Ausbildung zum Fernsehtechniker, Studium der Elektre technik und des Lehramts in Frankfurt und Darmstadt und ab 1970 Lehrbeauftragter in Frankfurt und Worms. 1975 zweite StaatsprOfung und 1982 Ernennung zum Studien direktor an der Berufsbildenden Schule I im Wermser Bildungszentrum. Prejektleiter des Modellversuches "Mikrocomputer an technischen Schulen (MATS)". Sprecher des Ausschusses "Informatik an technischen Schulen" der GI. Studienrat Bernhard Pohl Geb. 1950 in Wetzlar. Nach der Ausbildung zum Elektremechaniker (Elektronik), Studium der Nachrichtentechnik und des Lehramts in GieBen und Kaiserslautern. Ven 1972 bis 1974 Entwicklungsingenieur und 1978 zweite StaatsprOfung. 1980 Ernennung zum Studienrat an der Berufsbildenden Schule I Werms. Leiter der Fachdidaktischen Kommission Hăhere Berufsfachschule Informatik. Studiendirektor Hubertus Walde Geb. 1940 in Sorau. Nach der Ausbildung zum Maschinenschlesser, Studium des Maschinenbaus in Friedberg/GieBen. Ven 1967 bis 1971 Fertigungsingenieur und Direktionsassistent. 1973 zweite StaatsprOfung und 1984 Ernennung zum Studien direkter als Fachberater fOr Metalltechnik bei der Bezirksregierung Rheinhessen-Pfalz. CIP-Kurztitelaufnahme der Deutschen Bibliethek Pultkamer, Ewald von: Informatik fOr technische Berufe : e. Lehr-u. Arbeitsbuch zur programmierbaren Mikroelektronik I von Ewald ven Puttkamer u. Alfons Rissberger. Unter Mitw. von Bernhard Pehl u. Hubertus Walde. - Stuttgart : Teubner, 1984 (MikroCemputer-Praxis) ISBN 978-3-519-02524-5 ISBN 978-3-322-99661-9 (eBook) DOI 10.1007/978-3-322-99661-9 NE: Rissberger, Alfons: Das Werk ist urheberrechtlich geschOtzt. Die dadurch begrOndeten Rechte, besenders die der Obersetzung, des Nachdrucks, der Bildentnahme, der Funksendung, der Wiedergabe auf photemechanischem oder ăhnlichem Wege, der Speicherung und Auswertung in Datenverarbeitungsanlagen, biei ben, auch bei Verwertung von Teilen des Werkes dem Verlag vorbehalten. Ausgenemmen hiervon sind die in §§ 53 und 54 UrhG ausdrOcklich genannten Sonderfălle. Bei gewerblichen Zwecken dienender Vervielfăltigung ist an den Verlag gemăB § 54 UrhG eine VergOtung zu zahlen, deren Hăhe mit dem Verlag zu vereinbaren ist. © Springer Fachmedien Wiesbaden 1984 Ursprunglich erschienen bei B.G. Teubner, Stuttgart 1984 Gesamtherstellung: Beltz Offsetdruck, Hemsbach/BergstraBe Umschlaggestaltung: W. Koch, Sindelfingen 1 Vorwort Dieses Buch soll ein Lehr- und Arbeitsbuch zur "programmierbaren Mikroelektronik" fUr technische Berufe sein. Das Buch ist gleichennaBen fUr Schuler und Lehrer geeignet. Es ist so gestaltet, daB es in allen Schulformen gewerblich-technischer berufsbildender Schulen, (Berufsschule, Berufsfachschule, Berufsaufbauschule, Fachoberschule, Fachschule) eingesetzt werden kann. DarUber hinaus ist das Buch auch fur die Erwachsenenbildung (Volkshochschule) geeignet, da es auch "Blicke Uber den Zaun" enthlilt. Die Konzepte dieses Buches haben sich in der Ausbildungspraxis an berufsbildenden Schulen, in der Lehrerfort- und -weiterbildung und in der Erwachsenenbildung bereits mehrfach bewahrt. GroBe Teile dieses Buches entsprechen der von einem AusschuB der Gesellschaft fUr Infonnatik e.V. ausgearbeiteten Rahmenempfehlung "Infonnatik an gewerblich-technischen berufsbildenden Schulen" und wurden in der Pilotphase des Modellversuchs "Mikrocomputer an technischen Schulen (MATS)" in der Schulpraxis Uberpruft. Zur praktischen Umsetzung der auf Mikrocomputer bezogenen Teile des Buches wurden Rechner vom Typ Apple lIe verwendet. Deshalb orientieren sich viele Beispiele des Buches an diesem Rechner. Zwei Vergleiche haben in den Seminaren der letzten Jahre immer wieder geholfen, MiBverstandnisse zurn Thema "programmierbare Mikroelektronik" zu vermeiden, denn bei diesem Thema kann es in der berufsbildenden Schule kaurn darum gehen zu erklaren, wie programmierbare Mikroelektronik funktioniert, sondern nur darum, was man mit programmierbarer Mikroelektronik in der beruflichen Praxis machen kann. Erstens: Ein Hundebesitzer hat keinen Vorteil, wenn er seinem Tierarzt die Frage stellt: "Wie funktioniert mein Hund?", er muB wissen, wie er mit seinem Hund umgehen kann. Der Tierarzt konnte - auch wenn er wollte - aus vielfaltigen GrUnden keine vollstandige Antwort geben. Zweitens: Ein Autofahrer muB, urn qualifiziert Auto zu fahren, sein Fahrzeug nicht reparieren konnen. Und der Autoreparateur muB nicht die Kenntnisse besitzen, die einige Spezialisten beim Autohersteller arbeitsteilig (!) beherrschen. BewuBt wird daher in diesem Buch kein Versuch unternammen, die interne Funktion eines Canputers auBer durch Analogien auf der elektronischen Schaltungsebene zu erklaren. Das Buch ist auch kein reines Lehrbuch fUr eine Programmiersprache, sondern will Grundkonzepte der Informatik, bezogen auf technische Berufe , vermitteln. An vielen Stellen werden daher im Buch die Grundbegriffe und Grundbausteine von Problemlosungen beschrieben, ohne in die maschinenabhangigen Einzelheiten zu gehen. An dieser Stelle danken die Autoren allen, die durch wertvolle Anregungen und Beitrage zum Gelingen des Buches beigetragen haben. Insbesondere danken wir Studiendirektor Hubertus Walde, der das Kapitel 10 erstellt hat, Studienrat Bernhard Pohl, der das Kapitel 8 gefertigt hat, Dipl.-Ing. Oberstudienrat Gerhard Junker fur die Mitarbeit am Kapitel 5.7, Eberhard Iglhaut und Jens Ruths vorn Wormser GauB-Gymnasium fur die Mitarbeit an den Kapiteln 5.8 und 6.4 und cando info Peter Sturm fur die Mitarbeit an den Kapiteln 5.9 und 6.3. Unser Dank gilt auch den jungen Damen, die in der Uberbetrieblichen Ausbildungswerkstatte der IHK Worms im Rahmen ihrer Ausbildung als Teilzeichnerinnen wiederholt bei der Erstellung der Reinzeichnungen geholfen haben. SchlieBlich bedanken wir uns bei allen Kollegen und Schulern, die an der Oberprlifung der Konzepte beteiligt waren. Die hier vorgestellten Konzepte konnten nur dank der Unterstutzung durch das Kultusministerium des Landes Rheinland-Pfalz, der Bezirksregierung Rheinhessen-Pfalz und des Studienkreises Schule und Wirtschaft Rheinland-Pfalz im Unterricht und in der Lehrerfort- und -weiterbildung erprobt werden. WJrms, im Juli 1984 Ewald von Puttkarner Alfons Rissberger APPLE ist das eingetragene Warenzeichen der apple computer inc., Cupertino (USA) bzw. der APPLE CCMPUTER MARKETING GmbH, MUnchen. UJas tin .iktotOlttPUkt nitbt ist Gentde beim Umgeng mit Computern besteM die Gefehr zu gleuben, den Computer problemlos elles konnen. Rber bereits die Netur het in uielen Jehren der (uolution keine -eierlegende Wollmilc:hseu· heruorgebrec:ht, sondern nur euf bestimmte Umgebungen spezielisierte Lebewesen. Inhaltsverzeichnis Seite Vorwort 3 2 Historischer Hintergrund 11 2.1 Ausgangssituation im Bildungssystem 11 2.2 Der technisch-historische Hintergrund 18 2.2.1 Yom Schalter zum hochintegrierten Schaltkreis 18 2.2.2 Yom kundenspezifischen zum programmierbaren Schaltkreis 19 3 Wie ein (Mikro)Computer und seine Peripherie arbeiten 21 3.1 Vergleich Computer - Arbeitsplatz 21 3.2 Analogie Rechner - Fabrik 25 3.2.1 Definition eines Rechners 26 3.2.2 Hardware 26 3.2.3 v.Neumann - Maschine 28 3.2.4 Software 30 3.2.5 Betriebssysteme 31 3.3 Sichtweisen eines Rechners 34 4. Yom Algorithmus zur Programmiersprache 36 4.1 Der Unterschied zwischen "tun konnen" und "exakt beschreiben kOnnen" 36 4.2 Yom Algorithmus zum Basic-Programm 39 4.2.1 Ein linearer Algorithmus 39 4.2.2 Ein Algorithmus mit Schleife 43 4.3 Zusammenfassung der elementaren Basic-Befehle 46 4.4 Schleifen und ihre Umsetzung in ein Programm 48 4.4.1 FluBdiagramm und Kontrollstrukturen 48 4.4.2 Variable 58 4.4.3 Operatoren 59 4.4.4 Ausblick auf komplexe Kontrollstrukturen 60 4.5 Programmdokumentation 62 4.5.1 Einleitung 62 4.5.2 D.Jkumentation von Prograrnmen 62 4.5.2.1 Beispiel 62 4.5.2.2 Beschreibung der grundsatzlichen Wirkungsweise 63 4.5.2.3 Bedienungsanleitung 64 4.5.2.4 Wartungsanleitung 65 7 4.5.2.5 Plane - Listings 65 4.5.3 Dokurnentation der Prograrnmerstellung 65 4.5.3.1 Pflichtenheft des Anwenders 66 4.5.3.2 Spezifikation 67 4.5.3.3 Grobentwurf 68 4.5.3.4 Detailentwurf 70 4.5.3.5 Test und Verifikation 70 4.5.4 Basic zur Programmentwicklung und -dokurnentation? 71 4.6 M6glichkeiten der Eingabe 73 4.6.1 Einleitung 73 4.6.2 Eingabegerate 73 4.6.2.1 Tastaturen 73 4.6.2.2 Graphische Eingabegerate 74 4.6.2.3 Eingabegerate fur physikalische GraBen 75 4.6.3 unterstutzung der Eingabe durch das Anwenderprogramm 75 4.6.3.1 Text- und Zahleneingabe 75 4.6.3.2 Graphische Eingabe 77 5 Exemplarische Beispiele mit weiteren Basic-Befehlen 78 5.1 Schleifen mit FOR-TO-{STEP-)NEXT 78 5.2 Hochauflasende Graphik 79 5.3 Unterprogramme mit GOSUB-RETlJRN 82 5.4 $-Variable (String) 86 5.5 Indizierte Variable (Array) 87 5.6 Daten auf der Diskette 89 5.7 Technisches Zahlenformat 89 5.8 Verwendung eines Color-Plotters 92 5.9 MeB- und Regelungstechnik mit dem Mikrocomputer 101 6 Vom Algorithmus zur Maschinensprache 108 6.1 Der Unterschied zwischen analoger und digitaler DV 108 6.1.1 Beispiel einer analogen Verarbeitung 108 6.1.2 Beispiel einer digitalen Verarbeitung 110 6.2 Eine EinfUhrung in die Maschinensprache 115 6.2.1 Prinzip der Maschinensprache 115 6.2.2 Dreiadressform 116 6.2.3 Einadressform 116 6.2.4 Tabelle der elementaren Befehle einer Maschinensprache 117 6.2.5 Maschinenprogramm MULADD in (Pseudo-) Assembler 118 8 6.2.6 Grundlagen zur Maschinensprache 119 6.2.6.1 Hexadezirnales und duales Zahlensystem 119 6.2.6.2 Bitmuster und Wortbreite 120 6.2.6.3 Auszug aus dem Befehlssatz des Mikroprozessors 6502 120 6.2.6.4 Adressierungsarten 121 6.2.6.5 Handhabung des Apple II-Monitors 122 6.2.7 Maschinenprogramm MULADD in hexadezimaler Form 123 6.2.7.1 Handhabung des Maschinenprogramms MULADD 124 6.2.7.2 Anmerkungen zum Maschinenprogramm MULADD 125 6.2.8 Verbindung zwischen Basic und Maschinenebene - POKE und PEEK 126 6.2.9 Basic-Programm mit Unterprogramm in Maschinensprache 127 6.2.9.1 Maschinenprogramm speichern und laden 127 6.3 Eine EinfUhrung un Assembler 128 6.4 Der Algorithmus Primzahlen 133 7. libersetzung und Interpretation von Sprachen 139 7.0 Einleitung 139 7.1 Klassifikation von Sprachen 140 7.1.1 Maschinensprache 140 7.1.2 Maschinenorientierte Sprache (Assembler) 142 7.1.3 Problemorientierte Sprachen 145 7.2 Unterschied Compiler - Interpreter 148 7.3 Prinzipieller Aufbau eines Compilers 150 7.3.1 Lexikalische Analyse 151 7.3.2 Syntaxanalyse 151 7.3.3 Codegenerierung 153 8 Speicherprogrammierte Steuerungen (SPS) 155 8.1 Einleitung 155 8.2 Was ist eine speicherprogrammierte Steuerung 156 8.2.1 Realisierung durch eine Verbindungsprogrammierte Steuerung 157 8.2.2 Realisierung durch eine Speicherprogrammierte Steuerung 158 8.3. Funktionsprinzip der SPS 159 8.4 Einsatzgebiete Speicherprogrammierter Steuerungen 161 8.5 DarstellungsmOglichkeiten von Steuerungsprozessen 162 8.5.1 Beschreibung im Klartext 163 8.5.2 Technologieschema 163 8.5.3 Stromlaufplan 164 8.5.4 Programmablaufplan 164 9 8.5.5 Der Kontaktplan 1 66 8.5.6 Der Funktionsplan 1 68 8.5.7 Anweisungsliste 1 72 8.6 Prograrrmieren der Grundverkniipfungen 178 8.6.1 Die Anweisungslisten der Grundverkniipfungen (DIN 19239) 179 8.6.2 Anweisungslisten der Grundverkniipfungen (MITSUBISHI, MELSEC) 184 8.7 Vorgehensweise beim Projektieren einer Steuerungsaufgabe 192 8.8 Anwendung von Sprungfuntionen 197 8.9 Anwendung von Schrit tketten in Ablaufsteuerungen 200 8.9.1 Anwendungsbeispiel fiir eine Ablaufsteuerung 204 9 Der AnschluB des Rechners an die AuBenwelt 210 9.0 Einleitung 210 9.1 Ebenen der Schnittstelle Rechner/AuBenwelt 211 9.1.1 Physikalische Ebene 211 9.1.2 Signalebene 214 9.1.3 HOhere Ebenen (Protokolle) 220 9.1.4 Beispiel: V-24-Schnittstelle 222 9.2 Interfaces: Aufgabenstellung und prinzpieller Aufbau 226 9.2.1 Aufgabenstellung 226 9.2.2 Prinzipieller Aufbau eines Interface 227 9.2.3 Parallel interface zum 8085 - Mikroprozessor 229 9.3 Wandler 231 9.3.1 Aufgabenstellung 231 9.3.2 Digital-Analog-Wandler 231 9.3.3 Analog-Digital-Wandler 234 9.3.4 Oodierscheiben fiir Winkel 236 9.4 Intelligente Schnittstellen 237 9.4.1 Controller 237 9.4.2 Wandler mit integrierter Vorverarbeitung 237 10 Numerisch gesteuerte Werkzeugmaschinen 239 10.0 Vorbemerkung 239 10.0.1 Historische Entwicklung 239 10.1 Grundlagen der NC-Technik 240 10.1.1 NC-Technik 240 10.1.2 CNC-Technik 240 10.1.3 OOC-Technik 240 10.1.4 Vergleich von manuell und NC-gesteuerter Fertigung 241 10 10.1.5 Koordinatensysteme an NC-Maschinen 243 10.1.6 Steuerungsarten 244 10.1.6.1 Punktsteuerung 244 10.1.6.2 Streckensteuerung 245 10.1.6.3 Bahnsteuerung 246 10.1. 7 WegmaB-Systeme 246 10.1.8 Bezugspunkte 250 10.1.9 BemaBung von Zeichnungen fUr NC-Maschinen 250 10.1.9.1 Inkremental-BernaBung 250 10.1.9.2 Absolut-BernaBung 251 10.1.9.3 KoordinatenbemaBung 251 10.1.10 Codierung 252 10.1.11 Datentrager 253 10.1.12 Schematischer Aufbau einer NC-Anlage 256 10.2 Programmieren von NC-Maschinen 258 10.2.1 EinfUhrung in die Programmierung nach DIN 66025 258 10.2.1.1 Programmsatz 258 10.2.1.2 Progranunwort 258 10.2.2 Programmaufbau 259 10.3 Erstellen eines Programms fUr ein Werkstuck, zu fertigen auf einer Vertikal-Frasmaschine 261 10.3.1 Programmieren und Eingabe in das Datentenninal 265 10.3.1.1 Erstellen eines Listings 267 10.3.2 Kontrolle und Optimierung des Programms 268 10.3.3 Vertrautheit mit der Bedienung der Werkzeugmaschine' 269 10.3.4 Herstellen des Werkstucks 271 10.3.5 SchluBbemerkung 271 11 Die Verwendung des Rechners zum Umgang mit groBen Datenmengen 272 11.1 Einleitung 272 11.2 Suchen und Sortieren 272 11.3 Ein Sortierbeispiel in Basic 273 11.4 Datenbanken 274 12 Der Computer und die Gesellschaft 275 13 Anhang: Handhabung eines Mikrocomputers am Beispiel Apple II 277 14 Literaturverzeichnis 279 15 Stichwortverzeichnis