WinCC flex 2007 Variable in Skript verwenden

Guyot

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich mache gerade meine ersten Schritte mit Skripts unter WinCC Flexible 2007.

Mir stellt sich folgendes Problem:

Ich habe ein Modell mit einem auf der X-Achse fahrbaren Tisch. Diesen stelle ich durch ein einfaches Rechteck dar.

Nun möchte ich die Positionswerte für die Darstellung aus einer Variablen (Int) DB21.dbw6 nehmen.
Ich habe dazu folgnedes Skript geschrieben:

Dim objTisch
Dim objTag
Set objTag = SmartTags("stsMove")
Set objTisch = HmiRuntime.Screens("frmHandbetrieb").ScreenItems("Tisch")
'Tisch Position
objTisch.Left = SmartTags("stsMove")

Wenn ich an Stelle von"SmartTags("stsMove") einen zum Beispiel den Wer 576 eingebe, wird das Rechteck an der entsprechenden X-Position dargestellt. Mit der Variablen haut es leider nicht hin...

Kann mir jemand erklären was ich falsch mache? Bitte so dass es auch ein dummer versteht.

Herzlichen Dank!
 
Nabend,

ist die Variable "stsMove" im Flexible bekannt? (Findest du sie unter Variablen?)
Was soll die Zeile ?
Code:
Set objTag = SmartTags("stsMove")

Habe schon ewig kein Flexible mehr gemacht, aber im WinCC muss da glaube ich .read hinter die Klammer.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Falls es sich nicht um eine Übung für Scripte handelt,
kannst Du den Tisch auch direkt über einer variable Bewegen.

z.B. auf dem Rechteck unter Eigenschaften->Animation->horizontale Bewegung kannst Du mit der variablen das Objekt direkt auf dem Bildschirm bewegen.
 
Hier ist einmal ein Programmbeispiel für die horizontale Bewegung eines Rechteckes in WinCC flexible 2005.

Die X-Koordinate des Rechteckes wird mit dem folgendem VBScript auf den Wert einer Variablen gesetzt.

Das VBScript wird beim Aufbau des Bildes, welches das Rechteck enthält, sowie bei einer Wertänderung der Variablen aufgerufen.

Code:
' Rechteck
 
' Left-Eigenschaft
'
' Legt den Wert der X-Koordinate des angegebenen Objektes fest.
' Die X-Koordinate bezieht sich auf die linke obere Ecke des
' objektumfassenden Rechteckes.
 
Const intOffset = 48
 
Dim objRechteck
 
Set objRechteck = HmiRuntime.Screens("Startbild").ScreenItems("Rechteck_1")
 
objRechteck.Left = intOffset + SmartTags("Rechteck")

Gruß Kai
 

Anhänge

  • TP270_Startbild_1.jpg
    TP270_Startbild_1.jpg
    455,2 KB · Aufrufe: 62
  • TP270_Startbild_2.jpg
    TP270_Startbild_2.jpg
    456,7 KB · Aufrufe: 54
  • TP270_Startbild_3.jpg
    TP270_Startbild_3.jpg
    463,6 KB · Aufrufe: 47
  • TP270_Variablen.jpg
    TP270_Variablen.jpg
    366 KB · Aufrufe: 43
  • TP270_Skripte.jpg
    TP270_Skripte.jpg
    445,7 KB · Aufrufe: 50
Und noch ein paar Bilder.

Gruß Kai
 

Anhänge

  • TP270_Runtime_1.jpg
    TP270_Runtime_1.jpg
    110,7 KB · Aufrufe: 32
  • TP270_Runtime_2.jpg
    TP270_Runtime_2.jpg
    111,3 KB · Aufrufe: 35
Zurück
Oben