LabVIEWForum.de - I2C Auslesen, Startbedingung

LabVIEWForum.de

Normale Version: I2C Auslesen, Startbedingung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich muss für meine Bachelorarbeit einen Flowsensor über I2C auslesen. Leider bin ich blutige Anfängerin in LabVIEW und beschäftige mich gerade auch zum ersten mal mit I2C. Aber was nicht ist, kann ja noch werden =) Deswegen hier mein erster Thread:

Ich habe ein vorgefertigtes Programm, mit dem ich schon einen Differenzdrucksensor auslesen kann. Das VI funktioniert und ich muss es nur noch auf den Flowsensor abstimmen. Hier mein Problem. Ich glaube, dass ich die Startbedingung des Flowsensors einbringen muss. Aber wie? Habt ihr Ideen/Vorschläge, wie ich den Sensor richtig auslesen kann?
Danke schon mal. Angehängt ist das entsprechende VI und das Datenblatt des Sensors.

LG mikadm
Ich habe eine Lösung gefunden. Vielleicht hilft das ja jemandem anderen irgendwann.
Jetzt zeigt er zwar keine Fehlermeldung mehr an, allerdings liefert der Sensor mir auch keine Werte )= Woran könnte das liegen?
Hallo mikadm,

die Skriptfunktionen sind eig. für Sonderfälle und ganz "besondere" Geräte gedacht, dein Sensor gehört nicht dazu.
Ich würde daher auf die normalen Funktionen zurückgreifen, diese machen dir das Leben deutlich einfacher und es wird deutlich übersichtlicher.
Damit sollten sich auch viele deiner Probleme lösen, weil die Software schon vieles für dich erledigt und man weniger vergessen kann.
Habe dir mal dein Programm in I2C Basic funktionen angehängt.

Gruß Max
Danke Max !
Das Programm ist viel übersichtliche und auch verständlich! Vielen dank für deine Hilfe.
Muss ich die Adresse in dezimal oder hexadezimal eingeben?
Lg mikadm
Hallo mikadm,

im Datenblatt ist sie dez angeben und später wieder in Hex. Die 64 ist in Hex 0x80 beim schreiben bzw. 0x81 beim lesen.
Wie du sie eingibst bleibt dir überlassen, ich mache das eig. immer via HEX.
Hier noch ein Tipp: Bei Konstanten immer die Basis einblenden lassen und auf HEX stellen, dann macht man später weniger Fehler oder findet diese schneller.

Gruß Max
Hallöchen=)

Danke, den Tipp nehme ich mir zu Herzen.
Ich bekomme jetzt eine Rückmeldung von dem Sensor, damit aber die Messung gestartet wird, muss ich den Startbefehl schicken (siehe angehängtes Foto)
Das möchte ich mit einem Array realisieren:
10
00
Allerdings wenn ich den Array so aufstelle müssen die Leeren stellen noch mit Nullen aufgefüllt werden, damit es 2 ganze Bytes werden. Wie mache ich sowas?
Ich hoffe meine Frage ist verständlich Blush

LG mikadm
Hallo mikadm,

du gibst im Array einfach 10, 0 ein (Achtung HEX!) und sendest diese an den Sensor, danach solltest du FF, FF zurücklesen können. 0 ist 00, wenn es dich stört/verwirrt kannst da auch einfach die Anzeige einstellungen der Konstante anpassen.
Welche Funktion du dafür nutzen musst, findest du sicher selber raus Wink.

Ansonsten hilft es auch immer mal einen Blick in richtung der Microcontroller zu werfen (Arduino). Oft hat schon jemand Programme/Ideen für geschrieben, man muss diese dann einfach nur in LV nachprogrammieren und etwas anpassen. Man muss das Rad ja nicht neu erfinden.

Gruß Max
Referenz-URLs