Modulare Firmware zur Programmierung unterschiedlicher Motoren

Motor Control Platform

Vermehrt führen Antriebe über den gesamten Produktlebenszyklus nicht nur eine Funktion aus, sondern sollen bei der Herstellung unterschiedlicher Produkte auch flexibel andere Bewegungsabläufe ausführen können. Entsprechend flexibel muss die Software sein. Die Motor Control Platform (MCP) ermöglicht, dass Motoren völlig unterschiedlich programmiert und jederzeit auf neue Bedürfnisse angepasst werden können.


Die Intelligenz von BG-Motoren mit integrierter Elektronik steuern Softwareprogramme wie Drive Assistant oder SI Konfigurator.
Bild: Dunkermotoren GmbH

Kunden von Dunkermotoren erwarten, dass sich ein Motor dann dreht und Leistung abgibt, wenn es die Maschine, in der der Motor eingebaut ist, erfordert. Damit das gelingt, müssen die Mikrocontroller entsprechend programmiert sein. Je geringer der Aufwand für den Kunden sein soll, desto aufwendiger ist die Programmierung im Innern des Motors. Das Unternehmen hat sich das Ziel gesetzt, den Aufwand beim Kunden so gering wie möglich zu halten. Entsprechend hoch ist dieser in der Software. Das Software-Programm, das den Motor drehen lässt, seinen Zustand dauerhaft überwacht und Störungen kompensiert oder Meldungen ausgibt, heißt Firmware. Ohne diese eingebettete Software läuft nichts im Motor. Sie ist der Kern der Motorsteuerung. Entsprechend aufwendig ist ihre Programmierung, denn hier darf nichts schieflaufen. Viele Jahre Arbeit stecken in einer professionellen Motor-Firmware. Aktuell können mit der Dunkermotoren-Firmware etwa 650 verschiedene Motorparameter ausgelesen und/oder eingestellt werden. Das sind z.B. Maximalströme, Referenziermethode, Einstellungen für Absolutwertgeber oder PID-Tuning-Parameter. Bisher wurde, je nach eingesetztem Motorcontroller, eine eigene, passende Firmware entwickelt. Aufgrund unterschiedlicher Controller musste dieselbe Arbeit mehrfach, für mehrere Hardware-Versionen erfolgen. Mit der Motor Control Platform (MCP) hingegen existiert nur noch ein Software-Kern, der in allen Motoren verwendet werden kann. Wird ein Feature neu entwickelt, profitieren alle auf der Plattform basierten Motoren davon. Die größten Herausforderungen bei der Entwicklung dieser Software waren, dass die Features aller bisherigen Motoren auch in der Plattform verfügbar sein mussten. Zudem muss die Firmware fehlerfrei und so flexibel sein, dass sich neue Features problemlos implementieren lassen. Umgesetzt wurde eine Programmierung nach den MISRA-C-Programmier-Richtlinien. Zudem sind Methoden wie statische Codeanalyse, Code Review, Modul- und Systemtests im Entwicklungsprozess implementiert. Die Firmware wurde modular und objektorientiert, mit exakt definierten Schnittstellen aufgebaut. So lassen sich Erweiterungen problemlos durchführen, ohne Veränderungen am Kern der Software. Um etwaige Entwicklungen an Prozessoren abzufangen, wurde der Programmiercode so umgesetzt, dass er auch auf zukünftige Prozessorgenerationen übertragbar ist. Anwender können über digitale oder analoge Eingänge oder eine Bus-Schnittstelle entscheiden, wann der Motor dreht und Leistung abgibt, nämlich dann wenn es die Maschine, in der der Motor eingebaut ist, erfordert.

Drive Assistant 5

BG-Motoren mit integrierter Elektronik werden als intelligent bezeichnet, weil sie selbstständig auf Befehle reagieren, Fehlerzustände erkennen und Informationen über ihren Zustand liefern. Jedoch muss diese Intelligenz gesteuert werden, damit der Motor diese Aufgaben genauso ausführt. Ist das einmal nicht der Fall, dient eine Computerschnittstelle der Motoren zur Fehleranalyse und Steuerung. Für diese Inbetriebnahme- und Servicefunktionen wird ein Computerprogramm benötigt, das mit dem Motor kommuniziert. Bei Dunkermotoren stehen hierfür die Programme Drive Assistant und SI Konfigurator zur Verfügung. Mit dem SI Konfigurator können SI-Motoren einfach und intuitiv eingestellt werden, z.B. Festdrehzahlen oder Beschleunigungsrampen. Von Drive Assistant gibt es bisher mehrere Versionen: Mit Version 2.7 können CANopen (CI)-Motoren komfortabel eingestellt und analysiert werden. Mit Version 3.3 werden parametrierbare (PI) Motoren so eingestellt, dass sie danach ohne übergeordnete Steuerung positionieren, Drehzahl regeln oder über Stromregelung betrieben werden können. Darüber hinaus gibt es für BG-95-dPro-CO-Motoren und einige CI-Motoren den Drive Assistant 2.16 mit Tuning-, Analyse- und Python-Script-Funktion. Warum aber kann nicht ein einziges Programm alle Motoren einstellen und analysieren? Das hängt u. a. mit den unterschiedlichen Elektroniken der heutigen Motoren zusammen. Mit der Motor Control Platform wird dieses Problem beseitigt. Die in den unterschiedlichen Motoren eingesetzten Prozessoren und die Firmware funktionieren im Kern identisch. Deshalb wird zukünftig auch nur noch ein Tool für Inbetriebnahme und Service benötigt. Für alle MCP-Motoren wurde eine neue Version des Drive Assistant entwickelt: Drive Assistant 5. Diese Version kann für alle neuen Motoren eingesetzt werden, egal ob für den einfachen dMove oder den dPro, der für anspruchsvolle Aufgaben entwickelt wurde. Kunden können damit sowohl Motoren mit Busschnittstelle komfortabel einrichten (z.B. CANopen, Profinet) als auch Stand-alone-Motoren (ähnlich wie die heutigen SI-, PI- und MI-Motoren). Im Stand-alone-Betrieb werden diese einmalig eingerichtet und reagieren danach selbstständig auf digitale und analoge Eingangssignale und geben über digitale Ausgänge Informationen zum Betrieb und bei Störungen aus. Die Installationszeit wurde stark reduziert. Zudem ist die Dauer der Datenübertragung für die Parametrierung kürzer. Das liegt hauptsächlich an den bereits im Motor integrierten Positionier-, Drehzahl- und Strommodulen. Somit müssen nur wenige Informationen übertragen werden. Auch das Design der neuen Softwareversion wurde neu gestaltet. Wo sinnvoll, wurde eine grafische Ansicht ergänzt. Fenster können je nach Bedarf ein- und ausgeblendet werden, damit nur die Informationen angezeigt, die auch tatsächlich gerade benötigt werden. Damit die Bedienung auch intuitiv gelingt werden an entsprechenden Feldern Zusatzinformationen eingeblendet. Die Software wurde modular aufgebaut, sodass Erweiterungen jederzeit möglich sind. So können Funktionen wie Predictive Maintenance, Datenanalyse oder Auto-Tuning jederzeit in den Drive Assistant eingebunden werden.

Anzeige

Flexible Software

Dunkermotoren hat im Zuge der Umstellung auf die neue Plattform besonderen Wert auf Flexibilität gelegt. Sie ermöglicht, dass Motoren völlig unterschiedlich programmiert und jederzeit auf neue Bedürfnisse angepasst werden können. Ein angenehmer Nebeneffekt sind geringere Lagerhaltungskosten. Servicetechniker müssen weniger Material bereithalten, weil die Motoren keine starre Funktionszuordnung haben, sondern erst bei der Inbetriebnahme eine Funktion zugewiesen bekommen. Ein Motor kann für unterschiedliche Anwendungen eingestellt werden. Die Flexibilität beruht zum einen auf der modular aufgebauten Firmware, die Erweiterungen problemlos zulässt. Zum anderen wurden zwei neue Features eingeführt: Quickstart Plus und die freie Programmierung von MotionApps. Damit können einfache Anpassungen der Parameter bis hin zu autonom ablaufenden Programmen mit SPS-Funktionen umgesetzt werden.

Quickstart Plus

Dunkermotoren bedient auch Wünsche, die vom Standard abweichen. Das sind z.B. mehr als zwei Festdrehzahlen, digitale Ausgänge, die bei einer Kombination von Ereignissen schalten, oder die kundenspezifische Zuordnung von digitalen Eingängen zu bestimmten Funktionen. Dafür waren bisher entweder Firmware-Anpassungen notwendig oder es wurden Motoren mit leistungsfähigeren Prozessoren eingesetzt. Mit der MCP wurde die Quickstart-Plus-Funktion für dMove- und dPro-Motoren eingeführt, die es Kunden erlaubt, solche Anpassungen selbst durchzuführen. Digitalen Eingängen können frei Funktionen zugeordnet werden. So kann einer Kombination von digitalen Eingängen eine Festdrehzahl zugeordnet werden, der nächsten Kombination eine Position, einer weiteren Kombination ein Maximalstrom, der das Drehmoment des Motors begrenzt. So sind mit einem einfachen und kostengünstigen Motor standardmäßig Funktionen möglich, die bisher nur programmierbaren Motoren vorenthalten waren. Eingestellt werden die Parameter und die Zuordnung bei Inbetriebnahme und Service in der Software Drive Assistant 5. Nicht nur die Eingänge können frei konfiguriert werden, sondern auch die Ausgänge. Es gibt eine Vielzahl von Abweichungen vom Normalbetrieb, z.B. Spitzenstrom überschritten, Schleppfehler, Übertemperatur oder Unterspannung. Nicht in jeder Anwendung müssen alle diese Zustände auch angezeigt werden. Wenn z.B. bewusst die Leistungsspannung eines Motors abgeschaltet wird, soll die erkannte Unterspannung nicht als Fehler interpretiert werden. Mit Quickstart Plus, einer neuen Standardfunktion, kann frei gewählt werden, welche Zustände als Fehler nach außen gegeben werden und welche nicht. Die Fehlermeldung kann dann auf beliebige digitale Ausgänge gelegt werden. Wird noch mehr Flexibilität benötigt oder soll der Motor komplette Aufgaben autonom ausführen, dienen MotionApps der richtigen Programmierung.

Empfehlungen der Redaktion

Motion Apps

Mit MotionApps lassen sich Funktionen von Motoren individuell gestalten. Soll der Motor einfach nur nach jeder vollen Stunde 4,5 Umdrehungen gegen den Uhrzeigersinn drehen? Soll er aus Gewicht, Länge und Geschwindigkeit eines Gegenstandes ein Bremsprofil berechnen, sodass der Gegenstand genau mittig auf einem angetriebenen Band zum Stehen kommt? Soll er eine komplette Verpackungsstation inklusive einiger Sensoren, Bänder und anderer Hilfsmotoren steuern? Das alles ist mit MotionApps möglich. Dabei handelt es sich um Motor-Ablaufprogramme, die ein Programmierer für bestimmte Kundenanwendungen schreibt. Dabei kann er auf einen großen Vorrat an Motorparametern, Rechenfunktionen und logischen Verkettungen zurückgreifen. Er kann Ablaufschleifen programmieren, die unter bestimmten Bedingungen unterbrochen werden, Tabellen definieren, die angeben, welche Aktion unter welchen Bedingungen durchgeführt werden sollen, oder Befehle an andere Geräte schicken und Rückmeldung von diesen Geräten erhalten. Bei so viel Programmierfreiheit können auch Fehler passieren. So kann der Motor auf einmal stehen bleiben oder unvermittelt die Drehzahl ändern, wenn der Programmierer das nicht erwartet. Ein Bug hat sich dann in das Ablaufprogramm eingeschlichen. Daher bietet die Entwicklungsumgebung, in der die MotionApps geschrieben werden, ein sogenanntes Debugging-Tool. Damit kann das Ablaufprogramm an jeder beliebigen Stelle gestoppt und die Parameter ausgelesen werden. So können Fehler komfortabel und schnell gefunden und behoben werden. Auch wenn viele BG-Motoren mit integrierter Elektronik nach über 20 Jahren optisch heute noch fast gleich aussehen, ist das Innenleben nicht mehr wiederzuerkennen. Neben einer neuen Elektronik mit leistungsfähigem Prozessor beinhalten die Motoren Softwarefunktionen, die vor 20 Jahren noch nicht denkbar gewesen wären.

Anzeige

 
Beckhoff Banner: 190722_Beckhoff_wb109_EtherCAT-Messtechnikmodule_EK11-18G_160x600_ID2079