Step 7 Timer mit Stundenvorwahl über Panel

BastiMG

Level-1
Beiträge
266
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus zusammen,

ich möchte gerne einen Anlauftimer generieren der über das Panel mit 1-24h Stunden anwählbar ist.

Die normalen Zeitglieder gehen ja sowieso nur bis 2,5h, hab TON probiert, aber hier muss ich das Format "TIME" anlegen und müsste im Panel MS eingeben.
 
Warum sollte man das wollen?
Für einen "selbstlernender" REGLER !
...
Diese LINEARE SKALIERUNG erlaubt wenn gross gewäht wird (Minuten) auch die Milisekunden unterscheiden ? Oder bei Skalieren kann man nur in der Skalierte Zeiteinheit "mesen" ??? ( so viel ich weiss erlaubt nicht !)
 
Zuletzt bearbeitet:
Hallo, ich weiß das dass Thema schon durch ist, habe aber ein ähnliches Problem. Ich muss zyklisch alle 12-24h eine Aktion auslösen. Wäre es möglich da etwas mehr ins Detail zu gehen?
 
Hallo,
es kommt darauf an, welchen Weg du gehen möchtest.
Ich würde mir eine Variable erschaffen in die du deine Zeitverzögerung z.B. in Stunden eingeben kannst. Aus diesem Wert errechnest du dir eine TIME (also aus deinen Stunden Millisekunden machen) und dies dann als Vorgabewert an einen SFB4 (IEC-Timer TON) bringen.

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ok, für DAUS
1sec = 1000ms
1m = 60sec
1h = 60min
1d = 24h

time ist nichts anderes als ein dint ohne vorzeichen.
d.h. wird ein e/a feld in flex angelegt und keine skalierung vorgenommen, ist die zeit in ms (ohne komma)
möchte ich in sekunden das ganze eingeben, muss ich den wert skalieren, dass in der steuerung auch sekunden ankommen.
sec: visu 1 = steuerung 1000 (1ms*1000 = 1000ms = 1sec)
minute: visu 1 = steuerung 60000 (1ms*1000*60=1min)
stunde: 1 = 360000 (1ms*1000*60*60=1h)
usw.
Ton nutzen wie Larry Laffer bereits geschrieben hat und gut is.
Fanta
 
... wird ein e/a feld in flex angelegt und keine skalierung vorgenommen, ist die zeit in ms (ohne komma)
Nicht unbedingt, siehe unten.

möchte ich in sekunden das ganze eingeben, muss ich den wert skalieren, dass in der steuerung auch sekunden ankommen.
Nö, muss man nicht unbedingt.
Es reicht manchmal auch, den Dezimalpunkt direkt beim Eingabefeld virtuell zu verschieben, statt die Variable zu skalieren:



So kann man z.B. auch 1,0 oder nur 1 Sekunden eingeben und in der SPS kommen 1000ms (im Screenshot waren es Zehntelsekunden für einen S7-200-Timer, deshalb nur um 1 Stelle verschoben) an.
 
ok, für DAUS
1sec = 1000ms
1m = 60sec
1h = 60min
1d = 24h

time ist nichts anderes als ein dint ohne vorzeichen.
d.h. wird ein e/a feld in flex angelegt und keine skalierung vorgenommen, ist die zeit in ms (ohne komma)
möchte ich in sekunden das ganze eingeben, muss ich den wert skalieren, dass in der steuerung auch sekunden ankommen.
sec: visu 1 = steuerung 1000 (1ms*1000 = 1000ms = 1sec)
minute: visu 1 = steuerung 60000 (1ms*1000*60=1min)
stunde: 1 = 360000 (1ms*1000*60*60=1h)
usw.
Ton nutzen wie Larry Laffer bereits geschrieben hat und gut is.
Fanta

Da ist dir eine Null abhanden gekommen.
1 Std = 3600000 ms
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nicht unbedingt, siehe unten.

Nö, muss man nicht unbedingt.
Es reicht manchmal auch, den Dezimalpunkt direkt beim Eingabefeld virtuell zu verschieben, statt die Variable zu skalieren:



So kann man z.B. auch 1,0 oder nur 1 Sekunden eingeben und in der SPS kommen 1000ms (im Screenshot waren es Zehntelsekunden für einen S7-200-Timer, deshalb nur um 1 Stelle verschoben) an.

Naja, das mit dem Dezimalkomma verschieben funktioniert aber nur vernünftig wenn du die Zeit in Sekunden eingeben willst.
Von Millisekunden zu Sekunden: Faktor 1000 = 3 Dezimalstellen
Von Millisekunden zu Minuten: Faktor 60.000 = 4.778 Dezimalstellen (lässt sich in Flexible nicht einstellen)
Von Millisekunden zu Stunden: Faktor 3600.000 = 6.556 Dezimalstellen (lässt sich in Flexible nicht einstellen)
 
Zurück
Oben