Step 7 S7 Timerzeit auf 4 Segment Display in Asci

bone

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

irgendwie stell ich mich heute besonders dämlich an.

Ich würde ganz gern die Zeit aus einem Timer in S7 auf eine 4 Segment-Anzeige von Siebert S102 über Profibus bringen.
Aber ich bekomm das irgendwie heut nicht hin umzuwandeln.
Also die Anzeige hat die Ausgangsbytes 20-23. Die CPU ist eine S7-314-2DP. Bus läuft auch einwandfrei.
Als Timer ist es z.B. ein Einschaltverzögerung, die Zeit (ca. 10min - also s5t#10m0s) sollte in Sekunden auf der Anzeige sein.

Könnte mir da jemand behilflich sein?

Gruß
Thorsten
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Panther,

Ja das ist aber nicht wirklich mein Problem. Das Problem ist eher die Zeit aus dem Timer. Die ist ja Dezimal oder Dual mit m und sek.

Naja kann auch nen Denkfehler haben.
 
Hallo Torsten,

du mußt jede stelle deiner dezimalen zahl extrahieren und die dann entsprechend in ASCII umwandeln. ist dir die ASCII -Tabelle bekannt? ansonsten hilft google da bestimmt weiter.
 
Wie die zeit darfgesteld wurde is abhangig von dass zeitraster.
wenn man der eingestelde zeit in hex anschauw ist das meist linker decade das zeitraster.
0xxx ist xxx der zeit x 0.01 sec
1xxx ist x 0.1 sec
2xx ist x 1 sec
3xx ist x 10 sec
Wenn der max zeit 10 min ist konte Sie der zeitwert in sec eingeben S5T 600.2 = hex 2600
bei der dez zeitwert wurde dan 2600 bis 2000 ausgegeben ihr restzeit in sec stehn in die 3 rechter decaden


Gruss
joop
 
Hallo,

erst einmal vielen Dank für eure Antworten.

Ich habe das jetzt erst einmal ganz einfach gelöst. Die Anzeige kann man auch auf Integer setzen. Jetzt habe ich die Zeit vom Timer umgewandelt auf Integer und in AW21 geschoben. Nun zeigt er mir das schön auf den Display an. Aber leider halt nur 999s ;-)

Wenn ich eine höhere Zeit als 16m39s einstelle, stimmt die Anzeige nicht mehr. Es werden dann nur nur die Tausender, hunderter und Zehnerstelle angezeigt aufgrund der #3xxx.

Ich habe das schon einmal gemacht, das ich per Schalter im Schaltschrank die Zeit auf Minuten setzen konnte. Muss mich da nochmal durch meine anderen Programme durchwühlen. Ich finde da bestimmt ne Lösung für.

Aber vielen Dank euch!
 
Auch die Darstellung in ASCII wäre kein Problem, die Zahlen haben die Werte 0x30-0x39 für 0-9
Somit kannst du deinem dezimalen Wert an der entsprechenden Position 0x30 bzw. 48 hinzuaddieren und du hast das entsprechende ASCII-Symbol. Wenn du den DEZ-Ausgang abgreifst, sollte das sehr einfach umzusetzen zu sein :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn die zeit am timer nicht in sec Ausgegeben wert (0xxx, 1xxx, 3xxx ) korte Sie der decade 1 over 2 stellen schieben so das Sie ein sec darfstellung bekom. Das kleinste ist 0000 sec und Das grosste ist 9990 sec. Sie muste wel die nullen extra eingeben.
 
Hallo,

erst einmal vielen Dank für die Hilfe.

Also das mit dem Timer auf die Anzeige bringen funktioniert, mehr als 10min haben wir eh keine Presszeit so das ich mir eigentlich nicht noch mehr den Kopf zerbrechen muss.

Vielen Dank euch!
 
Zurück
Oben