int-Wert in BCD umwandeln

STEP7 ist die Programmiersprache der SIMATIC S7-Steuerungen. Allgemeine Fragen.
Antworten
FS
SPSTreff-User
Beiträge: 5
Registriert: 13 Jun 2011, 09:38

int-Wert in BCD umwandeln

Beitrag von FS »

Hallo,

ich möchte einen INT-Wert in einen BCD-Wert umwandeln (siehe Anlagentausch in diesem Forum "Anlage zum Bestimmen der Grösse von Teilen aus Magazinen")

Da ich mit der Umwandlung noch nicht so viel zu tun hatte, weiss ich nich so richtig, ob die BCD-Werte stimmen.

Habe einfach den Baustein INT_to_BCD genommen. Habe aber das gefühl, dass große Zahlen > 10000 nicht richtig dargestellt werden.

Vielleicht kann mir jemand den Teil der Umwandlung schicken.

Vielen Dank

Gruß
FS

Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 288
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Beitrag von Matthias »

Es gibt zwei Umwandlungsbefehle:

BTI
Integerzahl (16 Bit) nach BCD (16 Bit) wandeln
für Integerzahlen +- 0...999


DTB
Integerzahl (32 Bit) nach BCD (32 Bit) wandeln
für Integerzahlen ±9 999 999.

Benutzen Sie letzteren Befehl um größere Zahlen zu konvertieren.

AWL-Beispiel:

Code: Alles auswählen

       L    10000                        //Integer 10000 
       DTB                               //INT32 nach BCD 
       T    MD       10                  //Ergebnis in MD10 speichern 
       NOP  0

Antworten