Step 7 Cont_c Augang bleibt auf 0

NiklasM

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

Ich versuche verzweifelt diesen Regler in gang zu bekommen nur leider komme ich nicht dahinter was ich falsch mache. Für mein vorhaben ist ledigleich eine I Reglung von nöten. Das Ziel ist es einen Servos zu steuern meines erachtens habe ich auch alle Werte richtig eingetragen. Als Lösung habe ich versucht den Sollwert und den Istwert zu ändern was zur folge haben sollte was der Ausgang einfach auf den angeforderten Sollwert spring. Dies geschieht leider nicht, der Ausgang bleibt auf 0. Im anhang befindet sich die verschaltung des Cont_C und des Pulsgen innerhalb eines FB#s der in dem OB 35 mit 100ms aufgerufen wird. Allerdings es ist eine Pulsfrequenz von 50hz gewünscht ich vermute das diese auch mit der Aufrufzeit des OB zu tun hat.
Ich hoffe mir kann jemand helfen.

MfG

Niklas
 

Anhänge

  • cont_c_2.JPG
    cont_c_2.JPG
    42,6 KB · Aufrufe: 21
  • Cont_c 1.JPG
    Cont_c 1.JPG
    34,1 KB · Aufrufe: 16
  • Pulsgen.JPG
    Pulsgen.JPG
    35,3 KB · Aufrufe: 17
MAN_ON ist bei dir TRUE und bei MAN ist nichts....
Soll/Ist-Wert ist auch gleich (90)

In deinen Screenshots siehts so aus als ob dein ON-Signal nicht TRUE wäre....

Zur Pulsfrequenz: Mit ner Aufrüfhäufigkeit von 100ms schaffst du gerade mal 5Hz
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Man_on ist standartmäßig auf true und die Varriable on dient nur dazu diese Eigenschaftes des Reglers zu aktivieren bzw. zu deaktivieren. Allerdings habe ich auch versucht Man_on zu aktivieren und bei Man einen Wert einzugeben doch nichts passiert.
 
Es wäre aber auf jeden Fall Screenshots hilfreich bei denen ON auf TRUE ist und der IST-Wert vom Sollwert abweicht.
 
Und beim HIGH-Limit ist 0.0 eingetragen und beim LOW-LIMIT ist 100.0 drin.
Ist das von dir so gewünscht, weil ich glaube dass das nicht erlaubt ist.
 
Kann ich liefern nur verstehe ich den Sinn hinter on = 1 nicht da ich damit ledigliech den Man_on und den P-Anteil deaktiviere.
 

Anhänge

  • Cont_C_Istwert.JPG
    Cont_C_Istwert.JPG
    37,3 KB · Aufrufe: 12
  • Cont_C_Istwert_2.JPG
    Cont_C_Istwert_2.JPG
    49,7 KB · Aufrufe: 10
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann ich liefern nur verstehe ich den Sinn hinter on = 1 nicht da ich damit ledigliech den Man_on und den P-Anteil deaktiviere.
Wie gesagt, wir können dir hier schwer helfen wenn du uns von Haus aus Screenshots lieferst bei denen der Regler von Haus aus 0.0 ausgeben soll.

In deinem Fall: ON = 0 und Sollwert = Istwert.
 
Danke das erklärt warum in keinem Beschaltungsfall ein Wert am Ausgang ausgegeben wurde, ich hab das lediglich verwechselt.
 
Ich nutze on nur als Platzhalter alle Eingänge die aktiv sein sollen haben eine Negierung am Pin und das mit dem high limit = 0 war ein Dummer Fehler.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich hab das lediglich verwechselt.
:confused: Was hast du denn genau verwechselt? Dann kann ich den Gedankengang vielleicht besser verstehen.
Ich nehme an du meintest HLM und LLM

Noch ein letztes mal zur Zusammenfassung.
  • ON = FALSE (Dann wird mit der MAN_VALUE und dem PV_IN gearbeitet)
Ich würde sowieso Parameter wie MAN_ON, PVPER_ON, I_SEL mit einem fixen Logisch1 oder Logisch0 beschalten. Sorgt für weniger Verwirrung​

  • Sollwert = Istwert (Der Regler wird nichts tun weil die Sollwertabweichung 0 ist. Für den Regler ist alles Eitel-Wonne perfekt ausgeregelt, keine Arbeit zu tun.

  • HighLimit 0, LowLimit 100.
Ich glaub der Regler macht einen einfachen Vergleich, wenn LMN größer HighLimit (bei dir 0) dann überschreibe LMN mit HighLimit​
 
Zuletzt bearbeitet:
Also was ich verwechselt habe war das high und das Low Limit das ist aber bereitsbehoben seid dem gibt der Regler etwas aus. (was sinn macht :D )
Könntest du mir nochmal erläutern was du mit diesem Fixen Logisch 1 bzw. 0 meinst.
Der Sollwert weicht bereits vom istwert auf den letzten screenshots ab, das war sowieso nur eine maßnahme um mein problem zu lösen das am LMN nicht ausgegeben wird, was bekanntlich nicht zur lösung geführt hat.
 
Könntest du mir nochmal erläutern was du mit diesem Fixen Logisch 1 bzw. 0 meinst.
Meistens nimmt man zwei Merker die Immer 1 bzw. 0 sind für diese Parameterbeschaltung.
Du könntest auch einfach im OB35 zwei Temp-Bools anlegen und ins erste Netzwerk folgendes schreiben.
Code:
SET
S VarLog1  //Merker oder TempVar für Logisch 1
R VarLog0

Das macht solche fixen Parameterbeschaltungen ein wenig leichter zu verstehen. Der Zweck deines ON-Parameters ist ja vermutlich den Regler Ein- bzw Aus zu schalten. Da du dann aber auch die Einstellungen am Regler mitänderst wird's wieder ein wenig unübersichtlich.

Ist aber eher ne Schönheitssache.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja ich habe es abgeändert, der Parameter on wird im laufe meines Programms nie seinen zustand ändern er dient lediglich zum festelegen der Reglereigenschaften. Der neue Name des Parameters ist wie vorgeschlagen Logisch_1 und hat auch den Zustand 1.
 

Anhänge

  • Logisch1_1.JPG
    Logisch1_1.JPG
    39,9 KB · Aufrufe: 9
Ah, OK ich dachte immer "ON" sei als Regler-ON gedacht.
War dann mein Missverständnis.

ON ist als Bezeichnung für Logisch1 ja auch OK, aber im ersten Screenshot war ON halt FALSE, daher die Verwirrung.
 
Nein allerdings glaube ich das ich einen Denkfehler habe also unterbreite ich nun einfach mal die Aufgabe. Ich muss einen Servo per PWM ansteuern dieser soll allerdings über eine Rampe anfahren deshalb der Aktualwert und der I-Regler. Also benötige ich eine stetisch steigende Gleichpunktzahl da der Pulsgen am Eingang den Datentyp Real besitzt. Den Istwert bekomme ich über ein Potentiometer an der Achse des Servos. Ich hoffe ich konnte die Aufgabenstellung verständlich vormulieren.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich muss einen Servo per PWM ansteuern
Wie ist dieser denn mit der SPS verbunden? Digitalausgang -> Servo :confused:

Den Istwert bekomme ich über ein Potentiometer an der Achse des Servos
Was stellt den dieser Istwert da? Absolutposition der Achse?

dieser soll allerdings über eine Rampe anfahren deshalb der Aktualwert und der I-Regler. Also benötige ich eine stetisch steigende Gleichpunktzahl da der Pulsgen am Eingang den Datentyp Real besitzt.
Wenn dein Istwert eine Absolutposition darstellt und du am Regler als Sollwert eine Position in der selben Einheit angibst würde der Regler ein Rampensignal liefern das mit kleiner werdender Soll/Istabweichung abnimmt.
(Zumindest wenn ich es richtig im Kopf hab)

Die nächste Frage, welche Geschwindigkeiten/Dynamiken hat deine Achse?
Sind irgendwelche Halte-/Lage-/Moment-Regelungen nötig damit die Achse bleibt wo sie ist?
Welche PWM-Frequnz brauchst du?
Deine Angabe von 50Hz hilft mir nicht viel. Wenn du 50Hz-PWM suchst ist noch die Frage wie viele mögliche Stufen per Periodendauer die PWM haben soll. 1/10... 1/20 etc

Ich kann mir ehrlich gesagt nicht vorstellen dass das klappt.
Die wichtigste Frage: Warum nicht einen fertigen Servoregler nehmen?
 
Wie ist dieser denn mit der SPS verbunden? Digitalausgang -> Servo :confused:

Nein S7 --- Et200 --- PWM modul --- Spannungsregler um auf 5v zu kommen.

Was stellt den dieser Istwert da? Absolutposition der Achse?

Der Istwert ist die Aktualpostion der Achse die ich über einen Analoginput und Potentiometer bestimme.


Wenn dein Istwert eine Absolutposition darstellt und du am Regler als Sollwert eine Position in der selben Einheit angibst würde der Regler ein Rampensignal liefern das mit kleiner werdender Soll/Istabweichung abnimmt.
(Zumindest wenn ich es richtig im Kopf hab)


Die nächste Frage, welche Geschwindigkeiten/Dynamiken hat deine Achse?
0.14 sec/60° bei 200° max.

Sind irgendwelche Halte-/Lage-/Moment-Regelungen nötig damit die Achse bleibt wo sie ist?
Ja wobei der Regler das den Wert hält wenn der bis sich der Sollwert ändert. (soviel ich weiß)

Welche PWM-Frequnz brauchst du?
Deine Angabe von 50Hz hilft mir nicht viel. Wenn du 50Hz-PWM suchst ist noch die Frage wie viele mögliche Stufen per Periodendauer die PWM haben soll. 1/10... 1/20 etc
Kann ich dir nicht beantworten weil meine angaben über den Servo sehr spartanisch sind.

Ich kann mir ehrlich gesagt nicht vorstellen dass das klappt.
Was genau meinst du?
Die wichtigste Frage: Warum nicht einen fertigen Servoregler nehmen?
Es gibt nen Servoregler in der Standart Library?
 
Zuletzt bearbeitet:
Bin grad mal aus dem Bett gekrochen um was zu trinken. Meine verschlafenen Augen erspähten am EN-Pin des Reglers eine 0. Ist da nicht ein True (1) angebracht?

Darüber hinaus: Wie Ronin schon sagt, ist der PI-Regler nur ein Glied in der Kette, um eine Positionsregelung mittels PWM durchzuführen.
 
Zurück
Oben