SFB41/FB41: zuverlässige abarbeitung im OB1 mit "OB1_Prev_Cycle"?

TagebauCoder

Level-1
Beiträge
56
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Leute,

der SFB41/FB41 "CONT_C" soll ja wegen konstanter Abtastzeit in einem Weckalarm OB aufgerufen werden.

Weiß jemand ob es möglich ist ihn doch im OB1 aufzurufen, und seinen "Cycle" Parameter mit "OB1_Prev_Cycle" zu versorgen??
Möglich wird es auf jeden Fall sein, mich würde halt interessieren ob der Ausgangswert dann richtig berechnet wird.

Für den P-Anteil dürfte es ja keinen Unterschied machen, für I und D aber schon.

Weckalarme sind bei uns nicht so gerne gesehen.
 
Weiß jemand ob es möglich ist ihn doch im OB1 aufzurufen, und seinen "Cycle" Parameter mit "OB1_Prev_Cycle" zu versorgen??
Möglich wird es auf jeden Fall sein, mich würde halt interessieren ob der Ausgangswert dann richtig berechnet wird.
Ja, zu meinen Anfangszeiten habe ich das auch mal aus Unwissenheit gemacht.
Ging eigentlich tadellos, war allerdings eine eher träge und keine sehr anspruchsvolle Regelung.
Mittlerweile wurde die Anlage umgebaut und ich konnte diesen Teil ebenfalls bereinigen.
Da sich an der Regelstrecke nichts geändert hat, bemerkte ich eigentlich keine Veränderung.
Aber ich behaupte mal dass bei zeitkritischen Regelungen der Aufruf mit einer konstanten Zeit schon sehr wichtig ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab die gleichen Erfahrungen wie Paule gemacht, wenn du eine träge Regelung z.B. Temperatur hast sehe ich keine großen Probleme. Bei einem Regler für Druck der eventuell schnell reagieren muß mach sich der Prev_Cycle schon bemerkbar, da wäre es besser die zykluszeit zur ermitteln und den Regler nur alle paar Zyklen aufzurufen um eine stabiliere CycleTime zu erhalten.

SPS Cycle Time z.B. 8-16ms, du legst 100ms fest und überwachst das mit der Systemtimer. Immer wenn 100ms erreicht sind ruft du den Regler auf.
Bezogen auf den OB1_Prev_Cycle wo du ja 100% Schwankungen (8ms oder 16ms) haben kannst , verringerst du den Fehler auf 16% (100ms+-16ms)

Standardmäßig würde der Regler im OB35 ja auch nur mit 100ms abgetastet.
 
Was soll den der Unsinn. :confused:

Wenn ihr KEINEN OB35 hättet, könnte ich das nachvollziehen.

Aber so. :rolleyes:


Das ist so ungefähr wie:

Ich habe eine neue SPS bei mir zuhause mit einem schönen Zeitprogramm
kann das jemand mit alten klapprigen Relais nachbauen :ROFLMAO:

Nemts was euch geboten wird sollange es noch da ist.

Vielleicht gibt ja einen CPU-Firmwarestand für euch von 1995 noch ohne OB35!


Frank
 
Danke für die konstruktiven Antworten.


Es handelt sich einmal um eine sehr Träge Regelung.
Dieser Regler darf sowieso erst nach einer "Ausregelzeit" eingreifen (10s-60s).
Trotzdem schreiben wir den Stellwert, der herausgegeben würde ständig mit, um den Regler so zu optimieren.
Also kein Problem das im OB1 zu machen.



Ein anderes mal möchte ich die Fahrgeschwindigkeit zum Fahrweg integrieren. Also nix Regeln, reiner I-Anteil als Rampenfunktion.
Das heist die Berechnung der Wegstrecke würde dann recht ungenau.


Die Frage an sich ist:
Braucht man konstante Abtastzeit um eine korrekte Rechnung zu haben, oder um ein Regelmäßiges Eingreifen des Reglers sicherzustellen??

Mit anderen Worten:
Würde er beim reinen I-Anteil eine Rampe mit konstanter Steigung bei konstanter Regeldifferenz hoch/herunterfahren??:confused:
Wenn ja, dann kann ich die Wegstrecke auch so integrieren.:cool:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hätte auch kein Problem damit den im OB35 aufzurufen, einige Herren in unserem Laden aber schon. Von wegen Projektierungsrichtlinien.*vde*


Das das technisch machbar ist, kostenlos, und besser war mir bereits bekannt.

Und jetzt kommt der Brüller:
Die übernehmen auch S5 Progs 1:1 in S7.*ROFL*
 
Ich hätte auch kein Problem damit den im OB35 aufzurufen, einige Herren in unserem Laden aber schon...

:evil: Ich würde ausrasten!

Zum I-Anteil:
Die Änderung des I-Anteils berechnet sich aus dem Verhältnis von Abtastzeit zur Integrationszeit, multipliziert mit dem Verstärkungsfaktor. Soweit wäre eine leicht schwankende Abtastzeit kein Problem. Hinzu kommt jedoch noch ein Faktor, der dem Mittelwert aus der aktuellen Regelabweichung und der Regelabweichung des letzten Zyklus entspricht (Trapezregel). Daraus ensteht bei ungleichen Abtastzeiten ein Fehler, der der Stabilität des Reglers entgegen wirkt. Ich bin mir nicht sicher, ob die Trapezregel im FB41 verwendet wird, aber ich denke mal schon.

--> Schwankende Abtastzeiten verschlechtern das Regelverhalten mit I-Anteil u.U. erheblich!

Zum D-Anteil:
Der D-Anteil berechnet sich aus dem Verhältnis von Differenzierzeit zur Abtastzeit, multipliziert mit der Verstärkung. Hier kommt ein weiterer Faktor hinzu, der der Differenz der aktuellen Regelabweichung zur Regelabweichung des vorherigem Zyklus entspricht. Zur korrekten Berechnung sind daher höchst stabile Abtastzeiten Voraussetzung!

--> Schankende Abtastzeiten sind bei Reglern mit D-Anteil absolut tötlich!


Gruß, Onkel
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Klar kann man das machen. Aber soblad ich in einem S7-Programm folgenden Code lese bekomm ich Brechreiz.

Code:
AUF    DB    1
L        DBW 0
AUF    DB    2
T        DBW 4

Noch schimmer ist die Konvertierung des "Bearbeite"-Befehls.

Sowas muss man doch nachbearbeiten.
 
Wo wir gerade so schön beim Thema sind:

Kennt jemand den Nutzen von Merkern und S5TIMErn in der S7?

Sie die da um eine schlechte Portierbarkeit zu garantieren??

Mit Portierbar meine ich von einer S7 zur einer Zweiten. Wo man sich dann hunderte freie Merker und Timer suchen darf. Jegliche andere Portierbarkeit ist für uns uninterressant, da nur noch S7 eingebaut wird. Also möchte ich eine Funktion (incl. FB's) schnell in eine andere Steuerung kopieren können, und Anscließend den IDB generieren.

Wie seht ihr das?
 
Zuletzt bearbeitet:
Zurück
Oben