Flex Scripte: Unterschied der Aktualisierung von SmartTags in MP's und PC-Runtime

rostiger Nagel

Forums-Knochenbrecher
Teammitglied
Beiträge
16.377
Reaktionspunkte
5.989
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe mal da eine Frage zu den unterschiedlichen Aktualisierungen von
SmartTags in Scripten auf den Plattformen MP277 mit WinAC und PC477B
mit WinCCflexibel und RTX.

Ich habe versucht ein Teil eines Projektes von einen MP277 auf eine PC
Plattform zu kopieren, darin enthalten waren da auch ein paar scripte die
auf dem MP wunderbar liefen, aber auf dem PC nicht mehr.

Nach einigen suchen stellte ich fest das Variablen in den Scripten nicht
richtig aktualisiert wurden.

hier ein auschnitt aus dem Script
Code:
'Spindel laden
ShowSystemAlarm "load tool for spindel " & SmartTags("Parameter\P._111.Nr")

Das ist jetzt so eine Variable, deren einstellung auf den MP "Auf Anforderung"
stand und den Wert wunderbar angezeigt hat.
Um einen Wert auf der PC Plattform sehen zu können mußte ich die Einstellung
auf "Zyklisch bei Verwendung" stellen.

Richtig auf aufgefallen ist mir das nicht bei der System Meldung, sondern
das "IF...Then...Else" abfragen, die durch SmartTags gesteuert wurden
nicht abgearbeitet wurden.

Code:
If SmartTags("Parameter\P._111.Mode_Vertikal") = 3 Then

Im Script hatte die Variable nie eine "3", aber außerhalb des Scriptes sehr
wohl.


Warum besteht da dieser unterschied zwischen MP und PC systemen?


gruß Helmut
 
Hallo Helmut,
die Eigenschaft "bei Verwendung" wäre doch für die Variable richtig gewählt. Dagegen würde die Eigenschaft "auf Anforderung" m.E. nur ein einmaliges Laden der Variablen von der SPS bei Aufbau der Bildschirmseite (oder vielleicht auch ggf. bei erster Verwendung des Scriptes bewirken).

Von meinen bisherigen SDK-Recherchen weiß ich mittlerweile, dass die CE-Systeme und die RT-Systeme funktionell vollkommen unterschiedlich aufgebaut sind. Es werden hierbei dann auch komplett unterschiedlich Windows-System-Bestandteile für gleiche Funktionen verwendet. So kann es dann vielleicht auch sein, dass das eine System etwas zulässt (obwohl nicht korrekt) während das andere System es verhindert ...

Das aber vielleicht nur als Trost ...
Denk immer dran : "It's not a bug - it's a Feature ..."

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
aber das ist ja das blöde ich "verwende" Sie ja im Script aber Sie wird
nicht Aktualisiert, soviel steht fest.
Mit den unterschiedlichen vorgehensweisen finde ich völlig daneben, da
kann mann doch nur auf die schnauze fallen.
 
wer fordert den an, das ist ja die frage. Grade die Variablen die ich
da gezeigt habe befinden sich in einen sogenanten Parameter Rezept
und werden beim hochlauf des panels geladen angefordert.
Das funktioniert auch soweit ganz gut auf beiden Systemen. Dh. einmal
geladen sind sie auch da. Aber warum sind Sie im Script nicht mehr
vorhanden und warum kann dann anscheinend das Script im MP anfordern,
aber auf dem PC nicht, obwohl Sie ja schon einmal zur Laufzeit geladen
wurden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... ist denn sicher gestellt, dass die Variable zum Zeitpunkt der Verwendung wirklich schon aktuell ist ?
Was ich wissen möchte (von solchen Time-Shift-Problemen kann ich dir auch ein Liedchen singen) ist, wie die einzelnen Dinge zueinander stehen. Du startest die Visu und dann wird auch gleich das Rezept geladen (in der Visu - in der SPS ist ja ggf. noch dasselbe). Zu welchem Zeitpunkt kommt dann dein Script ins Rennen ? Irgendwann (vielleicht auch gleich) oder erst nach einigen Sekunden ?

Gruß
LL
 
die Variable aus dem Beispiel Script ist defenitiv vorhaden "SmartTags("Parameter\P._111.Nr")"
diese zeigt mir die Nr für einen Fräsmotor liegt auf einer Schaltfläche
und ich kann Sie auch sehen. Das script wird erst sehr viel später nach
einer eingabe eines Wertes aufgerufen, ich spreche hier von Minuten.
Auch wiederholtes aufrufen des scripte bringt nichts. Nur das ändern
des Triggermodus bringt eine änderung.
 
Das was du schreibst ist aber nun für mich auch unverständlich - ich kann dich da also gut verstehen ... ;)

Wenn eine Variable für eine Animation, die irgendwo stattfindet, zur Verfügung steht, so muß dieser Wert auch IMMER für ein Script zur Verfügung stehen - das hat für mich dann auch nichts mehr mit der Art der Aktualisierung zu tun. Das, wovon ich gesprochen habe ist der Fall, dass eine Variable in der SPS schon den Wert "5" hat und in der Visu immer noch "3", weil sie noch nicht aktualisert worden ist. Das ist aber etwas völlig anderes und das hätte dann unmittelbar mit der Art der Aktualisierung zu tun.

Hast du schon versucht, das Herrn S. um die Ohren zu hauen ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
jetzt habe ich das gerade noch austesten wollen aber auf ein "C" gerät
da das "B" Gerät mit Maschine gerade zum Hallentor raus ist. Da
funktioniert alles einwandfrei.
Jetzt muß ich mal abwarten wenn die eine kiste von der Messe wieder
kommt.
 
Erfassungsart "Auf Anforderung"

Zitat aus WCCf-Tooltip bei Erfassungsart
Erfassungsart:
Mit dieser Eigenschaft definieren Sie wie oft der Wert einer Variablen aktualisiert wird:
* Auf Anforderung: Der Variablenwert wird durch Aufruf der Systemfunktion "AktualisiereVariable" oder bei Bildaufschlag aktualisiert.
* Zyklisch bei Verwendung: Der Variablenwert wird aktualisiert, wenn die Variable im aufgeschlagenen Bild verwendet wird.
* Zyklisch fortlaufend: Der Variablenwert wird fortlaufend aktualisiert.

Bei "Zyklisch bei Verwendung" wird die Variable bei Bildaufbau sogar gelesen, wenn sie nur in einem im Bild aufgerufenen Skript und da nur schreibend verwendet wird.

Gruß
Harald
 
Zurück
Oben