Wieso RoboPro eine tolle Entwicklungsumgebung ist (Teil 1: Kommandos, Strukturelemente).

Die grafische Entwicklungsumgebung RoboPro, mit der alle fischertechnik-Controller programmiert werden können, hat eine sehr lange Geschichte. Sie ist hervorgegangen aus „Lucky Logic for Windows“ (LLWin), mit der schon in den 90er Jahren fischertechnik-Interfaces gesteuert werden konnten. Eine RoboPro-Lizenz liegt dem fischertechnik-Kasten ‚Robotics TXT Discovery Set‚ bei, kann aber auch separat erworben werden (UVP: 30 €). Wer RoboPro zunächst einmal testen möchte, kann sich von der fischertechnik-Homepage eine kostenlose Demo-Version herunterladen.

In RoboPro werden Programme wie ein grafischer Programmablaufplan aus Kommandos und Verzweigungen zusammengesetzt. Durch Unterprogramme, die als neue Kommandos in den Programmablauf eingefügt werden, kann man die Programme strukturieren. Das fertige Programm kann entweder auf dem PC gestartet werden und steuert dann via USB-Schnittstelle den Controller (Online-Mode), oder aber mit einem Klick übersetzt und auf den TX- btw. TXT-Controller übertragen werden. Dort läuft es dann direkt auf dem ARM-Prozessor des Controllers.

Tatsächlich kann RoboPro einiges mehr – und einige dieser versteckten Qualitäten sollen hier in loser Folge vorgestellt werden.

Den Anfang macht eine Übersicht der Kommandos und Strukturelemente von RoboPro, die die Mächtigkeit der Programmiersprache zeigt – sie muss sich vor keiner „großen“ Sprache verstecken:

  • Programmablauf:
    • Verzweigungen (Wert eines Schleifenzählers, Vergleich einer Variablen mit einem Zahlenwert, Vergleich zweier Variablenwerte, Auswerten eines Befehls)
    • Unterprogramme
    • Warten (Pause in Sekunden, Minunten, Stunden)
  • Variablen:
    • Vorzeichenbehaftete Ganzzahlen (16 bit)
    • Fließkommazahlen (48 bit)
    • Listenvariable („Array“ aus Ganzzahlen oder Fließkommawerten)
  • Eingänge (acht analog/digital, vier Zähler, Bedienfeld):
    • Auslesen eines digitalen Signals (Taster, Fototransistor, Reed-Kontakt, Spur-/IR-Sensor, Ultraschall-Abstandssensor)
    • Auslesen eines analogen Signals (Farbsensor, Fotowiderstand, Wärmesensor)
    • Auslesen (und Rücksetzen) eines Zählereingangs
    • Schieberegler auf Bedienfeld (Controller/PC)
    • Schaltknopf auf Bedienfeld (Controller/PC)
  • Ausgänge (vier Motor- oder acht Schaltausgänge):
    • Motor (Drehrichtung, Geschwindigkeit 1..8 oder 1..512)
    • Lampe, Magnetventil, Elektromagnet, Summer (Stärke 1..8 oder 1..512)
    • Formatierte Textausgabe auf Display (Controller/PC)
    • Graphische Werteanzeige auf Display (nur PC)
  • Kommunikation:
    • Senden/Empfangen eines Befehls über Bluetooth
    • Senden/Empfangen eines Befehls über I²C (Sensorbus, Anschluss an EXT2)
  • Funktionen und Operatoren:
    • Vergleichsoperationen (<, >, =, <>, <=, >=)
    • Logische Operationen (and, or, not)
    • Mathematische Funktionen (+, -, *, /, abs, exp, ln, sqrt, exp10, log10)
    • Trigonometrische Funktionen (sin, cos, tan, arcsin, arccos, arctan)
    • Binäre Operationen (AND, OR, NOT, XOR, Shift Right, Shift Left, Arith. Shift Right)
Advertisements

kommentieren

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: