-
Die Erfindung betrifft ein Computer-implementiertes Verfahren zur Echtzeit-Simulation des Betriebs eines spezifischen elektrischen Motors mittels einer einen programmierbaren Logikbaustein (FPGAs- Field-programmable Gate Array) aufweisenden Simulator-Recheneinheit.
-
Aus dem Stand der Technik bekannt ist beispielsweise die von der Anmelderin stammende Bibliothek „XSG Electric Components Library“ (XSG EC Lib), die Streckenmodelle für eine FPGA-basierte Simulation elektrischer Komponenten bietet. Elektrische Motorsteuerungsanwendungen, die hohe Präzision und Abtastraten erfordern, werden typischerweise auf einem programmierbaren Logikbaustein simuliert. Um bei der Entwicklung und dem Test von Reglern identische Prozesse einzuhalten, werden die XSG Electric Component Models (Closed-Loop-Simulationskomponenten) als XSG (Xilinx®System Generator)-Modelle implementiert, die z.B. auf einem dSPACE DS5203 (PHS-Systeme) oder DS6602 (für SCALEXIO) FPGA-Board ausgeführt werden. Die Closed-Loop-Simulation elektrischer Geräte und ihrer Regelungen erfolgt dabei typischerweise bei sehr hohen Abtastraten in Echtzeit. Die XSG Electric Component Library lässt sich durch I/O-Funktionen aus der XSG Utils Library auf den DS5203/DS6602 FPGA Boards ergänzen, z.B. für Zeitanalysen und zur Erfassung digitaler Eingangsquellen. Die XSG Electric Component Library und die DS5203/DS6602 FPGA Boards können zusammen für die Simulation von Elektromotoren sowohl auf Signal- als auch auf Leistungsebene eingesetzt werden. Damit wird ein System bereitgestellt, das hochpräzise und stabil ist, sehr hohe Überabtastrate entsprechend der PWM-Schaltfrequenz ermöglicht, keine PWM-Synchronisierung erforderlich macht und vom Anwender veränderbar ist.
-
Die einzelnen Motormodelle in der Bibliothek decken allerdings nicht alle Randbedingungen ab und sind daher bestimmten Einschränkungen unterlegen. Bislang mussten vorhandene Motormodelle daher aufwändig angepasst und auf programmierbaren Logikbausteinen implementiert werden, um die geforderten Randbedingungen abzudecken. In einzelnen Fällen war es daher teilweise sehr schwierig, beispielsweise Motoren mit mehr als drei Phasen oder elektrische Fehlersimulation darzustellen.
-
Daher ist es die Aufgabe der Erfindung, ein Verfahren anzugeben, mit dem Motormodelle, mit denen viele geforderte Randbedingungen abgedeckt werden können, mit wenig Zeitaufwand erzeugt werden können.
-
Diese Aufgabe wird durch den Gegenstand des Patentanspruchs 1 gelöst. Bevorzugte Weiterbildungen finden sich in den Unteransprüchen.
-
Erfindungsgemäß wird damit ein Computer-implementiertes Verfahren zur Echtzeit-Simulation des Betriebs eines spezifischen elektrischen Motors mittels einer einen programmierbaren Logikbaustein aufweisenden Simulator-Recheneinheit bereitgestellt, auf dem ein generisches Motormodell implementiert ist, das von seiner Struktur her für alle Arten von spezifischen elektrischen Motoren dasselbe ist, mit folgenden Verfahrensschritten:
- Bereitstellen eines dem generischen Motormodell entsprechenden generischen Gleichungssystems, das von seiner Struktur her für alle Arten von spezifischen elektrischen Motoren dasselbe ist,
- Empfangen von spezifischen, dem spezifischen zu simulierenden Motor entsprechenden Informationen für das generische Gleichungssystems und Eingabe dieser Informationen in das generische Gleichungssystem, so dass das generische Gleichungssystem zu einem spezifischen Gleichungssystem wird, das den Betrieb des spezifischen Motors beschreibt und die Berechnung des Betriebs des spezifischen Motors mit einer vorbestimmten Abtastrate mit Hilfe von Matrizenoperationen ermöglicht,
- Erzeugen einer spezifischen Bibliothek, die wenigstens einen Teil der für die Matrizenoperationen erforderlichen Rechenoperationen für die Berechnung des Betriebs des spezifischen Motors enthält,
- Implementieren von Verweisen in dem generischen Motormodell auf die Rechenoperationen der spezifischen Bibliothek, die für die Echtzeit-Simulation des Betriebs des spezifischen elektrischen Motors erforderlich sind, und
- Simulieren des Betriebs des spezifischen elektrischen Motors durch Ausführen des generischen Motormodells auf der Simulator-Recheneinheit unter Verwendung der der in der spezifischen Bibliothek enthaltenen Rechenoperationen, auf die in dem generischen Motormodell verwiesen ist.
-
Die erfindungsgemäße Lösung, die auf einem automatisierten Verfahren zur Modellerstellung mit einer dynamischen Bibliothek basiert, bietet den Vorteil, dass schnell unterschiedlichste Topologien, z.B. Elektromotoren oder Inverter mit bis zu zwölf Phasen und unterschiedlichen Windungsverschaltungen auf einem FPGA implementiert werden können, unabhängig davon, ob sie z.B. fremd- oder permanenterregt werden, Synchron- und Asynchromaschinen oder andere Motortypen darstellen.
-
Die Echtzeit-Simulation des Betriebs des spezifischen elektrischen Motors kann auf unterschiedliche Arten ausgestaltet sein. Gemäß einer bevorzugten Weiterbildung der Erfindung umfasst die Echtzeit-Simulation die Echtzeit-Simulation des Betriebs nur einzelner Komponenten des spezifischen Motors, des Betriebs des gesamten spezifischen Motors, des Betriebs von Motorzuleitungen des spezifischen Motors und/oder des Betriebs eines Inverters des spezifischen Motors.
-
Auch das Erstellen des spezifischen Gleichungssystems kann auf verschiedene Weisen erfolgen. Gemäß einer bevorzugten Weiterbildung der Erfindung wird dazu aber einem Nutzer des Verfahrens eine grafische Bedienoberfläche (GUI) angezeigt. Eine solche grafische Benutzeroberfläche kann die Eingabe des spezifischen Gleichungssystems erheblich erleichtern. Insbesondere können dem Nutzer auch nur solche Eingaben angeboten werden, die technisch Sinn machen bzw. widerspruchsfrei sind. Weiterhin ist es vorteilhaft, wenn zum Bereitstellen des dem generischen Motormodell entsprechenden generischen Gleichungssystems mathematischen Operationen, die das generische Gleichungssystems beschreiben, in einer Skriptsprache verfasst werden.
-
Weiter oben ist schon zum Ausdruck gebracht worden, dass die spezifische Bibliothek wenigstens einen Teil der für die Matrizenoperationen erforderlichen Rechenoperationen für die Berechnung des Betriebs des spezifischen Motors enthalten soll. Vorzugsweise ist jedoch vorgesehen, dass beim Erzeugen der spezifischen Bibliothek alle für die Matrizenoperationen erforderlichen Rechenoperationen in der spezifischen Bibliothek abgelegt werden. Auf diese Weise kann für sämtliche Rechenoperationen auf die spezifische Bibliothek zurückgegriffen werden, was den Programmieraufwand für das Simulieren des spezifischen Motors weiter verringert.
-
Das generische Gleichungssystem kann mit einer größeren Matrix-Dimension ausgestattet sein als für das spezifische Gleichungssystem, das den spezifischen elektrischen Motor beschreibt, erforderlich ist. In einem solchen Fall ist es bevorzugt, dass für das Simulieren des Betriebs des spezifischen elektrischen Motors die Matrix-Dimension des generische Gleichungssystems auf die Matrix-Dimension reduziert wird, die für das spezifische Gleichungssystem erforderlich ist. Dies hat den Vorteil, dass Ressourcen auf dem programmierbaren Logikbaustein gespart werden.
-
Die Erfindung ermöglicht nicht nur das Simulieren eines einzigen spezifischen elektrischen Motors. Vielmehr sieht eine bevorzugte Weiterbildung der Erfindung vor, dass zusätzlich der Betrieb eines weiteren spezifischen elektrischen Motors mittels der den programmierbaren Logikbaustein aufweisenden Simulator-Recheneinheit erfolgt, auf dem das generisches Motormodell implementiert ist, das von seiner Struktur her für alle Arten von spezifischen elektrischen Motoren dasselbe ist. Dazu weist das Verfahren die folgenden zusätzlichen Verfahrensschritten auf:
- Empfangen von spezifischen, dem weiteren spezifischen zu simulierenden Motor entsprechenden Informationen für das generische Gleichungssystems und Eingabe dieser Informationen in das generische Gleichungssystem, so dass das generische Gleichungssystem zu einem spezifischen Gleichungssystem wird, das den Betrieb des weiteren spezifischen Motors beschreibt und die Berechnung des Betriebs des weiteren spezifischen Motors mit einer vorbestimmten Abtastrate mit Hilfe von Matrizenoperationen ermöglicht,
- Erzeugen einer weiteren spezifischen Bibliothek, die wenigstens einen Teil der für die Matrizenoperationen erforderlichen Rechenoperationen für die Berechnung des Betriebs des weiteren spezifischen Motors enthält,
- Implementieren von Verweisen in dem generischen Motormodell auf die Rechenoperationen der weiteren spezifischen Bibliothek, die für die Echtzeit-Simulation des Betriebs des weiteren spezifischen elektrischen Motors erforderlich sind, und
- Simulieren des Betriebs des weiteren spezifischen elektrischen Motors durch Ausführen des generischen Motormodells auf der Simulator-Recheneinheit unter Verwendung der in der weiteren spezifischen Bibliothek enthaltenen Rechenoperationen, auf die in dem generischen Motormodell verwiesen ist.
-
Insbesondere ist es so, dass auf diese Weise nicht nur ein zweiter spezifischer elektrischer Motor simuliert werden kann, sondern natürlich auch mehr als zwei spezifische elektrische Motoren, im Prinzip nämlich so viele, wie es die Rechenleistung des programmierbaren Logikbausteins hergibt. Dabei gilt vorzugsweise, dass das Simulieren des Betriebs des spezifischen elektrischen Motors und das Simulieren des Betriebs des weiteren spezifischen elektrischen Motors bzw. der weiteren spezifischen elektrischen Motoren parallel oder abwechselnd erfolgt und dafür zwischen den jeweiligen, den jeweiligen spezifischen Motoren zugeordneten spezifischen Bibliotheken umgeschaltet wird. Das hat den Vorteil, dass ein Wechsel zwischen unterschiedlichen Motor-Varianten oder Fehlersimulations-Varianten zeitoptimiert umgesetzt werden kann.
-
Schließlich betrifft die Erfindung auch ein Simulationssystem, umfassend wenigstens eine echtzeitfähige Simulator-Recheneinheit und eine Recheneinheit zur Steuerung der echtzeitfähigen Simulator-Recheneinheit, wobei das Simulationssystem zur Ausführung der Verfahrensschritte der oben genannten Verfahren ausgestaltet ist.
-
Nachfolgend wir die Erfindung anhand eines bevorzugten Ausführungsbeispiels unter Bezugnahme auf die Zeichnungen weiter im Detail erläutert.
-
In den Zeichnungen zeigen
- 1 schematisch ein System gemäß einem ersten bevorzugten Ausführungsbeispiel der Erfindung,
- 2 schematisch ein System gemäß einem zweiten bevorzugten Ausführungsbeispiel der Erfindung,
- 3 schematisch ein System gemäß einem dritten bevorzugten Ausführungsbeispiel der Erfindung,
- 4 ein Ablauf eines Verfahrens gemäß dem ersten bevorzugten Ausführungsbeispiel der Erfindung und
- 5 ein Ablauf eines Verfahrens gemäß dem dritten bevorzugten Ausführungsbeispiel der Erfindung.
-
Der nachfolgenden detaillierten Beschreibung bevorzugter Ausführungsbeispiele der Erfindung seien die folgenden grundsätzlichen Erläuterungen vorweggeschickt:
- Das der Simulation zugrunde liegende Modell ist gemäß dem vorliegend beschriebenen bevorzugten Ausführungsbeispiel der Erfindung in einem generischen Gleichungssystem beschrieben. Die dafür notwendigen mathematischen Operationen sind in einer textuellen Beschreibung enthalten. Bei Erstellung eines Simulationsprojekts wird das Gleichungssystem für den konkreten Fall relevanter, nämlich mittels der durch den zu simulierenden spezifischen Elektromotor gegebenen Randbedingungen parametriert. Gemäß dem hier beschriebenen bevorzugten Ausführungsbeispiel der Erfindung wird dann aus der parametrierten textuellen Beschreibung automatisch eine dynamische Bibliothek von Blöcken erzeugt, die die notwendigen mathematischen Operationen (Grundrechenarten, Matrixmultiplikation, Koordinatentransformation) enthält. Das eigentliche Motormodell liegt auf einem programmierbaren Logikbaustein als fixe Struktur von Verweisen auf Bibiliothekelemente, also die in der Bibliothek hinterlegten mathematischen Operationen vor. Mit der Erzeugung der Bibliothek werden diese Verweise aktiv und die Simulation des Motormodells kann ausgeführt werden. Für die Struktur des Motormodells auf dem FPGA ist es dabei unerheblich, welche Motorkonfiguration dem Motormodell zugrunde liegt.
-
Diese Konfiguration kann sich je nach dem zu simulierenden Motor in der gegebenen Motortopologie, also der Anzahl von Motorphasen, Anzahl Wicklungssysteme (z.B. Stator/Rotor) und in den zu simulierenden Fehlern oder dem Koordinatensystem des simulierenden Motors unterscheiden. Im auf dem programmierbaren Logikbaustein implementierten Motormodell müssen jedoch keine strukturellen Änderungen vorgenommen werden. Die unterschiedlichen Konfigurationen schlagen sich lediglich in unterschiedlichen Parametern nieder.
-
Im Einzelnen:
-
Die 1 zeigt schematisch ein System gemäß einem bevorzugten Ausführungsbeispiel der Erfindung, die eine textuelle Beschreibung 1 aufweist, die beispielsweise in einer Skriptsprache verfasst ist. Diese hat für jedes zu implementierende Motormodell dieselbe Struktur. Die Beschreibung unterscheidet sich dann lediglich in unterschiedlichen Parametern und gegebenenfalls Matrix-Dimensionen. Basierend auf dieser textuellen Beschreibung 1 wird automatisiert eine spezifische Bibliothek 3 zur Implementierung auf dem programmierbaren Logikbaustein 6 erstellt, die die für das zu implementierende Motormodell benötigten mathematischen Operationen 2a, 2b, 2c, 2d, ... enthält. Im nächsten Schritt wird im programmierbaren Logikbaustein 6 auf diese spezifische Bibliothek 3 verlinkt, so dass ein lauffähiges Motormodell auf dem programmierbaren Logikbaustein 6 vorliegt.
-
Dazu ist eine den programmierbaren Logikbaustein 6 aufweisende Simulator-Recheneinheit 5 vorgesehen, auf dem ein generisches Motormodell 7 implementiert ist. Dieses generische Motormodell 7 ist so ausgestaltet, dass es von seiner Struktur her für alle Arten von spezifischen elektrischen Motoren dasselbe ist. Eine solche Art der Beschreibung von Elektromotoren ist grundsätzlich bekannt und erfordert für die Beschreibung eines spezifischen Elektromotors die Ergänzung des generischen Modells 7 mit Parametern des spezifischen Elektromotors hinsichtlich seines Aufbaus, der Anzahl der Phasen usw. Diese Ergänzung des generischen Modells 7 mit Parametern des spezifischen Elektromotors ist mittels der spezifischen Informationen 4 zu dem spezifischen Elektromotor hinterlegt.
-
Das in 2 schematisch gezeigte System gemäß einem zweiten bevorzugten Ausführungsbeispiel der Erfindung entspricht dem System aus 1 mit der Ergänzung, dass zusätzlich eine Bedienoberfläche 11 vorgesehen ist, mittels der der Nutzer die textuelle Beschreibung 1 bedaten kann. Dies erleichtert die Bedienung des Systems und kann zur Reduzierung von Fehlern beim Bedaten der textuellen Beschreibung 1 dienen.
-
Ein System gemäß einen dritten bevorzugten Ausführungsbeispiel der Erfindung ist schematisch aus 3 ersichtlich. Das dortige System ist in der Lage, nicht nur einen sondern zwei unterschiedliche spezifische Elektromotoren zu simulieren. Dazu sind eine weitere spezifische Bibliothek 8 mit mathematischen Operationen 9a, 9b, 9c, 9c, ... sowie weitere spezifische Informationen für den zweiten Motor vorgesehen. Im Übrigen entspricht der Aufbau dieses Systems dem Aufbau des aus 1 ersichtlichen Systems.
-
Aus 4 ist nun ein Ablaufdiagramm eines Computer-implementierten Verfahrens zur Echtzeit-Simulation des Betriebs eines spezifischen elektrischen Motors gemäß dem ersten bevorzugten Ausführungsbeispiel der Erfindung ersichtlich. Dieses Verfahren kann somit auf dem aus 1 ersichtlichen System implementiert werden. Das in 4 gezeigte Verfahren weist folgenden Verfahrensschritten auf:
- Schritt S1: Bereitstellen eines dem generischen Motormodell 7 entsprechenden generischen Gleichungssystems, das von seiner Struktur her für alle Arten von spezifischen elektrischen Motoren dasselbe ist.
- Schritt S2: Empfangen von spezifischen, dem spezifischen zu simulierenden Motor entsprechenden Informationen 4 für das generische Gleichungssystems und Eingabe dieser Informationen in das generische Gleichungssystem, so dass das generische Gleichungssystem zu einem spezifischen Gleichungssystem wird, das den Betrieb des spezifischen Motors beschreibt und die Berechnung des Betriebs des spezifischen Motors mit einer vorbestimmten Abtastrate mit Hilfe von Matrizenoperationen ermöglicht.
- Schritt S3: Erzeugen einer spezifischen Bibliothek 3, die wenigstens einen Teil der für die Matrizenoperationen erforderlichen Rechenoperationen für die Berechnung des Betriebs des spezifischen Motors enthält.
- Schritt S4: Implementieren von Verweisen in dem generischen Motormodell 7 auf die Rechenoperationen 2a, 2b, 2c, 2d, ... der spezifischen Bibliothek 3, die für die Echtzeit-Simulation des Betriebs des spezifischen elektrischen Motors erforderlich sind.
- Schritt S5: Simulieren des Betriebs des spezifischen elektrischen Motors durch Ausführen des generischen Motormodells 7 auf der Simulator-Recheneinheit 5 unter Verwendung der der in der spezifischen Bibliothek 3 enthaltenen Rechenoperationen 2a, 2b, 2c, 2d, ..., auf die in dem generischen Motormodell 7 verwiesen ist.
-
Aus 5 schließlich ist ein Ablaufdiagramm eines Computer-implementierten Verfahrens zur Echtzeit-Simulation des Betriebs eines spezifischen elektrischen Motors und eines weiteren spezifischen elektrischen Motors gemäß dem dritten bevorzugten Ausführungsbeispiel der Erfindung ersichtlich. Dieses Verfahren kann somit auf dem aus 3 ersichtlichen System implementiert werden. Das in 5 gezeigte Verfahren weist neben den oben genannten Schritten S1 bis S5 für den ersten zu simulierenden spezifischen elektrischen Motor die folgenden Verfahrensschritten auf:
- Schritt S6: Empfangen von weiteren spezifischen, dem weiteren spezifischen zu simulierenden Motor entsprechenden Informationen 10 für das generische Gleichungssystems und Eingabe dieser Informationen in das generische Gleichungssystem, so dass das generische Gleichungssystem zu einem spezifischen Gleichungssystem wird, das den Betrieb des weiteren spezifischen Motors beschreibt und die Berechnung des Betriebs des spezifischen Motors mit einer vorbestimmten Abtastrate mit Hilfe von Matrizenoperationen ermöglicht.
- Schritt S7: Erzeugen einer weiteren spezifischen Bibliothek 8, die wenigstens einen Teil der für die Matrizenoperationen erforderlichen Rechenoperationen für die Berechnung des Betriebs des weiteren spezifischen Motors enthält.
- Schritt S8: Implementieren von Verweisen in dem generischen Motormodell 7 auf die Rechenoperationen 9a, 9b, 9c, 9d, ... der weiteren spezifischen Bibliothek 8, die für die Echtzeit-Simulation des Betriebs des weiteren spezifischen elektrischen Motors erforderlich sind.
- Schritt S9: Simulieren des Betriebs des spezifischen elektrischen Motors durch Ausführen des generischen Motormodells 7 auf der Simulator-Recheneinheit 5 unter Verwendung der der in der spezifischen Bibliothek 3 enthaltenen Rechenoperationen 2a, 2b, 2c, 2d, ..., auf die in dem generischen Motormodell 7 verwiesen ist, und Simulieren des Betriebs des weiteren spezifischen elektrischen Motors durch Ausführen des generischen Motormodells 7 auf der Simulator-Recheneinheit 5 unter Verwendung der der in der weiteren spezifischen Bibliothek 8 enthaltenen Rechenoperationen 9a, 9b, 9c, 9d, ..., auf die in dem generischen Motormodell 7 verwiesen ist, wobei zum Simulieren des Betriebs des spezifischen elektrischen Motors einerseits und zum Simulieren des Betriebs des weiteren spezifischen elektrischen Motors andererseits zwischen der spezifischen Bibliothek 3 und der weiteren spezifischen Bibliothek 8 hin und her geschaltet wird.
-
Bezugszeichenliste
-
- 1
- textuelle Beschreibung
- 2a
- mathematische Operation
- 2b
- mathematische Operation
- 2c
- mathematische Operation
- 2d
- mathematische Operation
- 3
- spezifische Bibliothek
- 4
- spezifische Informationen
- 5
- Simulator-Recheneinheit
- 6
- programmierbaren Logikbaustein
- 7
- generisches Motormodell
- 8
- weitere spezifische Bibliothek
- 9a
- mathematische Operation
- 9b
- mathematische Operation
- 9c
- mathematische Operation
- 9d
- mathematische Operation
- 10
- weitere spezifische Informationen
- 11
- grafische Benutzeroberfläche