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 

Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?



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!

05.03.2012, 14:36 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2012 14:40 von Lucki.)
Beitrag #1

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
Diese Frage stelle ich mir schon seit Jahren, und wahrscheinlich gibt es darauf keine Antwort - aber die Hoffnung stirbt zuetzt, und so will ich wenigstens mal gefragt haben.
Beispiel siehe das angehänge VI. Es hat einen Eingang, einen Ausgang, und einen Modus-Schalter mit den Werten Write, Read, Release.
Ich möchte dass das VI den Modus von selbst erkennt,
und zwar so:
Wenn am Eingang etwas angeschlossen ist und am Ausgang nichts, dann Modus = Write.
Im umgekehrte Falle: Modus = Read
Wenn überhaupt nichts angeschlossen ist, dann Modus = Release.
Wenn beides angeschlossen ist, dann ist egal was passiert, es sollte nicht vorkommen.

8.5 .vi  Test.vi (Größe: 19,6 KB / Downloads: 267)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.03.2012, 15:14
Beitrag #2

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
Du meinst mit "angeschlossen" "am Anschlussfeld des SubVIs angeschlossen", oder? Und im SubVI soll dann erkannt werden, ob etwas angeschlossen ist?

Das einzige was mir dazu einfällt: Wenn man "abstruse" Standardwerte für dein Eingang festlegt (die nicht in der Praxis auftreten), dann kann man den unangeschlossenen Fall sicher abfangen. Beim Ausgang so nicht, da fällt mir nichts zu ein auf Anhieb...

den anderen?
Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2012, 18:29
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
Das habe ich mir auch schon überlegt, nur beim Ausgang fällt mir nichts ein.
Komisch ist: Beim Fehlerstrang merkt ein VI, ob am Ausgang etwas angeschlossen ist oder nicht. Ist nichts angeschlossen und man hat einen Fehler, stoppt das Programm an dieser Stelle und blendet ein Pop-up mit der Meldung ein. Ist ein Fehlerstrang angeschlossen, dann passiert das nicht. So eine Erkennung müsste doch auch allgemein mit jedem Ausgang irgendwie möglich sein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2012, 20:18 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2012 20:19 von phylin.)
Beitrag #4

phylin Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 60
Registriert seit: Nov 2011

8.5
2011
DE


Deutschland
RE: Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
Hab ich mir auch schon gewünscht und hatte das selbe gefunden wie erik.brennecke: Standardwerte abfragen.
http://digital.ni.com/public.nsf/allkb/1...24006FA6DF

Oder dieses ominöse VI-scripting machen.
https://decibel.ni.com/content/docs/DOC-10021

Ich benutze momentan stattdessen polymorphe VI, wobei ich das polymorphe VI + Selector-VIs in eine llb packe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2012, 20:25
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
Das mit dem Fehler-Dialog stimmt aber auch nur, solange du das automatische Fehler-Handling von LabVIEW nicht deaktivierst.

Für den Ausgang ist mir auch kein Automatismus bekannt. Wobei ich sagen muss, irgendwann geht es auch mit dem Automatismus zu weit, sonst weiß man im BD gar nicht mehr, welcher Fall des SubVIs aufgerufen wird.

Ein anderer Vorschlag zu deiner Frage: Kapsel die 3 Funktionalitäten deines SubVIs in 3 weiteren VIs, die dann nur die benötigten Anschlüsse haben. Damit gewinnst du wieder viel Übersicht!

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
05.03.2012, 21:38
Beitrag #6

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
Danke für die sehr hilfreichen Antworten. Es geht also, aber vom Aufwand/Nutzen-Verhältnis bzw. von der Verlangsamung des VIs her wird man sich überlegen müssen, ob es sich wirklich lohnt. Das VI "Terminal Checker" werde ich auf jeden Fall mal probieren - ob ich es dann jemals noch verwende, sei dahingestellt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.03.2012, 23:23
Beitrag #7

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
RE: Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
(05.03.2012 20:18 )phylin schrieb:  Ich benutze momentan stattdessen polymorphe VI, wobei ich das polymorphe VI + Selector-VIs in eine llb packe.
Wenn es verschiedene Instanzen des VIs sind, haben die dann auch alle einen eigenen Speicherbereich - dadurch geht doch Funktionalität verloren.

Ich würde nie auf Selektor Enums an VIs verzichten - diese zwingen einen immer ein Mindestmaß an BD Doku mitzuschleifen. Durch Einheitliche Bezeichnungen hat man direkt eine gehaltvolle Zusatzinfo zum VI.


Gruß

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.03.2012, 23:44
Beitrag #8

phylin Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 60
Registriert seit: Nov 2011

8.5
2011
DE


Deutschland
RE: Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
Ja, so habe ich es davor gemacht (Stichwort Action engine). Man hat alles praktischerweise in einem VI drin.
Nur, dann sollte man auch zwingend eine typ-def vom selector enum machen. Ich hab das nicht gemacht und hab mich nachher schwarz geärgert, als ich ständig alle selector-enums neu erstellen musste, jedesmal, wenn ich die enum geändert/erweitert habe.

Der Nachteil an diesen Enum-selectoren ist allerdings, das sie immer noch freibeweglich rumschwirren. Ich hab damit schon viel Kabelsalat verursacht. Beim Polymorphen VI hab ich den Vorteil, dass der Selector direkt unter dem VI klebt. Für mini-dokumentation ist also gesorgt. Weitere Vorteile von Polymorphen VI sind, dass man zusätzlich das VI-Icon je nach gewählten Selector anpassen kann, und man nur die Anschlüsse sieht, die für den jeweiligen Selector wichtig sind.

Was meinst du mit der folgenden Aussage? Speicherplatz auf der Festplatte?

Zitat:Wenn es verschiedene Instanzen des VIs sind, haben die dann auch alle einen eigenen Speicherbereich - dadurch geht doch Funktionalität verloren.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2012, 00:06 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2012 00:06 von phylin.)
Beitrag #9

phylin Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 60
Registriert seit: Nov 2011

8.5
2011
DE


Deutschland
RE: Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
edit: okay, mit nem polymorphen VI lässt sich natürlich nur schwer eine funktionale globale Variable realisieren. Passt also nicht sonderlich gut zum Read/Write beispiel.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.03.2012, 08:50 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2012 09:03 von Lucki.)
Beitrag #10

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Kann ein VI erkennen, ob an den Ports ein Draht angeschlossen ist?
Um noch mal auf mein Beispiel zu kommen: ich werde alles so lassen wie ich es vorher schon hatte. Nämlich zur Erstellung und Speicherung der Queue-Referenz dieses FGV-ähnliche Sub-VI verwenden:

8.5 .vi  EventQueue-1.vi (Größe: 23,48 KB / Downloads: 236)

und für Queue schreiben, lesen, freigeben kein besonderes Sub-VIs erstellen. Einfach direkt ausführen:
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Nicht Darstellbare Zeichen erkennen Philipp_O 2 3.534 21.11.2022 07:39
Letzter Beitrag: Philipp_O
  Mehrere Spitzenwerte aus einer Messreihe erkennen niklas2016 8 5.368 15.02.2021 14:27
Letzter Beitrag: BNT
Question Regelwert eingependelt erkennen TpunktN 7 5.861 23.04.2019 13:34
Letzter Beitrag: TpunktN
  Grauwerte Kamera Video erkennen BeutelSeb 0 3.314 25.05.2016 10:09
Letzter Beitrag: BeutelSeb
  Tool - VIs ohne Caller erkennen und auflisten achim @ FZK 1 4.503 07.07.2014 08:40
Letzter Beitrag: achim @ FZK
  Abfrage von Herstellerdaten eines USB-Ports TiCy 16 12.408 12.02.2013 07:49
Letzter Beitrag: dali4u

Gehe zu: