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!
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!
Anzeige
24.11.2010, 23:46 (Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2010 15:58 von jg.)
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!
@ Jens: Fließkommazahl sollte doch SGL und nicht DBL sein. 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.
Vielleicht noch eine Idee einfacher:
Anzeige
25.11.2010, 14:14 (Dieser Beitrag wurde zuletzt bearbeitet: 25.11.2010 14:22 von Lucki.)
@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.
' 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!
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..
' 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!