LabVIEWForum.de - 32-bit Integer für CAN-Bus splitten auf 2x16-bit

LabVIEWForum.de

Normale Version: 32-bit Integer für CAN-Bus splitten auf 2x16-bit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Ich möchte für ein Projekt Soll-und Istwerte über CAN-Bus verschicken bzw. einlesen.
Die Umrichter von SEW können nur Prozessdatenworte verarbeiten, die 16-bit groß sind, d.h. ich muss die vorzeichenbehaftete Integer Zahl (32-bit) in high und low splitten (binär), dann verschicken.
Beim einlesen bekomme ich dann 2x16-bit, die ich wieder zu einem 32-bit Integer zusammenführen muss.
Ich habe bereits diverse array-funktionen etc. getestet, komme aber irgendwie nicht weiter.
Als Beispiel:
Ich habe den Sollwert 256
gewandelt in binär ergibt es 10000000
dieser wird in 2x16 bit gesplittet, im high stehen dann nur 0en, im low-teil die 10000000
diesen verschicke ich.

Und beim empfangen halt umgekehrt.

Ich wäre für Tips oder Hilfen sehr dankbar, das Problem ist ja eigentlich nicht so schwer, aber irgendwie hab ich ein Brett vorm Kopf.

Danke
Hallo DIP,

ich denke, so ziemlich genau Deine Vorstellung getroffen zu haben.

[attachment=2827]

Viel Erfolg
Hallo und danke für die schnelle Antwort,

Allerdings trifft das nicht 100%ig meine Anforderung. Ich hatte vergessn zu erwähnen, das der Wert auch negativ sein kann.
Wäre es möglich das einfach mt einzubauen?

Danke dir jedenfalls!

Gruß
Hallo,

das mit den negativen Zahlen ist ein bisserl umständlicher (bestimmt gibt es auch andere Wege, ich habe einfach mal den digitaltechnisch begründeten Weg gewählt).

Gruß,
Franz


[attachment=2828]
Super danke dir, habe min Problem gelöst. Es lag daran das ich (bekennender nicht-informatiker) nicht wusste wie das Vorzeichen mit Übertragen wird.

Vielen Dank!

Grüße
Hätte da ne alternative, ist vielleicht etwas einfacher bzw anderst gelöst.

Kannst es dir ja mal anschauen.
Danke auf jeden Fall für deine Mühe, aber ich habe leider LabVIEW 7.1, ich kann deine Version nicht öffnen.

Gruß
so sollte jetzt gehen

ist denk ich mal einfacher gelöst
Hallo zusammen,

warum so kompliziert?

Gruß
Christian
ist natürlich noch einfacher so
Referenz-URLs