Array aktualisieren

ssound1de

Level-2
Beiträge
351
Reaktionspunkte
27
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

WCCF PC-RT an CPU315-2DP über Profibus.

Wenn ich im VB-Script schreibe ...
Code:
dim w
w = SmartTags("Prot-Daten-Transfer.PDat_W1")(i)
wird dann das Array-Element in diesem Moment aus der S7 gelesen, so dass ich im Script den aktuellen Wert erhalte?
Oder muss ich vor dem Script-Aufruf das Array mit der Funktion 'AktualisiereVariable' aktualisieren? :confused:

EDIT: Das Array steht auf Erfassungsart 'Auf Anforderung'.

Danke für Eure Antworten.

Gruß
 
Zuletzt bearbeitet:
Hallo,
zu dem Thema hatte ich mit JesperMP mal eine interessante Diskussion.
Lies dir doch mal das durch. Für dich sollten hier die letzten Beiträge nützlich sein ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi LL,

Danke für Deine Antwort und sorry, dass ich mich erst jetzt wieder melde.

Habe den Thread gelesen - bringt mich aber im Moment nicht wirklich weiter.

Momentan aktualisiere ich das Array vor dem Script-Aufruf, indem ich eine Zählvariable in der S7 beobachte (zyklisch forlaufend), die immer dann hochzählt, wenn das Array in Flex aktualisiert werden soll.
Flex ruft dann über Wertänderung der Zähl-Var die Funktion 'Aktualisiere Variable' (mit Aktualisierungskennung) auf (das Array steht in Flex auf Erfassungsart 'Auf Anforderung').
Kurz drauf kommt dann der Script-Aufruf, der die Daten verarbeitet.
Nur macht es ja wenig Sinn, wenn die Var's dann im Script nochmal eingelesen werden.

Und wegen Array komplett aktualisieren in WCCF (im Script) hab ich den Thread hier gelesen, wonach

Code:
SmartTags("Array_PLC")=IntArray
funktionieren soll,
dass hier aber nicht :confused:
Code:
IntArray = SmartTags("Array_PLC")

Ich werde wohl um ein paar Versuche nicht herum kommen :rolleyes:

Gruß
 
... da kann ich dir dann auch nicht mehr viel dazu sagen ...
Laut Jesper würde das Script das ARRAY aktualisieren - ich nehme ihm das durchaus ab ...
Die Zuweisung INT_Array = Ext_Array setzt auf beiden Seiten die gleiche Dimensionierung (und Variablentyp) voraus. Bitte auch berücksichtigen, dass das erste Element deines Ext_Array's im Int_Array beim Index 0 landet ...

Gruß
LL
 
Hi,

da bin ich nochmal.
Habe jetzt ein bisschen rumprobiert.

Array Zugriff im Script
Folgendes funktioniert (Syntax Prüfung OK) ...
Code:
Dim WCCFArray(64)
SmartTags("S7Array") = WCCFArray

Folgendes funktioniert nicht (Syntaxfehler: Ein Array kann nicht Ziel einer Zuweisung sein. in Zeile 49, Spalte 4
Code:
Dim WCCFArray(64)
WCCFArray = SmartTags("S7Array")

Scriptzuriff auf Einzelelemente des S7Array's (wie im obersten Beitrag)
Code:
dim w
w = SmartTags("S7Array")(i)
Alle Variablen kommen nur im Script vor

1.) Erfassungsart des Arrays 'Zyklisch fortlaufend'
Die Aktualisierung funktioniert nicht schnell genug - teilweise kommen veraltete Werte an.
Ausserdem unnütze Busbelastung

2.) Erfassungsart des Arrays 'Zyklisch bei Verwendung'
Die Aktualisierung funktioniert nicht schnell genug - teilweise kommen veraltete Werte an.

3.) Erfassungsart des Arrays 'Auf Anforderung'
Die Aktualisierung funktioniert überhaupt nicht.

Gruß.
 
Zurück
Oben