Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
11.10.2020
Размер:
3.68 Mб
Скачать

Die Bibliothek UTIL.LIB

353

BCD-Konvertierung

 

 

 

14 Die Bibliothek UTIL.LIB

Diese Bibliothek enthält eine zusätzliche Sammlung verschiedener Bausteine, die für BCD-Konvertierung, Bit/Byte-Funktionen, mathematische Hilfsfunktionen, als Regler, Signalgeneratoren, Funktionsmanipulatoren und zur Analogwertverarbeitung verwendet werden können.

14.1 BCD-Konvertierung

Ein Byte im BCD-Format enthält ganzzahlige Werte zwischen 0 und 99. Dabei werden für jede Dezimalstelle vier Bit verwendet. Die Zehnerdezimalstelle wird dabei in die Bits 4-7 gespeichert. Somit ähnelt das BCD-Format der hexadezimalen Darstellung, nur daß im BCD-Byte nur Werte zwischen 0 und 99 gespeichert werden können, ein Hexadezimal-Byte jedoch von 0 bis FF reicht.,

Beispiel: Die Integerzahl 51 soll ins BCD-Format umgewandelt werden. 5 ist binär 0101, 1 ist binär 0001, somit das BCD-Byte 01010001, was dem Wert $51=81 entspricht.

14.1.1BCD_TO_INT

Diese Funktion wandelt ein Byte im BCD-Format in einen INT-Wert um:

Der Eingabewert der Funktion ist vom Typ BYTE und die Ausgabe vom Typ INT.

Sollte ein Byte übergeben werden, welches nicht dem BCD-Format entspricht, so wird die Ausgabe -1.

Beispiele in ST:

i:=BCD_TO_INT(73);

(* Ergebnis ist 49 *)

k:=BCD_TO_INT(151);

(* Ergebnis ist 97 *)

l:=BCD_TO_INT(15);

(* Ausgabe -1, weil nicht

BCD-Format *)

 

14.1.2INT_TO_BCD

Diese Funktion verwandelt einen INTEGER-Wert in ein Byte im BCD-Format

:

Der Eingabewert der Funktion ist vom Typ INT, die Ausgabe vom Typ

BYTE.

Sollte ein INTEGER-Wert übergeben werden, welcher nicht in ein BCD-Byte verwandelt werden kann, so wird 255 ausgegeben.

Beispiele in ST:

WAGO-I/O-SYSTEM 759 WAGO-I/O-PRO 32