WinCC flex Script wird nicht ausgeführt

geduldiger

Level-1
Beiträge
285
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
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?
 
Hallo Gunnar,

werden denn alle Skripte abgearbeitet? :confused:

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
 

Anhänge

  • OP270 Variablen 03.jpg
    OP270 Variablen 03.jpg
    402,2 KB · Aufrufe: 51
  • OP270 Variablen 07.jpg
    OP270 Variablen 07.jpg
    402,1 KB · Aufrufe: 27
  • OP270 Variablen 09.jpg
    OP270 Variablen 09.jpg
    403,1 KB · Aufrufe: 18
  • OP270 Skripte 01.jpg
    OP270 Skripte 01.jpg
    555,5 KB · Aufrufe: 34
  • OP270 Skripte 02.jpg
    OP270 Skripte 02.jpg
    571 KB · Aufrufe: 33
Zuviel Werbung?
-> Hier kostenlos registrieren
... 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 ...
 
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
 

Anhänge

  • Alle Bilder.zip
    347,3 KB · Aufrufe: 15
Zuviel Werbung?
-> Hier kostenlos registrieren
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...
 
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
 
Zuletzt bearbeitet:
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
 
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.
 
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...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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 ...;)
 
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:confused:
 
...
die Visu lädt nur die angezeigten Variablen oder die "zyklisch ..." neu.
Variablen in einem Script interessiert sie nicht ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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...
 
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
 

Anhänge

  • OP 270 Variablen 041.jpg
    OP 270 Variablen 041.jpg
    448,2 KB · Aufrufe: 7
  • OP 270 Variablen 05.jpg
    OP 270 Variablen 05.jpg
    386,4 KB · Aufrufe: 4
  • OP 270 Variablen 06.jpg
    OP 270 Variablen 06.jpg
    390,1 KB · Aufrufe: 5
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 

Anhänge

  • OP 270 Variablen 042.jpg
    OP 270 Variablen 042.jpg
    452,3 KB · Aufrufe: 6
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
 

Anhänge

  • SPS Variable DB12_DBW_44 neu.jpg
    SPS Variable DB12_DBW_44 neu.jpg
    144,7 KB · Aufrufe: 6
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;)
 
Zurück
Oben