Embedded Systeme

Marco Schmid | Stefan Kuppinger,

Programmierung per Blockschaltbild

Mit immer mehr Funktionen und Komfortwünschen bei der Bedienung konfrontiert, steigt die Komplexität mechatronischer Systeme exponenziell. Demgegenüber steht für die Entwicklung immer weniger Zeit, Geld und Personal zur Verfügung. Lösen lässt sich dieses Problem mittels funktionsorientierter grafischer Programmiersprachen wie Labview und deren Ansi-C-Code-Generator – vorausgesetzt man kennt die Grenzen der unterlagerten Mikroprozessor-Plattformen.

© Schmid

Gerade die Applikationssoftware mechatronischer Systeme stellt eine Art Worst-Case-Szenario dar: Die verschiedensten Sensoren müssen integriert und unterschiedliche Motorarten geregelt werden. Parallel dazu muss das System über unterschiedliche Schnittstellen und Bussysteme kommunizieren. Das erfordert eine abstrakte und dennoch hardwarenahe Programmiersprache.

Bislang vom Platzhirsch C/C++ dominiert, legitimieren eine Reihe von Eigenschaften das grafische Programmiersystem Labview für den Einsatz in „deeply-embedded“ Mechatroniksystemen. An erster Stelle steht die Produktivität, mit der sich Ideen umsetzen lassen. Die Grundlage dafür bilden der Funktionsumfang vom logischen Inverter über Fehlererkennung und -behebung bis zur konfigurierbaren Task. Hinzu kommt die breite Palette fertiger Bibliotheken, zum Beispiel für Signalverarbeitung und Mathematik. „Trockene“ Algorithmen lassen sich damit zügig per Drag&Drop mit I/Os verknüpfen. Die implizite Parallelität der Blockschaltbild-Programmierung ermöglicht auf einfache Weise Multicore- und Multitasking-Betrieb. Zudem erleichtert eine durchgängige Entwicklungsumgebung die Prüfung der Programme und das Arbeiten in Teams mit unterschiedlichen Programmiermodellen. Dieser Sprachmix lässt sich dann wieder zusammenführen und auf verschiedene Hardware-Plattformen verteilen. So gesehen funktioniert Labview wie ein Cross-Compiler.

Anzeige

Welchen Mikroprozessor nehmen?

Kompakter, batteriebetriebener Datenlogger für Maschinenservice, gesteuert von einem grafisch pro­grammierten ARM-Cortex-M3-Mikrocontroller.

© Schmid

Dabei ist die Wahl des Mikroprozessors ein wichtiger Meilenstein. Schließlich haben dessen Leistungsreserven direkten Einfluss darauf, ob sich die Projektanforderungen später umsetzen lassen oder ein aufwendiges Redesign anfällt. Entsprechend wichtig ist daher eine Plattform, mit der sich Software rasch erstellen und bei Notwendigkeit por­tieren lässt. Bei der grafischen Programmierumgebung von National Instruments ermöglicht ein Ansi-C-Code-Generator beispielsweise die Verteilung der Labview-Blockschaltbilder auf verschiedene 8/16/32-Bit-Mikrocontroller. Derzeit ste-hen Lösungen für zwei in der Industrie verbreitete Plattformen bereit: der Mikrocontroller ARM-Cortex-M3 und die Blackfin-Mikroprozessorfamilie von Analog Devices. Deren Programmierung war bislang Spezialisten im Umgang mit Interrupts, CPU-Registern und der textbasierten Sprachen wie C und C++ vorbehalten. Mit dem unterlagerten Code-Generator schlägt Labview eine Brücke zwischen zwei unterschiedlichen Welten und macht Mechatronikern, Prozessspezialisten und Wissenschaftlern eine komplexe Technologie zugänglich, die bislang spezielles Embedded-Know-how erfordert. Die entsprechenden Entwicklungsumgebungen der Controller-Plattformen compilieren diesen C-Code und erzeugen daraus über den Linker/Loader eine ausführbare Anwendungsfirmware. Nach wie vor gilt bei der Implementierung, den Kriterien Portierbarkeit, Speicherbedarf und Ausführungsgeschwindigkeit die volle Aufmerksamkeit zu schenken – so wie bei traditionellen Entwicklungsmethoden auch.

Grafische Programmierung kostet Performance

Die umfangreiche Sensorik und Aktorik der intelligenten Toilette wird mittels Labview-programmiertem Blackfin-Prozessor überwacht und gesteuert.

© Schmid

Verlangt die Anwendung nach stromsparenden, kleinsten Formfaktoren im Scheckkartenformat und Boardpreisen im zweistelligen Eurobereich, ist ein ARM-Cortex-M3-Mikrocontroller (32 Bit) mit skalierbarer Onchip-Peripherie die erste Wahl. Den Vorteilen großer Peripherievielfalt und interessanter Komponentenpreise stehen im Hinblick auf Labview-Applikationen Nachteile wie die limitierte CPU-Leistung (50 MHz Prozessortakt) und der geringe Speicher (64 kByte RAM, 256 kByte Flash) gegenüber. Obwohl Compiler und Linker über Optimierungsroutinen für Code-Länge oder -Performance verfügen, entsteht bei grafischer Programmierung wegen der hohen Abstraktion immer ein Overhead gegenüber manueller C-Programmierung. Das geht zu Lasten des Speicherbedarfs und der Ausführungszeit. Damit stehen der Anwendung die im Datenblatt des Prozessors spezifizierten Ressourcen nicht komplett zur Verfügung. Eine frühzeitige Festlegung auf diese Hardwareplattform könnte deshalb gravierende Konsequenzen haben. Und zwar dann, wenn die An-forderungen die Möglichkeiten der ARM-Plattform derart übersteigen, dass selbst Optimierungsmaßnahmen nicht mehr zum Ziel führen.

Ein Beispiel aus der Praxis zeigt, welche Arten von Anwendungen mit Labview auf ARM realisierbar sind: einfache, zeitunkritische Anwendungen, die eher sequenziell ablaufen. Ein batteriebetriebener Datalogger im Zigarettenschachtelformat wird über einen Stecker an einen intelligenten Aktor angeschlossen und liest im Sekundentakt Zustandsdaten über dessen RS-232-Schnittstelle aus. Diese Daten sind anschließend mit einem Analogsignal (10 Hz Abtastrate) und einem per Pulsweitenmodulation erfassten und gemittelten Temperaturwert zu kombinieren und zusammen mit einem Datum- und Zeitstempel versehen auf eine Micro-SD-Card abzuspeichern.

Ist der Bedarf an Rechenleistung und Speicher deutlich höher, bietet sich der Blackfin-Prozessor an. Aufgrund seiner CPU (500 MHz/32-Bit), flexiblen I/O-Ports, High-Speed-Prozessorbussen mit DMA-Support (Direct Memory Support), extern ausbaubarem DDR-RAM und schnellem Flash-Interface, lassen sich damit MSR-, Mechatronik- und Robotik-Anwendungen mit hoher Komplexität und nahezu beliebigen Prozess-I/Os realisieren. Die Plattform ermöglicht analoge Signalerfassung im dreistelligen kHz-Bereich, kontinuierliche Regelungen im zweistelligen kHz-Bereich sowie grafische Benutzerschnittstellen mit Touchbedienung. Ebenso stehen mobile und Solid-State-Speichermedien, Kommunikation über Ethernet und Wireless bis hin zum integrierten Webserver zur Verfügung, die Mechatroniker sofort in Projekten nutzen können. Für mobile Serviceroboter, Maschinen mit Standby-Betrieb oder batteriegestützte Messgeräte interessant ist der skalierbare Stromverbrauch bis in den zweistelligen Milliwattbereich. Mit Bootzeiten unter einer Sekunde sind auch Systeme realisierbar, die schnell betriebsbereit sein müssen. Ebenso unterstützt der Prozessor mit Mechanismen zur Fehlererkennung und -behebung den Dauerbetrieb.

 

High-Tech hinterm Abfluss

Eine „intelligente Toilette“, das aktuelle Serienprodukt eines Schweizer Herstellers, skizziert das typische Einsatzgebiet von Labview auf Blackfin in einem mechatronischen System, das Elektronik, Regelungstechnik, Software und Mechanik auf engstem Raum integriert.

Dank grafischer Fernbedienung im Smartphone-Stil, Geruchsabsaugung und -neutralisierung und anschließender Dusche sorgt diese Generation von Toiletten für maximalen Komfort und Hygiene. Dazu sind eine Reihe von Komponenten notwendig: Ventilator, Heißwasserboiler, mehrere Ventile, Warm/Kalt-Mischer, mehrere Schrittmotoren mit Encoder und Endschaltern für die Dusche, diverse Temperatursensoren und ein Fön. Die objektorientiert entwickelte Software für die Auswertung der Sensoren und Ansteuerung der Aktoren wurde als mehrstufige Statemachine rea-lisiert. Sobald jemand auf der Toilette sitzt, löst der Drucksensor einen Interrupt aus, der den Prozessor startet. Deshalb durfte der Bootzyklus auch nicht länger als 750 ms dauern. Realisiert wur- de das über einen Standby-Betrieb mit weniger als 500 mW Leistungsaufnahme für die komplette Embedded-Hardware inklusive Leistungselektronik. Dazu wird der Blackfin-Prozessor im Idle-Betrieb komplett abgeschaltet und die verschiedenen Bausteine in ihrem Low-Power-Mode betrieben. In einer künftigen Ausbaustufe soll die Toilette sogar die Ausscheidungen analysieren und so helfen, mögliche Krankheiten frühzeitig zu diagnostizieren. Auch für dieses Szenario mit seinen komplexen mathematischen Modellen stellt Labview eine geeignete Plattform dar.

Mit dem Singleboard-Computer SBRIO von National Instruments steht in Verbindung mit einem separaten Baseboard eine weitere Option zur Verfügung. Mit dieser Plattform lassen sich Mechatronik-Anwendungen höchster Komplexität mit High-Speed-Datenerfassung, Regelungen und Kommunikation realisieren. Interessant ist dessen nahezu beliebige Skalierung von Rechenleistung und I/O. Diese Plattform kombiniert einen typischerweise mit bis zu 800 MHz getakteten Floating-Point-Prozessor mit einem parallel arbei­tenden FPGA, der die zeitkritischen Aufgaben übernehmen kann. Über Funktionsblöcke lässt sich dazu ein breites Spektrum analoger, digitaler und serieller Prozess-Signale einbinden, verknüpfen und parallel im FPGA vorverarbeiten.

Neben der Funktionalität einer Applikation stehen vor allem Qualitätsmerkmale wie Stromverbrauch, Bootzyklen, Determinismus, stabiler Dauerbetrieb, Formfaktor und Kosten im Vordergrund. Die Wahl eines von Labview direkt unterstützten Mikroprozessors beeinflusst diese Parameter und auch, in welchem Maß die Software gegebenenfalls optimiert werden muss. Ist ein ARM-Cortex-M3 zu schwach und stößt sogar der leistungsstärkere Blackfin an seine Grenzen, gilt es, das Pflichtenheft zu hinterfragen und die Spezifikationen notfalls zu ändern, Kosten neu zu kalkulieren und die Lösungs-Alternativen abzusichern. Für den Mechatroniker zählt bei solchen Machbarkeitsprüfungen wie auch beim Rapid-Prototyping und in der Entwicklung von Seriengeräten dann vor allem der Zeitgewinn, der sich mittels grafischer Programmierung erzielen lässt.

Autor: Marco Schmid ist Mitglied der Geschäftsleitung der Firma Schmid Elektronik in Münchwilen (CH).

  • Xing Icon
  • LinkedIn Icon
Anzeige
Anzeige

Das könnte Sie auch interessieren

Anzeige

Automation und IT-Netzwerke

Das digitale Schiff

Die Globalisierung fordert auch in der Schiffsindustrie ihren Tribut: Immer größere Schiffe müssen von immer weniger Personal bedient und manövriert werden. Entsprechend gewinnen die Technologien rund um die Schiffsautomation an Bedeutung.

mehr...

Industrie-PC

Die Erweiterungen der µTCA-Spezifikation

Grundlagenforschung und Entwicklung benötigen extrem leistungsfähige aber auch modulare Hardware. Mit der Erweiterung der MicroTCA-Spezifikation um Rückwand-Slots und präzise Timer wurden die Voraussetzungen für einen Generationswechsel geschaffen –...

mehr...
Anzeige
Anzeige

Windows 8

Microsoft unterstützt ARM-Prozessoren

Anfang Januar läutete Microsoft auf der Consumer Electronics Show CES in Las Vegas eine neue Ära ein: Das Flaggschiff Windows 8 wird neben x86-CPUs erstmals auch so genannte „Systems-on-Chip“ unterstützen. Stefan Hoppe von Beckhoff Automation...

mehr...
Anzeige
Anzeige
Anzeige
Anzeige

Syslogic

Auf Basis des Nvidia Jetson Thor

Die neuen AI Rugged Computer RSL A5AGX und RML A5AGX von Syslogic auf Basis des Nvidia Jetson Thor bieten die Möglichkeit, Sensoren wie Kameras oder Lidar einfach anzubinden und ebnen damit laut Hersteller den Weg für künftige Inferenz- und...

mehr...
Jetzt Newsletter abonnieren