Expotentielle Funktion über Logo realisieren

Blabla33

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

ich würde gerne über eine Siemens Logo eine Dimmung (EVG) realisieren. Soweit so gut. Mein Problem ist hierbei, dass ich die Dimmfunktion gerne expotentiell haben möchte. Und das macht es mir absolut unmöglich.
1) Das EVG soll zu einem bestimmten Zeitpunkt innerhalb von 20 Minuten von 1% auf 100% in einem expotentiellen Anstieg hochgeschaltet werden.
2) Später soll auf X% (z.B. 30%) in 10 Minuten gedimmt werden
3) Nach drei Stunden umgekehrte Funktion 2)
4) Und abschließend soll von 100% wieder auf 1% gedimmt werden (umgekehrte Funktion 1) )

Mir ist das leider deutlich zu hoch. Eine lineare Dimmung bekomme ich mit einer Rampenfunktion problemlos hin.

Schon mal vielen Dank für jegliche Hilfe!
 
Die Steigung der Exponentialfunktion (im Punkt x) ist proportional zum Funktionswert an der Stelle x.
Das kannst du ausnutzen, um mit einem einfachen Addierer (näherungsweise) eine Exponentialfunktion zu erzeugen:

Wert:=Wert+k*Wert
 
Guten Tag allerseits,

ich habe dich so verstanden, dass du einen Analogausgang mit einer Exponentialfunktion, abhängig von der Zeit haben willst.
Eine exponentielle Funktion ist tatsächlich etwas schwierig, da die LOGO nur einfache arithmetische Anweisungen unterstützt (+, -, *, /).
Eine Potenzierung wie z.B. e^x (oder 2,71828...^x) ist somit nicht direkt möglich (möglicherweise indirekt, währe aber aufwendig).
Ich würde dir somit empfehlen anstatt e^x einfach x^2 oder x^3 zu nehmen, das kannst du noch relativ einfach bewerkstelligen, indem du eine Variable mit sich selbst multiplizierst (x*x=x^2; x*x*x=x^3,...).

In der Grafik habe ich die Funktionen mal verglichen:
ex.png-> Klicken zum vergrößern

Die Funktion x^3 (x = t in Sekunden) kann dann so realisiert werden:
x3.png-> Klicken zum Vergrößern

Du musst nur beachten, dein Wertebereich ist von -32768 bis 32767, somit währe bei diesem Aufbau nach knapp 32 Sekunden Schluss (32^3 = 32768 ).

Wenn du Bereiche von bis zu 30 Minuten abdecken willst, kannst du entweder deine Zeitbasis verändern (z. B.: x = t in Minuten,...), oder du fügst einen Dämpfungsfaktor in die Arithmetische Anweisung hinzu (z. B.: 0,25*x*x*x).

Für einen möglichst stufenlosen Übergang solltest du allerdings beachten, die Zeitbasis so klein wie möglich zu wählen (bis zu x = t in 0,01 Sekunden möglich),
daher eher mit einem Dämpfungsfaktor arbeiten.

Für ein fallendes Signal musst du dir dann eine neue Funktion erstellen, das ist simple Mathematik.
Du kannst auch mehrere arithmetische Anweisungen hintereinander schalten (jeweils auf eine andere verweisen), damit kannst du dann auch Polynome höheren Grades abbilden.
Da du 4 verschiedene Vorgänge beschrieben hast könntest du dir eine Funktion (Polynom höheren Grades) berechnen, dieses mit arithmetischen Anweisungen zusammenbasteln und hättest den gesuchten Verlauf.
Alternativ den Ausgang zeitabhängig von verschiedenen arithmetischen Anweisungen beschalten, so kannst du das Ausgangssignal von mehreren Funktionen abhängig machen.

Grüße,

Michael
 
Zurück
Oben