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 

virtual-com-port erstellen und DCD setzen



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.08.2017, 10:54
Beitrag #11

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: virtual-com-port erstellen und DCD setzen
(11.08.2017 09:58 )buettnerstefan schrieb:  Hallo Gerd,

das Auto habe ich ja bereits gekauft, ich möchte es also nicht klauen sondern nur zeitgemäß zum fahren bringen Angel_not
Und da so ein Oldtimer ein sehr altes Auto ist braucht man beim Hersteller auch nicht mehr nach ein Update fragen sondern man soll dann einen Neuwagen kaufen.

Aber mal Spaß beiseite, ich kann das Programm ja durch schließen eines Kontakts Triggern (und darf das auch).
Jetzt kann ich das mit einem Taster, einem Relais oder sonstwas machen, was spricht also dagegen das aus einem anderen Programm heraus zu machen?

Ich kann jetzt aus meinem Programm heraus eine Relaiskarte auf "an" setzen, damit den Kontakt für den COM-Port schließen was wieder in meinem PC amkommt um das Fremdprogramm zu Triggern. Das funktioniert auch, habe ich bereits getestet!
Aha, du hast also eine funktionierende Lösung
(11.08.2017 09:58 )buettnerstefan schrieb:  Abgesehen davon das man "unnötigerweise Hardware" dafür braucht (um vom PC im PC etwas auszulösen) und dadurch längere Signallaufzeiten entstehen, widerstrebt es mir so einen Pfusch zu machen und reizt es mich das programmatisch hinzubekommen.

Ich bin sehr zuversichtlich das es gelingt wenn ich eine virtuelle Schnittstelle erzeugen kann und vollzugriff auf diese habe (was bei einer virtuellen wahrscheinlich einfacher ist als bei einer echten).

Daher nun die Fragen:
Kann man mit LabVIEW eine viertelle COM-Schnittstelle erzeugen?
Falls ja, darf ich bitte erfahren wie das geht? Wink
Mir wäre nicht bekannt, wie das gehen soll. Du müsstest einen Windows-Treiber schreiben, der Windows einen COM-Port vorgaukelt. Dein anderes Programm muss ja diesen COM-Port ebenfalls erkennen und darauf zugreifen. Wobei wir beim nächsten Problemchen sind, sobald dein anderes Programm auf den COM-Port zugreift, wirst du da nicht mehr von LabVIEW aus zugreifen können. Wie willst du es jetzt hinkriegen, die Pins (die ja gar nicht existieren) zu verbinden?

Also da ist die Lösung mit Relais-Karte und echtem COM-Port (selbst wenn das ein sogenannter virtueller COM-Port an einem USB-zu-RS-232-Konverter ist) sicherlich doch die einfachere und kostengünstigere Alternative.

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
Anzeige
14.08.2017, 11:24 (Dieser Beitrag wurde zuletzt bearbeitet: 14.08.2017 11:33 von rolfk.)
Beitrag #12

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: virtual-com-port erstellen und DCD setzen
(11.08.2017 09:58 )buettnerstefan schrieb:  Ich bin sehr zuversichtlich das es gelingt wenn ich eine virtuelle Schnittstelle erzeugen kann und vollzugriff auf diese habe (was bei einer virtuellen wahrscheinlich einfacher ist als bei einer echten).

Jens hat es auf den Punkt gebracht, Das ginge wenn Du einen Windows Treiber schreiben würdest der zwei virtuelle COM Ports erzeugt die softwaremässig miteinander verbunden sind. Entwicklungsaufwand: einige Mannmonate und auch nur wenn Du ziemlich sattelfest bist mit Winndows Gerätetreiberentwicklung. Das ist aber echte Low-Level C Programmierung und Debugging von Gerätetreibern ist alles ausser einfach. Also denke ich mal das die Lösung mit einer einfachen Relaiskarte sowohl viel einfacher als auch günstiger ist, es sei denn Du beabsichtigst diese Lösung in Massenproduktion anzufertigen so von 10000 Stück an aufwärts. Und dann noch wäre es wahrscheinlich einfacher um die Fremdsoftware ganz einfach in LabVIEW neu zu implementieren.

Du kannst auch versuchen dieses Project hier zum Laufen zu bringen. Es implementiert so ein virtuelles Com Port Null modem. Aber ich bezweifle dass eine der Seiten die NI DCD Kontrolloption implementiert. Das ist eine NI spezifische Extension des COMM Device Drivers für deren eigene Hardware und ich denke nicht dass die irgendwo dokumentieren welchen IOControl call und mit welchen Parametern diese Option implementiert. Eventuel werden solche Extensions in VISA sogar auch noch explizit darauf getested dass der entsprechende Gerätetreiber von NI ist bevor dieser Treiberaufruf überhaupt versucht wird, da man ansonsten durchaus Kernelcrashes bekommen könnte wenn man einen beliebigen Treiber mit diesem Kontrollcode aufruft. Also denke ich dass selbst dieser Treiber nicht wirklich die Lösung wäre.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen 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
  Virtual Com port nicht ansteuerbar Nikita 7 8.699 09.12.2020 09:00
Letzter Beitrag: Nikita
  Virtual Channelname unter Yokogawa hammerheadbene 1 4.740 25.10.2011 09:33
Letzter Beitrag: hammerheadbene
  in port.vi /out port.vi nicht unterstützt? Fischi84 5 9.371 24.01.2011 14:58
Letzter Beitrag: Kiesch
  Virtual COM Port und Windows 7 Morice 4 11.681 12.11.2010 20:12
Letzter Beitrag: Morice

Gehe zu: