# WinCC flex Script wird nicht ausgeführt



## geduldiger (4 Juli 2007)

Hallo,

mein problem: Ich habe Scripte( In Wincc flexible) geschrieben die mir aus INT Werten in einem DB, welche Minuten dartsellen, eine Zeit (STD:MIN) in WinCC darstellen, habe schon ca 120 scripte geschrieben die alle gefunzt haben, aber jetzt hab ich ein paar DB werte die einfach nicht im Ausgabefeld bei WinCC flex in der runtime angezeigt werden, hab den VB code und die internen und externen Variablen auch schon hundert mal auf richtigkeit überprüft und alles sogar wieder neu angelegt und geschrieben, hab auch schon alles ein paar mal neu generiert weil ich viele A/E felder in WinCC kopiert habe...nichts tut sich, kann mir jemand helfen oder hat jemand schonmal von sowas gehört?


----------



## Kai (4 Juli 2007)

Hallo Gunnar,

werden denn alle Skripte abgearbeitet?  

In meiner Vorlage (siehe Anhang) befindet sich in jedem Skript ein Zähler (OP_ZEIT_SKRIPT, SPS_ZEIT_SKRIPT), der um 1 hochgezählt wird, wenn das Skript abgearbeitet wird. 

Hast Du einen solchen Zähler in Deinen Skripten und wenn ja, erhöht sich dieser Zähler, wenn die Skripte aufgerufen werden?

Gruß Kai


----------



## Larry Laffer (4 Juli 2007)

... wird dein Script nicht ausgeführt oder nicht korrekt bearbeitet ?
Ist die Variable, die du zuweisst eventuell eine aus der SPS ? Wenn ja, die wird von dort nämlich vorrangig beschrieben ...

Poste doch mal dein Script ...


----------



## Kai (4 Juli 2007)

Vielleicht hilft das hier weiter:

http://www.sps-forum.de/showthread.php?t=12597

Gruß Kai


----------



## geduldiger (5 Juli 2007)

*Scripte*

Hallo,

danke erstmal für das feedback, also erst mal an Kai, ich hab ja die scripte von dir und schon für einige minutenumrechnungen in der visu erfolgreich benutzt,da ich sehr viele INT werte aus DB's umwandeln musste. nun hab ich einen zähler in meinem sps programm geschrieben der einen Minutenzähler darstellt, diesen wert speichere ich in einem DB und möchte ihn in der visu in STD:MIN umwandeln, dazu habe ich die scripte genommen, hab die variablen angelegt (intern und Verbindungsvariablen) und ausgabefelder in der visu erstellt, könnt euch ja mal die Scripte,Variablen und visu-Bilder im Anhang ansehn. zu dem link von dir kann ich sagen dass ich das alles mehrfach probiert habe,

zu Larry's beitrag: ich denke das script wird nicht ausgefürht da sich die ausgabe-anzeige nicht regt obwohl sich der wert im db ändert. und ja der wert ist aus der sps, aber warum sollte dass ein problem sein, ich kann ja auch andere db werte( wenn auch keine die sich ständig ändern) auslesen anzeigen und sogar verändern und zurückschreiben, 

so wäre echt nett wenn ihr euch meine billis mal ansehn könntet

vielen dank im voraus, 

mfg


----------



## xhasx (5 Juli 2007)

Hallo.

Ich bin nur mal drübergeflogen. So wie ich das bisher mitbekommen habe werden die Variablen aus Skripten nicht "zyklisch angefordert". War so mein Eindruck...
Stell doch mal die Variablen die du verwendest auf "Zyklisch Fortlaufend". Das hat bei mir so manches Problem gelöst...


----------



## geduldiger (5 Juli 2007)

Hallo, 

die Erfassungsart ist bei allen Variablen auf zyklisch fortlaufend eingestellt, sorry hab nicht alle attribute der variablen dargestellt, aber ich konnte mir das auch gar nicht aussuchen, das ist automatisch ausgewählt worden und ich kanns auch nicht verändern weil die schlatfläche inaktiv is( bei Erfassungsart Archivierung). alleridngs ist das ja nur die einstellung für das archiv, die variablen selber werden ja jede sekunde erfasst

mfg


----------



## geduldiger (5 Juli 2007)

Ich werd verrückt, hab gemerkt das ich kein variablenarchiv angewählt hatte und jetzt wo zyklisch fortlaufend aktiv ist funktionierts, das soll mir mal einer erklären, ist das nur weil sich die werte im db ständig ändern? denn bei den anderen int werden funktionierts ja auch ohne dass ich das variablenarchiv aktiviert habe,

riesen dank an xhasx und auch an die anderen

nach 3 tagen in den ich alles mögliche gecheckt hab liegts an sowas, juhu:-D


----------



## xhasx (5 Juli 2007)

Naja am Variablenarchiv sollte es nicht liegen...
Es geht um die Variablen die aus der Steuerung kommen...


----------



## geduldiger (5 Juli 2007)

Was meinst du damit? es funktioniert doch jetzt?! hab das variablenarchiv aktiviert und jetzt werden die werte aus dem DB die sich jede minute um 1 erhöhen perfekt dargestellt.


----------



## xhasx (5 Juli 2007)

Also.

Deine Variable "Zeitangabe Trockner 1.D_22" muss "zyklisch fortlaufend" aktualisiert werden und nicht erst  "zyklisch bei verwendung"!

Wird die Variable nicht verwendet wird sie auch nicht aktualisiert -> keine Wertaenderung -> kein Skriptaufruf...

Traegst du die Variable in ein Archiv ein das jede Minute aktualisiert wird, wird deine Variable "verwendet" -> Wertaenderung wird erkannt...


----------



## Larry Laffer (5 Juli 2007)

Hallo,
das Problem liegt darin, wie die Variablen von der Visu gehandelt werden. Variablen werden normalerweise nur bei "Bedarf" von der Visu angefragt (es sei den sie stehen auf "zyklisch fortlaufend" oder bei ProTool "Ständig lesen"). 
Werden sie nicht ständig abgefragt, dann werden Änderungen nur auf der SPS-Seite verfolgt (bei Bedarf) und dann zur Visu übertragen. Anders ist das bei Variablen, die zwar in Scripten geändert, aber auch auf der Visu angezeigt werden. Das Anzeigen bewirkt dann das Gleiche wie "zyklisch fortlaufend".
So meine Erfahrungen ...


----------



## geduldiger (5 Juli 2007)

Okay, das klingt recht einleuchtend, ABER warum hab ich dann bei Erfassungszyklus 1s eingestellt und dass bei Änderung der Verbindungsvariablen das script ausgeführt wird, wenn der wert doch nicht jede sekunde aus dem db gelesen wird und das script nicht ausgeführt wird weil sich für die visu dann ja der wert auch nicht ändert


----------



## Larry Laffer (5 Juli 2007)

...
die Visu lädt nur die angezeigten Variablen oder die "zyklisch ..." neu.
Variablen in einem Script interessiert sie nicht ...


----------



## xhasx (5 Juli 2007)

Wenn die Variable benoetigt wird (z.B. Anzeige in einem Ausgabefeld) dann wird sie jede Sekunde aktualisiert. Ist das Bild nicht aktiv und der Wert wird nicht angezeigt wird die Variable nicht verwendet. Das dient dazu dass nicht staendig alle Variablen von der Steuerung gelesen werden muessen. Sonst waere die so schon beschi... Verbindung noch mehr belastet. Klaro?

Ach so, ich wuerde dein Skript im Aufgabenplaner aufrufen...


----------



## Kai (5 Juli 2007)

geduldiger schrieb:


> Was meinst du damit? es funktioniert doch jetzt?! hab das variablenarchiv aktiviert und jetzt werden die werte aus dem DB die sich jede minute um 1 erhöhen perfekt dargestellt.


 
Hallo Gunnar,

das Variablenarchiv wird eigentlich nicht benötigt. Es sollte ausreichen, die SPS-Variablen auf "Erfassungsart: Zyklisch fortlaufend" zu setzen. Kannst Du das mal ausprobieren und sagen, ob es auch ohne das Variablenarchiv funktioniert?

Gruß Kai


----------



## geduldiger (5 Juli 2007)

Hey Kai, wenn das Variablenarchiv nicht aktiviert ist, ist bei mir dort sowieso schon zyklisch fortlaufend eingestellt und ich könnte es auch gar nicht ändern da dann die schaltfläche inaktiv ist, und ohne das Archiv hatte ich ja vorher die ganze zeit und es ging nicht. allerdings hab ich ja gesagt dass diese db werte sich jede minute ändern im gegensatz zu den die ich vorher mit deinen scripten erfolgreich ändern und anzeigen konnte ohne das Var-archiv, anscheinend liegts daran dass sich die werte hier über das programm ändern.


----------



## Kai (5 Juli 2007)

Hallo Gunnar,

ich meine etwas anderes. Du kannst bei den Eigenschaften für die Variable unter dem Menüpunkt "Allgemein" die Erfassungsart auf "Zyklisch fortlaufend" einstellen.

Gruß Kai


----------



## Kai (5 Juli 2007)

Noch einmal zu Verdeutlichung:

Deine SPS-Variable "Zeitangaben Trockner 1.D_22" hat unter dem Menüpunkt "Allgemein" die Erfassungsart "Zyklisch bei Verwendung". Diese Erfassungsart sollst Du mal auf "Zyklisch fortlaufend" ändern.

Gruß Kai


----------



## geduldiger (5 Juli 2007)

Kai,

ah ja habs gesehen, und es geht jetzt auch ohne archiv, cool, dachte das wär das gleiche wie oben, hab mich schon gewundert warum man das dort nochmal einstellen kann, beschäftige mich erst seit vier wochen mit winCC deshalb auch soviele fragen wegen meiner diplomarbeit, aber man wächst mit jedem Projekt ;-), und dieses projekt hats echt in sich, allein das von mir von s5 nach s7 konvertierte step 7 programm hatte in s5 500 seiten reinen Step5 quellcode mit softwareregelung und allem was man so in ein programm reinpacken kann, vielen dank, super wie immer


----------



## Kai (5 Juli 2007)

geduldiger schrieb:


> ah ja habs gesehen, und es geht jetzt auch ohne archiv, cool, dachte das wär das gleiche wie oben, hab mich schon gewundert warum man das dort nochmal einstellen kann


 
Es sind eben zwei verschiedene Erfassungsarten.  

Einmal wird die Erfassungsart für die Variable selber eingestellt und einmal die Erfassungsart für die Archivierung der Variable.

Gruß Kai


----------



## geduldiger (5 Juli 2007)

okay, is jetzt alles klar, danke


----------

