# Drehzahlregelung über Geber



## BFC92 (4 April 2022)

Hallo,

 Ich muss die Drehzahl eines Motors über eine S7314 (6ES7 314-6EH04-0AB0) und eine G120 ( 6SL3210-1KE14-3AF2) Regeln. Hierzu bekomm ich eine Drehzahl von einen Näherungssensor geliefert. Quasi ein Geber mit Sechs Strichen. Jetzt will ich eine Solldrehzahl einstellen und der Motor soll bis zu dieser Hochfahren und dort bei untersciedlicher belastung auch bleiben. Wenn ich jetzt einen der Vorgefertigten PID Regler verwende, zum Beispiel den CONT_C bekomm ich ja ein Ausgangsignal zwischen 0- und 100%, ich weiß jetzt absolut nicht wie ich das verarbeiten soll. Ich kann über Profibus nur "Drehzahl erhöhen" "Drehzahl verringern" oder eine Solldrehzahl in den FU schreiben. Oder gibt es noch andere Parameter die ich benutzen kann. Es kann doch nicht sein das noch nie jemand sowas realisiert hat, ich finde nämlich gar nichts dazu. Wäre sau cool wenn jemand nen brauchbaren Ansatz hat.


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Wenn ich jetzt einen der Vorgefertigten PID Regler verwende, zum Beispiel den CONT_C bekomm ich ja ein Ausgangsignal zwischen 0- und 100%, ich weiß jetzt absolut nicht wie ich das verarbeiten soll. Ich kann über Profibus nur "Drehzahl erhöhen" "Drehzahl verringern" oder eine Solldrehzahl in den FU schreiben


Der Regler gibt Dir einen Wert 0-100% aus. Diesen normieren/skalieren auf 0-X für die Solldrehzahl des FUs und übertragen.
Bin mir nicht ganz sicher aber hat der CONT_C nicht einen OUT_REAL (0-100%) und einen OUT_PER (0-X)? Dann würde OUT_PER derjenige sein der die Sollwertvorgabe füttert.
X steht für die Drehzahlvorgabe (Maximalwert).



BFC92 schrieb:


> Es kann doch nicht sein das noch nie jemand sowas realisiert hat, ich finde nämlich gar nichts dazu. Wäre sau cool wenn jemand nen brauchbaren Ansatz hat.


Es haben schon viele das Vorhaben realisiert, Du bist nicht der erste.


----------



## BFC92 (4 April 2022)

Ja danke schonmal, ich weiß schon bin nur mittlereweile leicht verweifelt...



also welchen Ausgang muss ich jetzt benutzen?
und Wenn ich den einfach zwischen sagen wir 0 und 5200 skaliere, und 1500 haben will. Dann gibt der ja 5200 zu beginn aus und geht dann auf 0 Wenn der wert erreicht wäre, dann würde der FU aber die Drehzahl null anstreben, um dann wieder 5200 anzustreben. Oder versteh ich das Falsch? Also auf was genau muss ich da skalieren?


----------



## BFC92 (4 April 2022)




----------



## escride1 (4 April 2022)

Du hast so gar keine Ahnung von der Materie oder?



BFC92 schrieb:


> also welchen Ausgang muss ich jetzt benutzen?
> und Wenn ich den einfach zwischen sagen wir 0 und 5200 skaliere, und 1500 haben will. Dann gibt der ja 5200 zu beginn aus und geht dann auf 0 Wenn der wert erreicht wäre, dann würde der FU aber die Drehzahl null anstreben, um dann wieder 5200 anzustreben. Oder versteh ich das Falsch? Also auf was genau muss ich da skalieren?



Du nutzt LMN und skalierst diesen auf den Min-Max-Wert der Sollwertvorgabe Deines FUs.

Der Regler sollte z.B. mit MAN_ON = true/false gestartet und gestoppt werden, parallel zur Freigabe des FUs und MAN mit dem Wert 0.0 belegt werden. Somit würde er bei deaktiviertem Motor auch nicht regeln wollen. Denn wenn er regelt und der Motor hat gar keine Freigabe, dann dreht der Regler irgendwann hoch auf max und beim nächsten Motorstart schiesst er dann auch auf den Maximalwert.

In der Regel will man Drehzahlen immer von unten erreichen, also sich von unten nach oben annähern. Das tut ein Regler.
Er vergleicht durchgehend Sollwert und Istwert und zieht daraus die Konsequenz das sein Ausgang etwas höher oder niedriger sein muss. Er nähert sich an. Hat er irgendwann Istwert=Sollwert erreicht so verbleibt er auf seinem Ausgang. Damit er nicht ständig nachregelt kann man eine Totzone definieren, z.B. 5% um dem Sollwert. Das wäre dann die gleichnamige Totzone (DEADBAND) und ist mit DEADB_W=1 aktiviert, wird mittels Standard-PID eingestellt oder direkt im DB des Reglers.


Hast Du irgendeine Ahnung von Reglern etc.?
Wenn nicht, dann kann das Aktivieren des Reglers bereits zu Problemen führen, wie z.B. das die Drehzahl komplett hochschiesst. Ob das schlimm ist hängt von der Mechanik ab. Das musst Du im Programm durch z.B. feste nachgeschaltete Netzwerke im OB/FC durch Vergleicher verhindern.
Fang mit kkleinen Drehzahlen an.

Ein zusammenfassendes Dokument zum Regler:


			http://www.steuerungstechnik-heller.de/Steuerungstechnik/Software/Dokumentation/Regeln_mit_dem_SFB41.pdf
		

Bereits ein Handbuch vom Regler durchgelesen?


----------



## BFC92 (4 April 2022)

Ja ich hab vom Regeln gar keine Ahnung, das Handbuch vom Cont_C hab ich schon zich mal durchgelesen, aber bin wohl zu dumm  das zu verstehen. Also im Moment gibt mir Lmn immer 0 aus, gestern war das mal anders, aber weiß nicht hab jetzt nochmal ganz von vorn angefangen und einen neuen Cont_C eingefügt, und LMN ist irgendwie immer Null. Hab jetzt mal hier:


die Physikalische Größe eingestellt, ist das Richtig?

Danke schonmal für die Hilfe. 

Ach und mein Restliches Programm läuft super, und hab den Motor grad allein laufen, also Zerstörung ist kein problem...


----------



## BFC92 (4 April 2022)

OK ja jetzt schreibt der Ausgang, aber hab jetzt 1500 als Drehzahl Vorgegeben, und wenn der Sollwert sich 1500 nähert geht der ausgang ja auf 0. Dann bekommt der FU ja den befehl Null umdrehungen, und an dem Punkt ist mein Problem das ich nicht lösen kann. Besser wärs wenn der Regler den Wert dann beibehält bei dem es passt, so muss er vllt gerade ne Drehzahl von1150 in Den Fu schreiben um 1500 umdrehungen zu errreichen, wäre cool wenn er sich dieser zahl langsam annähert und diese dann hält, beziehungsweise bei störgrößen halt nachregelt.


----------



## escride1 (4 April 2022)

Nochmal genau nachlesen:
Dein Sollwert ist die Drehzahl des FUs?
Was bewirkt das? Dann ist das nur eine Rückmeldung des Stellgliedes aber kein zu regelnder Wert.

Was genau regelst Du da? Beschreibe bitte Aufbau/Funktion.

Dein Verhalten 1500/01500/0 ist das was sich Schwingung nennt. Dafür müssen P-, D-, und I- Anteil verändert werden. (P auf 1, alles andere auf 0 für den Anfang) und dann muss man sich herantasten.


----------



## BFC92 (4 April 2022)

Nein das ist keine Schwingung, ich weiß das man sich an sowas Rantasten muss, aber ich bin ja noch nichtmal soweit. Ich hab einen Näherungssensor der Bei einer Umdrehung 6mal zählt, das hab ich umgerechnet auf eine Drehzahl die mir stetig ausgegeben wird. Diese Drehzahl ist die Variable Drehzahl_Sensor_PM. In meinen Fu Schreib ich jetzt den ausgang LMN und zwar als Solldrehzahl. Parameter (N_soll). Also wenn da jetzt 1500 steht strebt der richtung 1500, aber dann wechselt der ausgang ja richtung null, weil er Prozendual nachregelt, dann bekommt mein FU aber dem Befehl 0 und sterebt richtung Drehzahl 0. Ich weiß nicht ob ich mein Problem rüberbringe...

Aber auf jedenfall danke.


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Also wenn da jetzt 1500 steht strebt der richtung 1500, aber dann wechselt der ausgang ja richtung null, weil er Prozendual nachregelt, dann bekommt mein FU aber dem Befehl 0 und sterebt richtung Drehzahl 0. Ich weiß nicht ob ich mein Problem rüberbringe...


Wie verhält sich der Istwert denn zeitgleich mit dem Sollwert (LMN)? Bleibt er bei 1500 oder sinkt er mit ab?


----------



## BFC92 (4 April 2022)

Natürlich sinkt der Ab, der gibt immer die aktuelle Drehzahl der Welle wieder, der Ist am an Fang auf null, erreicht dann so 1400 umdrehungen und fällt dann wieder auf so 600 Umdrehungen, und dann beschleunigt er wieder. Es gibt also ein Pulsieren, ist aber kein schwingen,  weil die Regelung an sich ja falsch ist. Schwingen wär ja wenn er überregelt, aber er gibt ja den falschen Befehl... Also es wäre top wenn der Ausgegebene Wert, sich langsam steigert und dann bei der Richtigen Drehzahl, nach ein bisschen einschwingen stehen bleibt. Vllt brauch ich dafür auch einen anderen Regler als Cont_C...?


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Es gibt also ein Pulsieren, ist aber kein schwingen, weil die Regelung an sich ja falsch ist. Schwingen wär ja wenn er überregelt, aber er gibt ja den falschen Befehl...


Nein.

Der Regler arbeitet nicht prozentual oder linear auf den Regelwert.
Er berechnet anfänglich anhand des P-Anteils den Startwert um so schnell wie möglich dahinzukommen und regelt dann mittels D und I-Anteil nach.
Wenn er frühzeitig merkt das er zu schnell an den Sollwert herankommt dann regelt der runter, und wieder hoch, und runter...und überschwingt nicht.
Das ist Schwingen was Du beschreibst.


----------



## BFC92 (4 April 2022)

Nein, eben nicht. 
Das ist mir alles klar was du sagst. Aber der Ausgang gibt einen Wert aus, dieser Wert wird in den FU geschrieben. Der SollWert ist 1500 die Drehzahl ist 0. Deshalb ist der Wert am Ausgang 1500. Wenn der FU den Befehl 1500 bekommt und jetzt nichts weiter passiert. Stellt er die Größe 1500 ein, das wäre dann eine Steuerung. Jetzt passiert aber folgendes, wenn die Drehzahl steigt schreibt der Regler ja einen kleineren Wert, was ultra sinnvoll wäre wenn ich Mehr drehzahl und weniger Drehzahl einstellen würde. Tue ich aber nicht. Jetzt kommt der kleinere Wert, sagen wir 1000 Umdrehungen in den Umrichter als sollwert, also strebt er jetzt 1000 umdrehungen an, und versucht dahin zu gehen. Das ist kein Schwingen das ist einfach falsch programiert. Die frage ist wie mach ich es richtig.


----------



## BFC92 (4 April 2022)

Uhh ich glaub ich muss das Drehmoment und nicht die Drehzahl regeln, das wäre viel Sinnvoller.


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Nein, eben nicht.
> Das ist mir alles klar was du sagst. Aber der Ausgang gibt einen Wert aus, dieser Wert wird in den FU geschrieben. Der SollWert ist 1500 die Drehzahl ist 0. Deshalb ist der Wert am Ausgang 1500. Wenn der FU den Befehl 1500 bekommt und jetzt nichts weiter passiert. Stellt er die Größe 1500 ein, das wäre dann eine Steuerung. Jetzt passiert aber folgendes, wenn die Drehzahl steigt schreibt der Regler ja einen kleineren Wert, was ultra sinnvoll wäre wenn ich Mehr drehzahl und weniger Drehzahl einstellen würde. Tue ich aber nicht. Jetzt kommt der kleinere Wert, sagen wir 1000 Umdrehungen in den Umrichter als sollwert, also strebt er jetzt 1000 umdrehungen an, und versucht dahin zu gehen. Das ist kein Schwingen das ist einfach falsch programiert. Die frage ist wie mach ich es richtig.


Wenn Du nicht darauf hören willst was Menschen Dir erklären die mittlerweile über 20 Jahre den Kram programmieren und dabei auf knapp 1000 Anlagen zurückschauen können dann kann ich Dir leider nicht helfen.
Deine Annahme ist falsch. Der Regler schwingt weil P-Anteil, I-Anteil und D-Anteil nicht passen. Stell I und D auf 0 und den Gain (P) auf 0.5 danach auf 3 und bemerke den Unterschied.



BFC92 schrieb:


> Uhh ich glaub ich muss das Drehmoment und nicht die Drehzahl regeln, das wäre viel Sinnvoller.


Du musst doch wissen was Du willst und was nicht. Ich kenne die Anlage nicht.


----------



## BFC92 (4 April 2022)

Ja ich danke für deine Hilfe aber du verstehst das Problem nicht, vermutlich weil du einfach schon zu schlau bist um mein Problem zu verstehen.


escride1 schrieb:


> Wenn Du nicht darauf hören willst was Menschen Dir erklären die mittlerweile über 20 Jahre den Kram programmieren und dabei auf knapp 1000 Anlagen zurückschauen können dann kann ich Dir leider nicht helfen.
> Deine Annahme ist falsch. Der Regler schwingt weil P-Anteil, I-Anteil und D-Anteil nicht passen. Stell I und D auf 0 und den Gain (P) auf 0.5 danach auf 3 und bemerke den Unterschied.


Hab ich getan, macht keinen Unterschied, aber vielen dank, du verstehst mein Problem einfach nicht, vermutlich weil du einfach schon zu schlau bist um mein triviales Problem zu verstehn. Ich bin scheinbar Grundsätzlich falsch rangegangen, weil ich ja das Drehmoment und nicht die Drehzahl regeln sollte. Ich glaub zumindest das das mehr sinn Macht, du hast mir wirklich sehr weitergeholfen danke dafür. Ich versuch jetzt mal das Drehmoment zu regeln, vlt komm ich zum gewünschten ergebniss, wenn ich das hinkriegen sollte...


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Ich bin scheinbar Grundsätzlich falsch rangegangen, weil ich ja das Drehmoment und nicht die Drehzahl regeln sollte. Ich glaub zumindest das das mehr sinn Macht


Warum beschreibst Du nicht einfach die Anlage und den Prozess der stattfinden soll? Vielleicht auch ein Bildchen?
Ich denke das Dir dann viel einfacher und zielgerichteter die Hilfestellung gegeben werden kann.



BFC92 schrieb:


> Hab ich getan, macht keinen Unterschied,


Wenn Du den P-Wert auf 0,5 gestellt hast, die Kurve angesehen und dann auf 3 gestellt hast, ebenfalls die Kurve angesehen, dann ist da ein Unterschied oder es passt etwas generell in der Verschaltung nicht, aber das kommt dann nicht aus dem Regler.


----------



## BFC92 (4 April 2022)

escride1 schrieb:


> Wenn Du den P-Wert auf 0,5 gestellt hast, die Kurve angesehen und dann auf 3 gestellt hast, ebenfalls die Kurve angesehen, dann ist da ein Unterschied oder es passt etwas generell in der Verschaltung nicht, aber das kommt dann nicht aus dem Regler.


Richtig, das sag ich ja die ganze Zeit, der Fehler ist im Programm ich schreibe keinen Sinnvollen Wert in den FU. Ich hab ja gesagt bin noch gar nicht soweit das die Regelung funktioniert, deshalb hat das auch nichts mit schwingen zutun. 

Naja hab doch die Anlage schon beschrieben, ich nehme über einen Näherungssensor Die Drehzahl einer Welle auf und diese soll bei unterschiedlichen Lasten Konstant bleiben, da die Welle aber nicht direkt mit dem Motor Verbunden ist, sondern verschiedene Wellen mit verschiedenen durchmessern zum einsatz kommen, die mittels eines Bandes angetrieben werden (also auch noch unterschiedlicher schlupf) kann ich nicht auf den internen Wert des FUs zurückgreifen. Und ich glaub jetzt das ich da ja gar keine Drehzahl regeln muss, sondern einDrehmoment. Aber letztlich ist mir egal was ich regle hauptsache s läuft und die Drehzahl bleibt konstant.


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Naja hab doch die Anlage schon beschrieben


Weniger, es sind zwei Threads, und ich soll in beiden nach den Infos suchen die ich brauche um Dir zu helfen? Entscheide Dich für einen und dann schliesse den anderen ab.



BFC92 schrieb:


> ich nehme über einen Näherungssensor Die Drehzahl einer Welle auf und diese soll bei unterschiedlichen Lasten Konstant bleiben, da die Welle aber nicht direkt mit dem Motor Verbunden ist, sondern verschiedene Wellen mit verschiedenen durchmessern zum einsatz kommen, die mittels eines Bandes angetrieben werden


Was wird angetrieben? Was ist dahinter? Förderband, Ventilator, Pumpe, ... - das sind unterschiedliche Einstellungen. Warum sind da verschiedene Wellen? Worauf kommt es an? Gleichbleibende Drehzahl am Endpunkt oder das Drehmoment? 


BFC92 schrieb:


> Uhh ich glaub ich muss das Drehmoment und nicht die Drehzahl regeln, das wäre viel Sinnvoller.


Das hängt ja eben davon ab was Du erreichen willst.



BFC92 schrieb:


> Richtig, das sag ich ja die ganze Zeit, der Fehler ist im Programm ich schreibe keinen Sinnvollen Wert in den FU.


Das ist nicht so rübergekommen.
Der sinnvolle Wert aber ist am Ende gegeben wenn Sollwert=Wunsch, Istwert=Geber, Ausgang=FU ist. Wenn kein anderer Befehl da irgendwas zwischenschreibt dann macht der Regler was er soll: Ohne eingestellte PID-Werte vor sich rumspringen, im Falle eines Gains von 2 kennt er dann meist nur 0, 25, 50, 75, 100% weil die Rückmeldung (Istwert) viel zu schnell erreicht werden kann, im schlimmsten Fall gar nur 0 und 100%.


----------



## Heinileini (4 April 2022)

BFC92 schrieb:


> ... aber du verstehst das Problem nicht, vermutlich weil du einfach schon zu schlau bist um mein Problem zu verstehen.


Du machst das Vestehen Deines Problems aber wirklich nicht sehr leicht. Dadurch, dass Du Dein Problem hier in zwei Threads abhandelst und somit in jedem der beiden Threads ein gehöriger Anteil Deiner Informationen fehlt. 
Ferner bist Du auch recht sparsam mit dem Beantworten von Fragen.
Du schreibst von Drehzahl, hast es aber mit zwei verschiedenen Drehzahlen zu tun. Die eine ist die des FUs und Motor und die andere ist die Deiner Welle, an der Du die Istdrehzahl misst/errechnest.
Der Zusammenhang zwischen diesen beiden Drehzahlen ist bisher nur recht schwammig angedeutet und für uns nicht wirklich nachzuvollziehen.
Du hast anscheinend selbst Probleme damit, bei Deinen Aussagen durchschimmern zu lassen, von welcher der beiden Drehzahlen Du gerade berichtest.

Vielleicht wäre es hilfreich, statt über einen ReglerAusgang, der bei Erreichen der SollDrehzahl auf Null schrumpft, über einen Faktor nachzudenken, der sich um 1 herum bewegt. Gleich 1, wenn Deine Istdrehzahl passt, kleiner 1, wenn Deine Istdrehzahl zu gross wird und grösser 1, wenn die Istdrehzahl zu klein wird. Damit könntest Du die Solldrehzahl modulieren, die Du an den FU ausgiebst.

PS:


BFC92 schrieb:


> Ich will nur erreichen das die Drehzahl konstant bleibt.


Das meinte ich: "die Drehzahl". Egal, welche?
Anscheinend musst Du doch, um an der Welle eine bestimmte Drehzahl zu Erreichen, dem Motor ganz unterschiedliche Drehzahlen vorgeben.


----------



## BFC92 (4 April 2022)

Ich will nur erreichen das die Drehzahl konstant bleibt. 


escride1 schrieb:


> Der sinnvolle Wert aber ist am Ende gegeben wenn Sollwert=Wunsch, Istwert=Geber, Ausgang=FU ist. Wenn kein anderer Befehl da irgendwas zwischenschreibt dann macht der Regler was er soll: Ohne eingestellte PID-Werte vor sich rumspringen, im Falle eines Gains von 2 kennt er dann meist nur 0, 25, 50, 75, 100% weil die Rückmeldung (Istwert) viel zu schnell erreicht werden kann, im schlimmsten Fall gar nur 0 und 100%.


Ausgang=FU ist eben nicht Sinnvoll, weil der befehl völlig unsinnig ist. Der Ausgangswert passt sich ja je nachdem was noch nachgeregelt werden muss an, und wird dann 0 wenn ie Wunschdrehzahl erreicht ist. Jetzt sollte sich nichts mehr ändern (im Optimalfall). Wenn  der Regler aber Null Schreibt und ich das in Den Fu einfach reingebe, dann versteht dieser das logischwerweise nicht als:" bitte nichts mehr ändern" sondern als: Strebe die Drehzahl 0 an. Das ist mein Problem. Vermutlich ist das ganz leicht zu lösen und du verstehst nicht wie man damit ein Problem haben kann.


----------



## BFC92 (4 April 2022)

Heinileini schrieb:


> Vielleicht wäre es hilfreich, statt über einen ReglerAusgang, der bei Erreichen der SollDrehzahl auf Null schrumpft, über einen Faktor nachzudenken, der sich um 1 herum bewegt. Gleich 1, wenn Deine Istdrehzahl passt, kleiner 1, wenn Deine Istdrehzahl zu gross wird und grösser 1, wenn die Istdrehzahl zu klein wird. Damit könntest Du die Solldrehzahl modulieren, die Du an den FU ausgiebst.


Jajaja genau nach sowas versuch ich die ganze Zeit zu fragen, wie mach ich das der Regler so einen Wert ausgibt, dann krieg ich den rest vermutlich hin.

Das wär einfach perfekt.


----------



## Heinileini (4 April 2022)

BFC92 schrieb:


> Jajaja genau nach sowas versuch ich die ganze Zeit zu fragen, wie mach ich das der Regler so einen Wert ausgibt, dann krieg ich den rest vermutlich hin.


Eine Zahl nehmen und einen Quotienten bilden aus dieser Zahl einerseits und der Summe aus dieser Zahl und dem ReglerAusgang andererseits?


----------



## escride1 (4 April 2022)

Ist das Dein Aufbau?


----------



## Heinileini (4 April 2022)

escride1 schrieb:


> Anhang anzeigen 60259
> 
> 
> Ist das Dein Aufbau?


Pfeil zwischen Rädele und Sensor umkehren.
Pfeil von Sollwert zum Sensor wegnehmen.
Pfeil von "irgendwo" zum Sollwert hinzufügen.
Zusammenhang zwischen Istwert und Sollwert zu den entsprechenden ReglerEingängen herstellen.


----------



## PN/DP (4 April 2022)

Kann nicht der FU selber auf die vorgegebene Drehzahl regeln?

Harald


----------



## escride1 (4 April 2022)

Heinileini schrieb:


> Pfeil zwischen Rädele und Sensor umkehren.
> Pfeil von Sollwert zum Sensor wegnehmen.
> Pfeil von "irgendwo" zum Sollwert hinzufügen.
> Zusammenhang zwischen Istwert und Sollwert zu den entsprechenden ReglerEingängen herstellen.


^^
Eigentlich wollte ich nur schnell n Bildchen erstellen wo in etwa was sitzt, (noch) nicht die Zusammenhänge 



angenehmer?


----------



## MFreiberger (4 April 2022)

BFC92 schrieb:


> Ich will nur erreichen das die Drehzahl konstant bleibt.
> 
> Ausgang=FU ist eben nicht Sinnvoll, weil der befehl völlig unsinnig ist. Der Ausgangswert passt sich ja je nachdem was noch nachgeregelt werden muss an, und wird dann 0 wenn ie Wunschdrehzahl erreicht ist. Jetzt sollte sich nichts mehr ändern (im Optimalfall). Wenn  der Regler aber Null Schreibt und ich das in Den Fu einfach reingebe, dann versteht dieser das logischwerweise nicht als:" bitte nichts mehr ändern" sondern als: Strebe die Drehzahl 0 an. Das ist mein Problem. Vermutlich ist das ganz leicht zu lösen und du verstehst nicht wie man damit ein Problem haben kann.


Moin BFC92,

anscheinend gibt es hier irgendwie eine Verwechselung zwischen Regelabweichung und Stellwert.
Wenn sich nichts mehr ändern soll, sollte die Regelabweichung 0 werden, nicht der Stellwert. Der Stellwert sollte auf dem Wert, den er erreicht hat verharren. Jedenfalls bei einem I-Regler. Der P-Regler hat eine bleibende Regelabweichung; da sollte gar nichts auf 0 gehen, es sei denn natürlich, der Sollwert ist 0.
Vielleicht nutzt Du einfach den falschen Ausgang des Regelbausteins?

VG

MFreiberger


----------



## escride1 (4 April 2022)

MFreiberger schrieb:


> Vielleicht nutzt Du einfach den falschen Ausgang des Regelbausteins?


Um dieses zu vereinfachen:
SP_INT = Sollwert
PV_IN = Istwert
LMN = Ausgang

SP_INT und PV_IN MÜSSEN die gleiche Formatierung haben, also beides Drehzahl oder % oder °C, ...


----------



## Heinileini (4 April 2022)

PN/DP schrieb:


> Kann nicht der FU selber auf die vorgegebene Drehzahl regeln?


Sicher doch, aber die erforderliche Drehzahl am Motor ist sowas von unbekannt, dass er stattdessen auf die Drehzahl an der Welle regeln muss sagt meine Glaskugel.


----------



## escride1 (4 April 2022)

PN/DP schrieb:


> Kann nicht der FU selber auf die vorgegebene Drehzahl regeln?
> 
> Harald





Heinileini schrieb:


> Sicher doch, aber die erforderliche Drehzahl am Motor ist sowas von unbekannt, dass er stattdessen auf die Drehzahl an der Welle regeln muss sagt meine Glaskugel.


Würde das nicht voraussetzen das die SPS den Geberwert an den Umrichter übermittelt oder gar selbst in der Umrichterlogik geschrieben wird was mMn das Thema hier deutlich komplizierter machen könnte?


----------



## BFC92 (4 April 2022)

PN/DP schrieb:


> Kann nicht der FU selber auf die vorgegebene Drehzahl regeln?
> 
> Harald


Leider nicht, weil die Drehzahl des Motors nicht linear mit der Drehzahl der welle zusammenhängt.


escride1 schrieb:


> Anhang anzeigen 60259
> 
> 
> Ist das Dein Aufbau?


Ja kann man so skizieren.
+Wechselnde Last an der Angetriebenen Welle und wechselnde Größe des Rädeles ^^


Heinileini schrieb:


> Eine Zahl nehmen und einen Quotienten bilden aus dieser Zahl einerseits und der Summe aus dieser Zahl und dem ReglerAusgang andererseits?








ich glaube das funktioniert, aber jetzt hab ich natürlich das von dir vorhin angesprochene extreme übersteuern. Und demzufolge ein Schwingen das man gar nicht mehr schwingen nennen kann, weil LMN nur noch +100 und -100 ausgibt, aber jetzt ist die regelung zumindest vom Prinzip sinnvoll, ich wage noch nicht richtig zu sagen. Aber vielen dank für diese Anregung. Ich versuch jetzt mal etwas einzuregeln. Frag mich aber immernoch ob eine Drehmomentregelung nicht sinnvoller wäre...was meint ihr dazu. Allerdings hab ich keine Ahnung wie ich meinen FU ein Drehmoment vorgebe...


----------



## MFreiberger (4 April 2022)

BFC92 schrieb:


> Leider nicht, weil die Drehzahl des Motors nicht linear mit der Drehzahl der welle zusammenhängt.


Wie kommt das? Mechanische Kurvenscheiben? Stufenloses Getriebe?

VG

MFreiberger


----------



## BFC92 (4 April 2022)

escride1 schrieb:


> ^^
> Eigentlich wollte ich nur schnell n Bildchen erstellen wo in etwa was sitzt, (noch) nicht die Zusammenhänge
> 
> Anhang anzeigen 60260
> ...


Super Bild


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Leider nicht, weil die Drehzahl des Motors nicht linear mit der Drehzahl der welle zusammenhängt.


Zwischen Motor und Welle ist ein Faktor, wobei gilt: Motordrehzahl*Faktor=Wellendrehzahl. Bei Dir anderS?



BFC92 schrieb:


> +Wechselnde Last an der Angetriebenen Welle und wechselnde Größe des Rädeles ^^


Wobei ich mich Frage ob der Sensor an der Welle des Rädeles hängt oder an der Außenseite, denn an der Welle wäre es wurscht wie groß des Rädele ist, an der Außenseite natürlich nicht.



BFC92 schrieb:


> Frag mich aber immernoch ob eine Drehmomentregelung nicht sinnvoller wäre...was meint ihr dazu


Entweder Du willst ein Gewicht heben und brauchst das Drehmoment oder aber Du willst ein Förderband bewegen und benötigst die Geschwindigkeit (wobei davon ausgegangen wird das der Motor richtig dimensioniert ist und somit die Last egal wäre).


----------



## MFreiberger (4 April 2022)

BFC92 schrieb:


> ich glaube das funktioniert, aber jetzt hab ich natürlich das von dir vorhin angesprochene extreme übersteuern. Und demzufolge ein Schwingen das man gar nicht mehr schwingen nennen kann, weil LMN nur noch +100 und -100 ausgibt,


Na, da scheint ja zunächst mal der P-Anteil (Verstärkungsfaktor) zu hoch zu sein...


----------



## BFC92 (4 April 2022)

escride1 schrieb:


> Zwischen Motor und Welle ist ein Faktor, wobei gilt: Motordrehzahl*Faktor=Wellendrehzahl. Bei Dir anderS?


Ja in dem Fall anders. ^^


escride1 schrieb:


> Wobei ich mich Frage ob der Sensor an der Welle des Rädeles hängt oder an der Außenseite, denn an der Welle wäre es wurscht wie groß des Rädele ist, an der Außenseite natürlich nicht.


Ja ist ein Stellbares Getriebe quasie, aber nicht wirklich, dazu kommt wechselnder schlupf zwischen Motor und Welle bei unteschiedlicher belastung.


escride1 schrieb:


> Entweder Du willst ein Gewicht heben und brauchst das Drehmoment oder aber Du willst ein Förderband bewegen und benötigst die Geschwindigkeit (wobei davon ausgegangen wird das der Motor richtig dimensioniert ist und somit die Last egal wäre).


Aber kann man nicht auch die Drehzahl übers Drehmoment Regeln:


			https://cache.industry.siemens.com/dl/files/597/52614597/att_26929/v1/Funktionshandbuch_de-DE.pdf
		

so in etwa...


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Ja in dem Fall anders. ^^


Warum schreibst Du nicht einfach wieso weshalb warum?
Hier sitzen aktuell mit @Heinileini, @PN/DP, @MFreiberger und mir selbst einige die sich sehr gut auskennen und Dir garantiert binnen 5 Minuten die komplette Lösung präsentieren könnten, *wenn denn genug Informationen da wären*. Und es wurde auch danach gefragt.



BFC92 schrieb:


> Ja ist ein Stellbares Getriebe quasie, aber nicht wirklich, dazu kommt wechselnder schlupf zwischen Motor und Welle bei unteschiedlicher belastung.


Die Antwort auf


escride1 schrieb:


> Wobei ich mich Frage ob der Sensor an der Welle des Rädeles hängt oder an der Außenseite, denn an der Welle wäre es wurscht wie groß des Rädele ist, an der Außenseite natürlich nicht.


ist nicht stimmig oder heißt es das Du an der Welle des Rädeles den Näherungsschalter hast? Dann ist nur der Schlupf ein Faktor, nicht mehr die Größe.



BFC92 schrieb:


> Aber kann man nicht auch die Drehzahl übers Drehmoment Regeln:
> https://cache.industry.siemens.com/dl/files/597/52614597/att_26929/v1/Funktionshandbuch_de-DE.pdf  so in etwa...


Auf welcher der 274 Seiten sollte das nun stehen? Das ist ein Funktionshandbuch, keine Applikationsbeschreibung(beispiel).


----------



## BFC92 (4 April 2022)

escride1 schrieb:


> Auf welcher der 274 Seiten sollte das nun stehen? Das ist ein Funktionshandbuch, keine Applikationsbeschreibung(beispiel).


Ab seite 143 ja finde Leider kein Beispiel. 


escride1 schrieb:


> Warum schreibst Du nicht einfach wieso weshalb warum?
> Hier sitzen aktuell mit @Heinileini, @PN/DP, @MFreiberger und mir selbst einige die sich sehr gut auskennen und Dir garantiert binnen 5 Minuten die komplette Lösung präsentieren könnten, *wenn denn genug Informationen da wären*. Und es wurde auch danach gefragt.


Tut mir leid das ich mich nicht besser ausdrücken kann, Es geht darum das ich eine Regelung über den Sensor haben will.


----------



## escride1 (4 April 2022)

Sorry, muss nochmal nachhaken:





Hast Du nun wirklich den (((Reglerausgang geteilt durch 100) mal Sollwert) plus Istwert)=FU-Ausgang gerechnet und auf einmal bekommt LMN einen Wert +100 oder -100?

edit: Zur Verdeutlichung:
1500/100=15
15*1500=22500
22500+1500=24000 Solldrehzahl


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Tut mir leid das ich mich nicht besser ausdrücken kann, Es geht darum das ich eine Regelung über den Sensor haben will.


Ja, verstanden, und wir müssten den genauen Aufbau kennen und wissen worauf es da ankommt.
Mal ist es Drehzahl, denn Drehmoment, dann ist der Schlupf ein wohl nicht unwesentlicher Faktor, dann kommen unterschiedliche Lasten, ...
Wer soll da durchsteigen?

Vergiss bitte erstmal was über Drehmoment, Drehzahl, Regelung, etc. Wir sollten echt wirklich mal klären:
*Was ist das für eine Anlage?*


----------



## BFC92 (4 April 2022)

escride1 schrieb:


> Sorry, muss nochmal nachhaken:
> Anhang anzeigen 60264
> 
> Anhang anzeigen 60265
> ...


jop genau das, Warum ? Ist das so dämlich?


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> jop genau das, Warum ? Ist das so dämlich?


Weil Du nichts anderes machst als den Reglerausgang zu verstärken mit einem variablen Faktor und am Ende, wenn nun +100 und -100 am LMN herauskommt, mein Beitrag #8 genau Dein Ansatzpunkt ist: Die Schwingung ist zu hoch.


----------



## escride1 (4 April 2022)

escride1 schrieb:


> edit: Zur Verdeutlichung:
> 1500/100=15
> 15*1500=22500
> 22500+1500=24000 Solldrehzahl


Habe ich zu spät angehangen. Diese Werte wolltest Du doch wohl nicht oder?


----------



## BFC92 (4 April 2022)

escride1 schrieb:


> Ja, verstanden, und wir müssten den genauen Aufbau kennen und wissen worauf es da ankommt.
> Mal ist es Drehzahl, denn Drehmoment, dann ist der Schlupf ein wohl nicht unwesentlicher Faktor, dann kommen unterschiedliche Lasten, ...
> Wer soll da durchsteigen?
> 
> ...


Genau das spielt alles eine Rolle, deswegen kann man nicht einfach den FU steuern, sondern muss Regeln. Und die Anlage ist tatsächlich hochkomplex, ist ne Gasspaltungsanlage es werden verschiedene Gase getrennt, ist ein tatsächlich sehr komplexer vorgang mit wechselnden Temperaturen die auch noch ins Spiel kommen, aber die Regelung sollte eigentlich einfach sein. Weil im Grunde hab ich eine Drehzahl und die Soll erreicht un d gehalten werden. In meinen Physikergehirn klingt das simpel. Und all die verschiedenen störgrößen löschen sich ja zum teil gegenseitig aus und verstärken sich, und bin euch wirklich allen sehr dankbar. Ich würd so gene n Foto machen aber ist hier verboten...

Wollte das mit den Gasen eigentlich nicht sagen weil sich gerade Elektriker dann immer sorgen machen das ich explosionen verursach nur weil drehzahen nicht stimmen...


----------



## BFC92 (4 April 2022)

edit: Zur Verdeutlichung:
1500/100=15
15*1500=22500
22500+1500=24000 Solldrehzahl

Oh ähm nein : LMN ist zwischen +100 und -100
100/100 =1
1*1500=1500
Drehzahl ist hier noch 0.
Also 1500+0=1500

jetzt geht der Faktor auf 90
90/100 = 0,9
0,9*1500=1350
Drehzahl wäre jetz optimal bei 150
1350+150=1500

so mein Gedankengang, aber klingt iwie auch nicht sinnvoll.


----------



## BFC92 (4 April 2022)

Heinileini schrieb:


> Vielleicht wäre es hilfreich, statt über einen ReglerAusgang, der bei Erreichen der SollDrehzahl auf Null schrumpft, über einen Faktor nachzudenken, der sich um 1 herum bewegt. Gleich 1, wenn Deine Istdrehzahl passt, kleiner 1, wenn Deine Istdrehzahl zu gross wird und grösser 1, wenn die Istdrehzahl zu klein wird. Damit könntest Du die Solldrehzahl modulieren, die Du an den FU ausgiebst.


Sowas wäre genial, das hab ich versucht zu realisieren.


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Oh ähm nein : LMN ist zwischen +100 und -100


Ja, bin irgendwie von LMN_PER ausgegangen. Aber ist auch egal.

Du möchtest am Ende nichts anderes als das Ergebnis des Reglers manipulieren was nicht wirklich sinnvoll ist.

Back2Basics:
Du hast bereits folgendes versucht:
SP_INT=Sollwert 1500
PV_IN=Istwert vom Geber
LMN=Ausgang FU als temp-Variable
LMN_HLM=100
LMN_LLM=0
DEADB_W=false
GAIN=1.0
D_SEL=false
I_SEL=false
CYLCLE=OB3X-Zeit

LMNs temp-Variable dann skalieren von 0..100 auf 0..5000 und das an den FU
5000=maximale Drehzahl des Motors (sonst anpassen)

und dann macht der Regler genau was?
Kannst Du eine Kurve schreiben und posten? Das wäre wirklich das hilfreichste was Du machen könntest.


----------



## BFC92 (4 April 2022)

Uhhh das hab ich noch nicht versucht, ich hab immer LMN benutzt nicht LMN_Per. Ich versuchs mal und schreib euch ne Kurve. Danke nochmals das ihr helft. 

Ich hab im Moment Reglerstruktur nur P, weil ich gehört hab man muss das zuerst einstellen...


----------



## BFC92 (4 April 2022)

Hmm Jetzt läuft er gar nicht los, Vermutlich weill n Hex_wert hier nicht passt oder?


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Uhhh das hab ich noch nicht versucht, ich hab immer LMN benutzt nicht LMN_Per. Ich versuchs mal und schreib euch ne Kurve. Danke nochmals das ihr helft.
> 
> Ich hab im Moment Reglerstruktur nur P, weil ich gehört hab man muss das zuerst einstellen...


Ja ich hatte das nochmal geändert.
Im Grunde genommen ist es unwichtig ob Du nun LMN oder LMN_PER nutzt. LMN_PER nutzt man eigentlich nicht direkt für den FU, deshalb geändert, da der FU meist immer irgendwas zwischen 0 und 4000 hat, LMN_PER undefiniert aber -27648 bis -27648 ausgibt.

Also wie abgeändert:
LMN nutzen und das natürlich skalieren auf den Wert den der FU benötigt, also zum Beispiel 0-5000.
Der LMN_HLM und LMN_LMN wird auf 0-100 gesetzt da er ja nicht rückwärts drehen soll?!


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Anhang anzeigen 60266
> 
> Hmm Jetzt läuft er gar nicht los, Vermutlich weill n Hex_wert hier nicht passt oder?


Nutz mal den LMN, wie skalierst Du den anschließend?


----------



## BFC92 (4 April 2022)

escride1 schrieb:


> Nutz mal den LMN, wie skalierst Du den anschließend?


Ja gar nicht ich hab den Wert immer direkt in den Fu geschoben, deswegen ist das ja nach meinen Verstand völlig sinnbefreit.


----------



## BFC92 (4 April 2022)

Heinileini schrieb:


> Vielleicht wäre es hilfreich, statt über einen ReglerAusgang, der bei Erreichen der SollDrehzahl auf Null schrumpft, über einen Faktor nachzudenken, der sich um 1 herum bewegt. Gleich 1, wenn Deine Istdrehzahl passt, kleiner 1, wenn Deine Istdrehzahl zu gross wird und grösser 1, wenn die Istdrehzahl zu klein wird. Damit könntest Du die Solldrehzahl modulieren, die Du an den FU ausgiebst.


Nochmal die Frage, ist sowas möglich? Vllt über einen anderen Regler als Cont_C?


----------



## Plan_B (4 April 2022)

Die Technologieregler für Antriebe sollten das können.

Zum 0-Problem eines Proportionalreglers hab ich in dem anderen Fred was geschrieben.


----------



## BFC92 (4 April 2022)

Plan_B schrieb:


> Die Technologieregler für Antriebe sollten das können.
> 
> Zum 0-Problem eines Proportionalreglers hab ich in dem anderen Fred was geschrieben.


Was für einer wäre das Dann?


----------



## BFC92 (4 April 2022)

escride1 schrieb:


> Nutz mal den LMN, wie skalierst Du den anschließend?


Wie sollte ich den den Skalieren?


----------



## escride1 (4 April 2022)

BFC92 schrieb:


> Wie sollte ich den den Skalieren?


Ja, äh, Der LMN gibt dir 0..100 raus, also skalier den auf 0..(Drehzahlobergrenze war bei Dir 5100?).
Dafür stehen Dir verschiedene Methoden etc. zur Verfügung.
Da Du im TIA-Portal arbeitest ist es aufgrund dessen das TIA WORD und INT nicht gleich behandelt etwas schwerer.
Eigentlich würde ich da stumpf n Unscale+Scale drüberjagen, im TIA-Portal stoßt Du nun auf das Problem das Word und Int eben nicht gleich sind und daher nicht akzeptiert wird.
Also nutze ich dann den Umweg ein AWL-Netzwerk einzufügen mit
L Word
T Int
und kann damit weiterarbeiten.

Wie Du meintest das Du bisher LMN (Real) immer auf den FU geschoben hast (Word) hast Du ja bereits Kenntnis von Umwandlungen der Datenformate.

Das vorhin LMN_PER nicht lief liegt daran das die ausgegebene Zahl höher ist als die Drehzahlobergrenze und ich meine das der G120 das auch so handhabt ohne es zu wissen, aber die meisten interpretieren eine zu hohe Zahl als Fehler und arbeiten nicht.


----------



## rlw (4 April 2022)

Der G120 akzeptiert Werte bis 16384 für den Drezahlsollwert.
In P2000 wird die Bezugsdrehzahl festgelegt.


----------



## BFC92 (4 April 2022)

escride1 schrieb:


> Wie Du meintest das Du bisher LMN (Real) immer auf den FU geschoben hast (Word) hast Du ja bereits Kenntnis von Umwandlungen der Datenformate.


Ja naja ich geb da ja ne Realzahl als solldrehzahl rein, wenn ich hier obergrenze und undergrenze 0 bis 5200 mache hat der Baustein mir ja erstmal zum Beispiel 1500 ausgegeben, und dann läuft mein Motor los und will 1500 erreichen. Aber jetzt sagt der Baustein ja eben weniger weil er ja einregeln will. Was aber quatsch ist wenn ich den wert dann in den FU schreibe. Weil jetzt sagt er Vllt nur noch 200 und dann strebt der ja auch nach der Drehzahl 200. Und das ist doch absolut nicht sinnvoll. Sinnvoller wäre er schreibt 1500 und merkt dann das das nicht reicht oder zu viel ist, und schreibt dann 1600 oder 1400 bis die Drehzahl passt, aber genau das macht der Ausgang ja nicht, sondern er geht dann richtung null. Das muss ich irgendwie lösen, und erst danach kann ich mich ums Regler einstellen kümmern. Sorry das wollt ich nur nochmal versuchen zu erklären. Deswegen Versteh ich auch nicht ganz was es jetzt bringt das zu skalieren, weil dann das Problem ja gleich bleibt.


----------



## Plan_B (4 April 2022)

Den (ursprünglichen) Drehzahlsollwert auf den Reglerausgang zu addieren würde genau diese Merkfunktion bringen.
Da (im Falle des P-Reglers) der Reglerausgang gegen 0 strebt, würde der Regler nur Sollwertabweichungen ausregeln. Positiv und negativ.
Wenn Du das hast, kannst Du auch die anderen beiden Regelfunktionen dazunehmen.

Alternativ nimmst Du gleich den I-Regler dazu.


----------



## BFC92 (4 April 2022)

Plan_B schrieb:


> Den (ursprünglichen) Drehzahlsollwert auf den Reglerausgang zu addieren würde genau diese Merkfunktion bringen.
> Da (im Falle des P-Reglers) der Reglerausgang gegen 0 strebt, würde der Regler nur Sollwertabweichungen ausregeln. Positiv und negativ.
> Wenn Du das hast, kannst Du auch die anderen beiden Regelfunktionen dazunehmen.
> 
> Alternativ nimmst Du gleich den I-Regler dazu.


Jo zwei Tage Hirnfuck und kurz bevor du das schreibst, hab ich genau das gemacht, danke euch allen Vielmals. So einfach ist es manchmal und man kommt einfach nicht drauf, ich multiplizier und dividire, dabei reicht ne einfache addition, wenn man erstmal drauf kommt ist es so logisch und einfahc. danke euch allen.


----------



## Plan_B (4 April 2022)

Also ist das Problem schon seit 17 Uhr geschichte


----------

