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 

Rechteck via Taster verschieben



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!

16.02.2014, 22:29
Beitrag #1

LabViewUser2014
Unregistered


 







Rechteck via Taster verschieben
Guten Abend Smile

Bin noch ziemlich neu dabei was das LabView-Programmieren betrifft. Vlt. könnt ihr mir ja weiterhelfen...

Folgendes Problem:

Ich möchte eine Grafik (Rechteck) in einem bestimmten Bereich steuern können. Das ganze soll über boolesche Taster erfolgen: "Links", "Rechts", "Hoch", "Runter". So, da fängt das Problem auch schon an... Ich habe bis jetzt noch nicht verstanden, wie man ganz Simpel bei 4 Bedingungen eine Auswahl treffen kann. Erst habe ich es mit Enum probiert, bin dann aber daran gescheitert, die booleschen Taster mit dem Enum in Verbindung zu bringen. Sprich, wie wandle ich True/False in Zahlenwerte um, um das jeweilige "Case" von Enum anzusteuern? [ich möchte nicht den Case via Enum auswählen, sondern das ganze soll nur über die 4 Taster laufen].

Ich habe jetzt eine alternative Lösung gefunden: Ereignisstruktur. Ob das jetzt die ultimative Lösung ist, weiß ich auch noch nicht so ganz. Auf jedenfall kann ich bis jetzt schon mal das Rechteck in die 4 "Grenzecken" bewegen. Jetzt soll das ganze quasi als Ablauf zu sehen sein. Sprich, ich drücke Taster "Rechts" => das Rechteck verfährt bis zur rechten Grenze. So soll das auch mit den anderen Tastern funktionieren (NUR solange man den Taster drückt).
Meine Versuche das ganze mit einer While-Schleife zu lösen (Abbruch-Bedingung über "Neuer Wert" der Ereignisstruktur) scheiterte. Er führt die While-Schleife unendlich aus und das Rechteck fährt ins Nirvana.
Das gleiche Problem bei der For-Schleife. Auch wenn ich als maximalen Schleifendurchlauf 400 einstelle, fährt er bis zur rechten Grenze, hört aber nicht auf zu verfahren, wenn ich den Taster loslasse. Und genau das soll er aber tun...

Habt ihr vlt. einen Tipp für mich?`

danke schonmal im voraus und einen angenehmen Abend Smile


Angehängte Datei(en)
13.0 .vi  Bedienpanel.vi (Größe: 15,76 KB / Downloads: 219)
Diese Nachricht in einer Antwort zitieren to top
17.02.2014, 07:04 (Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2014 07:04 von Clyde.)
Beitrag #2

Clyde Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 71
Registriert seit: May 2012

2012
2009
EN


Sonstige
RE: Rechteck via Taster verschieben

Akzeptierte Lösung

Dein Ansatz mit der Eventstruktur ist meiner Meinung nach der beste. Ich kann dein VI leider nicht öffnen, da ich lediglich LabVIEW 2012 habe - das Problem dürfte der ein oder andere hier auch haben.

Im Anhang findest du ein VI, welches ein Control auf Tastendruck verschiebt. Das dürfte dir schon einmal weiterhelfen. Die Abfrage, ob das Objekt aus deinem definierten Bereich rausfährt, musst du noch dazu stricken Wink


Gruß
Clyde


Angehängte Datei(en)
12.0 .vi  move.vi (Größe: 65,91 KB / Downloads: 228)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.02.2014, 23:48
Beitrag #3

LabViewUser2014
Unregistered


 







RE: Rechteck via Taster verschieben
Danke für den Wunderbaren Ansatz Smile Jetzt leuchtet mir auch die Funktionsweise der Ereignisstruktur etwas deutlicher ein Smile

Ich habe das ganze nochmal als VI für 2012 angehangen (bei Interesse). Die Grenzen sind eingestellt Smile


Angehängte Datei(en)
12.0 .vi  Bedienpanel.vi (Größe: 15,66 KB / Downloads: 225)
Diese Nachricht in einer Antwort zitieren to top
24.02.2014, 19:41
Beitrag #4

LabViewUser2014
Unregistered


 







RE: Rechteck via Taster verschieben
Guten Abend Smile

Ich habe ein wenig weiter gearbeitet an meinem Labview Projekt. Ich beschreibe mal kurz mein aktuelles Problemchen:

Ich habe ein VI erstellt, welches ein Rechteck via Taster verfahren lässt (in einer vorgegebenen Umgebung). Nun wollte ich verhindern, dass das Rechteck in den Endlagen genauso schnell verfährt, wie auf der restlichen Strecke. Das ganze habe ich über ein SubVI realisiert. Momentan übergebe ich die Position des Ring (Top + Left) und überprüfe dann im SubVI, ob sich das Rechteck in einer Endlage befindet.

Gibt es eine Möglichkeit die Position des Ring komplett, sprich als Bundle zu übergeben? Momentan übergebe ich die Werte einzeln und habe im SubVI 2 Anzeigeelemente... Das möchte ich gerne umgehen. Hättet ihr einen Tipp?`

danke Smile


Angehängte Datei(en)
12.0 .vi  Bedienpanel.vi (Größe: 17,58 KB / Downloads: 217)

12.0 .vi  Endlagenprüfung.vi (Größe: 13,74 KB / Downloads: 208)
Diese Nachricht in einer Antwort zitieren to top
24.02.2014, 19:48
Beitrag #5

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Rechteck via Taster verschieben
(24.02.2014 19:41 )LabViewUser2014 schrieb:  Gibt es eine Möglichkeit die Position des Ring komplett, sprich als Bundle zu übergeben? Momentan übergebe ich die Werte einzeln und habe im SubVI 2 Anzeigeelemente... Das möchte ich gerne umgehen. Hättet ihr einen Tipp?`

auch dir einen guten Abend,

ich kann dein VI zwar im Moment nicht öffnen, dein Problem hört sich aber so an, als ob es mit der Funktion Bundle aus der Clusterpalette lösbar wäre. Wenn du zukunftssicher sein möchtest, erstellst du dir auch gleich noch eine TypDef. für dieses Cluster und kannst es dir im Sub-VI (entweder per Referenz oder direkt übergeben) wieder auseinanderpflücken mit unbundle.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.02.2014, 20:53
Beitrag #6

LabViewUser2014
Unregistered


 







RE: Rechteck via Taster verschieben
Hallo Marko Smile

Danke erstmal für deine Antwort. Ich fasse deinen Tipp jetzt so auf:

- Die Positionen des Ring (Top + Left) zu einem Cluster bündeln und an das SubVI übergeben
- Dort wieder "auseinander ziehen) und verwenden

Was mir gerade nicht einleuchtet:

Wenn ich mir von der Ring-"Variable" einen Eigenschaftsknoten mit der Position erstelle, warum kann ich diesen nicht übergeben? (Funktionierte bei mir bis jetzt nicht).

Ich habe das Programm nochmal als 2011'er Version angehangen Smile

Gruß,

Niko


Angehängte Datei(en)
11.0 .vi  Bedienpanel.vi (Größe: 16,68 KB / Downloads: 225)

11.0 .vi  Endlagenprüfung.vi (Größe: 13,48 KB / Downloads: 208)
Diese Nachricht in einer Antwort zitieren to top
24.02.2014, 21:14
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Rechteck via Taster verschieben

Akzeptierte Lösung

Bitteschön.

Gruß, Jens


Angehängte Datei(en)
12.0 .vi  Endlagenprüfung.vi (Größe: 16,84 KB / Downloads: 208)

12.0 .vi  Bedienpanel.vi (Größe: 29,63 KB / Downloads: 216)

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
24.02.2014, 22:41
Beitrag #8

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Rechteck via Taster verschieben

Akzeptierte Lösung

(24.02.2014 20:53 )LabViewUser2014 schrieb:  Was mir gerade nicht einleuchtet:

Wenn ich mir von der Ring-"Variable" einen Eigenschaftsknoten mit der Position erstelle, warum kann ich diesen nicht übergeben? (Funktionierte bei mir bis jetzt nicht).

Hallo Niko,

wenn du die Eigenschaft Position wählst, musst du dort Alle Elemente wählen. Von diesem Eigenschaftsknoten kannst du dann mit der rechteen Maus ein Bedienelement erstellen und dieses in dein Sub-VI ziehen und dort als Eingang verknüpfen.

So z.B. kommst du zu den von Jens bereitgestellten VIs.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2014, 19:36
Beitrag #9

LabViewUser2014
Unregistered


 







RE: Rechteck via Taster verschieben
Dankeschön an Jens und Marko Smile

Spricht etwas dagegen (vom Programmierstil her), das ganze mit einer Referenz zu lösen? Ich habe es mal ausprobiert, kommt ja im Endeffekt auf das Selbe hinaus wie mit dem Cluster. Mir hat bis jetzt nur das Verständnis gefehlt, wie man einfach Werte bzw. Variablen an SubVIs übergibt Smile

Einen angenehmen Abend wünsche ich allerseits Smile

Grüße,

Niko
Diese Nachricht in einer Antwort zitieren to top
27.02.2014, 20:38
Beitrag #10

LabViewUser2014
Unregistered


 







RE: Rechteck via Taster verschieben
Guten Abend allerseits Smile

Ich bin ein bisschen weiter gekommen mit meinem LabView-Projekt. Jetzt stehe ich mal wieder vor einem neuem Problem.
Sowas wie Speicherschaltungen (RS-Flip-Flop) scheint es ja nicht baufertig in LabView zu geben... Ich habe hier zwar ein Beispiel gefunden, nur habe ich jetzt folgendes Problem:

Wenn ich den RS-Flip-Flop als SUBVI mehrmals ausführe, dann setzt er mir zu Beginn alle Ausgänge aus True, obwohl sie FALSE sein sollten. Vlt. habe ich noch ein Logik-Problem, aber im Moment komme ich da nicht weiter (Ich habe auch schon probiert, für jede SUBVI Instanz einen eigenen Speicherbereich zuzuweisen, ohne Erfolg). Was ich im Endeffekt bezwecken möchte:

Ich möchte jetzt einen Automatikmodus implementieren und habe überlegt, wie man dies am besten realisieren könnte. Dazu habe ich zu erst Endlagen in jede Ecke des Verfahrweges gebastelt und wollte diese als Boolsche Bedingung für die Flip-Flops nehmen. Klappt bis dato nicht. Ich arbeite noch dran...

Was ich jetzt mal erfragen wollte: Gibt es in LabView eine simple Lösung, um Speicherschaltungen zu realisieren (mit Rücksetzbedingung)? Irgendwie bin ich grad zu doof dafür oder vlt. gelingt mir das Umdenken zum LabView Konzept noch nicht.

Einen angenehmen Abend,

lg niko
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Rechteck innerhalb eines Rechtecks oe-ms1 4 3.998 29.03.2018 11:52
Letzter Beitrag: oe-ms1
  Datei über Drag & Drop in andere Anwendung (kein LabVIEW) verschieben ahebauer 2 3.625 29.03.2017 08:41
Letzter Beitrag: ahebauer
  Case über boolsche Taster steuern Timo86 9 8.612 18.12.2015 13:31
Letzter Beitrag: Jann
  Elemente auf Frontpanel zur Laufzeit verschieben andrepf 37 22.705 18.11.2014 17:11
Letzter Beitrag: andrepf
  Rechteck im Pic bewegen Amina 6 5.240 13.02.2014 13:54
Letzter Beitrag: Amina
  Listbox-Elemente verschieben in LV8.0-EXE Trinitatis 7 6.111 17.09.2013 13:55
Letzter Beitrag: Trinitatis

Gehe zu: