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 

MatLab, Vektor ->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!

04.12.2009, 14:48
Beitrag #1

joe1234 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 136
Registriert seit: Sep 2007

2010
2007
kA


Deutschland
MatLab, Vektor ->LabVIEW
Hallo Leute,

entweder sehe ich das nicht oder stehe irgendwie auf der Leitung....
folgendes Problem:
Ich habe in Matlab folgenden Code
fwrite(s,dsH,'unit8'Wink
Dies entspricht:[list=1]
[*]serielles schreiben mit dem Befehl "fwrite()"<>
[*]"s" entspricht dem Handle<>
[*]"dsH" ist ein Vektor mit den Werten [250;250;0;120]<>
[*]unit8 ist das Format<>
[st]So wie ich das richtig verstehe, wird der Vektor mithilfe vom Scghreibbefehl "fwrite" auf die Schnittstelle geschrieben.

Nun meine Frage:
Ich habe mir ein VI mit Visa-Open, Visa-Write, Visa-Close geschrieben, jedoch kann ich bei Visa-Write nur einen String im Schreibpuffer einfügen jedoch keinen Vektor! Wie muss ich den in Visa-Write die Elemnte im Schreibpuffer aneinanderreihen, damit es wie in Matlab ein Vektor übergeben wird?
Ich möchte also im Grunde den oberen Vektor mit den angegebenen Zahlen mit LabVIEW auf mein Gerät schreiben können.

Gruß Joe

PS: Sicher ist es ziehmlich einfach, aber ich komme irgendwie nicht darauf.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.12.2009, 14:58 (Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2009 15:01 von jg.)
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
MatLab, Vektor ->LabVIEW
Mal kurz google anwerfen...

such, such, such

<strike>:hmm:fwrite ist ein Befehl, der Daten binär in einen File schreibt. Was soll das mit VISA zu tun haben?</strike>

EDIT: Kommando zurück, da findet man doch tatsächlich was mit fwrite und RS232.

Trotzdem, fwrite scheint die Daten in einen Binärstring zu wandeln (erster Eindruck). Sowas geht auch mit LabVIEW, z.B. mit Typecast oder Flatten To String.

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
04.12.2009, 15:15
Beitrag #3

joe1234 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 136
Registriert seit: Sep 2007

2010
2007
kA


Deutschland
MatLab, Vektor ->LabVIEW
' schrieb:Mal kurz google anwerfen...

such, such, such

Moment Mal....
Gegoogelt habe ich schon. Wie fwrite aufgebaut ist, weiss ich auch und für die, die es wissen wollen:
http://www.mathworks.com/access/helpdesk/h...ref/fwrite.html

Meine Frage ist ja, wie "baue" ich sowas in LabVIEW auf?
Bis jetzt habe ich immer VISA benutzt und es hat sowohl bei USB als auch bei Seriellen Schnittstellen hervorragend funktioniert. (Ich Muss ehrlich gesagt sagen, ich habe bis jetzt auch nur gekaufte Geräte verwendet!)
Nun habe ich mir ein Gerät sozusagen ausgeliehen und außer dem Matlab-Programm habe ich keine Hilfen zum Gerät. Ich kann hier auch bei keinem Nachfragen, leider! :-(
Deswegen wandte ich mich an das Forum.

Also damit hier die Frage nicht untergeht, wie kann ich denn Matlab-Befehl "fwrite" in LabVIEW realisieren?

Gruß Joe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.12.2009, 15:23 (Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2009 15:24 von jg.)
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
MatLab, Vektor ->LabVIEW
' schrieb:Also damit hier die Frage nicht untergeht, wie kann ich denn Matlab-Befehl "fwrite" in LabVIEW realisieren?
Eigentlich schon beantwortet, aber damit es ebenfalls nicht untergehtWink

fwrite wandelt (soweit ich verstehe) beliebige Daten in einen Binärstring und schreibt diesen dann als String auf das geöffnete Handle (in der Regel ein File, kann aber auch eine Schnittstelle sein, das habe ich kapiert).

In LabVIEW kannst du das Wandeln in einen String mit Typecast oder Flatten To String machen:
   

Den Rest mit VISA-Open, Write, Close hast du schon...

Gruß, Jens

EDIT: Zwecks google, ich kenn mich mit MatLab gar nicht aus, musste deshalb überhaupt erst mal nachschlagen, was fwrite für ein Befehl ist.

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
04.12.2009, 15:28
Beitrag #5

joe1234 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 136
Registriert seit: Sep 2007

2010
2007
kA


Deutschland
MatLab, Vektor ->LabVIEW
Danke Jens,
habes es bei ersten Mal nicht gleich verstanden...Unsure
Ich Probiere das jetzt aus und wenn es geklappt hat, werde ich das VI später hier reinstellen.

Gruß Joe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.12.2009, 15:39 (Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2009 15:50 von jg.)
Beitrag #6

joe1234 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 136
Registriert seit: Sep 2007

2010
2007
kA


Deutschland
MatLab, Vektor ->LabVIEW
So, ich habe doch noch ein Problem...
Auf die Schnelle bekomme ich es nicht hin, kannst du mir da weiter helfen?
VI liegt bei.

Gruß Joe

Lv09_img2
Sonstige .vi  Box_test.vi (Größe: 12,64 KB / Downloads: 226)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.12.2009, 15:54
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
MatLab, Vektor ->LabVIEW
So?
Lv09_img2
Sonstige .vi  Box_test.vi (Größe: 15,12 KB / Downloads: 234)


Gruß, Jens

P.S.:
:profil:und http://www.LabVIEWforum.de/LV-Version-hoch...d39s-t7949.html

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
04.12.2009, 16:00
Beitrag #8

joe1234 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 136
Registriert seit: Sep 2007

2010
2007
kA


Deutschland
MatLab, Vektor ->LabVIEW
Einfach mal zum Verständnis:
fwrite wandelt die Daten in Binärcode um und schickt sie dann über die serielle Schnittstelle. In meinem Fall ist es der Vektor dsH=[250;250;0;120]. Da es mi unit8 Format ist, wird immer eine Zahl (z.B: 250) in 8 Bit umgewandelt/dargestellt und dann übertragen -> so habe ich es verstanen.

Wie macht es denn die VISA-Schnittstelle von LabVIEW? Im Grunde müssten doch auch Binärzahlen herauskommen, oder? Wenn ja, wozu dann die Typecast/Typenumwandlung?

Gruß Joe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.12.2009, 16:09
Beitrag #9

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
MatLab, Vektor ->LabVIEW
Nein, am Ende von fwrite kommt ein String raus.

Zur Wandlung, das Format-Feld besagt, welches Datenformat jedes der Elemente haben soll, das verstehst du schon richtig.

Vielleicht musst du dir das in LabVIEW eher so aufbauen:

Du hast ein Array. Mit einer Typ-Konversion wandelst du jetzt das Array in das durch "Format" spezifizierte Zahlenformat:
   

So, und jetzt wird dieses Array in einen Binärstring gewandelt. Denn per VISA-Write (oder auch File-Write) kannst du nur einen String schreiben.

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
08.12.2009, 16:14
Beitrag #10

joe1234 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 136
Registriert seit: Sep 2007

2010
2007
kA


Deutschland
MatLab, Vektor ->LabVIEW
Hi Jens,

danke, es funktioniert einwandfrei. Wir haben nur einen wirklich groben Fehler in unserem SubVI. Das SubVI "Visa Open" muss aus der While-Schleife heraus, sonst wird ja der Port ständig geöffnet!!!
Wenn ich zu Hause bin, mache ich das richtige VI rein.
Also nochmal: Visa-Open einfach VOR die While-Schleife schieben, dann klappts!!!

Gruß Joe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: