LabVIEWForum.de - Labview und Frequenzumrichter

LabVIEWForum.de

Normale Version: Labview und Frequenzumrichter
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo Leute,
ich bin immer noch dabei mein Frequenzumrichter über Labview anzusteuern ( da ich nur 2mal die woche an dem Projekt arbeite),
und zwar soll mein FU über Rs232 angesteuert werden. Der FU soll bei bestimmten Zeit eine bestimmte Drehzahl fahren.
Über meine Schnittstellenkonfi kann ich nun mit dem Gerät kommunizieren.
doch wie übertrage ich mein Main VI auf dem FU...ein neues VI basteln wo beide drinne ist oder gibt es bei LV eine automatische Funktion?
bzw wie löse ich es den am besten

Grüße und schönes we euch allen

ich benutze LV 2015
(06.10.2017 09:38 )Xit schrieb: [ -> ]Hallo Leute,
ich bin immer noch dabei mein Frequenzumrichter über Labview anzusteuern ( da ich nur 2mal die woche an dem Projekt arbeite),
und zwar soll mein FU über Rs232 angesteuert werden. Der FU soll bei bestimmten Zeit eine bestimmte Drehzahl fahren.
Über meine Schnittstellenkonfi kann ich nun mit dem Gerät kommunizieren.
doch wie übertrage ich mein Main VI auf dem FU...ein neues VI basteln wo beide drinne ist
Programmieren - nicht basteln. Im einfachsten Fall jeden Sollwert an deinen FU innerhalb der Schleife weitergeben.
(06.10.2017 09:38 )Xit schrieb: [ -> ]oder gibt es bei LV eine automatische Funktion?
Nicht wirklich.

Gruß, Jens
"Im einfachsten Fall jeden Sollwert an deinen FU innerhalb der Schleife weitergeben."
ja das hatte ich auch vor..doch wie realisiere ich es programmiertechnisch,
heiß das jetzt ich kann mein Main_VI in die tonne hauen ?
gibs da iwo ein beispiel ? habe schon im forum gesucht aber nichts gefunden was mir jetzt weiterhelfen könnte.

"Kommando: Stelle Solldrehzahl ein (= gewünschter Wert / 10)
Transmit: 0x01
0xll Low Byte Solldrehzahl
0xhh High Byte Solldrehzahl
Receive: 0xC1
0xll Low Byte
0xhh High Byte
Der gewünschte Wert muss durch 10 dividiert werden und anschließend zum Umformer
gesendet werden
zum Beispiel, setze Drehzahl auf 20.000: 20.000/10 = 2.000d = 07D0h => sende "01 D0 07""
heiß das ich muss mein drehzahl was ich über excel einlese in Hex format umwandeln und dann Visa_write senden?

Grüße
(06.10.2017 11:28 )Xit schrieb: [ -> ]"Im einfachsten Fall jeden Sollwert an deinen FU innerhalb der Schleife weitergeben."
ja das hatte ich auch vor..doch wie realisiere ich es programmiertechnisch,
heiß das jetzt ich kann mein Main_VI in die tonne hauen ?
Nö, nur erweitern und anpassen.
(06.10.2017 11:28 )Xit schrieb: [ -> ]gibs da iwo ein beispiel ? habe schon im forum gesucht aber nichts gefunden was mir jetzt weiterhelfen könnte.

"Kommando: Stelle Solldrehzahl ein (= gewünschter Wert / 10)
Transmit: 0x01
0xll Low Byte Solldrehzahl
0xhh High Byte Solldrehzahl
Receive: 0xC1
0xll Low Byte
0xhh High Byte
Der gewünschte Wert muss durch 10 dividiert werden und anschließend zum Umformer
gesendet werden
zum Beispiel, setze Drehzahl auf 20.000: 20.000/10 = 2.000d = 07D0h => sende "01 D0 07""
heiß das ich muss mein drehzahl was ich über excel einlese in Hex format umwandeln und dann Visa_write senden?
Treffer, versenkt!

Gruß, Jens
07D0h => sende "01 D0 07""
wie kann ich meine hexzahl aufteilen und in angegebener reihenfolge wie ausgeben?
auch möchte ich ein Statusabfrage über visa wirte senden...der soll alle 5 sekunden einen bestimmten festwert an das FU senden
wie realisiere ich dies am besten ? eventstruktur mit wartezeit?
Hallo Xit,

Zitat:wie kann ich meine hexzahl aufteilen und in angegebener reihenfolge wie ausgeben?
2 Lösungen:
[attachment=58336]

Zitat:wie realisiere ich dies am besten ? eventstruktur mit wartezeit?
Das wäre eine Möglichkeit: wenn du aber andere Events hast, kann es passieren, dass der Timeout nie erreicht wird…
Ansonsten bietet sich ja immer eine Statemachine an!
Hi Gerd, leider zeigt der mir wenn ich zb als Hexzahl [1F4] eingebe
auch wieder 1F4 raus, 01 wird gar nicht erst beachtet.
wo liegt mein fehler..
Hallo Xit,

Zitat:leider zeigt der mir wenn ich zb als Hexzahl [1F4] eingebe auch wieder 1F4 raus, 01 wird gar nicht erst beachtet.
Der Fehler ist, dass du nicht mit einer Hexzahl, sondern mit einem String, der einen hexadezimal formatierten Wert enthält, arbeitest.

Arbeite doch mit einer Zahl wie in meinem Snippet oben… Wall
aso..aber ich habe erst versucht von hexstring auf Zahl..aber auch das funktioniert nicht
Die Zahlen werden nicht als Hexzahlen angezeigt sondern nur als Dez

Grüße
Hallo Xit,

Zitat:ich habe erst versucht von hexstring auf Zahl..aber auch das funktioniert nicht
Weil du es falsch programmiert hast.
Wozu musst du eine Zahl in einen Hex-String umwandeln und diesen String dann wieder als Dezimalzahl behandeln und in einen U16 zurückkonvertieren???
Warum nicht einfach die Float-Zahl runden und in einen U16 umwandeln??? Wall

Zitat:Die Zahlen werden nicht als Hexzahlen angezeigt sondern nur als Dez
Weil du es so programmiert/formatiert hast!
Die Anzeigen lassen sich in LabVIEW ebenfalls formatieren, einfach mal die Eigenschaften des jeweiligen Indicators angucken!
Außerdem: der Wert ist unabhängig von der Anzeige! Es ist egal, ob du den Wert 2000 als Dezimalzahl (2000d) oder als Hexzahl (07D0h) oder als Oktalzahl (3720o) oder als Binärzahl (0000.0111.1101.0000b) anzeigen lässt! Es ist immer derselbe Wert!
Seiten: 1 2 3 4
Referenz-URLs