INHALTSVERZEICHNIS 1
Inhaltsverzeichnis
1. Einleitung 2
2. Zielsetzung der Sprache 3
3. Das Konzept von CCplus 3
4. Die Entwicklungsumgebung C-Control plus 6
5. Die Bespielanwendung 8
5.1. Der Vorspann 9
5.2. Das Hauptprogramm 9
5.3. Die Berechnung 10
5.4. Der Operationswechsel 10
6. C-Control als Visuelle Programmiersprache 10
7. Fazit 11
1. EINLEITUNG 2
1. Einleitung
Wir wollen die visuelle Programmiersprache C-Control Plus vorstellen. Diese Sprache wurde von der Elektronikversandfirma Conrad[3] speziell f¨ ur die Mikrocontroller ,,C-Control”[2] entwickelt. Bei der betrachteten Sprachumgebung handelt es sich um die Version 1.07 aus dem Jahr 1997. Leider wurde die Umgebung seit dem nicht mehr weiterentwickelt und es sind lediglich f¨ ur die ,, Schwestersprachen” C-Control BASIC und C-Control Fuzzy neue Versionen erschienen. Wir werden nachdem wir kurz auf den Einsatzzweck und die Zielsetzungen der Sprache eingegangen sind, die Konzepte der Sprache vorstellen. Darauf stellen wir die Entwicklungs- und Simulationsumgebung vor und darin als Beispielprogramm die Implementierung eines Taschenrechners. Abschließend wollen wir eine Einordnung im Bereich der visuellen Sprachen vornehmen, um dann zu pr¨ ufen, inwieweit die gesetzten Ziele erreicht wurden.
2. ZIELSETZUNG DER SPRACHE 3
2. Zielsetzung der Sprache
Um die Zielplattform der Sprache besser zu verstehen, wollen wir an dieser Stelle einen kurzen ¨ Uberblick ¨ uber Mikrocontroller geben. Mikrocontroller sind prinzipiell vergleichbar mit herk¨ ommlichen Personal Computern. Sie verf¨ ugen ebenso wie diese ¨ uber fl¨ uchtigen und nicht fl¨ uchtigen Speicher und sind programmierbar. Allerdings haben sie h¨ aufig eine kompakte Bauform, die hier verwendete C-Control-Einheit ist auf einer 76 × 52 mm Platine untergebracht (siehe Abbildung 1), und sind eher auf Stromverbrauch und Robustheit als auf Leistung optimiert. Eingesetzt werden Mikrocontroller vornehmlich f¨ ur Steuer- und Regelanlagen. Zum Beispiel finden sie sich in Heizungsanlagen und Haushaltsger¨ aten. Dort ersetzen sie die immer komplexer werdenden Logikschaltungen, wobei sie meist einfacher zu handhaben und preiswerter sind. Vor allem ist es mit einem Mikrocontroller m¨ oglich die Logik nachtr¨ aglich anzupassen. Allerdings m¨ ussen die Mikrocontroller programmiert und nicht als Logik definiert werden, hier soll die visuelle Sprache eine Br¨ ucke bieten.
Die Firma Conrad Electronic sieht die Zielgruppe ihrer Sprache vornehmlich in kleinen Firmen und Hobbyanwendern, die kleinere Steuer- und Regelautomatik als Einzelst¨ ucke oder in Kleinserie entwerfen. Vor allem f¨ ur Anwender, die sich mit der Steuerungstechnik auskennen, aber kaum oder keine Programmierkenntnisse haben, ist diese Sprache geeignet. Sie sieht daf¨ ur den geringen Lernaufwand der graphischen Sprache als Vorteil.
Wie in der Einleitung schon erw¨ ahnt existieren noch zwei andere Entwicklungsumgebungen f¨ ur diesen Mikrocontroller. Diese treten mit nahezu denselben Zielen an und wir werden daher am Schluß noch einmal die visuelle Umgebung mit ihnen vergleichen.
3. Das Konzept von CCplus
Das C-Control Plus zugrunde liegende Konzept ist eine Kombination aus einem Kontrollfluss und mehreren Datenfl¨ ussen, die diesen verfeinern. Der Kontrollfluss spiegelt sich im imperativen Teil der Programmstruktur wieder. Dabei werden Programmzellen in einer Sequenz angeordnet. Diese Zellen werden dann auch in dieser Reihenfolge bei der ersten beginnend abgearbeitet. Zus¨ atzlich k¨ onnen in den Zellen Sprungbl¨ ocke zur Steuerung des Programmflusses angegeben werden, so das auch von der Abarbeitungssequenz abgewichen werden kann. Damit sind die Programmzellen vergleichbar mit den Zeilennummern ¨ alterer, nicht objektorientierter BASIC-Interpreter wie z.B. GW-BASIC. Die Programmzellen selbst bestehen dann aus einem Datenfluss. Jede Zelle kann auch mehrere nicht zusammenh¨ angende Kontrollfl¨ usse enthalten.
3. DAS KONZEPT VON CCPLUS 4
Abbildung 2: getypte und geordnete Verbindungen im Datenfluss
Abbildung 3: a) die Bl¨ ocke f¨ ur die vordefinierten Ein- und Ausgabeger¨ ate b) die Bl¨ ocke f¨ ur die Berechnungen
Es gibt eine ganze Reihe von unterschiedlich gruppierten Blocktypen, die im Programm die Knoten des Kontrollflussgraphen darstellen. Als Datenquellen existieren Konstanten, die vordefinierten Eingabeger¨ ate und Speicherzellen. Die Daten k¨ onnen dann in einer Speicherzelle abgelegt werden, damit darauf in einer anderen Zelle wieder zuggegriffen werden kann , auf einem der vordefinierten Ausgabeger¨ ate ausgegeben werden oder verarbeitet werden k¨ annen um dann wieder zur Verf¨ ugung zu stehen. Einige der Bl¨ ocke haben geordnete Eing¨ ange, sie verf¨ ugen dann ¨ uber eine begrenzte Anzahl an Eing¨ angen, die mit einem Kleinbuchstaben markiert werden (siehe Abbildung 3). An jedem Eingang darf dann nur ein Wert anliegen. Andere Bl¨ ocke haben nur ein Art von Eing¨ angen, die dann in der Anzahl nicht beschr¨ ankt sind. Ein Block hat gegebenenfalls genau einen Wert, der am Ausgang beliebig oft verwendet werden kann. Außerdem haben die einzelnen Bl¨ ocke je nach Intention getypte Ein- und Ausg¨ ange. Wobei es dann auch generische Bl¨ ocke gibt (z.B. f¨ ur den Vergleich), bei denen an allen Eing¨ angen derselbe Typ anliegen muss. Der Datenfluss darf keine Zyklen enthalten. Allerdings ist es m¨ oglich dieselbe Speicherzelle mehrfach zu verwenden und in einem Datenflussdiagramm daraus zu lesen und dann darin zu Schreiben. Wir wollen jetzt entlang der in der Entwicklungsumgebung vorgenommenen Gruppierung die wichtigsten Blocktypen kurz vorstellen:
3. DAS KONZEPT VON CCPLUS 5
• Die Gruppe Ein-/Ausgabe beinhaltet Blocktypen f¨ ur die direkte Manipulation der Digitalein- und Ausg¨ ange des Mikrocontrollers, A/D und D/A-Wandler und einen Frequenzgenerator. Ausserdem enth¨ alt sie noch eine Reihe von externen Zusatzkomponenten f¨ ur die C-Control Produktreihe, wie eine Zehnertastatur, eine sechsstellige 7-Segment- Anzeige und ein 16× 2 LC-Display, was sich insbesondere f¨ ur die Simulation von Vorteil erweist. • Die zweite Gruppe, Berechnungen, beinhaltet die vier Grundrechenarten, Minimum- und Maximumfunktion, einen Zufallsgenerator und die Bitschiebeoperationen. Subtraktion und Division haben dabei genau zwei geordnete Eing¨ ange, w¨ ahrend bei Addition und Multiplikation Anzahl und Ordnung nicht fest vorgegeben sind. Alle diese Bl¨ ocke arbeiten immer mit 16-Bit Ganzzahlen.
• Unter Vergleich sind alle m¨ oglichen Vergleichsoperationen zu finden, die mit ganzzahligen Werten sinnvoll sind. Als Typen sind aber hier nicht nur die 16-Bit Integer zugelassen, es lassen sich auch Datums und Zeitwerte jeweils paarweise vergleichen. Das Ergebnis ist wiederum eine Zahl, die sich als Wahrheitswert interpretieren l¨ asst. • Die Gruppe Logik fasst alle g¨ angigen Logikoperationen wie NOT, AND, NAND usw. zusammen. Die Operationen arbeiten hierbei wieder 16Bitgetypt und werten die entsprechende logische Operation aus. Bis auf NOT, welches sinnvoller Weise nur einen Eingang hat, haben alle Logikbl¨ ocke eine unbegrenzte Anzahl von Eing¨ angen. Das Erscheinungsbild der Logikbl¨ ocke entspricht dabei den Symbolen in der klassischen Schaltungslehre, so dass es insbesondere f¨ ur Leute aus diesem Metier auch ohne besondere Vorkenntnisse in C- Control intuitiv verst¨ andlich ist. • Die Gruppe Zeit vereint Blocktypen zum Auslesen von systeminterner Uhrzeit und Datum und deren jeweiligen Einzelkomponenten und einen Zeitgeber, dessen Ausgangswert sich alle 20 Millisekunden um eins erh¨ oht. • Variablen vereinigt die Blocktypen die notwendig sind, um auf die Speicherzellen des Benutzerspeichers zuzugreifen, die anders als bei g¨ angigen Programmiersprachen aber nicht benannt werden k¨ onnen, sondern immer ¨ uber ihre Speicheradresse referenziert bzw. identifiziert werden. Leider gibt es dabei keine Felder aus mehreren Werten oder eine M¨ oglichkeit zur indirekten Adressierung.
• Die Gruppe Konstanten beinhaltet alle Konstantenblocktypen f¨ ur alle in der Sprache vorkommenden Typen.
4. DIE ENTWICKLUNGSUMGEBUNG C-CONTROL PLUS 6
• Mit den Datenaufzeichnungsbl¨ ocken l¨ asst sich eine Datenspeicherung im nicht fl¨ uchtigen EEPROM des Mikrocontrollers vornhemen. • Die Gruppe Serielle Schnitstelle umfasst die notwendigen Kommuikationsbl¨ ocke.
Auf die letzte Gruppe mit den Bl¨ ocken zur Programmsteuerung wollen wir jetzt noch einmal genauer eingehen. Die wichtigsten Elemente sind in Abbildung 4 zu sehen. Die Bl¨ ocke zur Steuerung und Manipulation des Kontrollflusses werden wie reine Datenflussbl¨ ocke in den Programmzellen notiert und k¨ onnen dabei allein stehen oder auch mit einem Wert an ihrem Eingang versehen werden. Dabei gibt es unter anderen ¨ Aquivalente zu den BASIC Befehlen GOTO, GO-SUB/RETURN und ON x GOTO. Wobei bei den ersten Dreien der Sprung nur erfolgt, wenn kein Element am Eingang angebunden ist oder dort ein Wert ungleich Null anliegt. Die Ziele der Spr¨ unge werden in den Attributen der Bl¨ ocke vermerkt. Ausserdem existiert noch eine Pause, die den Controller f¨ ur die angegebene Zeit einfriert. Sehr interessant ist auch der Schleifenblock, der die aktuelle Programmzelle so lang wiederholt, bis an seinem Eingang ein Wert ungleich null anliegt. Leider werden diese Spr¨ unge im Kontrollfluss nicht explizit vermerkt.
4. Die Entwicklungsumgebung C-Control plus
Da wie schon erw¨ ahnt die C-Control Plus Entwicklungsumgebung die einzige ist, die verf¨ ugbar ist, wollen wir nur kurz auf diese eingehen. Die Bedienoberfl¨ ache gliedert sich in drei Teile. Im oberen Teil gibt es Men¨ us und Symbolleisten, mit denen zum Beispiel neue Bl¨ ocke eingef¨ ugt werden k¨ onnen, das Programm compiliert und simuliert werden kann, Haltepunkte eingef¨ ugt werden k¨ onnen und ¨ ahnliches. Auf der linken Seite ist der Kontrollfluss als Liste der Programmzellen des Programms dargestellt und im zentralen Teil kann die aktuell gew¨ ahlte Programmzelle bearbeitet werden.
5. DIE BESPIELANWENDUNG 8
Die Benutzung der Entwicklungsumgebung ist etwas umst¨ andlich, da vor allem die Attribute der meisten Bl¨ ocke nicht direkt angezeigt werden und erst umst¨ andlich ¨ uber das Kontextmen¨ u abgerufen werden m¨ ussen. Die Entwicklungsumgebung ist zwar syntaxgesteuert und pr¨ uft auch schon die Verbindungstypen beim Erstellen, allerdings pr¨ uft sie zum Beispiel bei den Sprungbl¨ ocken die Sprungziele nicht bei der Eingabe, so dass diese Fehler erst beim Kompilieren auffallen. Die Entwicklungsumgebung enth¨ alt außerdem noch einen Simulator f¨ ur die entwickelten Programme. Dieser kann alle Ein- und Ausg¨ ange sowie die Erweiterungsmodule darstellen. Daher kann man sich direkt die Zifferntastatur oder das LCD Display anzeigen lassen. Diese Simulation ist sehr gut in die Umgebung integriert. So werden im Einzelschrittmodus immer die aktuell bearbeitete Zelle dargestellt und es k¨ onnen die Werte der Speicherzellen beobachtet werden, leider geht das nicht f¨ ur Zwischenergebnisse. Ein weiterer Nachteil ist, dass die Simulation nicht die Berechnungsgeschwindigkeit des Mikrocontrollers ber¨ ucksichtigt, sondern die Berechnungen so schnell wie m¨ oglich ausf¨ uhrt, auf modernen PCs also um ein vielfaches schneller als auf dem Mikrocontroller.
5. Die Bespielanwendung
Bevor wir zu der Einordnung und Bewertung der Sprache kommen, wollen wir ein mit der Sprache programmiertes Beispiel genauer vorstellen. Als Beispiel-anwendung[4] haben wir einen simplen Taschenrechner implementiert, dessen Funktionsumfang und damit praktische Anwendbarkeit aber aufgrund der hardwarem¨ aßigen Beschr¨ ankungen der C-Control Mikrocontroller sehr gering ist. Zum einen ist das Problem, dass die Tastatur f¨ ur Simulationszwecke am Computer die einzige brauchbare Eingabequelle ist und sie außer den zehn Ziffern nur die Stern- (*) und Rautetaste (#) enth¨ alt, wodurch das W¨ ahlen der Rechenoperation durch die Sterntaste und das Ausf¨ uhren derselben durch die Rautetaste gemacht wird. Doch w¨ ahrend sich dieses Problem bei einem realen Aufbau durch das Zurverf¨ ugungstehen von digtalen Eingabeports noch beheben ließe, l¨ asst sich die Tatsache, dass es sich bei C-Control um 16-Bit Mikrocontroller handelt, die maximal 16-Bit Ganzzahloperationen durchf¨ uhren k¨ onnen, nicht auf praktische Weise l¨ osen, wodurch der Rechen- und Eingabebereich auf den Wertebereich von −32768 bis 32767 beschr¨ ankt ist.
Im Folgenden werden wir nun auf die einzelnen Programmzellen unseres Taschenrechners n¨ aher eingehen und deren Funktion erl¨ autern. Das Programm ist zun¨ achst einmal in vier Teile gegliedert, dem Vorspann, der Eingabeverarbeitung (grob betrachtet der Hauptroutine), der Berechnung und dem Operationswechsel.
Arbeit zitieren:
Jörg Schneider, Marian Grahl, 2003, Die visuelle Sprache C-Control plus, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Die Industrialisierung - Katalysator der Entstehung des Streiks ? Über...
Politik - Politische Theorie und Ideengeschichte
Seminararbeit, 20 Seiten
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Jörg Schneider hat den Text Die visuelle Sprache C-Control plus veröffentlicht
Jörg Schneider hat einen neuen Text hochgeladen
Sprachen lernen - Lernen durch Sprache
Andreas Grünewald, Andrea Ender, Raphael Berthele, Verena Hoberg, Heinrich Löffler, Ingo Wienke, Franziska Bitter Bättig, Albert Tanner
0 Kommentare