WinCC flexible 2007

godi

Level-1
Beiträge
1.460
Reaktionspunkte
185
Zuviel Werbung?
-> Hier kostenlos registrieren
So jetzt ist es so weit, ich brauch ein Skript in WinCC flexible 2007.
Nur komme ich damit überhaupt noch nicht klar.

Wenn ich eine Deklarierte Variable habe dann kann ich ja im Skript daraf zugreifen oder?

Ich habe ein Skript das ich bei einer Wertänderung von einer Variable aus der Steuerung aufrufe.
Die Funktion des Skript sollte sein das eine Variable (Bool) die zur Steuerung angebunden ist zurückgesetzt wird. Desweiteren sollte noch eine Variable (Int von einem Array) die mit der Steuerung angebunden ist in eine Interne Variable geschrieben werden.
Ich habe das mal so Probiert aber da makiert er mir einiges rot:

Code:
Sub
Daten_zu_SPS := False;

DB_BSTD_VISU.SS_QUIT_ANZ := Test_IPC.Test_Array_Int[1];

End Sub
Wie macht man das richtig?

godi

//Edit
Kann man den Threadtitel nachträglich auch noch ändern?
Wollte eigentlich WinCC flexible 2007 Skript schreiben.
 
Zuletzt bearbeitet:
So jetzt ist es so weit, ich brauch ein Skript in WinCC flexible 2007.
Nur komme ich damit überhaupt noch nicht klar.

Wenn ich eine Deklarierte Variable habe dann kann ich ja im Skript daraf zugreifen oder?

Ich habe ein Skript das ich bei einer Wertänderung von einer Variable aus der Steuerung aufrufe.
Die Funktion des Skript sollte sein das eine Variable (Bool) die zur Steuerung angebunden ist zurückgesetzt wird. Desweiteren sollte noch eine Variable (Int von einem Array) die mit der Steuerung angebunden ist in eine Interne Variable geschrieben werden.
Ich habe das mal so Probiert aber da makiert er mir einiges rot:

Code:
Sub
Daten_zu_SPS := False;
 
DB_BSTD_VISU.SS_QUIT_ANZ := Test_IPC.Test_Array_Int[1];
 
End Sub
Wie macht man das richtig?

godi

//Edit
Kann man den Threadtitel nachträglich auch noch ändern?
Wollte eigentlich WinCC flexible 2007 Skript schreiben.


ist Daten_zu_SPS ??? eine extrene Var?

Wenn ja ,denn Smarttags("Daten_zu_SPS ")

Test_IPC.Test_Array_Int[1] ist nicht zugelassen

Ich würde so machen in der Visu (Variablendeklaration):

statt Test_IPC.Test_Array=mein_array (Länge=xy) ( Externer Var)
DB_BSTD_VISU.SS_QUIT_ANZ =Quitt_Anzeige=DBx.DBWxy (Externer Var)

Also das Skript ist:
'******************************
Dim i=0
Smarttags("Daten_zu_SPS") := False

Quitt_Anzeige = mein_array(i)


'************************






johnij
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Daten_zu_SPS ist eine WinCC flexible Variable und ist mit der Steuerung Verknüpft.
Warum brauche ich dann den Befehl Smarttags?

DB_BSTD_VISU.SS_QUIT_ANZ ist die Variable wegen dem Punkt nicht möglich? (Ist eine Interne Variable von flexible)

Test_IPC.Test_Array ist auch eine Variable von flexible aber mit der Steuerung verbunden.
Wenn ich da jetzt die Variable in flexible umbenenne dann ist sie ja nicht mehr Symbolisch mit der Steuerung verknüpft oder?
 
Daten_zu_SPS ist eine WinCC flexible Variable und ist mit der Steuerung Verknüpft.
Warum brauche ich dann den Befehl Smarttags?

DB_BSTD_VISU.SS_QUIT_ANZ ist die Variable wegen dem Punkt nicht möglich? (Ist eine Interne Variable von flexible)

Test_IPC.Test_Array ist auch eine Variable von flexible aber mit der Steuerung verbunden.
Wenn ich da jetzt die Variable in flexible umbenenne dann ist sie ja nicht mehr Symbolisch mit der Steuerung verknüpft oder?

Also
wenn ich das richtig verstanden haben:
DB_BSTD_VISU.SS_QUIT_ANZ: INT (Interne Var)
Test_IPC.Test_Array: array[...] of INT

In WCF erfolgt der Zugriff auf alle Variablen( die in der Variablendeklaration
eingetragen sind) über dem Schlüsselwort "SmartTags" .
Wenn die eine Array_Var: Array[0..10] denn erfolgt die Zuweisung immer durch eine Skript_Variable z.B.

Array_Var[1]=10 ist falsch

Dim i=1
Array_Var(i)=10 ist richtig


Gruß johnij
A
 
[/edit]

was meinst du mit einer internen Variable, die mit der Streuerung verbunden ist?:confused:

Varaible, die mit der Steuerung kommunizieren sind EXTERNE VARIABLE
(da projektiert man die Verbindung zur SPS)

johnij
 
Zuviel Werbung?
-> Hier kostenlos registrieren
[/edit]

was meinst du mit einer internen Variable, die mit der Streuerung verbunden ist?:confused:

Varaible, die mit der Steuerung kommunizieren sind EXTERNE VARIABLE
(da projektiert man die Verbindung zur SPS)

johnij

Damit meine ich eine Variable die in flex angelegt wurde und mit der Steuerung verbunden ist.
Muss ich dir recht geben das es dann für das Skript eine externe Variable ist weil sie ja im Skript nicht bekannt gemacht worden ist.


Aber ich habe immer noch Probleme:
Code:
Dim i = 0
SmartTags("Daten_zu_SPS") = False

DB_BSTD_VISU_SS_QUIT_ANZ = Test_IPC_Test_Array_Int(i)

Jetzt meldet er einen Fehler:
Ein Array kann nicht Ziel einer Zuweisung sein.
Warum ist das so?

Wie bekomme ich jetzt wirklich aus einem Array of INT das von der SPS kommt ein einzelnes INT heraus um es in einer Internen Variable von flexible abzulegen?
 
Damit meine ich eine Variable die in flex angelegt wurde und mit der Steuerung verbunden ist.
Muss ich dir recht geben das es dann für das Skript eine externe Variable ist weil sie ja im Skript nicht bekannt gemacht worden ist.


Aber ich habe immer noch Probleme:
Code:
Dim i = 0
SmartTags("Daten_zu_SPS") = False
 
DB_BSTD_VISU_SS_QUIT_ANZ = Test_IPC_Test_Array_Int(i)

Jetzt meldet er einen Fehler:
Ein Array kann nicht Ziel einer Zuweisung sein.
Warum ist das so?

Wie bekomme ich jetzt wirklich aus einem Array of INT das von der SPS kommt ein einzelnes INT heraus um es in einer Internen Variable von flexible abzulegen?

johnij


ich gebe zu, Skripte bei SI sind keine reine VB-Skripte
Wieso versuchst du es nicht in der SPS einzurichten:

Sei z.B Skript_Var: DBxy.DBXa.b

im Skript:
SmartTags("Skript_Var")= True '

in der SPS

Un DBxy.DBXa.b //z.B.DBxyz.DBX2.3
SPB Ende
R Daten_zu_SPS // z.B. DBxy.DBx2.1
L Test_IPC_Test_Array_Int[0] // z.B DB10.DBw0
T DB_BSTD_VISU_SS_QUIT_ANZ // z.B DB100.DBW2

Ende: NOP 1
 
In der SPS kann es ja jeder! ;)

Das Problem ist das ich mit meinen PowerTags beschränkt bin deshalb kann ich es nicht in der SPS machen.
 
Hallo Godi,

ich habe mir ein Panel 277 + s7 317- geholt

das Skript:


SmartTags("Daten_zu_SPS") = False

DB_BSTD_VISU_SS_QUIT_ANZ = Test_IPC_Test_Array_Int(0)


läuft einwandfrei

Gruß johnij
 
Hallo johnij!

Danke für deine Hilfe aber jetzt hat sich das Problem anderswertig gelöst. :)

godi
 
Zurück
Oben