Umwandeln von HEX-Werten

capri-fan

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

ein Umrichter gibt mir mit einem WORD einen hex Wert (Strom) über Profibus in die SPS.

Wie kann ich den Strom als Wert in Ampere umrechnen bzw. in der
Variablentabelle (Step7 V5.2) anzeigen?

MfG
c-f
 
Hallo,
nachfolgende Zeilen in ein NW kopieren und auf FUP umschalten.

---------------------------------------


U(
U(
U(
L #STROM_HEX
T #STROM_INT
SET
SAVE
CLR
U BIE
)
SPBNB _00c
L #STROM_INT
ITD
T #STROM_DINT
SET
SAVE
CLR
_00c: U BIE
)
SPBNB _00d
L #STROM_DINT
DTR
T #STROM_REAL
SET
SAVE
CLR
_00d: U BIE
)
SPBNB _00e
L #STROM_REAL
L #Faktor
*R
T #STROM
_00e: NOP 0
------------------------------------------------

Temp- Variablen

STROM_HEX ...................WORD
STROM_INT.....................INT
STROM_DINT...................DINT
STROM_REAL...................REAL
Faktor.............................REAL
STROM............................REAL

Hoffe es hilft,
Gruß Wilfried
 
Zuviel Werbung?
-> Hier kostenlos registrieren
capri-fan schrieb:
Hallo,

ein Umrichter gibt mir mit einem WORD einen hex Wert (Strom) über Profibus in die SPS.

also ist dein strom bcd-codiert?

dann einfach so

L #strom
BTI
T #strom_int



@old_willi
was soll das grossartig für einen sinn machen?
 
Hallo Volker,

ich kenne keinen Umrichter der einen BCD- Wert ausgibt (mag es geben). Die mir bekannten Umrichter geben Ihren Istwert unskaliert aus.

Um auf den absoluten Stromwert zu kommen und es in FUP darstellen zu können der gewählte Weg.
Es geht natürlich in AWL mit weniger Befehlen, aber wer in AWL fit ist strellt nicht solche Fragen.
Gruß Wilfried
 
fragen wir doch mal ganz anders. kommt der wert in hex ist der bcd-codiert und ich muss den mit bti umwandeln. kommt der wert in dez brauch ich normal gar nichts zu machen.

capri_fans prob könnte einfach darin liegen das seine var als word definiert ist und die dann als hexwert angezeigt wird. wenn ich nun in der vat anstatt hex (was ja als standart vorgegeben wird) auf dez ändere habe ich meinen strom.

so und sollte der wert wirklich noch mit einem faktor angepasst werden müssen (was ich bezweifel), ist immer noch die frage, ob ich das auf basis von real machen muss, oder ob ein int nicht ausreicht.

mal eben ein beispiel

der wert ist 0754 hex was 1876 dez entspricht.

ist der strom 754 A so ist der wert bcd-codiert und muss mit bti gewandelt werden.
ist der strom 1876 A so ist es nur ein darstellungsproblem. dann einfach die variable vom typ word auf int ändern.
 
wenn der wert 075A als hexwert ist wird bti nicht funktionieren, da das A bei bcd-code nicht möglich ist.

sollte in deinem wert tatsächlich die einheit mit übergeben werden musst du die ausblenden.

Code:
L 075A //hier dein dbw
SRW 4 //die rechte tetrade (also das A) rausschieben
BTI //hex->dez
T #strom
 
Zurück
Oben