Linear steigender / fallender Analogwert aber wie?

Stephan82MA

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

erst mal vielen Dank für dieses Forum, hab hier schon mehr als einmal eine Lösung für meine Probleme gefunden. Jetzt hab ich selbst mal ein kleines Problem.

Ich selbst bin gelernter Enegieanlagenelektroniker und arbeite als Instandhaltungselektriker in einer Papierfabrik in Mannheim.

Ich habe folgendes Problem:

Ich habe eine Analogausgangskarte, über die ein Analogwert (0-10V) für eine Micromaster 440 ausgegeben wird.
Ich benötige jetzt für diesen FU verschiedene Hoch und Runterfahr Rampen. Leider habe ich an dem S7-300 Rack keine freien Ausgänge mehr um z.B. über die Digitaleingänge des FUs die Rampen umzuschalten. Leider ist auch das Rack voll und im Schaltschrank ist auch kein bisschen Platz mehr übrig für einen zweizeiligen Aufbau zu machen. Daher will ich das per S7 Programm lösen. Ich suche daher einen Baustein oder eine Funktion, die mir die Spannung an meinen Analogausgang linear hochrechnet. Das ganze soll praktisch so sein, das ich als Eingangsvariable den aktuellen Wert des PAW eingebe, den Wert, auf den die Spannung steigen bzw fallen soll und eine Zeitkonstante. Die Wertänderung soll dann halt linear zur Zeit dauern. So könnte ich z.b. eine Zeit von 2 s eingeben um ein recht schnelles anhalten des Motors zu bekommen oder halt z.b. 10 s für ein langsames anhalten.

Aktuell ist es so das ein Wert auf das PAW geschrieben wird, was ja einem Sprung gleichkommt und der FU dann halt immer nur eine Rampe benutzt. Somit bekomm ich halt ein total ruckeliges Laufen des Motors.


Leider hab ich noch keine Idee wie ich so eine Linearfunktion programmieren soll.

Wäre echt super wenn jemand zufällig weiß ob es für sowas schon nen brauchbaren SFC / SFB oder ähnliches gibt.

Oder jemand nen vorschlag hat wie ich das selbst programmieren kann.

Vielen Dank für eure Hilfe vorab.

MFG
Stephan
 
eine lineare funktion wird beschrieben mit

Code:
f(x)=m*x+n

wobei m in deinem fall die interessante größe ist, die es zu beeinflußen gilt, also:

Code:
f(x)=m(t)*x+n

mit

Code:
m(t)=a*t

jetzt gilt es nur noch m(t) so zu beeinflußen, dass in der von dir vorgegeben zeit der von dir vorgegebene wert von m erreicht wird ... dazu sollte man einen geeigneten anstieg a finden ...

... das alles läßt sich sehr leicht in AWL umsetzen ...
 
Zurück
Oben