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:

  1. Fügen Sie den Sample-Treiber als neuen Kommunikationskanal in das Projekt ein.
  2. Browsen Sie die Variablen im Namensraum DistillationDevice in Ihr Projekt.
  3. Erzeugen Sie anschließend eine interne Variable mit dem Namen SwitchDistillationDeviceUnit. Klicken Sie dazu doppelt auf den Projektexplorerknoten Variablen > Kanäle > Intern. 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.
  4. Ä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:

  1. Wählen Sie im Kontextmenü des Knotens Variablen > Multiplexer den Eintrag Neu.
  2. Ändern Sie folgende Parameter des neu eingefügten Multiplexers über die Eigenschaftenseiten:
    Name = MuxUnits
    Umschaltvariable = SwitchDistillationDeviceUnit
  3. Legen Sie auf der Karteikarte Erweitert drei neue Umschaltzustände mit den Werten 1, 2 und 4 fest. Verwenden Sie dabei zum Hinzufügen neuer Listeneinträge die Schaltfläche Hinzufügen.

  4. Öffnen Sie den Tabelleneditor über einen Doppelklick auf den Knoten und fügen Sie hier über den Kontextmenüeintrag Neu zwei neue Variablensätze ein.
  5. Ändern Sie in der Spalte Alias die Werte der beiden neuen Datensätze auf Kondensation und WaterTank.
  6. Wählen Sie in der Spalte, die den Umschaltzustand 1 repräsentiert, die Variablen DistillationDevice.Unit1.Kondensation und DistillationDevice.Unit1.WaterTank aus.
  7. Wiederholen Sie den vorhergehenden Schritt für die beiden anderen freien Spalten. Wählen Sie hier die entsprechenden Variablen aus den Namensräumen Unit2 und Unit3 aus.

  8. Wechseln Sie zum Projektexplorerknoten Variablen > Multiplexer > Konfiguration und wählen Sie auf den Eigenschaftenseiten für den Multiplexer MuxUnits den aktiven Umschaltzustand 1 aus. Der aktive Umschaltzustand bestimmt einerseits, welcher Variablenname im Variablenauswahldialog als Hilfsinformation zur gewählten Multiplexervariablen angezeigt wird. Andererseits legt er fest, zu welchem Umschaltzustand gewechselt wird, wenn der Wert der Umschaltvariablen keinem Umschaltzustand entspricht.
Tipp:

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:

  1. Ö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.

  2. Platzieren Sie ein zweites Steuerelement vom Typ VarOut. Wählen Sie hier über VariableName die Multiplexervariable WaterTank.
  3. 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.
  4. 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.