Werte in BCD ausgeben

SPS-Linksfuß

Level-1
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Schönen guten Tag.

Ich habe folgendes Problem und zwar habe ich einen BCD-Wert und möchte diesen auf ein Display ausgeben. Es soll mal eine aufwärtszählende Stoppuhr werden. Das Prog steht soweit, jetzt weiß ich nur absolut nicht wie ich die Ausgabe bewerkstelligen soll. Sowohl vom Programmablauf, als auch von der Verdrahtung. Ich bitte um schnelle Hilfe. Dafür besten Dank im Vorraus:s12:
 
Tag

Zur Software:
Einfach den Wert an den Ausgang der SPS übertragen.
Zur Hardware:
Mit jeweils vier Bit der Ausgänge eine Stelle der Anzeige ansteuern

Martin
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
@ Martin: ganz so einfach ist auch nicht, er muß meist den Integer Wert nach BCD wandeln( bei 4 stellig ist ein Wandler bei S7 dabei), und hat die Anzeige noch einen Latcheingang wird es noch besser......
 
Hallo

laut SPS-Linkfuß lieg der Wert schon im BCD-Format vor. Da muss man nichts mehr umwandeln.
SPS-Linksfuß schrieb:
Ich habe folgendes Problem und zwar habe ich einen BCD-Wert und möchte diesen auf ein Display ausgeben.
Da meine Glaskugel gerade zur Reparatur ist, weis ich nicht wieviele Stellen der Wert hat und welche Anzeige er nutzen will.

Martin
 
Hallöchen, zunächst einmal besten dank für die schnelle Hilfe. Aber so ganz bin ich da noch nicht hintergestiegen. Wie übertrage ich den Wert an den Ausgang der SPS? Ich habe meinen BCD-Wert zunächst als Merkerwort gespeichert. Weiß jetzt aber nicht, wie ich diesen Wert an den Ausgang schicken soll. Zu der Anzeige, kann ich noch nichts genaues sagen, da ich mehrere Varianten bestellt habe und erst nach Lieferung entscheiden werde, welche Displays ich verwenden werde.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
L MW X
T AW y
Das Problem ist aber wahrscheinlich die Umrechnung. Liegt im MW gepacktes oder ungepacktes BCD vor? Wie will es das Display (wenn überhaupt dann vermutlich gepackt)? Oder müssen die einzelnen Teile einer 7-Segment-Anzeige direkt angesteuert werden?
 
Hallo Rainer

Also ich hab zu wenig Erfahrungen mit SPSn, um dir sagen zu können ob die BinärCodiertenDezimalzahlen gepackt oder ungepackt sind. Ich möchte aber später eine Stoppuhr damit ansteuern, welche vorwärts laufen soll. Sprich ich muss den vorhanden BCD auf 3 7-Segment-Anzeigen ausgeben können.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Rainer Hönle schrieb:
Wie kommen die Werte in das MW? Wie will es die Anzeige? Erst danach ist klar, was getan werden muss.

Hier mein bislang geschriebenes Programm:

U E 1.0
S M 1.1
U(
U A 4.0
U E 1.0
O E 1.1
)
R M 1.1
NOP 0


U(
L Mw 10
ITB
T #TEMP0
UN 0V
SAVE
CLR
U BIE
)
SPBNB _001
L #TEMP0
L W#16#2000
+I
T MW 12
_001=NOP 0


U M 1.1
L MW 12
SE T 1
NOP 0
L T 1
T MW 14
LC T 1
T MW 16
NOP 0


U T 1
= A 4.0


L MW 14
ITB
T AW 2
NOP 0
 
Mein Zeil ist es, eine vorwärtslaufende Stoppuhr mit meiner SPS CPU 313C anzusteuern. Zum Programmieren steht mir nur Step 7 Lite zur Verfügung. Falls mein bisher geschriebenes Programm, eurer Meinung nach totaler Schwachsinn ist ( Wovon ich jetzt einfach mal ausgehe ),bitte ich um Hilfestellung. Ich verzweifel an dieser Aufgabe und wenn ich keine Ergebnisse in den nächsten Tagen erziele, reisst mir mein Ausbilder den Kopf ab. Also bitte helft mir.:confused:
 
Zuletzt bearbeitet:
1. suche mal nach stoppuhr

am einfachsten machst du das, indem du im ob35 ein wort hochzählst.
oder über einen flankenmerker eines 1-sekundentakts

deins sollte aber funktionieren, nur zählst du rückwärts.
das lässt sich aber leicht korrigieren.

U T 1
= A 4.0

L MW 10
L MW 14
-I
T MW 18
NOP 0

L MW 18
ITB
T AW 2
NOP 0
 
Hallo ,

welche deiner 16 DO hast Du denn noch frei ?
Es müssen so ziemlich alle freibleiben denn 3-stellig
BCD = 12 DO .

Gruss ThomasF
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe letztens noch eine 2-stellige BCD-Anzeige an eine 313C angeschlossen und dabei den BCD-Wert ins AB125 transferiert.

Du musst dann allerdings ein AW nehmen...

Gruss ThomasF
 
kirk42 schrieb:
Habe letztens noch eine 2-stellige BCD-Anzeige an eine 313C angeschlossen und dabei den BCD-Wert ins AB125 transferiert.

Du musst dann allerdings ein AW nehmen...

Gruss ThomasF

Zunächst einmal danke Thomas, aber ich muss gestehen, dass ich in der SPS-Materie absoluter Laie bin und dir gerade nicht wirklich folgen kann. Was ist AB125 und was soll ich ( und vor allem wie soll ich ) das AW auf die Ausgänge bekommen? Sorry für meine vielleicht dummen Fragen aber ich packs echt nicht
 
SPS-Linksfuß schrieb:
Zunächst einmal danke Thomas, aber ich muss gestehen, dass ich in der SPS-Materie absoluter Laie bin und dir gerade nicht wirklich folgen kann. Was ist AB125 und was soll ich ( und vor allem wie soll ich ) das AW auf die Ausgänge bekommen? Sorry für meine vielleicht dummen Fragen aber ich packs echt nicht
Das AW auf die Ausgänge macht die SPS von alleine. Wenn alles im MW so korrekt für die Ansteuerung ist, dann
Code:
L MW y
T AW z
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Rainer Hönle schrieb:
Das AW auf die Ausgänge macht die SPS von alleine. Wenn alles im MW so korrekt für die Ansteuerung ist, dann
Code:
L MW y
T AW z

Danke Rainer werds direkt morgen auf der Arbeit ausprobieren. Aber woher weiß ich denn, welche ausgänge die SPS dann automatisch belegt? Werden es die ersten sein? Besten dank
 
welche ausgange die sps-bauguppe belegt musst du in der hw-config gucken. standartmässig ist das erst mal aw124

damit die restlichen 4 ausgänge noch zur verfügung stehen gehst du so vor.

dieses löschen
L MW 18
ITB
T AW 2
NOP 0
----------------------

dafür dieses.
l mw 18
itb
t mw20

l aw124
l w#16#f000 //binär 1111 0000 0000 0000
uw //undwort verknüpfen. damit werden alle a's ausser a124.4-124.7 auf 0 gesetzt.
l mw20 //zählerdaten
ow //oderwort verknüpfen.
t aw124

das wars.
auf den a124.0-124.3 liegen jetzt die 100er
auf a125.4-a125.7 die 10er, auf 125.0-a125.3 die 1er.

a125.0 = bcd1
a125.1 = bcd2
a125.2 = bcd4
a125.3 = bcd8

für die beiden anderen tetraden genauso.
 
Zurück
Oben