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!
ich beschäftige mich jetzt seit einem Monat mit LabVIEW und je mehr ich damit arbeite desto frustrierter werde ich, weil ich einfach nicht weiterkomme .
Und nun brauche ich eure Hilfe, zurzweit arbeite ich an einer Digitaler I/O Karte PCI 6533 (DIO-32HS), habe schon diverse Foren durchsucht und mir Beispiele angeschaut doch ich komme leider nichts zum Ergebnis.
Meine Frage ist wie bekomme ich über einen Leitung die Daten rein und lese gleichzeitig über diese Leitung. Da ich ein IC an diese Leitung anschließen möchte und die Digitalendaten auslesen möchte. Das IC gib die Daten über so ein geanntes SMBUS. Hab gesehen das es methoden gibt wie Handshake aber werde nicht schlau daraus, vielleich wisst Ihr wie es geht und könnt es mir erklären oder ein Beispiel Vi schicken. Und ja ich hab mir die User Manual angeschaut bin aber nicht schlauer draus geworden
Auf jede erdenkliche Hilfe wäre ich dankbar, ich danke euch schonmal im Voraus.
EUER
ALi
Anzeige
11.11.2010, 16:27 (Dieser Beitrag wurde zuletzt bearbeitet: 11.11.2010 21:24 von jg.)
ich bins nochmal hab die Digitalen Daten versucht reinzuschreiben doch es übernimmt nur den letzten Wert.
Wie kann ich die Digitalen Signale durchschicken?? Ich hoffe ich konnte mich einigermaßen V erständlich ausdrücken
Schau dir mal die zu deiner Karte passenden Bsp. im NI Example Finder an:
Dazu links unten die passende Hardware hinzufügen, auswählen und Bsp auf diese Hardware einschränken.
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!
Die hab ich mir schon angeschaut doch ich versteh nicht wie ich die Daten reinschreiben kann??
Kannst du bitte dir mal mein Beispiel VI anschauen und mir sagen was ich falsch gemacht habe oder was man besser machen kann.
Wäre sehr Hilfreich, danke nochmals.
Bekomme ich noch eine Antwort, brauche wirklich dringent Hilfe.
Wäre nett von euch wenn ihr das VI anschauen würdet und mir sagen würdet,
wie ich zb. die Daten 100101110 in eine Leitung reinschreiben kann.
In deinem Bsp fehlt ein Timing. Daher werden die Digital-Waveform wahrscheinlich so schnell rausgejagt, dass du davon gar nichts mitkriegst. Oder es wird automatisch nur der letzte Werte genommen., was jetzt stimmt.
Lösung also: Nimm eines der Bsp mit interner Taktrate aus dem NI-Examplefinder. Oder konfiguriere sowas mal mit dem DAQ-Assi und wandle den dann in DAQmx-Code (rechte Maustaste) um.
Über ein Problem wirst du dann stolpern: Bei der 6533 kannst du einen einzelne digitale Line nicht mit einem Hardware-Takt schreiben. Es muss immer ein gesamter Port angegeben werden. Und genau deshalb passt dein Doppelpost in dem anderen Thread gar nicht.
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!
Könnt Ihr mir mal ein Beispiel reinstellen wo ich eine beliebige Bitfolge erstellen und auf eine Leitung die dann schreiben kann,
hab nix bei der Ni - Suchmaschine gefunden.
ich hab es jetzt geschafft die Bitfolge mit dem Takt zu synchronisieren, doch jetzt muss ich die einzelnen Bits zusammenfassen und als Binärzahl darstellen oder am besten als Hexidezimahlzahl
ich habe versucht mit einem Array die einzelnen Bits zusammen zu fassen, doch wenn ich das Array-anzeige Element aus der For-schleife raus mache bekomme ich keine Werte angezeigt und wenn ich in die Forschleife setze laufen mir die Werte weg. Ich hoffe ihr habt mich verstanden.
Guckt euch die Bilder an oder gleich das VI
MfG
ALi
22.11.2010, 15:56 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2010 15:58 von Matze.)
dein Array wird angezeigt, sobald die For-Schleife beendet wird. D.h. nach dem 40. Durchlauf. Es sind also die Werte beim letzten Durchlauf (i = 39) relevant. D.h. wiederum du setzt in der unteren Case-Struktur oft den Wert "false" (= Standardwert). Daher kommt nicht das am Array-Ausgang an, was du gerne hättest.
Was soll denn genau dort ankommen?
Vielleicht ist hier ein Array als Schieberegister sinnvoller und je nach aktivem Case-Fall (er)setzt du dort den entsprechenden boolschen Wert.
PS: Hier tummeln sich relativ wenig Frauen. Mit der Anrede "Hi Mädels" ist die Chance, Hilfe zu erhalten, deutlich geringer als wenn du alle ansprichst.
Ich habe dennoch geantwortet, da du diesen Ausdruck evtl. nur cool finden magst, auch wenn ich das anders sehe.
danke für deine Antwort,es sollen die Daten im Array ankommen, die auch gelesen werden.
Es sind in der Case Struktur die Werte 21,23,25,27,29,31,33,35, sie werden mit einem externen IC genau nach dem Takt geschrieben, was ich angegeben habe.
z.B. eine Adresse 10011100.
Kannst du mir mal ein Beispiel zeigen wie ich das in ein Array schreiben kann also Bitfolgen als Binärzahl oder Hex-Code, weiß nicht mehr weiter.
Das mit dem Schieberegister wollte ich auch machen, aber wusste nicht wie ich das umsetzen soll....
Danke nochmals für deine Hilfe.
Und das mit der Anrede war eigentlich nur ein kleiner Joke, kommt nicht mehr vor