Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Festo Didactic
8058588 de
Programmieren von Microcontrollern
EasyKit
Getting started
Bestell-Nr.: 8058588
Stand: 10/2015
Autoren: Monika Bliesener, Reinhard Pittschellis
Grafik: Reinhard Pittschellis
Layout: 10/2015, Frank Ebel
© Festo Didactic SE, Rechbergstraße 3, 73770 Denkendorf, Deutschland, 2015
Alle Rechte vorbehalten.
+49 711 3467-0 www.festo-didactic.com
+49 711 34754-88500 [email protected]
Der Käufer erhält ein einfaches, nicht-ausschließliches, zeitlich unbeschränktes und geografisch nur auf die
Nutzung innerhalb des Standortes/Sitz des Käufers beschränktes Nutzungsrecht wie folgt.
• Der Käufer ist berechtigt, die Inhalte des Werkes zur Fortbildung seiner Mitarbeiterinnen und
Mitarbeiter, des Standortes zu nutzen und hierzu auch Teile der Inhalte zur Erstellung eigener
Fortbildungsunterlagen zur Fortbildung seiner Mitarbeiterinnen und Mitarbeiter des Standortes unter
Angabe der Quelle zu verwenden und für die Fortbildung am Standort zu kopieren. Bei
Schulen/Hochschulen und Ausbildungsstätten umfasst das Nutzungsrecht auch die Nutzung für deren
Schüler, Lehrgangsteilnehmer und Studenten des Standortes für den Unterricht.
• Ausgeschlossen ist in jedem Fall das Recht zur Veröffentlichung sowie zur Einstellung und Nutzung in
Intranet- und Internet- sowie LMS-Plattformen und Datenbanken wie z. B. Moodle, die den Zugriff einer
Vielzahl von Nutzern auch außerhalb des Standortes des Käufers ermöglichen.
• Weitere Rechte zu Weitergabe, Vervielfältigungen, Kopien, Bearbeitungen, Übersetzungen,
Mikroverfilmungen sowie die Übertragung, Einspeicherung und Verarbeitung in elektronischen
Systemen, unabhängig ob ganz oder in Teilen, bedürfen der vorherigen Zustimmung der Festo Didactic.
Hinweis
Soweit in diesem Arbeitsbuch nur von Lehrer, Schüler etc. die Rede ist, sind selbstverständlich auch
Lehrerinnen, Schülerinnen etc. gemeint. Die Verwendung nur einer Geschlechtsform soll keine
geschlechtsspezifische Benachteiligung sein, sondern dient nur der besseren Lesbarkeit und dem
besseren Verständnis der Formulierungen.
© Festo Didactic 8058588 3
Inhalt _Toc434852288 Allgemeine Voraussetzungen zum Betreiben der Geräte ___________________________________________ 5 Bestimmungsgemäße Verwendung ____________________________________________________________ 6 Arbeits- und Sicherheitshinweise ______________________________________________________________ 7
1 Das Microcontrollersystem EasyKit _____________________________________________________ 9 1.1 Was ist EasyKit? _____________________________________________________________________ 9 1.2 Auspacken des Systems _______________________________________________________________ 9 1.3 Beschreibung von EasyKit _____________________________________________________________ 9 1.4 Anschluss und Installation von von EasyKit ______________________________________________ 10 1.5 Ein- und Ausschalten ________________________________________________________________ 11
2 Bedienung von EasyLab______________________________________________________________ 12 2.1 Was ist EasyLab? ____________________________________________________________________ 12 2.2 Erste Schritte mit EasyLab ____________________________________________________________ 12 2.2.1 Erstellen eines einfachen Programms ___________________________________________________ 13 2.2.2 Starten des Programms ______________________________________________________________ 15
3 Variablen, Konstanten und Datentypen ________________________________________________ 17 3.1 Anlegen und Verwenden von Variablen _________________________________________________ 17 3.2 Konstanten ________________________________________________________________________ 17 3.3 Datentypen ________________________________________________________________________ 18 3.4 Typumwandlung ____________________________________________________________________ 18
4 Schrittketten _______________________________________________________________________ 19
5 Weitere Funktionen _________________________________________________________________ 21 5.1 Zoom _____________________________________________________________________________ 21 5.2 Anzeigen der Kantenwerte ____________________________________________________________ 21 5.3 Kommentare _______________________________________________________________________ 21 5.4 Sprache ___________________________________________________________________________ 21
6 Nutzung als EasyPort ________________________________________________________________ 22
7 Erste Hürden beim Handling von EasyLab ______________________________________________ 23 7.1 Ich habe begonnen eine Verbindung herzustellen, benötige sie jedoch nicht. __________________ 23 7.2 Wie lösche ich eine Verbindung zwischen zwei Komponenten? ______________________________ 23 7.3 Wie verschiebe ich eine Komponente? __________________________________________________ 23 7.4 Zwei Komponenten lassen sich auch beim wiederholten Versuch nicht miteinander verbinden? __ 23 7.5 Ein bestimmter Wert für eine Konstante lässt sich nicht in die jeweilige Komponente eintragen? __ 23
4 © Festo Didactic 8058588
8 Beispiele __________________________________________________________________________ 24 8.1 Beispiel 1: LED mit Joystick steuern ____________________________________________________ 24 8.2 Beispiel 1b: LED mit Joystick steuern ___________________________________________________ 25 8.3 Beispiel 2: Text und Grafik auf Display __________________________________________________ 26 8.4 Beispiel 3: Messen von Beschleunigungen ______________________________________________ 27 8.5 Beispiel 4: Schrittkette _______________________________________________________________ 30
Anhang 1: Belegung des Verbindungssteckers __________________________________________________ 33
Anhang 2: Belegung des D-Sub Steckers _______________________________________________________ 34
© Festo Didactic 8058588 5
Allgemeine Voraussetzungen zum Betreiben der Geräte
Der Labor- oder Unterrichtsraum muss mit den folgenden Einrichtungen ausgestattet sein:
• Es muss eine NOT-AUS-Einrichtung vorhanden sein.
– Innerhalb und mindestens ein NOT-AUS außerhalb des Labor- oder Unterrichtsraums.
• Der Labor- oder Unterrichtsraum ist gegen unbefugtes Einschalten der Betriebsspannung bzw. der
Druckluftversorgung zu sichern.
– z. B. Schlüsselschalter
– z. B. abschließbare Einschaltventile
• Der Labor- oder Unterrichtsraum muss durch Fehlerstromschutzeinrichtungen (RCD) geschützt werden.
– RCD-Schutzschalter mit Differenzstrom ≤ 30 mA, Typ B.
• Der Labor- oder Unterrichtsraum muss durch Überstromschutzeinrichtungen geschützt sein.
– Sicherungen oder Leitungsschutzschalter
• Der Labor- oder Unterrichtsraum muss durch einen Arbeitsverantwortlichen überwacht werden.
– Ein Arbeitsverantwortlicher ist eine Elektrofachkraft oder eine elektrotechnisch unterwiesene
Person mit Kenntnis von Sicherheitsanforderungen und Sicherheitsvorschriften mit aktenkundiger
Unterweisung.
• Es dürfen keine Geräte mit Schäden oder Mängeln verwendet werden.
– Schadhafte Geräte sind zu sperren und aus dem Labor- oder Unterrichtsraum zu entnehmen.
Allgemeine Anforderungen bezüglich des sicheren Betriebs der Geräte:
• Verlegen Sie Leitungen nicht über heiße Oberflächen.
– Heiße Oberflächen sind mit einem Warnsymbol entsprechend gekennzeichnet.
• Die zulässigen Strombelastungen von Leitungen und Geräten dürfen nicht überschritten werden. –
Vergleichen Sie stets die Strom-Werte von Gerät, Leitung und Sicherung.
– Benutzen Sie bei Nichtübereinstimmung eine separate vorgeschaltete Sicherung als
entsprechenden Überstromschutz.
• Geräte mit Erdungsanschluss sind stets zu erden.
– Sofern ein Erdanschluss (grün-gelbe Laborbuchse) vorhanden ist, so muss der Anschluss an
Schutzerde stets erfolgen. Die Schutzerde muss stets als erstes (vor der Spannung) kontaktiert
werden und darf nur als letztes (nach Trennung der Spannung) getrennt werden.
• Wenn in den Technischen Daten nicht anders angegeben, besitzt das Gerät keine integrierte Sicherung.
6 © Festo Didactic 8058588
Bestimmungsgemäße Verwendung
Das Microcontrollersystem EasyKit ist nur zu benutzen:
• für die bestimmungsgemäße Verwendung im Lehr- und Ausbildungsbetrieb
• in sicherheitstechnisch einwandfreiem Zustand
Das Microcontrollersystem EasyKit ist nach dem heutigen Stand der Technik und den anerkannten
sicherheitstechnischen Regeln gebaut. Dennoch können bei unsachgemäßer Verwendung Gefahren für Leib
und Leben des Benutzers oder Dritter und Beeinträchtigungen der Komponenten entstehen.
Das Lernsystem von Festo Didactic ist ausschließlich für die Aus- und Weiterbildung im Bereich
Automatisierung und Technik entwickelt und hergestellt. Das Ausbildungsunternehmen und/oder die
Ausbildenden hat/haben dafür Sorge zu tragen, dass die Auszubildenden die Sicherheitsvorkehrungen, die
in diesem Arbeitsbuch beschrieben sind, beachten.
Festo Didactic schließt hiermit jegliche Haftung für Schäden des Auszubildenden, des
Ausbildungsunternehmens und/oder sonstiger Dritter aus, die bei Gebrauch/Einsatz dieses Gerätes
außerhalb einer reinen Ausbildungssituation auftreten; es sei denn Festo Didactic hat solche Schäden
vorsätzlich oder grob fahrlässig verursacht.
© Festo Didactic 8058588 7
Arbeits- und Sicherheitshinweise
Allgemein
• Die Auszubildenden dürfen nur unter Aufsicht einer Ausbilderin/eines Ausbilders an den Schaltungen
arbeiten.
• Betreiben Sie elektrische Geräte (z. B. Netzgeräte, Verdichter, Hydraulikaggregate) nur in
Ausbildungsräumen, die mit einer Fehlerstromschutzeinrichtung (RCD) ausgestattet sind.
• Beachten Sie die Angaben der Datenblätter zu den einzelnen Komponenten, insbesondere auch alle
Hinweise zur Sicherheit!
• Störungen, die die Sicherheit beeinträchtigen können, dürfen beim Schulungsbetrieb nicht erzeugt
werden und sind umgehend zu beseitigen.
• Tragen Sie Ihre persönliche Schutzausrüstung (Schutzbrille, Sicherheitsschuhe), wenn Sie an den
Schaltungen arbeiten. Elektrik • Verwenden Sie nur Schutzkleinspannungen, maximal 24 V DC.
• Herstellen bzw. Abbauen von elektrischen Anschlüssen nur in spannungslosem Zustand!
• Verwenden Sie für die elektrischen Anschlüsse nur Verbindungsleitungen mit Sicherheitssteckern.
• Ziehen Sie beim Abbauen der Verbindungsleitungen nur an den Sicherheitssteckern, nicht an den
Leitungen.
Störungen, die die Sicherheit beeinträchtigen können, sind umgehend zu beseitigen!
8 © Festo Didactic 8058588
© Festo Didactic 8058588 9
1 Das Microcontrollersystem EasyKit
1.1 Was ist EasyKit?
Easykit ist ein modular ausgelegtes Microcontrollersystem für Ausbildungszwecke und einfache
Steuerungsaufgaben. Es ist kompakt, über einen Stecker modular erweiterbar und mit der
Programmieroberfläche EasyLab sehr einfach zu programmieren.
An Erweiterungsmodulen stehen derzeit eine Batterieplatine und ein I/O Modul zur Verfügung, weitere sind
in Vorbereitung. Als offenes System bietet EasyKit aber die Möglichkeit, eigene Erweiterungen zu entwickeln
und auch als Funktionsblock in EasyLab einzubinden.
1.2 Auspacken des Systems
Wenn Sie EasyKit auspacken, sollten Sie folgende Bestandteile finden:
• EasyKit Mikrocontroller inkl. Akkumulator und Gehäuse
• Micro-USB-Kabel
• Beiblatt
Die notwendige Programmiersoftware und diese Anleitung sowie weitere hilfreiche Unterlagen finden Sie
zum Download unter:
http://www.festo-didactic.com/de-de/service/software/easylab/easykit-mini.htm
1.3 Beschreibung von EasyKit
EasyKit besteht aus vier Komponenten:
1 Oberer Deckel
2 Microcontrollerplatine
3 Akkumulatorplatine
4 Unterer Deckel
5 EasyKit montiert
Abb. 1: Komponenten von Easykit
10 © Festo Didactic 8058588
1. Der obere Deckel ist speziell für die EasyKit Controller Platine angepasst und schützt den Controller
zuverlässig vor Beschädigungen. Es gibt ein Sichtfenster für das Display und eine Aussparung für den
Joystick. Das Gehäuse ist jedoch nicht staub- oder wasserdicht.
2. Die Microcontrollerplatine enthält:
– 32 bit Microcontroller STM32F101RBT6 mit 36 MHz Taktfrequenz, 128 kB Programmspeicher und
16 kB RAM Speicher
– ein monochromes Display mit 64 x 48 Pixel Auflösung
– einen dreiachsigen Beschleunigungssensor
– einen Temperatursensor
– einen Joystick
– eine USB Micro-B-Buchse zur Programmierung und zum Laden der Batterie über die
USB-Schnittstelle eines PC oder mit einem USB Ladegerät (Nicht im Lieferumfang enthalten)
– Erweiterungsstecker zum Anschluss der Batterieplatine oder anderer Erweiterungen
3. Die Batterieplatine enthält einen Lithium Polymer-Akkumulator mit 180 mAh Kapazität und 3,7 V
Nennspannung und die Ladeelektronik.
Achtung: Laden Sie den Akkumulator nur durch die in EasyKit integrierte Ladeelektronik, weil sonst
die Gefahr des Überhitzens besteht!
4. Der untere Deckel fixiert und schützt die Batterieplatine und kann auch genutzt werden, andere
Erweiterungsmodule aufzunehmen. Der Boden kann herausgebrochen werden, um mehrere Module zu
stapeln.
Neben der Microcontrollerplatine und der Batterieplatine gibt es andere Module, z. B. die EasyPort-Platine,
welche 6 Ein- und Ausgangskanäle bietet.
Die Platinen können samt Gehäuse durch vorsichtiges Ziehen voneinander getrennt und wieder
zusammengesteckt werden (siehe Abb. 1).
Die Platinen können auch aus den jeweiligen Gehäusen entfernt werden. Dabei ist jedoch darauf
achtzugeben, die empfindlichen Kunststoffzungen und vor allem die Platinen nicht zu beschädigen.
1.4 Anschluss und Installation von von EasyKit
a) Laden Sie EasyLab Mini www.Festo-Didactic.com und starten Sie die Installation.
b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie
müssen die Installation der Treiber zulassen, auch wenn Warnungen angezeigt werden.
c) Schließen Sie nun EasyKit mit einem USB-Kabel an einem USB-Port Ihres Rechners an.
Achtung: Vor Anschluss des EasyKit Mini am PC unbedingt vorher die Software installieren!
d) Starten Sie EasyLab. Erstellen Sie ein Programm (siehe diese Anleitung) oder öffnen Sie eines der
Beispielprogramme, die beim Start des Programms angezeigt werden.
e) Starten Sie das Programm im Simulations- oder Downloadmode.
f) Nach einigen Minuten sollte das Programm auf dem Mikrocontroller laufen. Im Debugmodus werden die
Kantenwerte in EasyLab angezeigt.
© Festo Didactic 8058588 11
Abb. 2: Anschluss EasyKit an PC (nicht maßstäblich)
1.5 Ein- und Ausschalten
EasyKit schaltet sich automatisch ein, wenn es an eine USB-Schnittstelle angeschlossen wird. Ist EasyKit mit
der Batterieplatine verbunden, kann es durch mittiges Drücken auf den Joystick eingeschaltet werden. Das
im Microcontroller gespeicherte Programm wird gestartet.
Drückt man den Joystick 3 Sekunden lang, erscheint kurz die Meldung OFF auf dem Display und EasyKit
schaltet sich ab.
12 © Festo Didactic 8058588
2 Bedienung von EasyLab
2.1 Was ist EasyLab?
EasyLab ist eine graphische, blockorientierte und einfach zu bedienende Programmierumgebung für
Microcontroller mit folgenden Eigenschaften:
• Programmierung durch Anordnen, Verbinden und Parametrieren von Funktionsbausteinen
• Programmierung in Datenflussdiagrammen und Schrittketten
• Generische Funktionsblöcke für grundlegende Funktionen wie UND, ODER, PLUS oder Filter sowie
hardwarebezogene Funktionsblöcke wie LED, Taster, Display
• Simulationsmodus: das Programm wird auf dem Programmier-PC simuliert und kann so auf logische
Fehler etc. überprüft werden, ohne dass die Zielhardware verfügbar ist.
• Live Debugging: Das Programm wird kompiliert, auf EasyKit übertragen und ausgeführt, alle Variablen-
und Kantenwerte werden aber in EasyLab auf dem Bildschirm angezeigt (ideal zur Fehlersuche).
• Stand-Alone-Modus: Das Programm wird kompiliert, auf EasyKit übertragen und ausgeführt. Das
Programm startet immer, wenn EasKit mit der Versorgungspannung (Batterie oder USB-Kabel)
verbunden oder eingeschaltet wird.
2.2 Erste Schritte mit EasyLab
Wenn Sie EasyLab Mini starten, erscheint der folgende Startbildschirm:
1 Arbeitsfläche zur der Erstellung der
Programme
2 Programmbausteine für die
Unterprogramme (Funktions-bibliothek)
3 Hinzufügen neuer Hardware (geschieht
normalerweise automatisch)
4 Kontrolltasten zur Ablaufsteuerung
5 Reiter zum Umschalten zwischen Haupt-
und Unterprogrammen
Abb. 3: Startbildschirm von EasyLab
EasyLab hält sich bei der Bedienung weitestgehend an den Windows-Standard, d. h. die üblichen
Funktionen wie Speichern, Drucken usw. findet man in der Symbolleiste oben im Programmfenster. In der
Steuerleiste werden dagegen die programmierspezifischen Funktionen von EasyLab gesteuert.
© Festo Didactic 8058588 13
2.2.1 Erstellen eines einfachen Programms
Auf der rechten Seite im Fenster Funktionsblöcke (Bereich 2 in Abb. 3) finden sich alle Bausteine, aus denen
man ein Programm zusammensetzen kann. Diese Liste ist unterteilt in allgemeine Funktionsblöcke und
spezifische Blöcke für EasyKit Mini. Durch Anklicken der Symbole und können die Unterordner mit den
Funktionen geöffnet oder geschlossen werden.
In den Ordnern LEDs und Joystick befinden sich Funktionsblöcke, die durch Anklicken und Ziehen auf die
Programmieroberfläche (Bereich 1) geholt werden können. Auf dem Bildschirm sehen diese Funktionsblöcke
so aus:
Die Funktionsblöcke haben an der linken bzw. rechten Seite hellblaue Quadrate. Dies sind die Anschlüsse
der Funktionsblöcke (Konnektoren). Die Funktionsblöcke liefern bzw. empfangen Daten.
Anschluss auf der rechten Seite: Datenausgang
Anschluss auf der linken Seite: Dateneingang
Durch Anklicken des Ausgangs an einem Funktionsblocks und Ziehen auf den Eingang des anderen
Funktionsblockes werden beide Funktionsblöcke verbunden:
Der Funktionsblock Joystick liefert einen binären Wert. Wenn der Joystick gedrückt wird, ist der Wert TRUE,
ansonsten FALSE. Erhält der Funktionsblock LED den Eingangswert TRUE, wird die LED eingeschaltet,
ansonsten ist sie ausgeschaltet.
14 © Festo Didactic 8058588
Abb. 4: Datenflussdiagramm mit Funktionsblöcken in EasyLab
In Abb. 4 ist ein Datenflussdiagramm dargestellt, dass neben Funktionsblöcken mit einem Ein-(1) oder
Ausgang (2) auch einen Funktionsblock mit Ein- und Ausgang enthält (3).
Klickt man die in Abb. 4 markierte Fläche (4), kann man den Funktionsblock verschieben. Die bereits
erstellten Kanten (Verbindungslinien) werden automatische angepasst.
Doppelklickt man den Funktionsblock (1), öffnet sich
das Eigenschaftsmenue (Abb. 5). Hier kann man z.B.
den Text eingeben, welcher auf dem Display des
EasyKit angezeigt werden soll (2), oder die Anzahl der
Eingangsvariablen (3).
Besonders wichtig ist auch der Hilfe-Button, der
detaillierte Informationen zur Funktion, den
Parametern und das Verhalten des Funktionsblocks
liefert.
Abb. 5: Eigenschaftsmenue des Funktionsblocks "Text Schreiber"
Im Reiter „Fortgeschritten“ findet man Informationen über die intern und extern verwendeten Datentypen.
Rechte-Maus-Klick auf einen Funktionsblock öffnet ein Pull-Down-Menue, welches verschiedene
Möglichkeiten anbietet, z.B. den Namen des Funktionsblocks einzublenden.
© Festo Didactic 8058588 15
2.2.2 Starten des Programms
EasyLab kann ein erstelltes Programm simulieren (das geht auch ohne angeschlossenes EasyKit) oder
kompilieren, d. h. in die Maschinensprache des Mikrocontrollers übersetzen und auf den Mikrocontroller
übertragen, der das Programm dann ausführt. Dies wird über die Steuerleiste (4 in Abb. 6) ausgewählt.
Abb. 6: Steuerleiste zur Ablaufsteuerung
Die Schalter haben folgende Funktion:
a) Umschalten auf Simulationsmodus
b) Umschalten auf Codeerzeugungsmodus
c) Start Simulation bzw. Kompilieren
d) Einfrieren der Programmausführung
e) Stop der Programmausführung
f) Zoom
g) Anzeigen der Werte der Funktionsblock-Anschlüsse
h) Anzeigen der Beschreibung der Funktionsblock-Anschlüsse
i) Umschalter für Anfänger- und Expertenmodus
Simulation
Um das Programm in der Simulation zu testen, muss der Umschalter (a) der Steuerleiste auf
Simulationsmodus stehen. Durch Anklicken der grünen Pfeiltaste (c) in der Steuerleiste wird die Simulation
des Programms gestartet.
Simulation bedeutet, dass das Programm nicht auf den Mikrocontroller des EasyBoard übertragen wird,
sondern nur auf dem PC nachgebildet wird. Daher gibt es natürlich auch keine Eingangswerte, da ja keinerlei
Hardware wie Tasten oder LED angeschlossen sind. Die Eingabewerte müssen manuell nachgebildet
werden.
Codeerzeugung
Um das Programm auf den Mikrocontroller zu übertragen, muss am Umschalter (b) in der Steuerleiste auf
den Codeerzeugungsmodus umgeschaltet werden und wieder die Start-Taste (c) gedrückt werden. Das in
EasyLab erstellte Programm wird nun zuerst in C übersetzt und dann in Maschinensprache umgesetzt (man
sagt „kompiliert“) und schließlich über das USB-Kabel auf den Mikrocontroller übertragen. Dies wird durch
ein Dialogfenster angezeigt.
16 © Festo Didactic 8058588
© Festo Didactic 8058588 17
3 Variablen, Konstanten und Datentypen
3.1 Anlegen und Verwenden von Variablen
Variablen speichern Daten. Damit können diese Daten an
anderen Stellen des Programms verwendet werden.
Variablen werden definiert, indem im Fenster Funktionsblöcke
mit der rechten Maustaste auf die Zeile Variable geklickt wird.
Es erscheint ein Pull-Down-Menu, in dem auf „Hinzufügen“
geklickt wird. Im dann erscheinenden Dialogfenster wird der
Name der Variablen eingegeben.
Die neue Variable erscheint im Fenster Funktionsblöcke, und
zwar als Leser- und Schreiber-Block. Diese Funktionsblöcke
dienen dazu, entweder etwas in die Variable hineinzuschreiben
(Write) oder den Inhalt herauszulesen (Read). Die Anschlüsse
sind dementsprechend einmal auf der linken oder auf der
rechten Seite der Funktionsblöcke.
Die entsprechenden Funktionsblöcke werden wie gewohnt auf
die Programmfläche gezogen.
Abb. 7: Anlegen von Variablen
Beachte
In einem Flussdiagramm kann der Funktionsblock Variable Schreiber nur einmal, der
Funktionsblock Variable Leser mehrfach verwendet werden. Damit wird sichergestellt, dass der
Inhalt der Variable nur an einer Stelle geschrieben werden kann.
3.2 Konstanten
Konstanten können ähnlich wie Variablen Daten speichern, nur sind diese während des Programmablaufes
unveränderlich. Der entsprechende Funktionsblock ist im Ordner Allgemein des Fensters Funktionsblöcke
aufgelistet.
18 © Festo Didactic 8058588
3.3 Datentypen
EasyLab kennt die üblichen Datentypen wie z. B.:
• Bool (logische Werte, ja oder nein, 0 oder 1, TRUE oder FALSE)
• uint8 (ganze Zahlen von 0 bis 256)
• int8 (ganze Zahlen von -128 bis + 127)
• float (Gleitkommazahl)
• double (doppelt genaue Gleitkommazahl)
Alle Funktionsblöcke arbeiten mit unterschiedlichen Datentypen. Beispielsweise erwarten die logischen
Verknüpfungen (Und, Oder, Nicht) einen Eingangswert des Typs Bool und liefern auch einen solchen als
Ausgabewert. Mathematische Funktionsblöcke erwarten und liefern jedoch Zahlenwerte. Diese können
jedoch von int bis double reichen.
Normalerweise müssen Sie sich als Programmierer über die Datentypen keine Gedanken machen, weil
EasyLab so weit als möglich die Datentypen automatisch einstellt.
Beispiel: Wird ein mathematischer Funktionsblock mit einem Funktionsblock verbunden, welcher einen Wert
des Typs Double liefert, wird der mathematische Funktionswert automatisch auf Double umgestellt.
3.4 Typumwandlung
Manchmal kann es erforderlich sein, Daten von einem Typ in den anderen umzuwandeln. Liefert z. B. ein
Baustein einen Datentyp, den der nachfolgende Baustein nicht verarbeiten kann, lassen sich die
entsprechenden Konnektoren nicht verbinden. Dann muss der Datentyp erst gewandelt werden. Dazu dient
der Baustein Typumwandlung:
Dieser Baustein wandelt einen Eingangswert in den Datentyp um, den der am Ausgang angeschlossene
Baustein benötigt.
© Festo Didactic 8058588 19
4 Schrittketten
Neben den kontinuierlich laufenden Prozessen gibt es auch Abläufe, die einen schrittweisen Charakter
haben. Solche Abläufe werden in der Technik als Schrittkette bezeichnet.
EasyLab macht die Programmierung von Schrittketten sehr einfach. Dies geschieht durch Umschalten auf
den Reiter Hauptprogramm. Das Hauptprogramm besteht aus Zuständen oder Schritten, die durch
Weiterschaltbedingungen oder Transitionen getrennt sind.
In Abb. 8 ist ein Hauptprogramm mit drei Schritten abgebildet. Die Schrittkette beginnt mit einem
Startschritt Init (1), der keine weitere Funktion hat. Den Schritten Step1 bis Step3 sind jeweils
Unterprogramme zugeordnet, welche selbst Datenflussprogramme sind. Ein Schritt ist aktiv, bis die
Weiterschaltbedingung erfüllt ist. Diese kann entweder direkt TRUE oder FALSE sein (wie beim Übergang
von Init zu Step1) und damit immer erfüllt oder nicht erfüllt sein.
Oder die Weiterschaltbedingung wird mit Hilfe von Variablen definiert wie beim Übergang von Step1 zu
Step2. Dieser Übergang findet statt, wenn die Variable „Warten1“ den Wert TRUE annimmt. Dieser Wert wird
der Variable im Unterprogramm Step1 zugewiesen.
Werden Variablen verwendet, die nicht den Datentyp Bool haben, muss eine Weiterschaltbedingung
formuliert werden, also z.B. Variablenwert = 10.
1 Startschritt
2 Zustand oder Programmschritt
3 Weiterschaltbedingung
4 Einfügen Schritte
5 Variablenliste
6 Reiter des Hauptprogramms
Abb. 8: Startbildschirm von EasyLab
20 © Festo Didactic 8058588
Den Schritten werden Unterprogramme zugewiesen, indem die Unterprogrammliste innerhalb des Schrittes
angeklickt und das gewünschte Unterprogramm ausgewählt wird (vgl. Abb. 9).
Abb. 9: Zuweisen eines Unterprogramms zu einem Schritt Abb. 10: Verzweigung im Hauptprogramm
Neue Schritte können in die Schrittkette eingefügt werden, indem man einen Schritt anklickt und dann in der
Auswahlliste einen neuen Schritt auswählt.
Will man eine Verzweigung einfügen, muss man vorher eine Weiterschaltbedingung anklicken und dann die
Verzweigung nach links oder rechts auf dem linken Rand anklicken. In gleicher Weise kann man nach einer
Weiterschaltbedingung auch einen weiteren Schritt einfügen (vgl. Abb. 10).
© Festo Didactic 8058588 21
5 Weitere Funktionen
5.1 Zoom
Die Arbeitsfläche kann auf zwei Wegen gezoomt werden:
• Durch Drehen des Mausrades
• Durch Anklicken des Zoomsymbols und anschließendem Klicken auf die Arbeitsfläche (f in Abb. 6).
– Rechtsklick verkleinert
– Linksklick vergrößert.
Der Inhalt der Programmierfläche kann über die unteren und linken Scrollbars verschoben werden.
5.2 Anzeigen der Kantenwerte
Abb. 12: Anzeige der Kantenwerte; a.) ohne b.) Wert c.) Beschreibung
EasyLab kann die Kantenwerte (also die Werte der Informationen, die ein Funktionsblock liefert oder
empfängt) darstellen. Dies wird umgeschaltet durch die Schaltflächen g und h in der Steuerleiste (Abb. 6).
Dabei kann man wählen, ob:
• Nichts dargestellt wird, nur die Kante (führt zu übersichtlichen Datenflussdiagrammen).
• Der aktuelle Wert angezeigt wird (also z.B. TRUE oder FALSE).
• Die Bezeichnung des Ein- oder Ausgangs dargestellt wird.
5.3 Kommentare
Kommentare können überall auf der Programmierfläche durch Doppelklick eingefügt werden.
5.4 Sprache
EasyLab kann zur Laufzeit im Menue Extras Sprache zwischen Deutsch und Englisch umgeschaltet
werden.
22 © Festo Didactic 8058588
6 Nutzung als EasyPort
EasyKit kann mit einer Zusatzplatine zum EasyPort erweitert werden, die
anstelle der Batterieplatine gesteckt wird (vgl. Abb. links).
EasyPort stellt 6 Ein- und 6 Ausgangskanäle zur Verfügung, die zwischen
Digital- und Analogfunktion einzeln umgeschaltet werden können.
6 digitale Ein- und Ausgangskanäle mit
• 24 V, 0,4 A Ausgang
• 0…5V: logisch 0 / 5…24 V: logisch 1
Oder alternativ 6 analoge Ein- und Ausgangskanäle mit:
• 0…10 V mit 10 bit Auflösung, max. Ausgangsstrom 5 mA
In EasyLab können die Kanäle über die Funktionsblöcke im Komponenten-Ordner „EasyPort Mini“
angesprochen werden.
Es ist auch möglich, EasyKit wie einen EasyPort und als Interface für FluidSIM® zu nutzen. Dazu beim Start
von EasyLab das Beispielprogramm EasyPort Mini auswählen und dieses im Stand Alone-Modus in EasyKit
laden.
© Festo Didactic 8058588 23
7 Erste Hürden beim Handling von EasyLab
Von Roland Frank, Seminar Stuttgart
7.1 Ich habe begonnen eine Verbindung herzustellen, benötige sie jedoch nicht.
– Durch Drücken der Taste <ESC> lässt sich der Vorgang abbrechen.
7.2 Wie lösche ich eine Verbindung zwischen zwei Komponenten?
– Mauszeiger auf Verbindung stellen, dann Klick auf linke Maustaste.
– Man erkennt an der Änderung der Farbe (orange), dass die Leitung ausgewählt ist. Nach Klick auf die
rechte Maustaste erscheint das Kontextmenü „Löschen“.
7.3 Wie verschiebe ich eine Komponente?
– Mauszeiger (Pfeil) zum oberen Rand der Komponente führen. Der Mauszeiger wird zur Hand. Nun kann
man während die linke Maustaste gedrückt wird, die Komponente verschieben.
7.4 Zwei Komponenten lassen sich auch beim wiederholten Versuch nicht miteinander verbinden?
– EasyLab stellt ein grafisches Programmiersystem zur Verfügung. Es verzichtet völlig auf einen
zeichengebundenen Befehlssatz und damit auf das Erlernen einer bestimmten Syntax. Lässt sich eine
Verbindung nicht realisieren, so würde sie gegen immanente Regeln des Systems verstoßen.
7.5 Ein bestimmter Wert für eine Konstante lässt sich nicht in die jeweilige Komponente eintragen?
– Wie bei Programmiersprachen üblich, müssen Werte an Variablen übergeben werden. Diese müssen in
der Lage sein, den zugewiesenen Wert im Rechner abzubilden (also z. B. ganze Zahlen oder
Dezimalzahlen). Dafür gibt es verschiedene Variablentypen (z. B. Typ „Integer“ für ganze Zahlen oder
„Float“ für Dezimalzahlen).
– Innerhalb einer Verarbeitungskette müssen diese Variablentypen gleich sein. Das System findet meist
automatisch den passenden Typ. In seltenen Fällen muss der Anwender eingreifen und den Variablentyp
verändern.
– Dazu müssen zuerst die Verbindungen zu anderen Komponenten entfernt werden.
24 © Festo Didactic 8058588
8 Beispiele
8.1 Beispiel 1: LED mit Joystick steuern
Aufgabe
Die grüne LED soll leuchten, wenn der Joystick nach links gedrückt wird, die rote LED soll leuchten,
wenn der Joystick nach rechts gedrückt wird.
Beispielprogramm
Erläuterungen
Für jede Joystickbewegung gibt es einen Funktionsblock, der diese Joystickstellung abfragt. Für diese
Aufgabe benötigen wir den Block für Joystick links bzw. rechts. Diese Blöcke liefern jeweils den booleschen
Wert TRUE oder FALSE, je nachdem, ob der Joystick betätigt wird oder nicht (Der Ausgang ist nur so lange
TRUE solange der Joystick in der Stellung links bzw. rechts bleibt.).
Die Funktionsblöcke LED lassen die LED leuchten, wenn der Eingangswert den booleschen Wert TRUE
annimmt.
© Festo Didactic 8058588 25
8.2 Beispiel 1b: LED mit Joystick steuern
Aufgabe
Die grüne LED soll leuchten, wenn der Joystick nach links gedrückt wird, die rote LED soll leuchten,
wenn der Joystick nach rechts gedrückt wird. Wird der Joystick mittig gedrückt (Select), sollen beide
LED leuchten.
Beispielprogramm
Erläuterung
Das Programm entspricht im Prinzip dem aus Beispiel 1. Zusätzlich gibt es noch einen Funktionsblock, der
die Mittelstellung des Joysticks abfragt. Die LED sollen nun leuchten, wenn entweder der Joystick nach
rechts oder mittig gedrückt wird. Daher werden die jeweils beiden möglichen Kanten (Verbindungslinien
zwischen den Blöcken) über einen Oder-Block mit der LED verbunden.
26 © Festo Didactic 8058588
8.3 Beispiel 2: Text und Grafik auf Display
Aufgabe
Auf dem Display soll ein Kreis mit dem Schriftzug „Hello“ angezeigt werden. Wenn der Joystick
mittig gedrückt wird (Select), soll die Anzeige ausgeblendet werden.
Beispielprogramm
Erläuterung
Um etwas auf dem Display anzuzeigen, muss der Funktionsblock OLED-Display auf der
Programmieroberfläche plaziert werden. Dieser Funktionsblock hat einen Eingang (Enable). Dieser ist dem
Funktionsblock Joystick verbunden. Immer, wenn der Joystick betätigt wird, liefert der Funktionsblock den
Wert TRUE, wodurch das Display eingeschaltet wird. Durch den Funktionsblock Negation wird erreicht, dass
die Anzeige verschwindet, wenn der Joystick betätigt wird.
Im Simulationsmodus zeigt der Funktionsblock OLED-Display an, was das Display anzeigen würde. Im
Debugging-Modus wird der Inhalt nur auf dem Display von EasyKit angezeigt, um die zu übertragende
Datenmenge zu reduzieren.
Um einen Kreis zu zeichnen, wird der Baustein Kreiszeichner benötigt. Als Parameter muss die Position des
Kreises (also x- und y-Koordinate) festgelegt werden. Hier wird x=32 und y =24 gewählt, weil das der halben
Anzahl Pixel des Display entspricht und dadurch der Kreis mittig auf dem Display angezeigt wird. Der Radius
wird mit 20 pixel angegeben.
© Festo Didactic 8058588 27
Im Beispiel werden mehrere Funktionsblöcke Konstante genutzt, um die Parameter vorzugeben. Die
Parameter können natürlich auch das Ergebnis einer Berechnung sein. Und man kann die Parameter auch
direkt im Eigenschaftsmenue des Funktionsblockes eintragen (dazu den Funktionsblock doppelklicken).
Der Funktionsblock Text Schreiber zeigt den Text an. Der anzuzeigende Text wird direkt im
Eigenschaftsmenue eingetragen.
8.4 Beispiel 3: Messen von Beschleunigungen
Aufgabe
Es soll die Beschleunigung, die auf EasyKit einwirkt, gemessen werden. Der maximal erreichte Wert
soll auf dem Display angezeigt werden.
Die Beschleunigungen können mit dem Funktionsblock Beschleunigungssensor gemessen werden. Davon
gibt es drei, jeweils für jede Achse einen. Als Ausgangswert liefert dieser entweder die Beschleunigung als
Mehrfaches der Erdbeschleunigung (also in g, ein g entspricht 9,81 m/s2) oder die Rohdaten als 16 bit
integer-Wert. Das Vorzeichen gibt die Richtung an.
Das Flussdiagramm zeigt, wie aus dem Beschleunigungswert das Maximum errechnet wird. Zunächst muss
für jede Raumrichtung eine Variable definiert werden, die den Maximalwert speichert, im Beispiel ax (für die
anderen Raumrichtungen entsprechend ay und az). Aus dem Ausgabewert wird durch den Funktionsblock
Absolutwert (abs) das Vorzeichen entfernt. Der Funktionsblock Maximum vergleicht den aktuellen Wert mit
dem in der Variable gespeicherten und weist dann der Variable den jeweils höheren Wert zu. Dadurch wird
in ax immer der höchste erreichte Beschleunigungswert gespeichert. Dieser Datenfluss wird für jede Achse
benötigt.
Man beachte die unterschiedliche Nutzung der Funktionsblöcke Variable Schreiber und Leser. Während der
Block Lesen mehrmals benutzt werden kann, darf der Schreiber nur einmal im Datenfluss benutzt werden,
da ansonsten nicht klar wäre, welche Wert Gültigkeit hat.
28 © Festo Didactic 8058588
Um den Wert anzuzeigen, werden die Werte der Variablen als Anzeigewerte im Funktionsblock Text
Schreiber benutzt. Das Eingabefenster zeigt den Text als „ax = %D“ usw. „ax =“ ist einfach Text, wogegen
%D als Variable (Datentyp integer) interpretiert wird. Der Funktionsblock hat drei Eingabewerte (siehe
Anzahl der Werte), die nacheinander dargestellt werden. Das zweite %D zeigt also den zweiten Eingabewert
(also ay) an. Das Display würde dann z. B. folgendes anzeigen:
Da der Funktionsblock nur Integerwerte anzeigen kann, werden die Eingangswerte des Datentyps float
automatisch in integer umgewandelt, wodurch die Nachkommastellen verloren gehen.
© Festo Didactic 8058588 29
Gesamtes Beispielprogramm
30 © Festo Didactic 8058588
8.5 Beispiel 4: Schrittkette
Aufgabe
Das Programm soll den Benutzer auffordern, den Joystick zu drücken, um weiterzukommen. Danach
soll der Benutzer aufgefordert werden, 10-mal den Joystick zu betätigen. Die Anzahl der Klicks soll
gezählt und angezeigt werden. Sind 10 Klicks erreicht, soll das Programm von vorn beginnen.
Erläuterung: Diese Aufgabe wird am besten als Schrittkette programmiert. Im Schritt 1 wird auf den
Tastendruck gewartet und die Aufforderung auf dem Display angezeigt: Die folgende Abb. zeigt das
Datenflussdiagramm mit geöffnetem Eigenschaftsdialog des Text Schreiber-Funktionsblocks:
Im Schritt 2 wird dann die zweite Nachricht angezeigt und gezählt, wie oft der Joystick betätigt wird. Man
beachte den Funktionsblock Flankenerkennung, eingefügt zwischen Joystick und Typumwandlung, der dafür
sorgt, dass nur weitergezählt wird, wenn der Joystick jeweils gedrückt und dann wieder losgelassen wird!
Das wird auch als Entprellen bezeichnet. Der Funktionsblock Typumwandlung macht aus dem booleschen
Wert einen Zahlenwert, der zur Variable „Counter“ hinzuaddiert wird.
© Festo Didactic 8058588 31
Verknüpft werden die beiden Schritte durch das Hauptprogramm:
Das Hauptprogramm besteht aus einer Schrittkette.
Eine Schrittkette besteht aus Zuständen (das sind die
Blöcke links im Bild) und Übergangsbedingungen (das
sind die kleinen Querstriche mit den Bezeichnungen
„Button“ oder „Counter==10“).
Die Übergangsbedingungen werden durch Variable
definiert, die in den jeweiligen Unterprogrammen mit
Werten beschrieben werden. Es können sein:
• Boolesche Variable (Button)
• Zahlenwerte (Counter)
Eine boolesche Variable kann allein stehen, die
anderen Variablen benötigen eine Bedingung (hier
„Counter==10“), um damit die Übergangs-bedingung
zu formulieren.
Die Variable „Button“ wird im Unterprogramm Step1 definiert, die Variable „Counter“ im Unterprogramm
Step2. Die Unterprogramme sind jeweils einem Zustand zugeordnet, d.h. solange ein Schritt aktiv ist, wird
das Unterprogramm ausgeführt.
32 © Festo Didactic 8058588
Das Unterprogramm Step1 (und damit der Zustand Step1) wird nun solange ausgeführt, bis die Variable
„button“ den Wert TRUE annimmt. Dies geschieht, wenn der Joystick betätigt wird.
Das Unterprogramm Step2 (und der Zustand Step2) wird solange ausgeführt, bis die Variable „Counter“ den
Wert 10 annimmt, d.h. der Joystick 10 mal nach unten gedrückt wurde.
Danach springt die Kette wieder zum Anfang. Da die Übergangbedingung zwischen dem Zustand Init und
Step1 immer TRUE ist, springt die Schrittkette sofort zu Step1. Wäre die Übergangsbedingung dagegen
FALSE, würde die Schrittkette dagegen im Zustand Init „hängenbleiben“.
© Festo Didactic 8058588 33
Anhang 1: Belegung des Verbindungssteckers
Stecker-Pin Signal Port-Pin JTAG Peripherie Remap
– SELECT PC0 – –
– UP PC1 – –
DOWN PA12
RIGHT PA11
– LEFT PA12
1 A/D-IN0 PA0 ADC_IN0, TIM2_CH1
2 A/D-IN1 PA1 ADC_IN1, TIM2_CH2
3 A/D-IN2 PA2 ADC_IN2, TIM2_CH3, USART2_TX
4 A/D-IN3 PA3 ADC_IN3, TIM2_CH4, USART2_RX
5 A/D-IN4 PB0 ADC_IN8, TIM3_CH3
6 A/D-IN5 PB1 ADC_IN9, TIM3_CH4
7 PWM0 PC6 TIM3_CH1
8 PWM1 PC7 TIM3_CH2
9 PWM2 PB6 I2C1_SCL, TIM4_CH1
10 PWM3 PB7 I2C1_SDA, TIM4_CH2
11 PWM4 PB8 TIM4_CH3
12 PWM5 PB9 TIM4_CH4
13 CS PC5 ADC_IN15
14 SPI_SCK PA5 ADC_IN5, SPI1_SCK
15 SPI_MISO PA6 ADC_IN6, SPI1_MISO, TIM3_CH1
16 SPI_MOSI PA7 ADC_IN7, SPI1_MOSI, TIM3_CH1
17 DOUT0 PB3 JTDO
18 DOUT1 PB4 JNTRST
19 DOUT2 PB5 TIM3_CH2, SPI1_MOSI
20 DOUT3 PA13 JTMS – –
21 DOUT4 PA14 JTCK –
22 DOUT5 PA15 JTDI TIM2_CH1
23 VDD –
24 USB_VBUS –
25 GND –
26 VTRIG –
27 STAT2 PB10 – I2C2_SCL, USART3_TX TIM2_CH3
28 STAT1 PB11 – I2C2_SDA, USART3_RX TIM2_CH34
29 NRST
30 PWRON (PC3) ADC_IN13
34 © Festo Didactic 8058588
Anhang 2: Belegung des D-Sub Steckers
Pin Funktion
1 Input 0
2 Output 0
3 Input 1
4 Output 1
5 Input 2
6 Output 2
7 Input 3
8 Output 3
9 Input 4
10 Output 4
11 Input 5
12 Output 5
13 24 V
14 0 V
15 0 V
Festo Didactic SE
Rechbergstraße 3
73770 Denkendorf
Deutschland
+49 711 3467-0 www.festo-didactic.com
+49 711 34754-88500 [email protected]