Lizenz zum Steuern erteilt - neue

Transcription

Lizenz zum Steuern erteilt - neue
ANTRIEBSTECHNIK
ANTRIEBSREGELUNG UNTER REAL-TIME LINUX
Lizenz zum
Steuern erteilt
Vorbei die Zeiten, in denen man sich in ein proprietäres RT-OS einarbeiten musste und von einem Hersteller abhängig war. In der Anlage läuft nun das
gleiche stabile Betriebssystem wie auf dem Rechner,
der im Büro unterm Schreibtisch steht – Linux mit
RT-Erweiterung. „Besonders die in der SuSE-Distribution vorhandenen Internet Features wie E-Mail,
WebServer und FTP machen das System für die neue
Steuerungsgeneration fit“, weiß Wolfgang Gertzen
von Micromatik. Er hat das System auf Herz und
Nieren geprüft – will er doch damit hochdynamische
Antriebssteuerungen realisieren.
Die Regelung der 330 A-Pulswechselrichter von Micromatic erfolgt unter
RT-Linux
I
m Rahmen eines Entwicklungsprojekts der Firma Micromatik
sollte geklärt werden, ob sich Linux bzw. RT-Linux für die Steuerung
und Regelung von elektrischen Antrieben eignet. Eingesetzt wurde
hierbei eine SuSE 7.0-Distribution,
auf der RT-Linux V2.3 installiert wurde. SuSE 7.0 bietet neben dem eigentlichen Linux-Basis-System auch
ein gutes Installations- und Administrationswerkzeug. Weiterhin enthält diese Distribution ein extrem
umfangreiches Paket an kostenloser
Software – vom simplen Editor über
SQL-Datenbanken und Web-Server
bis hin zum kompletten Office Paket
ist alles dabei. Und mit dem KDEProjekt ist eine grafische Benut-
zeroberfläche entstanden, die den
Vergleich mit Windows nicht scheuen muss. Mittlerweile gibt es viele
KDE-konforme Programme, die wie
unter Windows ein einheitliches Erscheinungsbild bzw. Benutzerinterface haben.
Real-Time-Linux ist eine Echtzeit Erweiterung für einen Standard-Linux-Kernel, entwickelt von Victor
Yokaiden von FSMLabs. Yokaiden
hat mittlerweile ein Patent für RT-Linux angemeldet, was für Unmut in
der Open-Source-Gemeinde gesorgt
hat (s. a. IEE 6/2001, S. 40). Der Ansatz von RT-Linux basiert darauf, einen Echtzeit-Kernel dem eigentlichen Betriebssystem zu unterlagern.
Der RT-Kernel verwaltet das Inter-
Beim VMEbus muss ein Interrupt über die VME-PCI-Bridge, die schnellere CPU des
Gamma7-Boards kompensiert allerdings diese zusätzliche Verzögerung
54
rupt-Handling und lässt als sog. IdleTask das eigentliche Linux-System
laufen. Vom normalen Linux aus
wird nun nicht mehr direkt auf den
PIC (Programmable Interrupt Controller) zugegriffen, da das IRQHandling nun komplett im RTKernel erfolgt. Allerdings wird der
Linux-Kernel selbst nicht echtzeitfähig – Echtzeitfähig sind nur die
Tasks/Threads parallel zum Linux
Kernel. Linux-Prozesse und RT-Tasks
kommunizieren über FIFOs (bei
serieller Kommunikation) und/oder
feste Speicherbereiche (bei Datenblöcken).
Strom-, Drehzahl- und Lageregler unter RT-Linux
Hat man den RT-Linux Kernel gebootet, steht ein echtzeitfähiges System
zur Verfügung. Unter midas.psi.ch/
rtlinux ist ein Programm (LPT-Demo)
verfügbar, mit dem man direkt über
die parallele PC-Schnittstelle die Interrupt-Latenzzeit messen kann. Als
Steuerungsplattform wurde der
VMEbus-Rechner Gamma7 von Rotec verwendet. Bei ihr wurde die Latenz-Zeit eines Interrupts am VMEBus betrachtet. Dazu löste eine
VME-Baugruppe einen Interrupt
aus, der dann mit einem Schreib-
iee 46. Jahrgang 2001, Nr. 8
zugriff in der Interrupt-Service-Routine wieder zurückgenommen wurde. Gemessen wurde die Zeit zwischen fallender und steigender Flanke des IRQ-Signals. Hier gilt es zu
beachten, dass im Gegensatz zum
LPT-Demo der Interrupt nicht direkt
am Interrupt Controller ausgelöst
wird, sondern das die VME-PCI
Bridge dazwischen liegt. Es ist eine
Ebene mehr zu durchlaufen als beim
LPT-Demo. Generell kann die Latenzzeit eines Betriebssystems aber
nur so gut sein, wie es die HardwarePlattform überhaupt zulässt.
Der Einsatz eines Standard-Betriebssystems mit Echtzeitverhalten bietet
viele Vorteile und neue Möglichkeiten, z. B. entfällt das Cross-Compiling. Man kann die Entwicklungsumgebung sogar auf dem Zielsystem
selbst installieren. So steht immer
das passende Werkzeug bereit. Wird
bei der Softwareentwicklung darauf
geachtet, die Zugriffe auf spezielle
Hardware zu kapseln, und lässt sich
die Hardware sogar simulieren,
dann können Entwicklung und Test
sogar größtenteils auf einem Stan-
iee 46. Jahrgang 2001, Nr. 8
dard-Desktop stattfinden. Die Software für dieses Entwicklungsprojekt
war teilweise schon fertig, bevor
überhaupt das CPU-Board zur Verfügung stand. Auch später wurden immer wieder Tests und Simulationen
der Regelungssoftware auf einem
Büro-PC durchgeführt.
Das CPU-Board ist in das bestehende
Micromatik-Steuerungssystem eingebaut worden. Dieses besteht aus
einem VME-System mit eigenentwickelten Baugruppen und der
ebenfalls selbst entwickelten Leistungselektronik. Die Gamma7 liest
einen Inkrementalgeber zur Erfassung der Ist-Werte des Antriebs ein
und gibt gemäß der Regelungssoftware die neuen Stellwerte an dem
Pulswechselrichter, der einen 122
KW Motor speist.
Zykluszeiten unter 250 µsec kein Problem für RT-Linux
Die Regelung muss hochdynamisch
erfolgen – dies spiegelt sich in Zykluszeiten von 250 bis 500 µsec wider.
Die Regelung ist als Echtzeit Task
Dipl.-Ing. Wolfgang Gertzen, Entwickler bei der Micromatik GmbH
realisiert und benötigt maximal 60
µs Rechenzeit pro Durchlauf. Der Regelungstask konnte entweder mit
einem Hardware-IRQ oder einem RTLinux Timer periodisch angestoßen
werden. Auch bei Abtast-Intervallen
von 250 µs, d. h. ca. 25% der CPU-
55
ANTRIEBSTECHNIK
ANTRIEBSREGELUNG UNTER REAL-TIME LINUX
Die hochdynamische Regelung verlangt
Zykluszeiten
von 250 µsec für
die Ausgabe der
Stellgrößen für
Drehzahl- und
Stromregler
Funktionalitäten wie
Web-Server oder
E-Mail
dürfen in
heutigen
Steuerungskonzepten
nicht mehr
fehlen
Leistung entfielen auf die Regelung,
war ein flüssiges Arbeiten mit dem
Linux-System (Visualisierung, Datenanalyse, Web-Server etc.) möglich.
Die Interruptlast führte während
der 5-wöchigen Entwicklung und
Versuchsphase im Labor nie zu Störungen des eigentlichen Linux-Systems.
Wichtige Steuerungseigenschaften frei Haus
Die Regelungssoftware arbeitet nur
auf einem Shared Memory, die Zugriffe auf die eigene Spezialhardware erfolgen in einem separaten
Modul. Diese Aufteilung ermöglichte die Vorentwicklung und Simulation auf einem Desktop Linux PC.
Über den Shared-Memory kommunizierte die Regelung mit der Visualisierungssoftware, die als KDEApplikation in C++ erstellt wurde.
Um Zugriffe über das Internet mit
einem Browser zu ermöglichen,
wurde der lizenzfreie Web-Server
Apache als weitere Visualisierung
eingesetzt. Dazu wurden CGI-Skripte erstellt, die lesend auf den
Shared-Memory zugreifen und die
56
Daten mittels HTML-Code darstellen. Ein weiteres Internet-Feature –
das Versenden des Anlagenstati via
Email – wurde über das Programm
sendmail realisiert.
Beim Test und der Optimierung der
Regelung waren zwei Werkzeuge
von entscheidender Bedeutung: Das
Programm ’gnuplot‘ wurde verwendet, um mathematische Funktionen
und Messwert-Reihen grafisch darzustellen. Für den Entwurf und Test
der Regelung kam das frei verfügbare Programm ’Octave‘ zum Einsatz,
ein mit Mathlab vergleichbares
Hochsprachen-Werkzeug zur numerischen Berechnung und Darstellung
mathematischer Funktionen.
Mit der Kombination von RT-Linux
und der Gamma7 steht ein System
zur Verfügung, das die Vorteile eines äußerst stabilen Desktop-Betriebssystems nutzt und gleichzeitig
die Echtzeitanforderungen der Automatisierung erfüllt. Die von Micromatik gestellten Anforderungen
sind zur vollen Zufriedenheit gelöst
worden. RT-Linux hat gezeigt, dass
es sich für den Einsatz in der Automatisierung eignet.
iee 46. Jahrgang 2001, Nr. 8
Hardware-Plattform für
den Antriebsregler
Die HardwarePlattform für
das Linux System
ist ein VME-PC Gamma7 von Rotec Industrieautomation, die seit letzten
Herbst zu Kontron gehören (Geschäftseinheit
Automation).
Der VME-Bus bietet die zur
komplexen Antriebsregelung
erforderlichen
Eigenschaften
wie Deterministik durch entsprechende Interrupt-Struktur,
lineare Adressierung, Master/
Slave-Zugriffe, elektrische abgeschlossene Bussignals usw.
Der Gamma7 ist ein kompletter
PC mit VME-Bus Master/Slave Interface mit:
Prozessor: Intel Pentium III
Embedded Module, 500 MHz
Taktfrequenz, L1/L2-Cache
Max. 256MB RAM
Intel 82440BX AGPset:
82443BX Host Bridge Controller und 82371EB PCI ISA IDE
Controller (PIIX4E)
Super-VGA mit PCI-Interface,
Lynx 3DM mit 4/8MB Grafikspeicher
CRT/ LCD direkt anschließbar
Ultra DMA/33 Schnittstelle für
2 IDE-Drives
Massenspeicher mit IDE-HDD
oder IDE-Flash Disc
VME-to-PCI Bus Bridge (PCI 2.1
und VME64 compliant)
Ethernet mit 10Base-T und
100 Base-Tx nach IEEE802.3,
NE2100 kompatibel,
allen Standard-PC-Schnittstellen
I/O-Erweiterungen über ISAbus oder PC/104
Watchdog-Timer
NMI-Timer für Echtzeitbetrieb
Shared nonvolatile SRAM
Gamma7
CPU-Board
iee 46. Jahrgang 2001, Nr. 8
761
57