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 

Slot und Signal Konzept in labview



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!

11.05.2016, 09:55
Beitrag #1

galilio Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 175
Registriert seit: Mar 2014

2015
2013
EN


Schweiz
Slot und Signal Konzept in labview
Hallo Zusammen,


kann man in Labview das Konzept von Signal und Slot nachbilden?

Für die jenigen, die das nicht kennen hier eine kurze Beschreibung:
https://de.wikipedia.org/wiki/Signal-Slot-Konzept

Warum ich das brauche?
In eine Application mit C++ und Qt habe ich dieses Konzept gebraucht. Vorteil daran, dass es ständig abgefragt wird, ob die Beziehung zwischen Slot und Signal true "Stichwort connect(......)" ist.
Das heisst man muss nicht ständig abfragen, ob der Stand True oder nicht.

Hier geht eigentlich um eine USB Connection, die ich gerne mit Labview in eine Konzept von Signal und Slot nachbilden möchte.
Ist die USB verbindung erfolgreich, dann ist der Hauptbutton Enabled und der User kann mit seiner Application loslegen.
Ist es nicht der Fall, ist dann der Hauptbutton desabled.

Man kann dieses Konzept so ansehen als Pollingsverfahren:
Standig abfragen: Bist du True --> dann weiter machen
Bist du False --> abbrechen...


Wie kann so was in Labview nachbilden?
Gibt es was ähnlich Labview?


Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.05.2016, 20:14
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.698
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Slot und Signal Konzept in labview
(11.05.2016 09:55 )galilio schrieb:  kann man in Labview das Konzept von Signal und Slot nachbilden?
Nachbilden geht fast alles.

Zitat:Ist die USB verbindung erfolgreich, dann ist der Hauptbutton Enabled und der User kann mit seiner Application loslegen.
Ist es nicht der Fall, ist dann der Hauptbutton desabled.

Eigentlich willst du ja nichts weiter machen, als event-gesteuert einen Button enablen oder disablen. Dort, wo du feststellst, dass der USB nicht mehr connected ist, verschickst du einen Benutzer-Event, den du in dem VI, das den Button enthält, in einem Event-Case abfragst.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2016, 06:18 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2016 06:20 von galilio.)
Beitrag #3

galilio Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 175
Registriert seit: Mar 2014

2015
2013
EN


Schweiz
RE: Slot und Signal Konzept in labview
(11.05.2016 20:14 )IchSelbst schrieb:  Eigentlich willst du ja nichts weiter machen, als event-gesteuert einen Button enablen oder disablen. Dort, wo du feststellst, dass der USB nicht mehr connected ist, verschickst du einen Benutzer-Event, den du in dem VI, das den Button enthält, in einem Event-Case abfragst.


Jaein
Das ganze muss automatisch laufen können, sobald z.B die USB verbindung nicht connected ist muss der Button auf desabled gesetzt werden. Wird die USB Verbindung wieder erfolgreich, dann ist der Power Button wieder Enabled.
Dieses Verhalten muss beim jeden State gewährleistet werden.

Im Anhang sind zwei Screenshots, die veranschaulichen das Verhalten der User-Interface bei eine USB Verbindung.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2016, 07:54
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.698
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Slot und Signal Konzept in labview
(12.05.2016 06:18 )galilio schrieb:  Das ganze muss automatisch laufen
Wolltest du es nicht nachgebildet haben? Automatisch heißt integriert in LabVIEW.

Und ob die LV-Entwickler das integriert haben, glaube ich ich. Die wollten ja eine Datenfluß-Steuerung machen, keine Event-Steuerung. Das mit den Events ist in LV leider noch nicht so sehr gut integriert.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2016, 08:12 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2016 08:15 von galilio.)
Beitrag #5

galilio Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 175
Registriert seit: Mar 2014

2015
2013
EN


Schweiz
RE: Slot und Signal Konzept in labview
(12.05.2016 07:54 )IchSelbst schrieb:  
(12.05.2016 06:18 )galilio schrieb:  Das ganze muss automatisch laufen
Wolltest du es nicht nachgebildet haben? Automatisch heißt integriert in LabVIEW.

Und ob die LV-Entwickler das integriert haben, glaube ich ich. Die wollten ja eine Datenfluß-Steuerung machen, keine Event-Steuerung. Das mit den Events ist in LV leider noch nicht so sehr gut integriert.

Mit automatisch meine ich: Ich muss nicht extra darum kümmern.
Sobald die USB Verbindung abgebrochen wird, muss einen Interrupt ausgelöst werden "He USB Verbindung ist nicht mehr True"

Nachbilden möchte ich gerne aber ich weiss es nicht wie soll ich das machen:
Soll ich einen Haupt While Loop einbauen und ich diesem While Loop einen Event Structure die eine VI"die dafür zuständig die USB Verbindung zu überwachen" ständig aufruft?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2016, 08:49 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2016 08:50 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Slot und Signal Konzept in labview
Hallo galilio,

was du haben willst, hört sich wie ein Callback an, der von einem Treiber (oder einer Windows-Funktion) ausgelöst werden soll:
Der USB-Treiber überwacht die USB-Connection und löst einen Callback-Aufruf aus, wenn sich der Status der Connection ändert.

1. Ganz allgemein unterstützt LabVIEW solche Callback-Mechanismen, z.B. bei DotNet-Geschichten…
2. Hast du einen USB-Treiber, der solche Callbacks überhaupt anbietet?

Einfache Lösung: Selbst per Polling den USB-Status abfragen und deinen Button entsprechend setzen…

Zitat:Ich muss nicht extra darum kümmern.
Wenn in deinem Programm irgendetwas passieren soll, dann musst du dich als Programmierer IMMER "extra darum kümmern"!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.05.2016, 09:13
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Slot und Signal Konzept in labview
(12.05.2016 08:49 )GerdW schrieb:  
Zitat:Ich muss nicht extra darum kümmern.
Wenn in deinem Programm irgendetwas passieren soll, dann musst du dich als Programmierer IMMER "extra darum kümmern"!
Und das selber drum kümmern kann doch gerne eine parallele Schleife (gerne auch verpackt in ein SubVI) sein, die den USB-Status überprüft und per Refnum den Button im Main (de-)aktiviert.

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
13.05.2016, 07:41
Beitrag #8

galilio Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 175
Registriert seit: Mar 2014

2015
2013
EN


Schweiz
RE: Slot und Signal Konzept in labview
(12.05.2016 08:49 )GerdW schrieb:  Hallo galilio,

was du haben willst, hört sich wie ein Callback an, der von einem Treiber (oder einer Windows-Funktion) ausgelöst werden soll:
Der USB-Treiber überwacht die USB-Connection und löst einen Callback-Aufruf aus, wenn sich der Status der Connection ändert.

1. Ganz allgemein unterstützt LabVIEW solche Callback-Mechanismen, z.B. bei DotNet-Geschichten…
2. Hast du einen USB-Treiber, der solche Callbacks überhaupt anbietet?

Einfache Lösung: Selbst per Polling den USB-Status abfragen und deinen Button entsprechend setzen…

Zitat:Ich muss nicht extra darum kümmern.
Wenn in deinem Programm irgendetwas passieren soll, dann musst du dich als Programmierer IMMER "extra darum kümmern"!

@ 2: Das weiss es nicht, ob die USB-Treiber das unterstützt.
Was ich weiss, dass die USB einen HID Treiber braucht und die eingentlich automatische runtergeladen wird sobald das Board mit PC Verbunden ist.


Im Netz bin ich auf folgende gestossen:"Scan Registry for USB Device"
https://decibel.ni.com/content/docs/DOC-6743

Ich habe es zu meiner Application angepasst.Es funktioniert aber es ist nicht unbedingt was ich brauche.

Meine Frage: Wie kann ich per Polling der USB Status abfragen?
Hase du vielleicht einen Beispiel?

Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.05.2016, 08:14
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.698
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Slot und Signal Konzept in labview
(13.05.2016 07:41 )galilio schrieb:  Es funktioniert aber es ist nicht unbedingt was ich brauche.
Du hast doch geschrieben, dass du C++ kannst. Dann schreib eine DLL in C/C++/C#. Die kann nämlich Messages von Windows verarbeiten. Windows verschickt eine "Broadcast-Message", wenn ein USB-Port getrennt wurde (zumindest war das mal früher so). In der DLL kannst du auf diese Message reagieren und einen Callback nach LV machen.

Du könntest natürlich auch mal googeln, ob es nicht irgendwo für LV direkt was gibt, das beliebige Windows-Messages empfangen kann.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Labview Konzept oe-ms1 11 8.459 16.07.2013 17:59
Letzter Beitrag: oe-ms1
Bug Konzept / Struktur für Automatische Messung von Messreihen & Ansteuerung akoKE 2 5.291 12.09.2012 11:48
Letzter Beitrag: akoKE
  Konzept Software / Hardware michael 1 3.186 20.08.2012 08:41
Letzter Beitrag: GerdW

Gehe zu: