Antriebstechnik Skripte machen Umrichter effizienter

Flexibilität ohne Zusatzkosten

Die neueste Version der Motion-Control-Engine (MCE) von iMotion beinhaltet einen Skript-Interpreter, der bereits für einen einzelnen CPU-Kern recht flexible Möglichkeiten für kunden- und applikationsspezifische Anpassungen bietet – der zusätzliche MCU-Kern kann entfallen. Die Skript-Sprache unterstützt das Einlesen analoger Sensordaten ebenso wie das Ansteuern digitaler Ein- und Ausgänge. Auch lässt sich der Motoralgorithmus zur Laufzeit steuern, um zum Beispiel einen speziellen Motoranlauf zu implementieren. Der Skript-Interpreter läuft als Hintergrundprozess der MCE und ähnelt damit einer virtuellen Maschine. Dadurch ist sichergestellt, dass das Skript den eigentlichen Motor- und PFC-Algorithmus nicht beeinträchtigt.

Im Bereich eingebetteter Applikationen wie zum Beispiel Motorsteuerungen unterliegen Algorithmen einem typischen Lebenszyklus. Die Erstimplementierung erfolgt in der Regel vollständig in Software, um das System weiter anpassen und optimieren zu können. Ist ein gewisser Reifegrad erreicht, erfolgt die Abbildung teilweise oder komplett in Hardware, um die Performance und Effizienz zu verbessern. Im Fall eines Motoralgorithmus übernehmen inzwischen »intelligente« A/D-Wandler und Timer große Teile der Regelschleife, denn das reduziert die Rechenlast für den CPU-Kern deutlich. Da heutzutage auch die günstigsten Controller auf modernen 32-Bit-Architekturen aufsetzen, ergibt sich daraus die Möglichkeit, ungenutzte Rechenkapazität dem Anwendungsentwickler zur Verfügung zu stellen.

Controller der iMotion-Serie implementieren einen geprüften und freigegebenen Algorithmus und sind für die Anforderungen der funktionalen Sicherheit für Haushaltsgeräte nach IEC/UL 60335 zertifiziert. Dementsprechend hat die sichere Funktion des Motors (und der PFC) Vorrang. Die neue Version der MCE führt die Kundenskripte in der abgeschlossenen Umgebung des Skript-Interpreters aus, der an das Konzept einer virtuellen Maschine angelehnt ist. Diese Implementierung bietet einige Vorzüge, hierzu gehören vor allem:

  • keine Beeinträchtigung des Motor- und PFC Algorithmus,
  • klar definiertes Interface zwischen Skript und Kontroll-Algorithmus,
  • einfach zu verstehende und komplette Skriptsprache und
  • Schutz von Skripten vor dem Aus-lesen, um das geistige Eigentum des Kunden zu wahren.

Der Skript-Interpreter führt zwei Tasks parallel aus (Bild 3): Task 0 läuft mit einer Wiederholrate von 1 ms, Task 1 mit einer Wiederholrate von 10 ms. Beide Tasks werden beim Systemstart über ihre Initialisierungsfunktionen konfiguriert und laufen anschließend in einer Endlosschleife. Über den Skript-Interpreter kann der Geräteentwickler Ausführungszeit und Wiederholrate der Tasks konfigurieren. Zusätzlich unterstützt ein freilaufender 32-Bit-Timer die Ausführung von Aktionen zu genau definierten Zeitpunkten. Um das Skript zu debuggen und zu visualisieren kann der Geräteentwickler über die Benutzerschnittstelle zum MCEDesigner am PC auf die globalen Skriptvariablen zugreifen.

Skripte für iMotion verwenden eine an die Programmiersprache C angelehnte Syntax. Sie unterstützen arithmetische und logische Operatoren ebenso wie Entscheidungen (if…else) und Schleifen (for…). Variablen lassen sich global oder lokal in einem der Tasks definieren und verwenden. Der Zugriff auf die Motor- und PFC-Regelung erfolgt über die definierten Register der MCE [3].

Um den Skriptcode ausführen zu können, wird dieser in einen kompakten Bytecode übersetzt und im Zuge dessen auf korrekte Syntax geprüft. Nach dem Ablegen des Bytecodes im Flash-Speicher des iMotion-Produkts, kann der Skript-Interpreter diesen ausführen. Um das jeweilige geistige Eigentum zu schützen, lassen sich die gespeicherten Skripte gegen Auslesen schützen. Eine integrierte Prüfsumme stellt dabei die Identifikation und Integrität des jeweiligen Skriptes sicher.

Um den Programmieraufwand zu reduzieren, ist das Schreiben und Verwalten von Skripten in die gleichen Werkzeuge integriert, die auch zur Konfiguration des iMotion-Controllers für den jeweiligen Antrieb verwendet werden (Bild 4). Mithilfe des MCEWizard kann der Geräteentwickler die analogen und digitalen IOs für die Verwendung im Skript konfigurieren. Die Skripte selbst schreibt er im integrierten Editor, wo sie dann das Toll auch in Bytecode transferiert.

Der MCEDesigner behandelt die Skripte analog zu den Konfigurationsparametern:

  • Unterstützung für Laden und Löschen im Flash sowie
  • Lesen, Schreiben und Visualisieren der globalen Skript-Variablen.

In der Serienfertigung werden Skripte und Parameter in einem Zug zusammen mit dem Image der MCE programmiert.