Step 7 Einstellbarer S5Time Wert mit Poti

fabsett

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich würde ganz gerne mit einem Poti der an einer Analogbaugruppe hängt einen Zeit (0-20sec) an einer Einschaltverzögerung einstellen.
Nun habe ich das Problem wie ich den Analogwert in S5Time umwandeln kann.
Könnt ihr mir eventuell weiterhelfen ?
 
- Analogwert einlesen
- auf 0 bis 200 skalieren und begrenzen
- in BCD umwandeln
- W#16#1000 addieren (oder OR-Wortverknüpfen)
- an den Timer geben

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe den Analogwert jetzt mit dem Baustein Fc105 skaliert aber dieser gibt nur Realzahlen aus (DW)
Wenn ich es nun nach BCD umwandle und dazu noch W#16#1000 addiere bekomme ich am Timer irgent ein Mist raus...
Hast du ein Beispiel bzw Code zur Hand ?
 
Real-Zahlen kannst du mit der Anweisung RND (runden) oder TRUNC (abschneiden) in eine Ganzzahl wandeln. Wenn du vorher sicher in einem Bereich von 0..200 skalierst kannst du den Ausgangswert des FC105 mit:
Code:
L #fc105_retval
RND
T #tempINT
in eine Variable vom Typ Int konvertieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
jetzt scheint es zu funktionieren wie bekomme ich das gleiche jetzt mit 0-20min hin ? ;)

Du hast dir doch sicher angesehen was es mit der Konstante "W#16#1000" auf sich hat, die du in den Wert hinein-verodern musstest.
Wenn nicht, dann ist jetzt der richtige Zeitpunkt dafür.
 
wie bekomme ich das gleiche jetzt mit 0-20min hin ? ;)
Fast genauso. ;)

Irgendwo in Deinem Programm rufst Du doch den S5-Timer auf. Da gehst Du mal hin, markierst den Baustein (oder stellst den Cursor in die AWL-Anweisung) und drückst den "Magic key" F1. In der Hilfe zur Zeitoperation ist ein Link zu "Speicherbereiche und Komponenten einer Zeit" - da klickst Du drauf und schaust Dir das Format des Datentyps S5TIME an.
(Du kannst auch im Index der Step7-Hilfe nach S5TIME suchen)

Danach rechnest Du Dir aus wieviele Sekunden 20 Minuten sind und schaust, ob überhaupt und mit welcher Zeitbasis ein S5-Timer in der Lage ist, die von Dir gewünschten 20 Minuten zu laufen. Der Zeitwert darf nur 0...999 (BCD) sein.

Auf welchen Bereich mußt Du nun skalieren? : 0 bis .......
Welche Zeitbasis mußt Du hinzufügen? : W#16#.......

Harald
 
Zurück
Oben