Diris A40 - Negative Spannungen

Koslovski

Level-2
Beiträge
51
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

beim Auslesen eines Socomec Diris A40 erhalte ich für die verketteten Spannungen negative Werte.
Dieser Fall ist auch in der Dokumentation beschrieben:

Umwandlung der Werte mit oder ohne VorzeichenWenn der Strom, die Spannungen oder Energie negativ sind, muss folgende Regel angewandt werden:
• das gegenüberliegende Bit pro Datenbit verwenden
• zu diesem gegenüberliegenden Bit 1 addieren.
Beispiel
• negativer Wert -28864 mv
im Binärformat: 0111 0000 1100 0000
• gegenüberliegend entspricht: 1000 1111 0011 1111
• gegenüberliegend
+ 1 entspricht: 1000 1111 0100 0000,
d.h., 366,72 V in Dezimalzahlen.

Wenn ich aber wie beschrieben das Zweierkomplement bilde, erhalte ich zwar einen positiven Wert,
dieser ist aber genau der Betrag des negativen Wertes, und weit entfernt vom tatsächlichen, am Gerät selber
angezeigtem Wert, d.h. z.B. ausgelesen: -2352, davon Zweierkomplement: 2352, Wandlung in Real und Division
durch 10 => 235,2V, angezeigt am Gerät werden aber 399,2V für die verkettete Spannung.

Was mache ich falsch, bzw. was muss ich noch machen?

Gruß
Koslovski.
 
Du hast einen Schritt vergessen:

Code:
gegenüberliegend entspricht: 1000 1111 0011 1111
• gegenüberliegend
[SIZE=3][COLOR=#0000ff][B]+ 1 entspricht: 1000 1111 0100 0000,[/B][/COLOR][/SIZE]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nein, das Zweierkomplement beinhaltet die +1-Addition.
Siehe auch Step7-Hilfe:
INVI = Einerkomplement
NEGI= Zweierkomplement

Anhang: Programmauszug.Umrechnung.jpg
 

Anhänge

  • Umrechnung.jpg
    Umrechnung.jpg
    393,4 KB · Aufrufe: 12
  • Umrechnung.jpg
    Umrechnung.jpg
    361,9 KB · Aufrufe: 12
Zuletzt bearbeitet:
Er schreibt, er bildet das Zweierkomplement. Und das ist nun mal jedes Bit umdrehen und 1 addieren wenn ichs recht im Kopf hab...

Ich verstehe die Darstellung der Negativen Zahlen nicht:

• negativer Wert -28864 mv
im Binärformat: 0111 0000 1100 0000

Ein negativer Wert hat ihmo als erstes Bit eine 1.
 
Kann es vieleicht sein, dass High- und Low-Byte vertauscht sind?


Ergänzung: Gerade mal ausprobiert, hilft auch nichts.
 
Zuletzt bearbeitet:
Zurück
Oben