INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Bewegungssimulation



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

15.07.2014, 16:47
Beitrag #1

Tisinho Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2014

2013
2014
DE



Bewegungssimulation
Hallo,
ich habe folgendes Szenario:

Ein Tankinhalt soll gefüllt werden und auf dieser Oberfläche (auf dem "Wasser") befindet sich ein Grafik-Ring als Objekt.
Die Funktionen seperat funktionieren. Ich habe nur das Problem, dass ich den Grafik-Ring nicht synchron mit dem "Wasser"
bewegen lassen kann, d.h. der Grafik-Ring soll sich auf dem Tanktinhalt mit noch oben bewegen.
Ich habe schon sämtliche Synchronisierungen probiert und mir ist aufgefallen, dass der Ring viel zu langsam gegenüber
dem steigenden Tank ist.

Wie kann ich es lösen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2014, 17:01
Beitrag #2

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Bewegungssimulation
(15.07.2014 16:47 )Tisinho schrieb:  Wie kann ich es lösen?

Hallo Tisinho,

ich fürchte, da musst du uns mit einem kleinen VI erfreuen!
GGf. führst du diesen Ring über einen TO einer Eventstruktur, der zu groß gestellt ist oder in einer Parallelschleife mit zu großer Wartezeit, oder was auch immer.
Ein VI würde das Raten beenden.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2014, 17:36
Beitrag #3

Tisinho Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2014

2013
2014
DE



RE: Bewegungssimulation
Ich hoffe der Screenshot reicht aus.
Das VI darf ich nicht hochladen, da es geschützte Bilder enthält.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2014, 18:00 (Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2014 18:08 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Bewegungssimulation
Hallo Tisinho,

Zitat:Ich hoffe der Screenshot reicht aus.
Nein: Du scheinst da zwar eine Anzeige zu verschieben, aber man sieht am Screenshot leider nicht, ob diese Verschiebung (in Pixelkoordinaten) überhaupt zu deiner Tank-Anzeige passt…

Zitat:dass der Ring viel zu langsam gegenüber dem steigenden Tank ist.
Das könnte u.a. an den unterschiedlichen Taktraten deiner "synchronen" Schleifen liegen…

Das, was du da programmiert hast, könnte man ganz sicher viel einfacher realisieren! Wozu 5 Schleifen mit 3 Sequenzstrukturen, 3 verschiedenen Taktraten und einer Occurance, wenn man all das auch innerhalb einer Schleife erledigen könnte?
Beispiel:
   

Dein "Stop"-Button funktioniert nicht korrekt! THINK DATAFLOW!


Angehängte Datei(en)
13.0 .vi  Tank.vi (Größe: 11,2 KB / Downloads: 130)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2014, 18:07 (Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2014 18:11 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Bewegungssimulation
Es bleibt ein Ratespiel.
Welches Objekt ist der Grafikring? "Bewegung nach links"?
Wenn dem so ist, dann funktioniert dein Versuch nur, wenn sich die Tank-Füllstandslinie genau um 1 Pixel "erhöht", wenn du den Wert um 1 änderst. Das wäre jetzt schon ein großer Zufall.

Besser und Variabler:
Aus Größe des Tanks in Pixels, Lage des Tanks im Frontpanel sowie Min & Max Anzeige lässt sich auf die Lage der "Wasserlinie" in Pixeln berechnen. (Die Mathematik dazu darfst du dir selber überlegen). Wenn du das hast, dann weißt du auch, wo du den Grafikring positionieren musst.
   

Gruß, Jens

EDIT: Und was willst du mit dem Rendezvous VIs erreichen? Der Screenshot führt dazu, dass die untere Schleife immer wieder (jedes 5. Mal) eine Durchlaufzeit von 1600 ms anstatt 800 ms hat. Soll das so sein? Und dass der Stopp-Button nicht funktioniert, darauf hat dich Gerd schon hingewiesen.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2014, 18:12
Beitrag #6

Tisinho Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2014

2013
2014
DE



Wink RE: Bewegungssimulation
Danke schonmal für die Hinweise.

Ich beschäftige mich erst seit kurzem mit Labview, daher versuche ich es so einfach wie möglich zu halten um es besser verstehen zu können und
auch die Fehler schnell zu finden.

Ich habe mal schnell meine VI nachgebildet. Ist sehr einfach gehalten.

Hoffentlich hilft es weiter.


Angehängte Datei(en)
13.0 .vi  Test Synchro-set.vi (Größe: 28,81 KB / Downloads: 143)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2014, 18:25 (Dieser Beitrag wurde zuletzt bearbeitet: 15.07.2014 18:28 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Bewegungssimulation
Hallo Tisinho,

- Du hast keine Wartezeiten in deinem VI, wenn noch nicht der OK-Button gedrückt wurde. Das führt zu 100% CPU-Last beim Warten auf eine User-Aktion - und das ist schlecht…

Zitat:Ich beschäftige mich erst seit kurzem mit Labview, daher versuche ich es so einfach wie möglich zu halten
Dann helfen dir sicher die Links in meiner Signatur, diese ganzen Probleme zu verstehen…

- Wozu das Rendezvouz? Was willst du damit erreichen? Was hat das mit "so einfach wie möglich" zu tun?
- Wozu die ganzen lokalen Variablen von ansonsten ungenutzten Terminals (Tank, Pegel)? THINK DATAFLOW!
- Deine Schleife mit der Event-Struktur erzeugt eine herrliche Race-Condition! Das ist schlecht…

Hast du unseren Kommentaren bis hierher schon mal Beachtung geschenkt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2014, 18:54
Beitrag #8

Tisinho Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2014

2013
2014
DE



RE: Bewegungssimulation
Das Rendezvouz sollte die Zähler synchronisieren, damit auch sichergestellt wird, dass sowohl der Tank als auch das Objekt im gleichen Takt steigen.
Die Schleife der Event-Struktur muss doch sein, sonst würde doch das Event nur einmal aufgerufen werden?!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2014, 19:08
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Bewegungssimulation
Hallo Tosinho,

Zitat:Das Rendezvouz sollte die Zähler synchronisieren, damit auch sichergestellt wird, dass sowohl der Tank als auch das Objekt im gleichen Takt steigen.
Warum dann nicht einfach beide in eine einzige Schleife, damit beide im gleichen Takt aktualisiert werden?

Zitat:Die Schleife der Event-Struktur muss doch sein, sonst würde doch das Event nur einmal aufgerufen werden?!
Ich habe nicht die Schleife um die Event-Struktur bemängelt, sondern die Race-Condition, die du dort programmiert hast…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.07.2014, 21:01
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Bewegungssimulation
(15.07.2014 18:54 )Tisinho schrieb:  Das Rendezvouz sollte die Zähler synchronisieren, damit auch sichergestellt wird, dass sowohl der Tank als auch das Objekt im gleichen Takt steigen.
Was muss da groß synchronisiert werden? Du musst nur anders vorgehen.
Wenn du einen neuen Wert für "Tank" setzt, dann musst du "nur" aus der aktuellen Höhe des Tanks die neue Position des Grafik-Ring berechnen und setzen.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: