24.11.2010, 23:38
Beitrag #1
|
LV-Stu
LVF-Neueinsteiger
Beiträge: 4
Registriert seit: Nov 2010
2010 Student
-
de
Deutschland
|
eine SGL-Variable in zwei 16Bit Int wandeln..
Hallo, ich hab im Studium ein LV-Projekt, und befasse mich deshalb zum ersten mal mit LV;)Deswegen habe ich auch eine sehr simple Frage, für die ich aber noch keine Lösung finde.. Es geht darum, dass eine Anlage über MODBUS angesteuert werden soll, diese hat dafür mehrere Variablen vorgesehen, welche aus 16 Bit Integern bestehn. Ein Wert jedoch muss so übertragen werden, dass er sozusagen auf 2 16 Bit-Blöcke verteilt ist. Umgekehrt geht es, weil uns ein Laboringenieur sehr gut geholfen hat und ein Beispiel programmiert hat (siehe erstes Bild)
. Ich muss es jetzt genau andersherum machen, also ein Bedienelement ist verbunden mit zwei Umgebungsvariablen (siehe Bild 2)
.
ich hoffe es ist verständlich was gemeint ist, und es is sicher sehr einfach, aber ich komme mit den Strukturen von LV noch nicht so zurecht!
also schonmal vielen Dank im Voraus!
|
|
|
24.11.2010, 23:46
(Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2010 15:58 von jg.)
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
eine SGL-Variable in zwei 16Bit Int wandeln..
Dann mach es doch genau umgekehrt:
Typecast nach einem Array of I16, und dann Element 1 und 2 per Index Array entnehmen:
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.
|
|
|
24.11.2010, 23:58
Beitrag #3
|
LV-Stu
LVF-Neueinsteiger
Beiträge: 4
Registriert seit: Nov 2010
2010 Student
-
de
Deutschland
|
eine SGL-Variable in zwei 16Bit Int wandeln..
Danke, das ging ja schnell:)aber wie erstelle ich das Teil oben über der Typumwandlung? das mit der 0?
|
|
|
25.11.2010, 00:11
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
eine SGL-Variable in zwei 16Bit Int wandeln..
Lange Variante:
Leere Array-Konstante im BD erzeugen:
Eine Numeric Konstante in das leere Array einfügen:
Datentyp der Numeric Konstante im Array auf I16 ändern (erreichbar über Kontext-Menü). Das kann auch vor Schritt 2 erfolgen.
---
Kurze Variante: In deinem oberen Screenshot an der richtigen Stelle auf den Draht zwischen Build-Array und Typecast das Kontext-Menü aufrufen -> Create -> Constant
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.
|
|
|
25.11.2010, 00:15
Beitrag #5
|
LV-Stu
LVF-Neueinsteiger
Beiträge: 4
Registriert seit: Nov 2010
2010 Student
-
de
Deutschland
|
eine SGL-Variable in zwei 16Bit Int wandeln..
wow danke :=) hoffe es klappt!
|
|
|
25.11.2010, 11:34
(Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2010 11:39 von unicorn.)
Beitrag #6
|
|
|
25.11.2010, 14:14
(Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2010 14:22 von Lucki.)
Beitrag #7
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
eine SGL-Variable in zwei 16Bit Int wandeln..
@unicorn
Wollte auch so ähnlich schreiben. Die Ungereimtheit (8 bytes --> DBL) hat allerdings schon im Titel des Threads und im Beispiel des sehr gut geholfen habenden Laboringenieurs seinen Ursprung.
Kann mir mal jemand erklären, was das in dem Beispiel für komische Konstanten oder Variablen sind? Noch nie gesehen.
|
|
|
25.11.2010, 15:57
Beitrag #8
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
eine SGL-Variable in zwei 16Bit Int wandeln..
' schrieb:@ Jens: Fließkommazahl sollte doch SGL und nicht DBL sein.
Du hast natürlich vollkommen recht! War mein Fehler...
' schrieb:Das 0. und das erste 1. I16-Arrayelement beschreiben nicht die ganze Fließkommazahl (8 Bytes lang). Außerdem erscheint mir die Verwendung von U16 besser geeignet zu sein, da negative I16-Werte irritieren könnten.
Ob U16 oder I16, das ist bei Modbus eigentlich ziemlich egal. Wichtig ist nur, was in den 2 Bytes binär übertragen wird.
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.
|
|
|
25.11.2010, 16:00
Beitrag #9
|
LV-Stu
LVF-Neueinsteiger
Beiträge: 4
Registriert seit: Nov 2010
2010 Student
-
de
Deutschland
|
eine SGL-Variable in zwei 16Bit Int wandeln..
Hallo nochmal, also wenn ich im Titel was falsch geschrieben habe, tut mir das leid, aber das liegt dann wohl daran, dass ich noch nicht komplett durchgeblickt habe was ich da genau mache
Die Variablen sind Umgebungsvariablen, die über Modbus übers Netzwerk über OPC übertragen werden, in jeder Variablen sind 16 Bits, manche schalten nur einen Zustand, manche sind eben zu Analogwerten zusammengefasst..Leider kann ich das ganze im Moment nicht testen, weil ich natürlich nur im Labor Zugriff auf die Anlage habe..
|
|
|
25.11.2010, 16:22
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
eine SGL-Variable in zwei 16Bit Int wandeln..
' schrieb:Hallo nochmal, also wenn ich im Titel was falsch geschrieben habe, tut mir das leid, aber das liegt dann wohl daran, dass ich noch nicht komplett durchgeblickt habe was ich da genau mache
Thementitel geändert! Damit sollten in Zukunft Missverständnisse ausgeschlossen sein.
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.
|
|
|
| |