Servoventile werden in vielen pneumatischen und servohydraulischen Bereichen eingesetzt. Hierbei ist das Ziel den Druck oder den Fluss eines Mediums (Luft oder Hydraulikflüssigkeit) präzise und schnell auf den gewünschten Wert zu regeln.
Das folgende Bild zeigt den schematischen Aufbau eines typischen Servoventils.

Der Steuerkolben reguliert den Fluss des Mediums. Der Linearmotor auf der rechten Seite ist ein Aktor, über den die Position des Steuerkolbens beeinflusst werden kann. Auf der linken Seite befindet sich ein LVDT (Linear Variable Differential Transformer). Dies ist ein Positionssensor, über den die aktuelle Istposition des Kolbens ausgelesen werden kann.
Der P-Anschluss wird an die Pumpe angeschlossen. In pneumatischen Anlagen ist dies ein Kompressor, in hydraulischen eine Hydraulikpumpe. T steht für Tank. A und B sind die Arbeitsanschlüsse, welche mit einem Zylinder, Motor oder sonstigen Aktor angeschlossen werden. In den folgenden Bildern ist der Kolben in zwei Positionen gezeigt. Auf der linken Seite wird P auf A geschaltet, und B auf T. Auf der rechten Seite ist es umgekehrt: P auf B, A auf T.

Abhängig von den verwendeten Sensoren und Aktoren werden zuerst die IO-Module bestimmt. Für die Auswertung des LVDT kann ein CM-090-001 Modul verwendet. Auf dieses können bis zu 4 LVDT unabhängig voneinander ausgelesen werden. Für die Ansteuerung des Linearmotors (maximal Strom 3A) kann ein CM-080-001 verwendet werden. Dieses Modul hat drei Leistungs-PWM-Ausgänge, welche in Summe 4A Strom liefern.
Die CPU-Module haben immer die gleiche Funktionalität, lediglich die Leistungsfähigkeit unterscheidet sich. Abhängig von den verwendet Algorithmen und der erforderlichen Zykluszeit wird ein adäquates CPU-Modul ausgewählt. In diesem Beispiel haben wir ein CM-001-001 gewählt. Dieses mag ein vielfaches der Leistung der Serienhardware bringen, dennoch ist es die richtige Wahl: Bei RCP geht es nicht um Effizienz, sondern darum in der kürzesten Zeit die meisten Resultate zu erbringen. Und hierzu gehört auch, Algorithmen schnell ohne jede Optimierung testen zu können.

Für den Anfang empfiehlt sich grundsätzlich eine Überprüfung der Sensoren und Aktoren. Die simpelste Software hierfür ist vollkommen ausreichend. Alle Sensorwerte sollten auf ihre Plausibilität hin überprüft werden, und die Aktoren sollten über ihren gesamten Verfahrbereich hin getestet werden. Aufbauend auf diesem simplen Ansatz werden dann nach und nach Funktionen und Regler hinzugefügt. Folgendes Bild zeigt eine simples Matlab® Modell, welches den LVDT Wert in Display 5 anzeigt. Über die Konstanten PWM_U und PWM_V kann der Linearmotor angesteuert werden.

In diesem Video wird der Code erzeugt, und das compilierte Modell auf das CENTURIO M Modell geladen. Danach wird eine Verbindung über den "External Mode" hergestellt. Das bedeutet, dass Parameter, welche im Matlab® Modell geändert werden, sofort auf auf das Target geladen werden. Gleichzeitig können Daten vom Target hochgeladen werden, um auf dem PC in Displays oder Scopes visualisiert zu werden.
Der erste zu erstellende Regler ist der Stromregler. Dieser wird in diesem einfach gehaltenen Beispiel als PID Regler ausgeführt.

Das folgende Bild zeigt im oberen Bereich den Strom Soll-/Istwert, im unteren Bereich die noch ungeregelte Position des Steuerkolben.

Im nächsten Schritt wird ein Positionsregler implementiert. Da es hier nur um den typischen Ablauf des Rapid Control Prototyping mit CENTURIO M geht, wird ebenfalls nur ein simpler PID Regler verwendet.

Im oberen Bereich ist jetzt der Strom Soll-/Istwert zu sehen, im unteren Bereich der Positions Soll-/Istwert:

Der Übersichtlichkeit halber werden die einzelnen Regler in Subsystemen gekapselt:

Neben der Regelung der Kolbenposition sind natürlich noch weitere Informationen von großem Interesse: Der Druck von P, A und B, und sofern ein Zylinder bewegt wird, dessen Position. So kann der Aufbau um weitere Sensoren erweitert werden.