Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine...

36
Festo Didactic 8058588 de Programmieren von Microcontrollern EasyKit Getting started

Transcript of Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine...

Page 1: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

Festo Didactic

8058588 de

Programmieren von Microcontrollern

EasyKit

Getting started

Page 2: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 3: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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

Page 4: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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

Page 5: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 6: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 7: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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!

Page 8: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

8 © Festo Didactic 8058588

Page 9: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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

Page 10: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 11: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 12: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 13: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 14: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 15: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 16: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

16 © Festo Didactic 8058588

Page 17: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 18: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 19: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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

Page 20: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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).

Page 21: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 22: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 23: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 24: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 25: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 26: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 27: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 28: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 29: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© Festo Didactic 8058588 29

Gesamtes Beispielprogramm

Page 30: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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.

Page 31: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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.

Page 32: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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“.

Page 33: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

© 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

Page 34: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

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

Page 35: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die
Page 36: Programmieren von Microcontrollern - festo-didactic.com · b) Starten Sie Installationsroutine EasyLab-Mini-x.x.x-xxxxxxxx.exe und folgen Sie den Anweisungen. Sie Sie müssen die

Festo Didactic SE

Rechbergstraße 3

73770 Denkendorf

Deutschland

+49 711 3467-0 www.festo-didactic.com

+49 711 34754-88500 [email protected]