TIA PID Abtastzeit im OB

Bierboot

Level-1
Beiträge
44
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Zusammen,

hab wiedermal ein kleines Problem, wenn ich die Erstoptiemierung meines PID Regler im Tia Portal starten will dann wir mir als Status angezeigt:

Abtastzeitfehler:pID_COmpact wird nicht innerhalb der Abtastzeit des Weckalarm-OBs aufgerufen.
Ich kann die Erstopimierung also nicht durchführen.

Was heißt das ?
Wie kann ich das Problem lösen?

Vielen Dank für die Hilfe
PID Fehler.jpg
 
Zuletzt bearbeitet:
Guten Abend,

ich habe leider gerade mein TIA-Portal nicht zur Hand, aber ich, weiß das es in der Parameteransicht in der Konfiguration des Reglers einzustellen ist, dort ist der Default-Wert auf 1 Sekunde eingestellt. Wenn du jetzt den Regler, in einem OB der alle 200ms abgearbeitet wird, aufrufst, bekommst du den von dir genannten Fehler.

Falls das nicht geholfen hat, kann ich gerne noch mal morgen in der früh nach dem genauen Parameter bzw. seinem Namen suchen und ihn mitteilen.

Ich korrigiere: Geh einmal bei der Konfiguration des Regler unter Erweiterte Einstellungen -> PID-Parameter, dort kann man bei dem Punkt "Abtastzeit PID-Algorithmus" eine Zeit eintragen, dort muss die selbe Zeit eingetragen sein, wie dein Zyklus-OB arbeitet. Wird er bspw alle 200ms abgearbeitet, musst du dort in der Abtastzeit des Algorithmus 0.2 hinein schreiben, da es dort in Sekunden interpretiert wird. Danach nochmal Übersetzen und die Optimierung starten, dann sollte der Fehler eigentlich behoben sein.

Beste Grüße!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

es sind ein paar Tage vergangen. Danke für die Antwort erstmal.
Ich war in einem anderem Projekt eingespannt, konnte mich somit nicht hiermit beschäftigen. Heute war das erste mal nachdem letzten mal. Habe die einstellwerte getätigt, aber hatte immernoch die gleichen Probleme.

Meine Frage nun ist, muss ich überhaupt diese Erstoptimierung machen? Kann ich nicht einfach selbst werte für die Regelung setzen und durch gezieltes testen den Regler zum arbeiten bekommen? Moentan gibt er keine ausgangswerte aus.

Danke für die Antwort im Voraus
 
Heute war das erste mal nachdem letzten mal. Habe die einstellwerte getätigt, aber hatte immernoch die gleichen Probleme.
Hmm... und was hast du da eingestellt? Die 0.2 von Fairytail waren nur die Standard-Einstellung mit denen der Zeit-OB erstellt wird?
Da gehört logischerweise der richtige Wert rein, welchen du am OB eingestellt hast.
Dann sind da nach die üblichen Fragen....
  • Parameter richtig in die CPU übertragen? Geprüft mit "Online bebachten"?
  • Dann auch einen Reset am Regler ausgeführt? (Betriebsartenwechsel von Inactive nach Active)
Wenn das immer noch nichts bringt dann schau dir mal folgenden Wert im Technologie-DB (Rechstklick auf Tech-Objekt - "DB-Editor öffnen") an.
"PID_Compact_1".CycleTime.Value​
Da steht normalerweise die vom Baustein gemessene Aufrufzeit drin. Die sollte nicht wesentlich von deiner Einstellung abweichen.

Das Ganze um die Aufrufzeitüberwachung, hat Siemens hier in einem separatem FAQ beschrieben.
Ganz unten steht genau beschrieben wie das mit der Abtastzeitbestimmung arbeitet.
https://support.industry.siemens.com/cs/ww/de/view/42321471
(Achtung - Gültigkeitsnotiz ganz unten beachten! - dient nur mehr als Eklärung)

Sonst kannst du dir ja mal ein Anwendungsbeispiel mit Manual zum PID_Compact anschauen wie der Regler dort parametriert wurde.
https://support.industry.siemens.com/cs/ww/de/view/79047707


Meine Frage nun ist, muss ich überhaupt diese Erstoptimierung machen? Kann ich nicht einfach selbst werte für die Regelung setzen und durch gezieltes testen den Regler zum arbeiten bekommen?
Die Erstoptimierung ist nicht dein Problem. Der Regler wird immer auf Störung gehen weil laut Baustein die gemessene Aufrufzeit nicht mit der parametrierten zusammenpasst. Somit also nie laufen.
Selbst wenn du die Aufrufzeitüberwachung deaktivierst, bekommst du dann womöglich ein zeitlich falsches Regelverhalten weil der Baustein womöglich mit der falschen Aufrufrzeit rechnet.
 
Zuletzt bearbeitet:
Hallo,

ich nutze für das Einstellen der Abtastzeit immer den Baustein QRY_CINT.
Der gibt die Interrupt Zeit zurück die ich dann an den Regelungsbaustein übergeben kann.
Dann ändert sich auch die Zeit für den Regler wenn ich die Interruptzeit ändere.
Musst die Zeit nur von µs(UDINT) nach s(REAL) wandeln.

Oder du aktivierst die automatische Ermittlung der Zykluszeit.

Gruß

Jens
 
Zurück
Oben