Sie sind auf Seite 1von 7

Decimal -> BCD converter (0-999)

...zum Ansteuern eines BCD zu 7-Segment Decoders


...to control a BCD to 7-segment decoder
I3

Reset I

B028

I1 &
Aufwärts zählen B001
Count up I
=1
decimal
B002 M1
I2
Abwärts zählen M
Count down I

Cnt: 23
On: 999
Off: 999
Rem = on
On=999+
Off=999
Start=0
Decimal BCD
000 0000 0000 0000
001 0000 0000 0001
002 0000 0000 0010
003 0000 0000 0011
004 0000 0000 0100
005 0000 0000 0101
006 0000 0000 0110
0-9 0-9 0-9 007 0000 0000 0111
3rd nibble 2nd nibble 1st nibble 008 0000 0000 1000
(3rd digit ***) (2nd digit **) (1st digit *) 009 0000 0000 1001
010 0000 0001 0000
011 0000 0001 0001
bit 12 bit 11 bit 10 bit 9 bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1
012 0000 0001 0010
Q12 Q11 Q10 Q9 Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1
......
2/B019 2/B018 2/B017 2/B016 2/B040 2/B039 2/B037 2/B035 2/B022 2/B021 2/B020 2/B014
043 0000 0100 0011
Q Q Q Q Q Q Q Q Q Q Q Q 044 0000 0100 0100
045 0000 0100 0101
....
097 0000 1001 0111
098 0000 1001 1000
099 0000 1001 1001
100 0001 0000 0000
*** 3rd digit ** 2nd digit * 1st digit ...
====== ====== ====== 129 0001 0010 1001
II II II II II II ...
II II II II II II 436 0100 0011 0110
====== ====== ====== ...
II II II II II II
II II II II II II 999 1001 1001 1001
====== ====== ======

result hundreds result units


(0,100,200,...,800,900) (0,1,2,...,8,9)

B111 hundreds B029 units


2/B067/Ax 2/B065/Ax
A A

Aq: 0 Aq: 3
P1: 0 P1: 23
P2: 100 P2: 0
P3: 0 P3: 20
P4: 0 result tens P4: 0
V1=B25+ (0,10,20,...80,90) V1=B82+
V2=100 V2=B111
V3=0 B030 tens V3=B30
V4=0 V4=0
Point=0 2/B067/Ay Point=0
((B25*100)+0)+0 ((B82-B111)-B30)+0
A

Aq: 20
P1: 2
P2: 10
P3: 0
P4: 0
V1=B52+
V2=10
V3=0
V4=0
Point=0
((B52*10)+0)+0

Ersteller: ADBEJO0 Projekt: Dezimal -> BCD (0-999) Kunde: SIEMENS AG


Geprüft: Beyer C:\Program Files\Siemens\LOGOComfort_V6\Samples\Siemens.gif
Anlage: Decimal -> BCD (0-999) Zeichen-Nr.:
Erstellt/Geändert: 20.04.10 16:17/22.04.15 13:11 Datei: decimal_to_bcd_converter_12bit_positive_values_v8.lsc Seite: 1/7
Erzeugung des BCD codes
Generating the BCD code

Hunderter-, Zehner- und Einerstellen von der Dezimalzahl trennen


Separate hundreds, tens and units from the decimal value

= decimal
Hier den Wert eintragen, der in BCD konvertiert
werden soll (Zählerwert 0-999 oder Analogwert 0-999).
Enter here the value, which shall be converted
into BCD (counter value 0-999 or analog value 0-999).
hundreds
tens units
B082 hundreds
B083 100 B048/1 A (1)
B015
A A B016 B057 tens B061/1
B053 10
>1 B033 A (1) B012 units
>1 1/Q9/1
A B035 B006 1
A >1 B013 A (1)
Aq: 23 Gain=1.0+B027/1 >1 1/Q5/1 A A B014
B084 200
Offset=0
P1: 23 >1
On=100 >1 1/Q1/1
P2: 0 A
Off=200 Aq: 23 Gain=1.0+
Point=0 B051 20
Offset=0 Aq: 3
P3: 0 P1: 23 B061/2
B048/2 On=10 Gain=1.0+
P4: 0 P2: 0 A
Off=20 P1: 3 B008 2
Offset=0
B (2) Point=0 B055/1
V1 =B2+ P3: 0 P2: 0 On=1
V2=0 300 B026/1
Gain=1.0+
B085 B017 B061 A
Off=2
Offset=0 B053 10 P3: 0
V3=0 P4: 0 B (2) Point=0
On=200
A >1 1/Q10/1 B048 B051 20 >1 P4: 0
V4=0 Off=300 V1=B82+ Gain=1.0+
B041 30 B037
B083 100 B041 30 B (2)
Point =0 Point=0 B048/3 B084 200 V2=B111 Offset=0 B061/3 B045 40 V1=B29+
B085 300 >1 V3=0 On=20
A >1 1/Q6/1 V2=0 Gain=1.0+
B003 3 B020
V4=0 Off=30 V3=0 Offset=0
B086 400 Point=0 Point=0 B054/1 B054 B049 V4=0
B086 400 B027/2
Gain=1.0+ ((B82-B111)+0)+0 B041 30 Point=0
On=2
A >1 1/Q2/1
Offset=0 Off=3
B026 B023 B045 40 >1 B063/Ay ((B29+0)+0)+0 Point=0
On=300
A
Off=400 B085 300 Gain=1.0+
B045 40 A
Point=0 B026/2 B086 400 >1 B062/Ax Offset=0 B061/4
On=30
A Gain=1.0+
A Off=40 B055 B004 4
B048/4 C (4) Offset=0
Gain=1.0+ Point=0 B054/2 B051 20 On=3
A
B092 500 B018 B027 B045 40 >1 Aq: 2 Off=4
Offset=0 B084 200 B055/2
On=400 C (4) P1: 1 Point=0
A
Off=500 >1 1/Q11/1 B086 400 >1 Aq: 0 Gain=1.0+
B036 50
Offset=0 B039 P2: 2
Point=0 B032/1 P1: 1 C (4)
On=40 P3: 3 Gain=1.0+
A
Off=50 >1 1/Q7/1 B010 5 B021
P2: 2 Offset=0
Point=0 B056/1 P4: 4 On=4
Gain=1.0+ P3: 3 A 1/Q3/1
V1 =1+ Off=5 >1
Offset=0
B089 600 P4: 4 V2=2 Point=0
On=500 B043/1 V3=3
Off=600 V1 =1+ Gain=1.0+
A V2=2 Offset=0 V4=4
Point=0 B038 60 Point =0
B046/1 V3=3 On=50 B059/1 Gain=1.0+
V4=4 Off=60
Point =0 A Offset=0
B011 6
Point=0 On=5
Gain=1.0+
B090 700 D (8) B060/1 D (8) Off=6
A
Offset=0 B042/1 B019 B058
Point=0
On=600
A B040 B044 70
Off=700 Gain=1.0+
B044 70 B058/1 D (8)
>1 1/Q12/1 B042 B034 80 >1 B050
Point=0 B046/2 Offset=0 >1 1/Q8/1 B022
B090 700 On=60
A Gain=1.0+
B005 7
B091 800 >1 B024 Off=70 B064/Ax
Offset=0 >1 1/Q4/1
Gain=1.0+ Point=0 B060/2 A On=6
A
B091 800 B062/Ay B059
Offset=0 B042/2 B038 60 Off=7
On=700
A A B034 80 Point=0
Off=800 B043 Gain=1.0+
B034 80 B058/2 >1
B089 600
Point=0 B043/2 B091 800 Offset=0 B060/3
>1 On=70 Aq: 5
A Gain=1.0+
B007 8
B046/3 Off=80 P1: 5 Offset=0
Aq: 5 Point=0 B059/2 On=7
Gain=1.0+ P2: 6 A
Offset=0 P1: 5 Off=8
B093 900 Point=0
On=800 P3: 7
Off=900 P2: 6 Gain=1.0+
A B047 90
Offset=0 P4: 8
Point=0 P3: 7 B052 tens/S1
On=80 V1 =5+ Gain=1.0+
B046/4 P4: 8 A
Off=90 V2=6 B009 9
Offset=0
V1 =5+ Point=0 result tens V3=7 On=8
B060/4 (0,10,20,...,80,90)
V4=8 A
Gain=1.0+B025 hundreds/S1 V2=6
Point =0
Off=9
Offset=0 result hundredsV3=7 Point=0
On=900 (0,100,200,...,800,900)
V4=8 Gain=1.0+ B052 tens
Off=1001 Point =0 B056
Offset=0 B036 50 B047 90 B064/Ay
Point=0 B025 hundreds On=90 Gain=1.0+
B092 500 B032 Off=100 B060 >1 A Offset=0
B093 900 B063/Ax Point=0 B038 60 On=9
>1 B044 70 >1
B089 600
B046 A B034 80
Off=10
Point=0
B090 700 >1 B047 90
B091 800 Aq: 2
B093 900 P1: 2
Aq: 0
P2: 5
P1: 0
P3: 0
P2: 5
P4: 9
P3: 0
V1 =B49+
P4: 9 V2=B50
V1 =B23+ V3=0
V2=B24 V4=9
V3=0 Point =0
V4=9
Point =0

dummies

B067 X2
1/B111 hundreds B064 X4
B050
1/B030 tens A X B052 tens A X

On =0
Off =0 On =0
B062
Gain =1.0+ X1 Off =0
B023 B065
Gain =1.0+ X5
Offset =0 1/B029 units
B024 A
Point=0 Offset =0
X A
Point=0 X

On =0
Off =0 On =0
B063
Gain =1.0+ X3 Off =0
B025 hundreds Gain =1.0+
Offset =0
B049 A
Point=0 Offset =0
X Point=0

On =0
Off =0
Gain =1.0+
Offset =0
Point=0

Ersteller: ADBEJO0 Projekt: Dezimal -> BCD (0-999) Kunde: SIEMENS AG


Geprüft: Beyer C:\Program Files\Siemens\LOGOComfort_V6\Samples\Siemens.gif
Anlage: Decimal -> BCD (0-999) Zeichen-Nr.:
Erstellt/Geändert: 20.04.10 16:17/22.04.15 13:11 Datei: decimal_to_bcd_converter_12bit_positive_values_v8.lsc Seite: 2/7
SIEMENS AG- Beispielprogramm
Warnung und Haftungsausschluss

Siemens AG
Programmbeispiel ohne Gewähr
Warnung:
Steuerungen können bei unsicheren Betriebszuständen ausfallen und dadurch den unkontrollierten Betrieb der gesteuerten Geräte verursachen.Solche
gefährliche Ereignisse können zu tödlichen und/oder schweren Verletzungen und/oder Sachschaden führen.Sorgen Sie daher für eine NOT-AUS-Funktion,
elektrische oder andere redundante Sicherheitseinrichtungen, die von Ihrem Automatisierungssystem unabhängig sind.
Haftungsausschluss:
Jeder Anwender ist für den sachgemäßen Betrieb seines LOGO-Systems selbst verantwortlich. Dieses Programm enthebt Sie nicht der Verpflichtung zu sicherem
Umgang bei Anwendung, Instalation, Betrieb und Wartung. Durch die Nutzung dieses von der Siemens AG erstellten Programm-Beispieles erkennen Sie an, daß
die Siemens AG unter keinen Umständen für möglicherweise infolge der Nutzung auftretende Sach- und/oder Personenschäden haftbar gemacht werden kann.

SIEMENS AG- Example Program

Warning and Disclaimer of Liability

Siemens AG
Example Program without Liability
Warning:
Unsafe operating conditions can cause controllers to fail, resulting in unchecked operation of controlled devices.
Such hazardous events can cause death and/or serious injury and/or material damage.You must therefore provide an emergency stop
function and electric or other redundant safety devices that are independent of your automation system.
Disclaimer of Liability:
Users are solely responsible for the correct operation of their LOGO! systems. This program does not relieve you of the obligation to observe
safe practices during implementation, installation, operation, and maintenance. By using this example program created by Siemens AG,
you acknowledge that Siemens AG cannot under any circumstances be held liable for any possible personal injury or material damage resulting from the use of this program.

Ersteller: ADBEJO0 Projekt: Dezimal -> BCD (0-999) Kunde: SIEMENS AG


Geprüft: Beyer C:\Program Files\Siemens\LOGOComfort_V6\Samples\Siemens.gif
Anlage: Decimal -> BCD (0-999) Zeichen-Nr.:
Erstellt/Geändert: 20.04.10 16:17/22.04.15 13:11 Datei: decimal_to_bcd_converter_12bit_positive_values_v8.lsc Seite: 3/7
Blocknummer(Typ) Parameter

B002(Vor-/Rückwärtszähler) : Rem = on
decimal On=999+
Off=999
Start=0

B003 3(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=3
Off=4
Point=0

B004 4(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=4
Off=5
Point=0

B005 7(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=7
Off=8
Point=0

B006 1(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=1
Off=2
Point=0

B007 8(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=8
Off=9
Point=0

B008 2(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=2
Off=3
Point=0

B009 9(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=9
Off=10
Point=0

B010 5(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=5
Off=6
Point=0

B011 6(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=6
Off=7
Point=0

B012 units(Arithmetische Anweisung) : V1=B29+


V2=0
V3=0
V4=0
Point=0
((B29+0)+0)+0

B014(OR) :
A (1)

B016(OR) :
A (1)

B017(OR) :
B (2)

B018(OR) :
C (4)

B019(OR) :
D (8)

B020(OR) :
B (2)

B021(OR) :
C (4)

B022(OR) :
D (8)

B023(Analog-MUX) : V1 =1+
V2=2
V3=3
V4=4
Point =0

B024(Analog-MUX) : V1 =5+
V2=6
V3=7
V4=8
Point =0

B025 hundreds(Analog-MUX) : V1 =B23+


result hundreds V2=B24
(0,100,200,...,800,900) V3=0
V4=9
Point =0

B029 units(Arithmetische Anweisung) : V1=B82+


result units V2=B111
(0,1,2,...,8,9) V3=B30
V4=0
Point=0
((B82-B111)-B30)+0

B030 tens(Arithmetische Anweisung) : V1=B52+


result tens V2=10
(0,10,20,...80,90) V3=0
V4=0
Point=0
((B52*10)+0)+0

B034 80(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=80
Off=90
Point=0

B035(OR) :
A (1)

Ersteller: ADBEJO0 Projekt: Dezimal -> BCD (0-999) Kunde: SIEMENS AG


Geprüft: Beyer C:\Program Files\Siemens\LOGOComfort_V6\Samples\Siemens.gif
Anlage: Decimal -> BCD (0-999) Zeichen-Nr.:
Erstellt/Geändert: 20.04.10 16:17/22.04.15 13:11 Datei: decimal_to_bcd_converter_12bit_positive_values_Seite: 4/7
Blocknummer(Typ) Parameter

B036 50(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=50
Off=60
Point=0

B037(OR) :
B (2)

B038 60(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=60
Off=70
Point=0

B039(OR) :
C (4)

B040(OR) :
D (8)

B041 30(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=30
Off=40
Point=0

B044 70(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=70
Off=80
Point=0

B045 40(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=40
Off=50
Point=0

B047 90(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=90
Off=100
Point=0

B049(Analog-MUX) : V1 =1+
V2=2
V3=3
V4=4
Point =0

B050(Analog-MUX) : V1 =5+
V2=6
V3=7
V4=8
Point =0

B051 20(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=20
Off=30
Point=0

B052 tens(Analog-MUX) : V1 =B49+


result tens V2=B50
(0,10,20,...,80,90) V3=0
V4=9
Point =0

B053 10(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=10
Off=20
Point=0

B057 tens(Arithmetische Anweisung) : V1=B82+


V2=B111
V3=0
V4=0
Point=0
((B82-B111)+0)+0

B062(Analogkomparator) : On =0
Off =0
Gain =1.0+
Offset =0
Point=0

B063(Analogkomparator) : On =0
Off =0
Gain =1.0+
Offset =0
Point=0

B064(Analogkomparator) : On =0
Off =0
Gain =1.0+
Offset =0
Point=0

B065(Analogkomparator) : On =0
Off =0
Gain =1.0+
Offset =0
Point=0

B067(Analogkomparator) : On =0
Off =0
Gain =1.0+
Offset =0
Point=0

B082 hundreds(Analog-MUX) : V1 =B2+


= decimal V2=0
Hier den Wert eintragen, der in BCD konvertiert V3=0
werden soll (Zählerwert 0-999 oder Analogwert 0-999). V4=0
Enter here the value, which shall be converted Point =0
into BCD (counter value 0-999 or analog value 0-999).

B083 100(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=100
Off=200
Point=0

B084 200(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=200
Off=300
Point=0

B085 300(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=300
Off=400
Point=0

Ersteller: ADBEJO0 Projekt: Dezimal -> BCD (0-999) Kunde: SIEMENS AG


Geprüft: Beyer C:\Program Files\Siemens\LOGOComfort_V6\Samples\Siemens.gif
Anlage: Decimal -> BCD (0-999) Zeichen-Nr.:
Erstellt/Geändert: 20.04.10 16:17/22.04.15 13:11 Datei: decimal_to_bcd_converter_12bit_positive_values_Seite: 5/7
Blocknummer(Typ) Parameter

B086 400(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=400
Off=500
Point=0

B089 600(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=600
Off=700
Point=0

B090 700(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=700
Off=800
Point=0

B091 800(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=800
Off=900
Point=0

B092 500(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=500
Off=600
Point=0

B093 900(Analoger Schwellwertschalter) : Gain=1.0+


Offset=0
On=900
Off=1001
Point=0

B111 hundreds(Arithmetische Anweisung) : V1=B25+


result hundreds V2=100
(0,100,200,...,800,900) V3=0
V4=0
Point=0
((B25*100)+0)+0

I1(Eingang) :
Aufwärts zählen
Count up

I2(Eingang) :
Abwärts zählen
Count down

I3(Eingang) :
Reset

Q1(Ausgang) :
bit 1

Q2(Ausgang) :
bit 2

Q3(Ausgang) :
bit 3

Q4(Ausgang) :
bit 4

Q5(Ausgang) :
bit 5

Q6(Ausgang) :
bit 6

Q7(Ausgang) :
bit 7

Q8(Ausgang) :
bit 8

Q9(Ausgang) :
bit 9

Q10(Ausgang) :
bit 10

Q11(Ausgang) :
bit 11

Q12(Ausgang) :
bit 12

Ersteller: ADBEJO0 Projekt: Dezimal -> BCD (0-999) Kunde: SIEMENS AG


Geprüft: Beyer C:\Program Files\Siemens\LOGOComfort_V6\Samples\Siemens.gif
Anlage: Decimal -> BCD (0-999) Zeichen-Nr.:
Erstellt/Geändert: 20.04.10 16:17/22.04.15 13:11 Datei: decimal_to_bcd_converter_12bit_positive_values_Seite: 6/7
Anschluss Beschriftung

I1

I2

I3

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

Q10

Q11

Q12

X1

X2

X3

X4

X5

Ersteller: ADBEJO0 Projekt: Dezimal -> BCD (0-999) Kunde: SIEMENS AG


Geprüft: Beyer C:\Program Files\Siemens\LOGOComfort_V6\Samples\Siemens.gif
Anlage: Decimal -> BCD (0-999) Zeichen-Nr.:
Erstellt/Geändert: 20.04.10 16:17/22.04.15 13:11 Datei: decimal_to_bcd_converter_12bit_positive_values_Seite: 7/7

Das könnte Ihnen auch gefallen