# Multiplex Variable



## emilio20 (13 März 2011)

Hallo ich bin grade dabei eine Heizungssteuerung zu machen.  Ich habe eine Bild (Zeitsteuerung) wo ich alle Wochentage habe und zu jedem Tag gibt es einen Einschaltzeit und einen Ausschaltzeit im Format Time of day. Jetzt wollte ich in der Gesamtübersicht 3 Ausgabefeld haben, wo z.b der aktuelle Tag (Sonntag) die aktuelle Einschaltzeit, (6:00) ,und die aktuelle Ausschaltzeit (22:00) steht, dies sollte sich mit lauf der Wochentage aktualisieren.
also Tag: (Montag) Einschaltzeit (7:00) Ausschaltzeit (22:30). Ist das mit einer Multiplex Variable möglich ? Oder geht sowas nür über Skript?


----------



## Larry Laffer (13 März 2011)

Hallo,
so wie ich deine Beschreibung vom Hauptbild verstanden habe wäre das genau der Anwendungsfall für eine MUX-Variable ... Du würdest anhand des Wochentages zwischen den 7 Tages-Variablen für die jeweilige Funktion unterscheiden ...

Gruß
Larry


----------



## emilio20 (13 März 2011)

Ich lese aus der SPS Zeit die Wochentage aus und habe somt eine Variable zwischen 1 und 7 .  Wie kann ich das in wiccflexible lösen ? Wie funktioniert das mit der Multiplex?


----------



## PN/DP (13 März 2011)

emilio20 schrieb:


> Wie funktioniert das mit der Multiplex?


FAQ: Wie funktioniert das Variablen-Multiplexen?
FAQ: Wie funktioniert das Adress-Multiplexen?
und siehe WinCC flexible Hilfe.

Multiplex-Variablen können nicht in einem Skript verwendet werden.

Harald


----------



## emilio20 (16 März 2011)

Meine Variablem sind im format TIME of day .??


----------



## PN/DP (17 März 2011)

emilio20 schrieb:


> Meine Variablem sind im format TIME of day .??


OK, da geht Variablen-Multiplexen nicht. Aber Adress-Multiplexen.

Harald


----------



## emilio20 (19 März 2011)

wie get adressen multiplex ?


----------



## PN/DP (19 März 2011)

emilio20 schrieb:


> wie get adressen multiplex ?


Siehe Beitrag #4

Man kann die DB-Nummer und/oder die Adresse multiplexen.
Da Du wahrscheinlich alle TIME_OF_DAY-Variablen in 1 DB hast, mußt Du die Adresse multiplexen.
Achtung: in der Indexvariable muß die Anfangsadresse der TIME_OF_DAY-Variablen stehen, also z.B. 0, 4, 8, 12, ...

Harald


----------



## emilio20 (21 März 2011)

Ich komme immer noch nicht damit klar. Ich habe in meiner SPS eine Variable wo aus der aktueller Zeit der Wochentag ausgelesen wird Sonntag =1 Montag =2 usw.

Jetzt wollt in einem E/A Feld am Sonntag den Zeitihnhalt der DB 34 DBB0 stehen und am Montag DB 34 Dbb 4 usw.?


----------



## Paule (21 März 2011)

emilio20 schrieb:


> Ich habe in meiner SPS eine Variable wo aus der aktueller Zeit der Wochentag ausgelesen wird Sonntag =1 Montag =2 usw.


In diesem Fall ist das doch eine normale Integer/Byte Variable. 
In der HMI legst du dir eine Textliste an die den Wert von DB34.DBB0 ausgibt:


```
0 = ---
   1 = Sonntag
   2 = Montag
   ...
   7 = Samstag
```


----------



## emilio20 (21 März 2011)

Das meine ich nicht.

Ich habe in wicc flexible eine Seite Zeitschaltuhr wo jeder Wochentag aufgelistet ist. Zu jedem Wochentag gibt es eine Einschaltzeit und eine ausschaltzeit im Formt Time of day. In meiner SPS wir der wochentag abgefragt und die einsprechende einschaltzeit und ausschaltzeit bearbeitet.

Nun soll in Wincc auf einer neue Seite (Ölheizung) in einem E/A Feld nur vom aktuellen Tag die Einschaltzeit und in einem 2 E/A Feld die aktuelle Ausschaltzeit angezeigt werden.

der befehl müsste so heisen:

Wenn DB (Wochentag) 1 = Dann schreibe in TEXTFELD 1 den werd von DB ZEITSCHALTUHR SONNTAG EIN (6:00:00) und in TEXFELD 2 den Wert von DB ZEITSCHALTUHR SONNTAG AUS. (22:00:00)

Wenn  DB ( Wochentag 2 = Dann Schreibe TEXTFELD 1 den werd von DB ZEITSCHALTUHR Montag EIN (6:30:00) und in TEXFELD 2 den Wert von DB ZEITSCHALTUHR Montag AUS.(22:30:00)

usw.


----------



## Paule (21 März 2011)

emilio20 schrieb:


> Wenn DB (Wochentag) 1 = Dann schreibe in TEXTFELD 1 den werd von DB ZEITSCHALTUHR SONNTAG EIN (6:00:00) und in TEXFELD 2 den Wert von DB ZEITSCHALTUHR SONNTAG AUS. (22:00:00)


OK, dann vielleicht so:

```
L #Anwahl_Tag
   L 4
   *I
   ITD
   T #Zeiger  // (DWORD)
 
   AUF DB_Einschaltzeit
   L DBD [#Zeiger]
   T #Einschaltzeit // Variable im Panel
 
   AUF DB_Ausschaltzeit
   L DBD [#Zeiger]
   T #Ausschaltzeit // Variable im Panel
```


----------



## emilio20 (21 März 2011)

Ich wollte das aber über eine multiplex in wincc machen und nicht pber die sps.wie ist das möglich


----------



## Paule (21 März 2011)

emilio20 schrieb:


> Ich wollte das aber über eine multiplex in wincc machen und nicht pber die sps.wie ist das möglich


Du bist aber auch mit nichts zufrieden. 

Ja, sollte schon auch gehen:
Aber um das zu beschreiben müsste ich das erst mal selber anlegen.
Mal schauen, vielleicht hat das ja schon jemand gemacht und kann es auswendig.


----------



## emilio20 (21 März 2011)

was ist noch nicht so ganz verstehe ist wie eine multiplex funkoniert. Ist die indexvariable in meinen fall der Wochentag ?


----------



## Paule (21 März 2011)

emilio20 schrieb:


> was ist noch nicht so ganz verstehe ist wie eine multiplex funkoniert. Ist die indexvariable in meinen fall der Wochentag ?


>>> Ja <<<


----------



## emilio20 (21 März 2011)

Habs hin bekommen über ein Textfeld, da kann man sage wenn der wert 1 dann schreibe in Textfeld der wert einen variable.


----------



## bike (21 März 2011)

emilio20 schrieb:


> Habs hin bekommen über ein Textfeld, da kann man sage wenn der wert 1 dann schreibe in Textfeld der wert einen variable.



Also wenn ich recht lese hat dies mit einer Multiplex Variable nix zu tun.
Das sind einfache Textlisten.


bike


P.S: "Shift" hilft.


----------

