TIA KOP+SCL Programmierung - Abspeichern von gemessenem Druck in Speicherfelder unter Bedingung

Die Array Grenzen in "SendArrayData".dataStream ist mit "MAX_DATA.." definiert, eine Konstante nehme ich an.
Die Array Grenzen in "Storage".Inletpressure_Storage ist mit ein festen Wert 999 definiert.
Also nicht identisch.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, verstehe. MAX_DAT_ARR_IDX ist eine Konstante mit dem Wert 1000. Da 1000 > 999 sollte es doch kein Problem sein da beim übertragen der Werte einfach ein Feld am Ende leer bleibt, oder verstehe ich etwas nicht richtig?
 
Den Wert der Kontante habe ich nun auf 999 angepasst, somit sind beide identisch.
Funktionieren tut es trotzdem nicht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hum .. !

Probier mal ein Datentyp zu deklarieren.
Code:
"MyUDT":
dataset : ARRAY[0..999] OF INT ;
Dann deklariere
Code:
"SendArrayData".dataStream : myUDT ;
"Storage".Inletpressure_Storage : myUDT ;
Sollte funktionieren.
 
Sorry, mein Fehler. Es funktioniert :) Jetzt muss ich nur noch einen Weg finden wie er möglichst automatisch nacheinander erst den Eingangsdruck ins den "dataStream" kopiert, exportiert und die Felder komplett leert um anschließend dann den Ausgangsdruck zu kopieren, exportieren und erneut die Felder löscht. :)
 
Hallo zusammen,

ich würde gerne meine Druckregelung über den PID_Compact laufen lassen, meinen Setpoint und Istwert habe ich bereits auf mbar umgerechnet da der Druckbereich lediglich von 0-1000mbar variiert, nun habe ich das Problem das bei den Einstellung lediglich eine Skalierung in bar möglich ist. Kennt jemand von euch eine Möglichkeit das ich den PID trotzdem für meine Anwendung verwenden kann?

Vermutlich reicht es aus wenn ich den Regler austrickse und einfach 0-1000 bar angebe, da der Input und Setpoint auf mbar skaliert sind müsste er dann dementsprechend regeln, oder?!

Danke vorab!

Gruß
HT-T

1661327435845.png
1661327584863.png
 
Zuletzt bearbeitet:
Hallo guenni, ja das ist mir schon klar. Meine Frage zielte vielmehr darauf ab was ich als Istwertgrenzen und bei der Regelungsart einstellen kann.
Da ich hier lediglich bar angeben kann dachte ich das dies evntl. zu Problemen führen kann wenn mein Input 1000 mbar ist und in den PID Einstellungen dann 1 bar als oberer Istwert definiert ist. Ich werde dort einfach 1000 eintragen, die Einheit "bar" ist ja nur ein Platzhalter und dürfte keinen reellen Einfluss auf den Regler nehmen. Wichtig sollte ja nur sein dass die Skalierung von Input und Setpoint zu der PID Regler Skalierung gleich sind.
 
... Meine Frage zielte vielmehr darauf ab was ich als Istwertgrenzen und bei der Regelungsart einstellen kann.
Istwertgrenzen? Gibt es die denn?
Mein bisheriges Verständnis war/ist:
1. Es wird die Differenz aus Soll- und Istwert gebildet, ohne dass vor der DifferenzBildung am Soll- oder Ist-Wert irgendetwas begrenzt wird.
Die Einheiten von Ist- und Soll-Wert müssen natürlich gleich sein.
2. Begrenzt wird der AusgangsWert des Reglers.
3. Die Einheit von Ist- und Soll-Wert hat eigentlich gar nichts mit der Einheit des Ausgangs zu tun, sondern allenfalls mit der Einheit des StellGliedes.
Dabei kann z.B. ein SpannungWert zu einem StellWinkel einigermassen proportional sein oder es werden sogar NichtLinearitäten des Zusammenhangs zwischen in diesem Beispiel SpannungsWert und StellWinkel bereits ausgebügelt sein mittels einer Formel.
Gängige Praxis ist es, den Ausgangswert des Reglers als Prozent- bzw. Promille-Wert zu behandeln, also -100 .. 0 .. +100 oder mit besserer Auflösung z.B. -1000 .. 0 .. +1000.

PS:
EIne Änderung der Skalierung des AusgangsWertes des Reglers wird eine Anpassung der am Regler eingestellten/parametrierten ProportionalVerstärkung erforderlich machen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke wir verkomplizieren die Diskussion etwas zu sehr. Ich vermute jedoch dass wir das selbe meinen. Ich habe nun in den gezeigten Screenshots die Range des PID-Reglers von 0-1000 bar angepasst. Das ist natürlich faktisch falsch da es sich um mbar handelt da die Eingänge in mbar sind. Jedoch ist die Auswahl im Regler bei Druck nur auf bar möglich. Das weiß jedoch der Regler nicht, ich denke hier ist lediglich die Skalierung wichtig. Ich habe heute morgen den PID-Regler am lebenden Objekt ausprobiert und ausschließlich an den PWM-Begrenzungen für das Ventil etwas gespielt. Funktioniert alles tadellos. :)
 
Gibt es eigentlich eine Möglichkeit das Regelverhalten des PID Reglers im Betriebs auszugeben/sichtbar zu machen?
Oder dieses unter Umständen auch noch aufzuzeichnen also so dass ich das Regelverhalten optisch nachvollziehen kann?
 
Zurück
Oben