# TIA V13 WinCC Comfort: Bildbaustein Scripte funktionieren nicht!



## bastimeister (29 August 2014)

Hallo Liebe Forum-Gemeinde:

-> Siemens zwingt uns ja mit dem  TIA-Portal arbeiten zum müssen, da die Comfort-Panel leider nicht mehr mit  WinCC-flexibel-2008 projektierbar sind und die MultiPanels MP277/377 abgekündigt  sind...

-> Ich dachte mir nun das ich die Bildbausteine von  WinCC-flexibel übernehmen kann, indem ich ein Projekt wo diese enthalten  sind in TIA V13 migriere.

Ich habe also zum beispiel einen Bildbaustein "Ventil" welcher in WinCC-flexibel wunderbar funktioniert hat.
Da  man ja leider in WinCC-Comfort V13 ja leider immer noch keine Variablen  verknüpfen kann sondern immer nur eine Variable an eine Eigenschaft  (wie zB. Sichtbarkeit) ranlegen kann (was ja bei WinCC V7 über  DynamikDialog wunderbar funktioniert) ist man gezwungen Skripte zu  schreiben, wenn man mehrere PLC-Variablen verknüpfen will..

Bei  einem Ventil mit Rückmeldung "OFFEN" + "GESCHLOSSEN" ist das der Fall um  eine "UNKLARE" Stellung anzuzeigen, beispielweise, wenn keine  Rückmeldung da ist ODER beide gleichzeitig.

-> Mein Skript im Bildbaustein "Ventil" sieht also folgendermaßen aus:


```
Sub Anz_VentUndef()
SmartTags("Var_VentUndef")  = (Not SmartTags("Properties\RM_VeGeoeff")And Not  SmartTags("Properties\RM_VeGeschl")) Or  (SmartTags("Properties\RM_VeGeoeff") And  SmartTags("Properties\RM_VeGeschl"))
End Sub
```

Die  Variable "Var_VentUndef, verweende ich dann um das Ventil in "Hellgelb"  anzuzeigen (Grün=OFFEN, Grau=ZU, Rot=GESTÖRT, Hellgelb=UNKLARE STELLUNG)

Bei WinCC-flexibel hat das funktioniert, bei WinCC-Comfort TIA funktioniert es nicht!!!

Muss  man noch irgendwo einen TRIGGER einfügen, wann das Skript ausgefürt  wird??? Bei WinCC-V7 (Classic) gab es immer einen TRIGGER, da hat man  eben alle verwendeten Variablen alle Sekunden auf Änderung abgefragt...

Vielen Dank schonmal für eure Antworten
MFG Sebastian


----------



## bastimeister (29 August 2014)

Hallo,

Niemand eine Idee was ich falsch mache? Was ist denn der TRIGGER für ein solches Skript?

Es muss doch schonmal jemand von euch mit Bildbausteinen im TIA gearbeitet haben, was muss man denn da beachten, das die Scripte auch funzer?


----------



## Larry Laffer (29 August 2014)

Hallo,
eines vorweg : ich habe bisher nichts mit TIA gemacht - das wird auch bei vielen Anderen so sein ...
Allerdings :  Der Trigger für das Script (das ist aber auch bei Flex schon so gewesen) wäre die Wertänderung jeder deiner im Script verwendeten Property-Variablen. Hast du das so gemacht ?

Gruß
Larry


----------



## bastimeister (1 September 2014)

Hallo Larry,

Erstmal danke für deine Antwort... Ja ich hatte den  Bildbaustein von WinCC-flexibel migriert, da war das natürlich alles so  drin...
(*bei Wertänderung/Value Change aller verwendeten Variablen wird das Script ausgeführt*)

-> Was noch wichtig ist, *ALLE Verwendeten Variablen* mussten bei WinCC-flexibel auf *Aktualisierung *"*ZYKLISCH FORTLAUFEND*"  gestellt werden, sthene die auf "Zyklich bei verwendung" und dou bist  in einem anderen Bild wo die Variable garnicht abgefragt wird, dann  Ändert sich auch nix... Ist halt alles bissl umstädlich... Beim GROSSEN  WinCC (7.0) ist das mi den Skripten bissl anderes da die werden sowieso  Zyklisch abgefragt....

Wegen TIA da wirst du nicht drumrum  kommen, werwende das ja auch nicht freiwillig, ich Muss, da die MP277 /  377 abgekündigt sind und ich diese tollen Comfort-Panel benutzen muss...  Die lassen sich nicht mit WinCC-flexibel-2008-SP3 projektieren, das sit  das Problem...
Die S7-300 projektieren/programmieren wir ja  nachwievor mit Step7-V5.5 (Classic) und nutzen diese Proxyverbindung für  die Kopplung zwischen S7-Classic und dem TIA-V13: 

*Gemeinsames Projektieren mit WinCC (TIA Portal) und STEP 7 V5.x*
http://support.automation.siemens.com/WW/view/de/73502293


----------



## Larry Laffer (1 September 2014)

Hallo,
Variablen auf "zyklisch fortlaufend" macht nur dann Sinn wenn du sie außerhalb der Bilder für irgendetwas anderes brauchst - hier z.B. wenn sie in Archivierungs-Scripten verwendet werden. Ist es eine reine Animations-Variable dann belastet das nur die Aktualisierungs deiner anderen Variablen - egal ob nun TIA oder Flex ...

Was du nun nicht geschrieben hast ist, was mit der Funktion ist. Das kann ja nun im Falle des Bildbausteins nicht am "zyklisch fortlaufend" gelegen haben ...

Gruß
Larry


----------



## bastimeister (1 September 2014)

@Larry,

Klar geb ich dir Recht wegen "Zyklisch fortlaufend" aber wenn sich die Variable wirklich ändert wärend man in einem anderen Bild ist, und ich dann in das Bild mit dem Bildbaustein blättere, bekomm ich dann auch den Farbumschlag, welcher im Script berechnet wird (also wird das Script dann auch abgearbeitet) ??

-> Jedenfals ist es tatsächlich so, wenn ein Ventil weder Offen noch Geschlossen meldet und auch diese beiden Rückmeldungen noch NIE da waren, dann Wird das Ventil trotzdem nicht "Hellgelb" da es ja nie eine Änderung gab... -> UND schon funktioniert nämlich der Spass mit dem Trigger für das Skript auf Wertänderung nicht! Dort ist der Denkfehler...

Bin Grad dabei meine Bildbausteine mit internen Variablen mal durchzutesten, da ist mir das jetzt aufgefallen, solange es keine Wertänderung gibt, wird auch kein Skript abgearbeitet!


----------



## Larry Laffer (1 September 2014)

Wenn du eine Seite aufrufst dann werden normalerweise alle darauf befindlichen Variablen angefragt. Die Bildschirmseite erhält also für alle Variablen, die da drauf sind eine Aktualisierung - egal, ob sie sich gerade eben geändert haben oder vor 1 Stunde ... das ist keine Rechtfertigung für "zyklisch fortlaufend". Es gibt also eine Wertänderung - so oder so - die Frage ist, ob diese Wertänderung im Bildbaustein durchgereicht wird um sie in dem Script zu verarbeiten. Wie du schon festgestellt hast hat das unter Flex noch funktioniert. Vielleicht ist es ja auch kein Fehler von dir sondern ein Feature von TIA ... 8)

Jedenfalls : wenn du die beteiligten Variablen auf "zyklisch fortlaufend" stellst dann funktioniert der BB ?
Wenn ja dann ist das auf jeden Fall ein Fall für Herrn Siemens ...

Gruß
Larry


----------

