Step 7 Feste Zeiten (Analog Anlauframpe)

wollbit

Level-2
Beiträge
51
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Moin

Ich habe eine Problem, oder eher eine Frage für eine elegante Lösung.

Ich habe mir für ein Förderband eine Anlauframpe Programmiert (Analog).
Da ich den anstieg in einem bestimmten Zeitraum berechnen musste habe ich die Berechnung erst mit einem Timer versucht.
Leider wurde die eingestellte Rampenzeit durch eine größere Zykluszeit immer ungenauer.
Des wegen habe ich die Alarm OBs verwendet (OB35 100ms)
Diese Lösung funktioniert wunderbar, allerdings finde ich es etwas unsauber die Rampe immer im OB35 aufrufen zu müssen.


Gibt es eine Andere Möglichkeit?






DB1

OUT_MAX........Real
OUT_MIN.........Real
IN_MAX...........Real
IN_MIN............Real
IN_WERT........Real
SET................Bool
TIME..............Real in ms..............OUT_WERT Real
 
Zuletzt bearbeitet:
Hallo byfluffy,

2 Möglichkeiten würden mir noch einfallen:

1. der OB1 verät Dir in der temporären Variable OB1_PREV_CYCLE die letzte Durchlaufzeit. Falls dein Zyklus recht gleichmäßig ist, kannst Du diesen Wert in die Berechnung mit einfügen.
2. Lies die Echtzeituhr aus und berechne die Timediff zum letzten ausgelesenen Wert. Füge die Differenz in Deine Berechnung mit ein.

Grüße
 
Hallo,
also das mit der Echtzeituhr würde ich nicht machen. Außer du liest nur die "ms" aus. Den wenn du mehr davon ausliest und einer stellt mal die Uhr, so kommt deine Rampe ganz schön aus dem Tritt. Ich würde lieber die OB1 Zykluszeit nehmen oder mit dem SFC64 die Zeitdifferenz bilden. Ich habe in den meisten Bausteinen von mir die OB1 Zeit. Auch für Verzögerungen usw.
 
Ich habe auch schon einmal mit dem OB1_PREV_CYCLE eine Rollenbahn positioniert.
Das ging erstaunlich akkurat (4-5mm bei 1m/s) ... was man nicht alles tut um einen Geber + SSI Karte einzusparen.

Grüße

Marcel
 
Zurück
Oben