# Automatischer Bildwechsel



## andree3005 (3 November 2008)

Hallo,

ich stehe momentan vor einem Problem und zwar steuere ich mein Projekt über ein MP277. Nun möchte ich gerne, dass ein automatischer Bildwechsel erfolgt. Es soll von jeder Seite aus nach einer bestimmten Zeit z.B. 2 Minuten  wieder der Startbildschirm angezeigt werden.
Ich würde es ja gerne über ein Skript realisieren.

Danke schonmal für jede Antwort

MfG


----------



## Ralle (3 November 2008)

Wie das mit einem Script geht kann ich dir nicht sagen, ich mache das von der SPS aus. Dazu habe ich eine SPS-Variable angelegt "OP_Bild". Diese wird mit dem Ereignis "Wertänderung" --> "AktiviereBildMitNummer" verküpft. Wenn ich von der SPS aus eine Bildnummer in diese Variable schreibe, wird dieses Bild geöffnet. Allerdings ist meine gesamte Navigation über diese Variable aufgebaut, auch im OP/TP selbst, so daß die Navigation sowohl von der SPS, als auch vom OP aus erfolgen kann. Somit führt die Variable "OP_Bild" auch immer die gerade angezeigte Bildnummer. Machst du das nicht, hast du das Problem, daß du ja irgendwie eine Änderung in dieser Variablen erfolgen muß.


----------



## johnij (3 November 2008)

andree3005 schrieb:


> Hallo,
> 
> ich stehe momentan vor einem Problem und zwar steuere ich mein Projekt über ein MP277. Nun möchte ich gerne, dass ein automatischer Bildwechsel erfolgt. Es soll von jeder Seite aus nach einer bestimmten Zeit z.B. 2 Minuten wieder der Startbildschirm angezeigt werden.
> Ich würde es ja gerne über ein Skript realisieren.
> ...


 
Wie Ralle erwähnt hat ist es besser den Bildwechsel aus der Steuerung zu machen

Mit einem Skript (Timer einsetzen) wäre es machbar ABER dein Skript könnte unter Umständen nicht ausgeführt werden (Priority problem)


----------



## Ralle (3 November 2008)

Ergänzung:

Man kann die ganze Aktion sicherlich auch über einen Steuerungsauftrag von der SPS aus machen, dann mußt du nicht über die Bildnavigation nachdenken.

z.Bsp. http://www.sps-forum.de/showthread.php?t=20991&highlight=Steuerungsauftrag

Such doch mal mit dem Stichwort "Steuerungsauftrag".


----------



## johnij (3 November 2008)

Es geht nämlich um den Steuerungsauftrag 51
Das findest Du in der WCF-Online Hilfe unter Bereichzeiger


----------



## Larry Laffer (3 November 2008)

Eine andere Variante, die mir auch gefallen würde wäre :
Beim Aufrufen der betreffenden Seite eine Zähl-Variable auf einen Wert setzen (Zeit in Minuten, nach der der Bildwechsel stattfinden soll).
Im Aufgabenplaner eine Aufgabe anlegen (Ausführung jede Minute), die ein Script aufruft. In diesem Script wird die Zählvariable, wenn sie größer 0 ist verringert. Ist sie 0, so wird zu der Start-Seite gewechselt.
Das ist auch ohne große VB-Programmier-Kenntnisse zu schaffen ...

Gruß
LL


----------



## hoktar (11 August 2009)

> Eine andere Variante, die mir auch gefallen würde wäre :
> Beim Aufrufen der betreffenden Seite eine Zähl-Variable auf einen Wert setzen (Zeit in Minuten, nach der der Bildwechsel stattfinden soll).
> Im Aufgabenplaner eine Aufgabe anlegen (Ausführung jede Minute), die ein Script aufruft. In diesem Script wird die Zählvariable, wenn sie größer 0 ist verringert. Ist sie 0, so wird zu der Start-Seite gewechselt.
> Das ist auch ohne große VB-Programmier-Kenntnisse zu schaffen ...
> ...


 
Ich stehe vor dem gleichen Problem und finde diese Lösung bisher am besten. Das dumme ist nur, das ich leider gar keine VB-Programier-Kenntnisse habe. Welche befehle brauche ich denn dazu?

MfG Bastian


----------



## Sinix (22 Februar 2010)

Falls sich nochmal jemand hierher verklickt:

dazu braucht es wohl kein VB-Script. Der Bildwechsel kann ja auch mit "Untergrenze unterschritten" erfolgen bei gleichzeitigen Setzen auf einen sehr großen Wert z.B. DINT von 1 Mio (Minuten). Wird in das Bild gewechselt wird wieder die kleine Minutenzahl bei Bild "Aufgebaut" gesetzt.


----------



## hoktar (25 Februar 2010)

> Falls sich nochmal jemand hierher verklickt:
> 
> dazu braucht es wohl kein VB-Script. Der Bildwechsel kann ja auch mit "Untergrenze unterschritten" erfolgen bei gleichzeitigen Setzen auf einen sehr großen Wert z.B. DINT von 1 Mio (Minuten). Wird in das Bild gewechselt wird wieder die kleine Minutenzahl bei Bild "Aufgebaut" gesetzt.


 
Ich habe es mal ausprobier und habe festgestellt, das die Variable mit der Untergrenze nicht geladen wird, wenn sie nicht in den Bildern gebraucht wird.

Also muss in jedem Bild, von welchem aus zurückgesprungen werden soll, die Variable mindestens einmal hinterleg sein, damit das ganze funktioniert.

MfG Hoktar


----------



## Larry Laffer (25 Februar 2010)

Naja, diesen Effekt könntest du dann auch erreichen, wenn du die Aktualisierung der Variablen auf "zyklisch fortlaufend" stellst.

Trotzdem ist aber doch nicht so einfach, wie von Mäuseklavier beschrieben, denn irgendwo muß ja auch noch etwas die Variable erhöhen (oder verringern).

Gruß
LL


----------



## hoktar (25 Februar 2010)

> Naja, diesen Effekt könntest du dann auch erreichen, wenn du die Aktualisierung der Variablen auf "zyklisch fortlaufend" stellst.



Aha, das werde ich morgen noch mal ausprobieren.



> Trotzdem ist aber doch nicht so einfach, wie von Mäuseklavier beschrieben, denn irgendwo muß ja auch noch etwas die Variable erhöhen (oder verringern).



Das habe ich einfach über den Tacktmerker in der SPS gelöst, das war das kleinste Problem daran. Schade ist halt, das es so eine Funktion nicht schon fertig gibt. Sollte ja eigentlich nicht so schwer sein.


----------



## Sinix (26 Februar 2010)

Larry Laffer schrieb:


> Naja, diesen Effekt könntest du dann auch erreichen, wenn du die Aktualisierung der Variablen auf "zyklisch fortlaufend" stellst.
> 
> Trotzdem ist aber doch nicht so einfach, wie von Mäuseklavier beschrieben, denn irgendwo muß ja auch noch etwas die Variable erhöhen (oder verringern).
> 
> ...



*verringert wird mit der von dir beschriebenen Aufgabe (Aufgabenplaner 1min, Funktion "Verringere Wert")

*erhöht wird nur einmalig auf einen hohen Wert (z.B. 1Mio) bei unterschreiten der Untergrenze "Setze Wert". Der Aufgabenplaner verringert nun diesen hohen Wert 1Mio Minuten = 16666,6h = 694 Tage = 1,9 Jahre
Das bedeutet bei einer Million würde in ca. 2 Jahren einmal unverhofft in das Startbild gesprungen. Man kann ja bei DINT aber auch höhere Werte setzen z.B 2 Mrd.


----------



## santero (11 März 2010)

mahlzeit,

habe auch ein problem in der art.möchte bilder variablengesteurt schalten.

hab schon mit "sichtbar"  usw. rummgespielt aber irgendwie will das nicht gehen.

hatte gegoogelt und gelesen das mit einem skript geht.also das bisschen VB krieg ich ihn.aber da iss wieder das problem das ich kein skript erstellen kann.habe das tp 177 b color oder so weiss nicht mehr genau.geht das damit überhaupt??

aber ihr meint die auswahl welche bilder aufgerufen werden und weleche nicht über die sps vorzunehmen.denke werd mir einen FC schreiben dafür.

 wäre dankbar für hilfe.

mfg santero


----------



## Larry Laffer (11 März 2010)

santero schrieb:


> habe das tp 177 b color oder so weiss nicht mehr genau.geht das damit überhaupt??



Nein ... kann es nicht ...


----------



## Sinix (12 März 2010)

santero schrieb:


> mahlzeit,
> 
> habe auch ein problem in der art.möchte bilder variablengesteurt schalten.
> 
> ...




Jedes Bild hat eine Nummer. Wenn du eine SPS-Variable "Int" nimmst, kannst du in WinCCflex unter "Ereignisse>Wertänderung" die Funktion "AktiviereBildmitNummer" aufrufen und als Var wiederum den "Int"-Wert nehmen...so ganz ohne VB-Script


----------



## santero (12 März 2010)

tut mir leid wenn ich mich jetzt blöd anstelle.aber wo soll  ich das jetzt  einstellen.

man kann ja links auf das bild  -> eigenschaften klicken.meint ihr da oder auf einem knopf  

bei dem bild ist unter eigenschaften nur aufgebaut und abgebaut​


----------



## Larry Laffer (12 März 2010)

was Mäuseklavier meint :
du hast eine Variable (z.B. vom Typ INT). Diese wird "zyklisch fortlaufend" aktualisiert. Bei dieser Variablen programmierst du bei "Wert-Änderung" den Aufruf der gewünschten Bildschirmseite. Die Nummer dieser Seite könnte hier der Wert in der Variablen sein. Welche (HMI-)Seite welche (Index-)Nummer hat kannst du in den Eigenschaften der Seite nachsehen ...

Gruß
LL


----------



## santero (12 März 2010)

achso jetzt versteh ich bei den variablen kann man auch eigenschaften einstelln

mir war nicht klar in welchem bildschirm/menü man das machen musste.

wunderbar dnake


----------



## santero (12 März 2010)

es geht ihr seid die besten leute:TOOL


----------

