Script erstellen und projektieren

bra_elo

Level-1
Beiträge
64
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte eine Bewegung eines Objektes anhand eines Scriptes realisieren, so weit bin ich schon. :-D Ich habe nur keine Ahnung wie ich mit dem Script anfange und vorgehe, sodass es sich schlussendlich bewegt. Es soll von keiner Variable abhängen. Die Bewegung soll dauernd vorhanden sein. Habe das Script gefunden, aber weiß jetzt nicht wie ich es richtig einbinden soll. Habe schon viel probiert.
Danke im voraus für die Hilfe! ;)


Code:
Dim lEndPos 
lEndPos = 300 'Endwert in Pixel 

Dim lStartPos 
lStartPos = 0 'Startposition 

Dim lSchrittweite 
lSchrittweite = 20 ' Schrittweite in Pixel 

'Die aktuelle Richtung aus der [B]Variable[/B] lesen 
Dim objTag 
Set objTag = HMIRuntime.Tags("Richtung") 
objTag.Read 

Dim bRichtung 
bRichtung = objTag.Value 

'Die aktuelle Position lesen 
Dim lleft 
lleft = item.Left 

'1 bedeutet in diesem Fall nach rechts laufen 
If( bRichtung = 1 ) Then    
   If( lleft < lEndPos ) Then 
      ' Die neue Position setzen 
      Item.Left = lleft + lSchrittweite      
   Else 
      'Wieder von vorne beginnen 
      Item.Left = lStartPos 
   End If 
Else 'Nach Links laufen 
   If( lleft > lStartPos ) Then 
      ' Die neue Position setzen 
      Item.Left = lleft - lSchrittweite        
   Else 
      'Wieder von vorne beginnen 
      Item.Left = lEndPos 
   End If 
End If
 
Hallo,
die Ausführung eines Scriptes ist immer von einem Ereignis abhängig. So ein Ereignis kann die Wertänderung einer Variablen sein oder ein Tastendruck oder ein Visu-Tmer (hier ist allerdings "jede Minute" das kürzest mögliche Intervall).

Wenn du dein Script so schreibst, das es nie zu Ende kommt (Endlos-Schleife) dann blockierst du damit die Performance deiner Visu und die Ausführung weiterer Scripte.

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich brauche dieses script im baustein ja um meheren pfeilen einen kontinuierliche bewegung zu verschaffen um eine flussbewegung zu simulieren. Habe gerade Probleme damit dieses Script in meinen Baustein einzutragen.
Wie mache ich mit dem unten dort sagt er mir Fehler.

Code:
'Die aktuelle Position lesen 
Dim lleft 
lleft = item.Left 
' Die neue Position setzen 
      Item.Left = lleft + lSchrittweite
 
Hallo!

Ich kann dir von der Bewegungsanimation über ein Skript nur abraten. Wie Larry schon geschrieben hat, Skripte sollten nur ereignisorientiert eingesetzt werden. Das was du umsetzen willst habe ich vor langer Zeit auch mal gemacht, und das war ein großer Fehler. Also eine Variable in der SPS rauf und runter zählen lassen und mit dieser variable eine Animation erstellen.

pietpinguin
 
... ich habe so etwas noch gar nicht gemacht ...
Allerdings, das mit dem Script-Handling ist Fakt.

Ob du die Eigenschaften deines Objektes im Script ansprechen kannst oder den Umweg über eine Variable nehmen mußt kann ich im Augenblick auch nicht sagen - ich könnte mir das aber gut so vorstellen ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In welcher Visu denn ??

Ähmm zu bra_elo... wenn Du das in WinCC Flex machst, das ding hat eine Eigene Funktion "Animieren" da kannst Du interen Variabeln hoch und runterzählen lassen auf deinem Bild , ohne P.verlust.

Gruss Wälder
 
so eine simulation mache ich mit einem schieberegister aus der cpu.

in der viso über sichtbarkeit. in etwas so
Code:
<---  <---  <---  <---  <---  <---  <---  <---    sichbar wenn
m0.3  m0.2  m0.1  m0.0  m0.3  m0.2  m0.1  m0.0    m 1-signal

EDIT:
oder so wie waelder schreibt. da ist die bewegung viel flüssiger
 
Zuletzt bearbeitet:
Zurück
Oben