Step 7 Byte-Zahl ohne Vorzeichen

PeterPan-35

Level-2
Beiträge
157
Reaktionspunkte
12
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, wie kann man eine Byte-Zahl erstellen ohne dass diese ab 128 ins negative abrutscht?

Bei Step7 gibt es ja kein UINT oder USINT.

Ich möchte gerne eine 210 darstellen, doch es wird immer eine -46 gewandelt.
 
Es kommt wohl eher auf die Darstellungsart drauf an.
-46 ist 210.

Wo möchtest du denn die 210 sehen ( im Programmcode, in Wincc.... )

Mit Grüßen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich mache eine Auswertung der Störungsstation und splitte die Zahl auf um was Nio-Gründe auf einem Etikett darzustellen.

Daher brauche ich die 210.

Die erste Zahl ist die Maschine (hier 2) der Rest gibt die Station an (10).

Ist möglich?

Das Programm läuft nämlich schon, nur das mit der 210 fiel uns jetzt erst auf.


Gesendet von iPhone mit Tapatalk
 
Das geht bei der s7-300 und S7-400 nicht. Ausserdem ist INT in diesen Steuerungen eigentlich eine 16Bit Speicherstelle. Mit 8Bit Speicherstellen zu rechnen kann zu unerwarteten Ergebnissen führen bzw. erwartet vom Programmierer etwas mehr Vorsicht.

Gibt es einen grund warum du eine so alte CPU zu solchem Verhalten zwingen willst?
Wieso nicht die dazu gedachten Datentypen verwenden?

mfG René
 
Du könntest aber dein Byte per Lade Transfer in ein Wort kopieren (auch im Temp) damit wird nur der Bitstring kopiert. Das Wort kann dann als INT dargestellt werden und dann natürlich bis 32767

Der Bitstring von 210 ist ja 2#1101_0010 und wird in einem 16 Bit speicherbereich auch als 210 dargestellt. in einem 8 Bit Speicherbereich ist es aber numal -46

mfG René
 
Zuletzt bearbeitet:
Zurück
Oben