# Sekundenereignis in WinCCflexible



## extruder_luder (26 Januar 2010)

Hallo, 
ich habe ein MP370 von Siemens. Nun möchte ich ein Skript jede Sekunde einmal aufrufen. Der Aufgabenplaner gibt als kleinstes Intervall jedoch nur eine Minute her. Kennt jemand einen Trick um ein 1 Sekundenintervall zu erzeugen. Es muss auch ohne angeschlossene SPS funktionieren, d.h. den Taktmerker der S7 kann ich nicht benutzen.

Vielen Dank schon mal im voraus.


----------



## Larry Laffer (26 Januar 2010)

Hallo,
da kannst du nur einen Taktmerker nehmen - den würde ich allerdings für Script-Funktionen NIEMALS auf 1 Sek setzen. Du würdest hier m.E. sehr schnell einen Überlauf des Script-Handlers erhalten ...

Gruß
LL


----------



## Onkel Dagobert (26 Januar 2010)

Hallo Luder,

theoretisch könnte es zumindest innerhalb eines Bildes gehen.



interne Integervariable anlegen
diese unter Bildeigenschaften -  Ereignis "Aufgebaut" mit "SimuliereVariable" verändern (Basistakt 200ms)
bei Änderung der Variable Script ausführen

Gruß, Onkel


----------



## Larry Laffer (27 Januar 2010)

@Onkel:
meines Wissens werden die Ereignisse wie z.B. "Wert-Änderung" bei internen Variablen nicht ausgewertet / überprüft ... 

Gruß
LL


----------



## extruder_luder (27 Januar 2010)

Hallo Onkel,

es stimmt leider das die Änderung der Variablen nicht ausgewertet wird solange sie per "simuliere" verändert wird. D.h das Ereignis der Wertänderung wird nicht angestossen. Ändere ich dagegen die Variable per Eingabe, so wird das Ereignis getriggert.
Der Ansatz war/ist nicht schlecht und vielen Dank dafür. Leider funktioniert es nicht ganz.

Gruss

Extruder Luder


----------



## Waelder (27 Januar 2010)

wie beschrieben eine Variable (Bool) aus der SPS nehmen, die alle Xsec auf 1 setzen diese Variable im HMI auf ständig lesen setzen, dein Script bei wertänderung ausführen und im script so verarbeiten, dass 

1. es nur ausgeführt wird wenn die Variable 1 ist ansonsten macht dein script einen sprung ans ende. Der grund ist sonst passiert das auch bei 1->0 
2. Am ende des scripts die Variable auf 0 gesetzt wird  
aber ob du mit 1sec rankommst bezweifle ich.


----------



## extruder_luder (27 Januar 2010)

Hallo Waelder,

dass ich das Ereignis von der SPS aus triggern kann, weiss ich. Deshalb habe ich ja in meiner Fragestellung beschrieben, das es auch OHNE SPS gehen muss. Wenn ich es von der SPS aus haette machen koennen, haette ich erst gar nicht gefragt. Das Skript ist sehr klein, deshalb denke ich das OP wuerde das schaffen. Vielleicht bastel ich mir dafür ein ActiveX und binde es ein. Danke trotzdem.

Gruss

Oliver


----------



## Onkel Dagobert (29 Januar 2010)

Hallo Larry,



Larry Laffer schrieb:


> @Onkel:
> meines Wissens werden die Ereignisse wie z.B. "Wert-Änderung" bei internen Variablen nicht ausgewertet / überprüft ...
> 
> Gruß
> LL


 
Aha! Dann also keine interne Variable verwenden, sondern eine externe! Hierfür eine Verbindung anlegen und den Onlinestatus auf "off" setzen. Siemens macht es in den Demo-Projekten so.

Gruß, Onkel


----------



## Larry Laffer (30 Januar 2010)

@Onkel:
interessanter Ansatz - den kannte ich noch nicht. das kann ich sehr wahrscheinlich auch noch mal gut gebrauchen

Allerdings setzt das dann immer noch voraus, dass es diese Variable dann in der SPS gibt und (sehr wahrscheinlich auch) das es die Verbindung zur SPS gibt (Frage vom TE).

Gruß
LL


----------



## Kai (30 Januar 2010)

Larry Laffer schrieb:


> meines Wissens werden die Ereignisse wie z.B. "Wert-Änderung" bei internen Variablen nicht ausgewertet / überprüft ...


 
Siehe dazu auch die folgende Siemens-FAQ:



> *Tipps und Tricks für das Erstellen von Skripten*
> 
> *Warum wird ein Skript, das am Ereignis "Wertänderung" einer internen Variable projektiert ist, nicht ausgeführt?*
> 
> ...


 
ID26165877 Tipps und Tricks für das Erstellen von Skripten

Gruß Kai


----------



## Onkel Dagobert (30 Januar 2010)

Larry Laffer schrieb:


> ...Allerdings setzt das dann immer noch voraus, dass es diese Variable dann in der SPS gibt und (sehr wahrscheinlich auch) das es die Verbindung zur SPS gibt (Frage vom TE)...



Eine Verbindung muß angelegt werden. Die Variablen bekommen auch eine Adresse wie jede externe Variable. Die Steuerung muß jedoch nicht zwangsläufig online verhanden sein.

http://support.automation.siemens.com/WW/view/de/22900091
Siehe Runtime-Projekt ganz unten auf der Seite.

Voraussetzung für den Einsatz dieser Demo-Applikation ist *WinCC flexible 2008 SP1*.


Gruß, Onkel


----------



## extruder_luder (1 Februar 2010)

Hallo Kai,

funktioniert einwandfrei.

Besten Dank für den Tip.

Gruss

Oliver


----------

