Hallo,
nachdem ich dank OSCAT den Einstieg in die ST/SCL-Programmierung gefunden habe, komme ich hier mit einem möglichen Anwendungsfall.
Bei einem Verbrennungs-Motor soll über eine Bremse die Drehzahl geregelt werden.
Die Drehzahl soll möglichst unabhängig von der "Gaspedalstellung" (Stellgröße Motor ) erreicht und gehalten werden.
Ein neuer Drehzahlsollwert sollte sich in kürzester Zeit ohne starkes Überschwingen einregeln.
Eine funktionierende Lösung habe ich noch nicht.
Erste Versuche mit einer Kaskadenregelung (Simatic FB41 PID-Regler, 5ms fester Zyklus) waren erkenntnisreich aber ernüchternd.
Regelungsaufbau: PID-Führungsregler für Drehzahl mit PD-Folgeregler für Drehmoment.
Das funktioniert nur bei manchen Drehzahlbereichen und zeigt starke Schwingungsneigung oder läuft zu stark davon.
Mein aktueller Ansatz:
Den Arbeitspunkt des Drehzahlreglers in Abhängigkeit von der Stellgröße Motor und der aktuellen Drehzahl verschieben.
Ein Motor-Drehmomentkennfeld (Array) mit Drehzahl 1000U/min bis 5500U/min in 500er Schritten und Stellwert Fahrhebelsteller von 10% bis 100% in 10er Schritten soll dazu die Drehmomentwerte liefern.
Den Drehzahlwert und den Stellwert Motor erhalte ich als variable Werte.
Varianten zur Lösung:
1. Zunächst könnte ich versuchen den am besten passenden Drehmomentwert als Grundlage für den Arbeitspunkt zu benutzen.
2. Weiterhin könnte ich über Interpolation der Tabellenwerte versuchen mich dem idealen Arbeitpunkt weiter anzunähern.
3. Jemand im Forum hat Erfahrung mit der Problematik und kennt weitere Lösungen
4. Benutzung einer fertigen Lösung, die leider den Black-Box-Nachteil hat ( man weiß nicht was drinnen passiert und hat nur wenige Eingriffsmöglichkeiten ).
Neben dem Simatic-System mit CPU315-2PN/DP sollte die Regelung später auch mit einem WAGO 750-880-Controller laufen.
Ich bin jetzt beim Austüfteln einer Lösung und über allgemeine Hinweise zur Lösung dankbar.
Hat jemand Erfahrung mit so einer Regelung?
Welche OSCAT-Bausteine könnten hilfreich sein?
Gruß
Rafael
PS:
Ich bin ab Dienstag bis Ende des Monats in Urlaub und weiß nicht ob´s mit dem Internet klappt.
Bitte mit einer längeren "Totzeit" bis zu meiner Reaktion rechnen!
nachdem ich dank OSCAT den Einstieg in die ST/SCL-Programmierung gefunden habe, komme ich hier mit einem möglichen Anwendungsfall.
Bei einem Verbrennungs-Motor soll über eine Bremse die Drehzahl geregelt werden.
Die Drehzahl soll möglichst unabhängig von der "Gaspedalstellung" (Stellgröße Motor ) erreicht und gehalten werden.
Ein neuer Drehzahlsollwert sollte sich in kürzester Zeit ohne starkes Überschwingen einregeln.
Eine funktionierende Lösung habe ich noch nicht.
Erste Versuche mit einer Kaskadenregelung (Simatic FB41 PID-Regler, 5ms fester Zyklus) waren erkenntnisreich aber ernüchternd.
Regelungsaufbau: PID-Führungsregler für Drehzahl mit PD-Folgeregler für Drehmoment.
Das funktioniert nur bei manchen Drehzahlbereichen und zeigt starke Schwingungsneigung oder läuft zu stark davon.
Mein aktueller Ansatz:
Den Arbeitspunkt des Drehzahlreglers in Abhängigkeit von der Stellgröße Motor und der aktuellen Drehzahl verschieben.
Ein Motor-Drehmomentkennfeld (Array) mit Drehzahl 1000U/min bis 5500U/min in 500er Schritten und Stellwert Fahrhebelsteller von 10% bis 100% in 10er Schritten soll dazu die Drehmomentwerte liefern.
Den Drehzahlwert und den Stellwert Motor erhalte ich als variable Werte.
Varianten zur Lösung:
1. Zunächst könnte ich versuchen den am besten passenden Drehmomentwert als Grundlage für den Arbeitspunkt zu benutzen.
2. Weiterhin könnte ich über Interpolation der Tabellenwerte versuchen mich dem idealen Arbeitpunkt weiter anzunähern.
3. Jemand im Forum hat Erfahrung mit der Problematik und kennt weitere Lösungen
4. Benutzung einer fertigen Lösung, die leider den Black-Box-Nachteil hat ( man weiß nicht was drinnen passiert und hat nur wenige Eingriffsmöglichkeiten ).
Neben dem Simatic-System mit CPU315-2PN/DP sollte die Regelung später auch mit einem WAGO 750-880-Controller laufen.
Ich bin jetzt beim Austüfteln einer Lösung und über allgemeine Hinweise zur Lösung dankbar.
Hat jemand Erfahrung mit so einer Regelung?
Welche OSCAT-Bausteine könnten hilfreich sein?
Gruß
Rafael
PS:
Ich bin ab Dienstag bis Ende des Monats in Urlaub und weiß nicht ob´s mit dem Internet klappt.
Bitte mit einer längeren "Totzeit" bis zu meiner Reaktion rechnen!