TIA Aufheizkurven programmieren

Zuviel Werbung?
-> Hier kostenlos registrieren
Da du keine Abkühlstrecke in deiner Regelung hast, würde dir der PID Compact auch reichen
Anhang anzeigen 60125

Die Beschaltung ist ziemlich einfach:
Input oder Input_PER für den aktuellen Istwert, entweder direkt dein Istwert oder der Analogeingang.
Output oder Output_PER für dein Stellwert an deine Lüfterklappe
Die restlichen Parameter sind in der Hilfe doch gut beschrieben, was verstehst du daran speziell nicht?
Ja kann ich auch stimmt.
Aber wenn man den Regler jetzt aufklappt (Pfeil unten) kommen noch ein paar mehr Anschlüsse was genau machen die Warnungen?
Da ich meinen Sollwert ja hochzähle sollten die immer mitwandern oder?
Mir geht es nur darum das ich darüber dann ja vllt meine "TemperaturWarnungen" melden kann als Störmeldung.
 
Es gibt die Wanrmeldung zum Istwert und zum Stellwert (Sollwert für deine Lüftungsklappe).
Du kannst einen jeweils einen Max. und Min-Wert festlegen. Die Werte du im TIA Portal in der Detail-Ansicht vom DB des PID-Compact unter Config.
SetPointLimit bezieht sich dann auf deine eventuellen Begrenzungen für den Sollwert, also wenn der Regler mehr oder weniger Sollwert ausgeben möchte als es deine Grenzwerte erlauben.
Wenn du InputWarning auswerten willst, dann musst du die Grenzwerte natürlich an deine Sollwertvorgabe anpassen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey Männers,

Nach langem probieren und suchen nach der richtigen Lösung wurden mir weitere Anforderungen nahegelegt.
Somit ist der Programmgeber nicht mehr abhängig von der Temperaturrate, sondern von der Zeit.
Weil man am HMI den Sollwert (°C) und die Haltezeit bzw. anstiegszeit in (h) nur eingeben soll.
Das Visu Bild für das HMI sieht wie folgt aus.
1649257539298.png

mit den Schritten sind die Temperaturanstiege gemeint. Je nach Anzahl der schritte hat man hal beliebig viele oder halt wenig Temperaturveränderungen.
Das Bild soll nur von Befugtem Personal geändert werden können.

Ich habe zu dieser Art von Regelung ein bei uns im Betrieb angewendetes Programm gefunden.
Allerdings sind dort viele Netzwerke in AWL geschrieben und Ich kenne mich mit AWL nicht so gut aus.
Könnte da wer helfen?
 
AWL Netzwerke wären:
NW2_1.png
nw2_2-png.60320

NW20.png
NW22.png
 

Anhänge

  • NW2_1.png
    NW2_1.png
    42,8 KB · Aufrufe: 5
  • NW2_2.png
    NW2_2.png
    32 KB · Aufrufe: 109
Es gibt die Wanrmeldung zum Istwert und zum Stellwert (Sollwert für deine Lüftungsklappe).
Du kannst einen jeweils einen Max. und Min-Wert festlegen. Die Werte du im TIA Portal in der Detail-Ansicht vom DB des PID-Compact unter Config.
SetPointLimit bezieht sich dann auf deine eventuellen Begrenzungen für den Sollwert, also wenn der Regler mehr oder weniger Sollwert ausgeben möchte als es deine Grenzwerte erlauben.
Wenn du InputWarning auswerten willst, dann musst du die Grenzwerte natürlich an deine Sollwertvorgabe anpassen.
Die Warngrenzen werden in dem unten aufgeführten NW jetzt so gemacht und geben dann eine Störmeldung raus.
Das Fenster ist in dem Fall das zulässige Über- und Unterschwingen der Temp vom Sollwert.
1649259124122.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe nun einen Programmgeber in SCL geschrieben.
vllt kann sich wer dazu kurz äußern?
Soll mit dem Bild Oben funktionieren.
Pro Kurve ein Programmgeber der über ein Array die Werte aus dem Bild bekommt.
Das Array ist mit einem PLC Datentyp verknüft indem Steigung und Ab_Sek deklariert sind.
1649359840060.png
 
Hallo Paule,

du gehst die Sache total unkoordniniert an! Bei dem Chaos kann dir niemand folgen, nicht mal der "Allerliebste" ;). Aber du bist engagiert, was im Hier und Heute leider sehr selten geworden ist. Ich fände es schade, wenn du bei uns keine Hilfe bekämst. Nur muss man dir folgen können.

Dein Bild in #83 sieht schon mal sehr brauchbar aus. Die Daten, die damit verknüpft sind, sind in einem ARRAY abgelegt. Das ist schon mal ein Schritt in die richtige Richtung. Auch die Erkenntnis, Zieltemperatur und Zeitspanne als Parameter vor zu geben, ist von Vorteil. Von welchem Genie hast du diesen essentiell wertvollen Tipp? Auch das Vorgehen, im Weckalarm den Sollwert zu berechnen ist ein guter Weg. Was aber wahrscheinlich nicht funktionieren wird, ist deine jetzige Berechnung in #86. Du berechnest zum selben Zeitpunkt irgend etwas in einer FOR-Schleife mit allen Parameterpaaren, falls ich es mit dem linken Glasauge richtig erkannt habe. Du verwendest Symbole mit "Steigung" im Namen. Wo kommen die denn her? Vielleicht zeigst du uns zunächst einmal den UDT, das ARRAY und den DB, in dem die Daten abgelegt sind. Die Datenablage ist das Fundament für dein weiteres Programm!

Verwende kürzere Symbole ohne Leerzeichen, dann ist der Code viel besser lesbar. Nutze statt dessen den Symbolkommentar. Deine Zeilen-Kommentare zwischen den Code sind zu lang! Wenn so lange Erläuterungen notwendig sind, dann schreibe das in den Netzwerkkommentar oder in einen Kommentarblock (* blabla *), aber nicht mitten in eine For-Schleife. Das ist nicht so günstig.

Die Parametereingabe und Ablage hast du also schon mal. Jetzt solltest du dir überlegen, wie der logische Ablauf zu deiner Sollwertberechnung aussehen kann. Dabei nicht zu kompliziert an die Sache heran gehen. Nützliche Optionen ergeben sich beim Programmieren. Am besten du machst dir ein paar Stichpunkte, bevor du überhaupt anfängst zu programmieren. Dann ist auch die Hilfestellung einfacher. Niemand wird sich hier mit deinen zusammengeklautenkopierten Programmfragmenten abgeben.

Ich gebe dir mal eine kleine Starthilfe für deine Notizen.
So ähnlich könnte es aussehen:

  1. Startsignal auswerten; mit Flanke ersten Parametersatz indiziert auslesen
  2. Parameter überprüfen, falls Zeit=T#0ms --> letzter Parametersatz --> Ende
  3. Steigung des Rampenabschnitts berechnen
  4. Zeit zählen und Sollwert berechnen
  5. Zeit der Rampe ist abgelaufen, nächsten Parametersatz lesen
  6. weiter mit 2.

Wenn du deine Liste fertig hast, kannst du Punkt für Punkt in Code umsetzen. Und falls du dann Fragen hast, dann kann man diese Punkt für Punkt klären.
 
du gehst die Sache total unkoordniniert an! Bei dem Chaos kann dir niemand folgen, nicht mal der "Allerliebste" ;). Aber du bist engagiert, was im Hier und Heute leider sehr selten geworden ist. Ich fände es schade, wenn du bei uns keine Hilfe bekämst. Nur muss man dir folgen können.
Ja ich muss auch zugeben... je mehr sich eingebracht haben hab ich auch gemerkt das jeder ein anderen Ansatz hatte und ich ehrlich gesagt selber kaum noch mit kam.
Umso mehr ich mich dann damit auch konkreter auseinander gestzt habe kam ich da immer besser mit klar und konnte auch die vielen Aspekte die unsere Kollegen angebracht haben irgendwie nutzen um das beste prozedere zu programmieren.

Im Grunde habe ich meine funktion jetzt abgewandelt.
1. Parameter werden im Bild eingegeben und in einem Array abgelegt. (Sollwert in °C und Zeit in h)
2. Der Programmgeber (SCL Netzwerk #86) gibt den Sollwert abhängig von der Zeit an den Sollwert Umschalter weiter.
3. Der Sollwert umschalter bestimmt anhand welcher Vorwahl an Kurve welcher Sollwort auf den Regler geschaltet wird.
4. Istwert wird mit dem Sollwert verglichen ob dieser im zulässigen Bereich ist.

Die "Regelung ist dann so das ich 8 Schritte an Parameter eingeben kann. Also in der Aufheizkurve kann es 8 Änderungen haben die auf den Regler geschrieben werden. Dabei ist jedes halten an Temp oder jeder Anstieg 1 Schritt.

Dieses hochrampen der Temp habe ich damit umgangen und nach Rücksprache mit meinem Lehrer und Projektbetreuer ist das auch okey so.
Schöner wäre es natürlcih gewesen wenn man das stück für stück hochrampt.

Grüße
Paul
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Verwende kürzere Symbole ohne Leerzeichen, dann ist der Code viel besser lesbar. Nutze statt dessen den Symbolkommentar. Deine Zeilen-Kommentare zwischen den Code sind zu lang! Wenn so lange Erläuterungen notwendig sind, dann schreibe das in den Netzwerkkommentar oder in einen Kommentarblock (* blabla *), aber nicht mitten in eine For-Schleife. Das ist nicht so günstig.
Ja ist für die Programmierung bestimmt hilfreich, allerdings weil ich selber das wirklich zum ersten mal mache und an der Anlage "normale" elektiker auch arbeiten müssen später, finde ich das zum verständnis eigendlich schon schöner so.
Allerdings verstehe ich deinen Einwand :D
Am besten du machst dir ein paar Stichpunkte, bevor du überhaupt anfängst zu programmieren. Dann ist auch die Hilfestellung einfacher. Niemand wird sich hier mit deinen zusammengeklautenkopierten Programmfragmenten abgeben.
also sollte ich in zukunft immer besser nach fragen ... wie kann ich den und den punkt von meinen Notizen erfüllen um auf das Ziel XY zu kommen?

Grüße
Paul
 
Die "Regelung ist dann so das ich 8 Schritte an Parameter eingeben kann. Also in der Aufheizkurve kann es 8 Änderungen haben die auf den Regler geschrieben werden. Dabei ist jedes halten an Temp oder jeder Anstieg 1 Schritt.

Dieses hochrampen der Temp habe ich damit umgangen und nach Rücksprache mit meinem Lehrer und Projektbetreuer ist das auch okey so.
Schöner wäre es natürlcih gewesen wenn man das stück für stück hochrampt.
Bist Du Dir wirklich sicher, dass Du damit "dieses Hochrampen der Temp umgehen" kannst?
Dann bist Du aber schon darauf angewiesen, jede dieser langen AufwärmPhasen auf die 8 Schritte zu verteilen.
Und damit schiebst Du dem Bediener die Aufgabe in die Schuhe, eine langsame Erwärmung durch mühsame, eigentlich überflüssige Eingaben in zu wenigen, aber zu groben Stufen nur ungefähr vorzugeben.
 
Zuletzt bearbeitet:
Bist Du Dir wirklich sicher, dass Du damit "dieses Hochrampen der Temp umgehen" kannst?
Dann bist Du aber schon darauf angewiesen, jede dieser langen AufwärmPhasen auf die 8 Schritte zu verteilen.
Und damit schiebst Du dem Bediener die Aufgabe in die Schuhe, eine langsame Erwärmung durch mühsame, eigentlich überflüssige Eingaben in zu wenigen, aber zu groben Stufen nur ungefähr vorzugeben.
Ja genau das ist mir bewusst.
Nach Rücksprache mit dem Betreuer und dem Zuständigen für die Mauerung kommt es nur auf eine langsame erwärmung bis 600°C ca. an.
Der bediener wählt nur die Kurve aus. Parametrieren macht er nicht.
Da dieses Verfahren auch bei anderen Brennerstationen anwenden geht das.
Vorher war halt den gedanke die Kurve genau abzubilden... ist auch bestimmt immer noch die bessere Idee, aber wegen dem Zeitdruck nehme ich diesen vllt nur noch in die Doku mit auf als Verbesserung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vorher war halt den gedanke die Kurve genau abzubilden... ist auch bestimmt immer noch die bessere Idee, aber wegen dem Zeitdruck nehme ich diesen vllt nur noch in die Doku mit auf als Verbesserung.
Ich habe keine Erfahrung mit Deiner Anwendung und kann nicht beurteilen, ob und wie nötig das Hochfahren an einer Rampe wirklich wäre/ist.
Meine ganz subjektive Meinung: wenn Du die Flanken von vornherein einplanst (und realisierst), dann sparst du doch immerhin die Zeit, die Flanken als VerbesserungsVorschlag in der Doku zu beschreiben. Diese Zeit hast Du dann zur Verfügung, um's direkt einzubauen! ;)
 
Zurück
Oben