Anwendungsbeispiel für Multiplexer
Technisch gesehen ist ein Multiplexer ein Mehrfachumschalter. In der Praxis wird über Multiplexer eine Umschaltung von Variablensätzen erreicht. Liegen beispielsweise Daten mehrerer Regler in der SPS, kann in der Applikation über einen Multiplexer eine Ansicht projektiert werden, die jeweils die Daten eines Reglers anzeigt, dabei aber über einen Umschalter zwischen den Reglern wechselt.
Beispiel
Eine typische Anwendung eines Multiplexers kann anhand des Sample-Treibers gezeigt werden. Hier sind drei gleichartige Datenstrukturen (DistillationDevice.Unit1..3) enthalten, die über einen Multiplexer umschaltbar darzustellen sind.
Über die Verwendung eines Multiplexers wird der Aufbau der Applikationsoberfläche vereinfacht. Es müssen nur noch für eine Datenstruktur Steuerelemente projektiert werden. Das wiederholte Platzieren und Parametrieren von Steuerelementen, die sich nur in der Variablenanbindung unterscheiden, entfällt.
Variablendefinitionen einfügen
Führen Sie zum Einfügen der nötigen Variablendefinitionen folgende Schritte aus:
- Fügen Sie den Sample-Treiber als neuen Kommunikationskanal in das Projekt ein.
- Browsen Sie die Variablen im Namensraum DistillationDevice in Ihr Projekt.
- Erzeugen Sie anschließend eine interne Variable mit dem Namen SwitchDistillationDeviceUnit. Klicken Sie dazu doppelt auf den Projektexplorerknoten . Fügen Sie anschließend die Variable im so geöffneten Tabelleneditor über die Taste F8 ein. Diese Variable wird dazu verwendet, den Multiplexer umzuschalten.
- Ändern Sie den Initialwert der Variablen über die Eigenschaftenseiten auf 1. Klicken
Sie dazu auf die Variablendefinition im Tabelleneditor. Wechseln Sie anschließend auf die Karteikarte
Optionen/Ersatzwert. Aktivieren Sie hier die Optionen Beim Start
senden und In Variable eintragen und geben Sie im Feld
Ersatzwert eine 1 ein.

Multiplexer definieren
Führen Sie folgende Schritte aus, um einen Multiplexer im Projekt zu definieren:
Interne Variablen haben im Normalfall im Variablenserver ein Abbild. Sie werden jedoch nicht mit einer SPS ausgetauscht.
Im Client-Server-System ist es allerdings nicht gewünscht, dass ein Client die Steuervariable eines Multiplexers umschaltet und andere Clients dadurch automatisch eine verändert Ansicht erhalten. Dazu gibt es in der Variablendefinition die Option Clientintern.
Ansicht erstellen
Führen Sie folgende Arbeitsschritte aus, um eine Ansicht zu erzeugen, in der die Anzeigeelemente zwischen den drei SPS-Einheiten umschalten:
- Öffnen Sie eine View (z. B. MainView1) und platzieren Sie hier ein Steuerelement vom
Type VarOut zur Anzeige der über den Multiplexer umgeschalteten Variable
Kondensation. Wählen Sie über den Auswahldialog in der Eigenschaft
VariableName die entsprechende Variable Kondensation aus dem
Zweig Multiplexer aus.

- Platzieren Sie ein zweites Steuerelement vom Typ VarOut. Wählen Sie hier über VariableName die Multiplexervariable WaterTank.
- Platzieren Sie drei Steuerelemente vom Typ RadioSwitch zum Umschalten des Multiplexers. Legen Sie hier über die Eigenschaft VariableName die interne Variable SwitchDistillationDeviceUnit fest. Geben Sie in der Eigenschaft BitNumber für das erste Element den Wert 0, für das zweite Element den Wert 1 und für das letzte Element den Wert 2 an.
- Starten Sie das Projekt über F5.
Es dauert einige Sekunden (etwa 20), bis die Simulation im Sample-Treiber Wertänderungen anzeigt.
Beim Anlegen der internen Variablen SwitchDistillationDeviceUnit haben Sie den Initialwert auf 1 gesetzt. Das so gesetzte Bit 0 dieser Variablen wird schon beim Start des Projekts farblich durch das erste RadioSwitch-Element gekennzeichnet. Mehrere RadioSwitch-Steuerelemente bilden hier ein Feld, in dem zu einem Zeitpunkt jeweils nur ein Element aktiv sein kann.
Wenn Sie nun die anderen beiden RadioSwitch-Steuerelemente drücken, schalten Sie die Umschaltvariable jeweils zu den Werten 2 oder 4. Diese Werte wurden als Umschaltzustände in der Multiplexerdefinition festgelegt. Durch die Umschaltung werden die Datenquellen der VarOut-Steuerelemente auf die entsprechenden Variablen der Namensräume Unit2 und Unit3 umgeschaltet.

