Die grafische Entwicklungsumgebung ROBO Pro, 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 ROBO Pro-Lizenz liegt dem fischertechnik-Kasten ‚Robotics TXT Discovery Set‚ bei, kann aber auch separat erworben werden (UVP: 30 €). Wer ROBO Pro zunächst einmal testen möchte, kann sich von der fischertechnik-Homepage eine kostenlose Demo-Version herunterladen.
In ROBO Pro 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 ROBO Pro 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 ROBO Pro, 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)
(Weiter zu Teil 2: Koppelung, Simulator)
kommentieren