next up previous contents
Next: Echtzeitsteuerung unter Multitasking-Systemen Up: Regelung des Pendelsystems Previous: Regelung des Pendelsystems

Wahl eines geeigneten Systems für die Steuerung

  Bevor die Hardwaresteuerung implementiert werden konnte, mußte zuerst ein geeignetes System gefunden werden, welches die nicht geringen Anforderungen der Steuerung an die Echtzeitfähigkeit des Systems erfüllt. Das genaue Einhalten des Zeittaktes, was für das Lernen und Steuern mit dem neuronalen Netz essentiell ist, führt in einem nicht echtzeitfähigen Betriebssystem zu großen Problemen. Da zur Steuerung kein spezielles Echtzeitsystem zur Verfügung stand, mußte die Steuerung mit einem Standardsystem durchgeführt werden. Windows ist für Echtzeitanwendungen prinzipiell nicht geeignet, da bei Windows 3.11 kein preemptatives Multitasking existiert, und bei Windows 95 oder NT der Prozeßwechseltakt nicht beeinflußt werden kann. Unter DOS ist es zwar möglich, wenn nur das Steuerprogramm läuft und die Hardware direkt angesteuert wird. Dazu muß das Steuerprogramm aber auch unter den eingeschränkten Möglichkeiten von DOS funktionieren, was u.a. bedeutet: kein Multitasking, nur 640 KB Speicher und 16-Bit Speichermodell.

Für unsere Steueraufgabe mit einem neuronalen Netz reicht diese Leistungsunfähigkeit nicht aus. Daher wurde die Steuerung unter dem UNIX tex2html_wrap_inline3472 kompatiblen System Linux implementiert. Dies hat auch noch den großen Vorteil, daß das komplette System im Quellcode verfügbar ist und an entsprechende Anforderungen angepaßt werden kann. Außerdem ergibt sich durch Verwendung eines UNIX tex2html_wrap_inline3472 Systems der große Vorteil, daß die Anwendung leicht portierbar bleibt. Wie in Kap. gif dargelegt, läuft die Simulation auf den unterschiedlichsten Rechnern. Die Hardwaresteuerung funktioniert aber nur auf PCs, in denen die originale Schnittstellenkarte eingebaut ist. Da der Gerätetreiber für die Hardware aber vollkommen gekapselt ist und nur über eine wohldefinierte Schnittstelle angesprochen wird, sollte eine Portierung der Hardwaresteuerung auf andere Hardware möglich sein.

Um nun die oben geforderte Echtzeitfähigkeit auf einem Linux System zu erreichen, sind die im folgenden beschriebenen Anpassungen erforderlich. Dazu wird erst etwas über Prozeßwechselstrategien, Scheduling genannt, ausgeholt. Genauere Information über Scheduling finden sich z.B. in Hier93 oder anderen Büchern über die UNIX-Architektur.


next up previous contents
Next: Echtzeitsteuerung unter Multitasking-Systemen Up: Regelung des Pendelsystems Previous: Regelung des Pendelsystems

Marius Heuler
Tue Jan 7 12:11:50 MET 1997