Programmierung eines Massendurchflussreglers und Simulation an der SPS

Milz

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Liebes Forum,

ich gestehe gleich, dass ich der totale (also blutigste) Anfänger im Programmieren bin, weshalb auch (,wie ich mir habe sagen lassen ) meine Aufgabe in ihrer Schwierigkeit und Komplexität eher eingeschränkt ist.
Die Eckdaten:
Ich soll an einer Simatic 300 (CPU 314C-2 DP) mithilfe von S7 eine Steuerung programmieren, die vorrangig ein Massendurchflussventil regelt.
Diesem Ventil ist jedoch zusätzlich noch ein elektro-pneumatisch gesteuertes Federbalgventil vorgeschaltet, das erst öffnet, wenn der Vordruck bei 25 bar liegt.
Der Vordruck wiederum wird durch eine Messröhre ermittelt, die über die SPS dann das Signal zum Öffnen des Federbalgventils gibt.

Problem für mich ist jetzt, dass das Regelventil erst in 6 Wochen ankommt, das Programm jedoch früher bereits fertig sein soll. Gleiches gilt für die Messröhre und das Federbalgventil.
Ich muss also das Programm demnach so schreiben, dass ich über die integrierte Programmtestkonsole, Werte eingeben kann (für das Regelventil z.B. 50l/min) und das Programm mir Das anschließend in den Bereich von 4-20mA so konvertiert, dass das Ventil sich auch tatsächlich so weit wie gefordert öffnet.

Ich hoffe ich habe jetzt so weit alles geschrieben, was nötig ist um mein Projekt zu verstehen.

Meine Frage ist jetzt: wie soll so ein Programm (zumindest mal im Groben) aussehen und wie wandle ich den digitalen Zahlenwert in einen Strom um?

Danke fürs Durchlesen zumindest schonmal :)
 
Zuletzt bearbeitet:
Du kannst dir die Werte, die später als AI vorliegen, in einen DB schreiben. Zum Testen änderst du dann die Werte im DB.
 
ich gestehe gleich, dass ich der totale (also blutigste) Anfänger im Programmieren bin

Ich soll...

Meine Frage ist jetzt: wie soll so ein Programm (zumindest mal im Groben) aussehen und wie wandle ich den digitalen Zahlenwert in einen Strom um?

Du kannst dir die Werte, die später als AI vorliegen, in einen DB schreiben. Zum Testen änderst du dann die Werte im DB.

meinst Du, dass er weiss, was ein DB ist?
 
Für "blutigsten Anfänger" ist das u.U. nicht realisierbar.

Hardwarekonfig erstellen

FC "Einlesen Analogwerte" //FC105 inkl. Skalierung
FC "Öffnen Felderbalgventil" //Frage haut da nicht der Druck gleich wieder ab? Oder ist das Medium gasförmig?
FC "Mengenregler" //FB41 CTRL_C
FC "Ausgabe Analogwerte" //FC106

Viel Glück!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich frag mich wer einem "blutigen Anfänger" so eine Aufgabe gibt.
Die meisten hier haben obwohl sie S7 kennen/können schon bei einem kleinen Regler größte Probleme.
Der Mann hier weiss vermutlich nicht mal was ein FC oder Merker ist.
***kopfschüttel***

Edit:
fast 13:00 Uhr, MILZ geh auf ein Pils.
:D:D:D
 
Oh stimmt, das ist natürlich sehr wichtig, also das Medium IST gasförmig und damit das Ventil nicht nur eine Sekunde auf ist (denn dann wäre der Durchflussregler ja quasi überflüssig) befindet sich vor dem Federbalg noch ein Druckbehälter.

Ein paar Fragen hätte ich zu deinem Beitrag noch, wenn das okay ist: ich nehme an der FC 105 ist irgendeine Art Standartbaustein? (das könnte ich mir dann natürlich aus dem internet raussuchen)
Aber was ist mit "//FB41 CTRL_C, damit kann ich irgendwie nichts anfangen..

FC und Merker sagen mir jedoch was, soweit bin ich in der Materie dann doch schon vorgedrungen.

Das mit dem Pils klingt natürlich noch besser!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
FC105 und FC106 sind Standardbausteine
Der FB41 ebenso, das ist der "zukünftige" Regler.
In welchen Bibliotheken die zu finden sind weiss ich nicht, sollten aber irgendwo dabei sein.

FC105 liest von einem Peripheriewort einen Wert ein und wandelt ihn in eine REAL-Zahl.
FC106 macht das Gegenteil, der wandelt eine REAL-Zahl, in Deinem Fall die Stellgröße des Reglers aufs Regelventil um auf ein Peripherieausgangswort -> das wird dann das 4-20mA Signal.
 
FC105 und FC106 sind Standardbausteine
Der FB41 ebenso, das ist der "zukünftige" Regler.
In welchen Bibliotheken die zu finden sind weiss ich nicht, sollten aber irgendwo dabei sein.

FC105 liest von einem Peripheriewort einen Wert ein und wandelt ihn in eine REAL-Zahl.
FC106 macht das Gegenteil, der wandelt eine REAL-Zahl, in Deinem Fall die Stellgröße des Reglers aufs Regelventil um auf ein Peripherieausgangswort -> das wird dann das 4-20mA Signal.


Vielen, vielen Dank! Das klingt schonmal sehr gut!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

da du einen Massedurchflussregler einsetzt, muss du dich um die regelung nicht zu kümmern. Den Regeler mit einem Sollwert versorgen und schon bist du fertig. Vielleicht noch aktuellen Istwert auslesen.


Ansonsten nur Analogwerte skallieren, Grenzwertbildund und das wars.
Wie wird denn derSollwert vorgegeben extern als 4-20 mA oder über ein Panel/Leitsystem


Andree
 
Hallo,

da du einen Massedurchflussregler einsetzt, muss du dich um die regelung nicht zu kümmern. Den Regeler mit einem Sollwert versorgen und schon bist du fertig. Vielleicht noch aktuellen Istwert auslesen.


Ansonsten nur Analogwerte skallieren, Grenzwertbildund und das wars.
Wie wird denn derSollwert vorgegeben extern als 4-20 mA oder über ein Panel/Leitsystem


Andree

Guter Gedanke, zu klären wäre ob das wirklich ein Massendurchflussregler ala zB Bronkhorst ist oder der TE lediglich mit dem Begriff "Massendurchflussventil" das Regelventil bezeichnet, das den Massendurchfluss regeln soll.
 
Hallo,

da du einen Massedurchflussregler einsetzt, muss du dich um die regelung nicht zu kümmern. Den Regeler mit einem Sollwert versorgen und schon bist du fertig. Vielleicht noch aktuellen Istwert auslesen.


Ansonsten nur Analogwerte skallieren, Grenzwertbildund und das wars.
Wie wird denn derSollwert vorgegeben extern als 4-20 mA oder über ein Panel/Leitsystem


Andree


Hallo Andree,
sorry über Wochenende hab ichs mal mit alle viere von mir strecken probiert, deswegen meine Antwort erst jetzt.

Also der Sollwert, wir über ein Panel eigegeben.
In Litern pro Minute, muss dann also nehme ich an vom Zahlenwert in einen analogen Wert (4-20mA9 umgewandelt werden und so den Durchflussregler steuern (?)


So langsam nimmt die Sache in meinem Kopf formen an.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also bei dem Ventil handelt es sich wirklich im ein Massendurchflussregler, von Bronkhorst:

1) 1 Stk F-201AV-70K-PGD-99-V HI-TEC Digitaler Massendurchflussregler
Modell-Reihe : EL-FLOW Select
Schutzklasse : IP-40
medienber. Teile : AISI 316L
Medium : Xenon Argon
(frei von Flüssigkeiten und Feststoffen)
Bereich : 1,2...60 ln/min
Genauigkeit : ±0.5% v. Istwert zzgl. ±0.1% v. Endwert
(bezogen auf die bei der Kalibrierung vorherrschenden
Bedingungen)
Zertifikat : 3-Punkt-Kalibrierung
Temperatur : 20...70 °C
Vordruck (P1) : 25 bar (a)
Nachdruck (P2) : 22 bar (a)
Ventilfunktion : Normal geschlossen
Dichtungen : Viton
Plunger : Viton
Anschlüsse : 10 mm Klemmring
Ausgangssignal : Profibus-DP® 0...100% (4...20 mA sourcing)
Eingangssignal : Profibus-DP® 0...100%
Spannungsvers. : +15...24 Vdc

Ich hoffe mit den Informationen kann man was anfangen.
 
Also eh ein Bronkhorst.
Der regelt sich selbst. Dem musst Du nur den Sollwert vorgeben.
"Deinen" Regler kannst Du Dir somit sparen.
Wir haben von denen schon einige eingesetzt, funktionieren perfekt.
 
Alles klar, danke :)

Und wie sieht das Programm dann am Ende aus? Ich kann mir noch nicht so richtig vorstellen wo jetzt diese "Selbstregelung" des MFC's anfängt und mein Programm aufhört.

Ich muss ja für das Durchflussregelventil einen realtiv konstanten Vordruck haben (deswegen ja das vorgeschaltete Ventil in Verbindung mit der Messröhre).
Ich hab mir das jetzt so vorgestellt, dass ich aus der Messröhre irgendwelche Analogwerte erhalte, diese dann in 2 Vergleicher einsetze. Der erste Vergleicher = 1, wenn >25bar Druck herrscht, der zweite Vergleicher bei <24bar. Beide Vergleicher verbinde ich dann mit einem SR-Baustein und der regelt dann das vorgeschaltete Ventil. Kann das so funktionieren?

Ich klicke hier zwar schon immer "danke" wenn jemand seinen Senf dazu gibt, aber ich würde trotzdem gern nochmal anmerken, dass ich mich sehr darüber freue, hier so tatkräftig unterstützt zu werden!!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
"Der erste Vergleicher = 1, wenn >25bar Druck herrscht, der zweite Vergleicher bei <24bar. Beide Vergleicher verbinde ich dann mit einem SR-Baustein und der regelt dann das vorgeschaltete Ventil. Kann das so funktionieren?"

Du hast nachgedacht, ja, das könnte so funktionieren.

"Ich kann mir noch nicht so richtig vorstellen wo jetzt diese "Selbstregelung" des MFC's anfängt und mein Programm aufhört."
Einfach den gewünschten Sollwert auf die Adresse des Sollwertes des MFC's schreiben.
Es handelt sich vermutlich um eine Profibus-Adresse, da der Bronkhorst eine PB-Schnittstelle besitzt.

Nimm Dir mal ein paar Tage nichts anderes vor.
Du musst Dich nun zB auch mit dem PB beschäftigen.
Du brauchst von Bronkhorst eine GSD-Datei.
Diese kannst Du dann in Deiner HW-Konfig einfügen.
 
Wie kann ich den analogen Wert, der von der Messröhre ausgegeben wird, in einen INT-Wert umwandeln (zwecks Vergleicher)?
Ist INT hier überhaupt die richtige Wahl oder muss man mit reellen Zahlen hantieren?

*Das Ventil löst aus, wenn Messröhre >25 bar und schließt <24 bar
 
Zurück
Oben