TIA Tank nachfüllen

Matrixzerro

Level-2
Beiträge
26
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen.

Ich habe ein Problem und weiß aktuell nicht weiter.
Aufgabe:
Ich habe einen Tank, der über folgendes verfügt:
- Zulaufventil
- Füllstandsanzeige
- Durchflusssensor an der Rohrleitung

Der Tank soll nach Bedarf nahgefüllt werden. Realisiert werden soll das aber nur über den Durchflusssensor. Der Füllstandsensor ist nur zur Überwachung. Alles 4-20mA Eingänge. Ventil normaler Ausgang. Start Taster zum Starten des befüllen und so weiter.

Über die Füllstandsanzeige ist das auch eher weniger das Problem.

Aktuelle Durchflussrate (in mA) muss erfasst werden, ich habe einen aktuellen Füllstand im Tank, und der Bediener soll eine Sollmenge vorgeben können. Der Durchflusssensor gibt dann die Füllzeit vor...
Also 600L Tank, 240L sind noch drin, der Bediener sagt ich möchte 195L nachfüllen= 240L+ 195L= passt rein= Ventil füllt bei einem Durchfluss von 20L/min nach bis die 435L erreicht sind...

Kann mir da einer helfen wie ich das programmieren soll bzw wie ich da erst mal ran gehen soll? ich bin verzweifelt

Ich danke euch
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Steuerung soll ne 1500er sein, Software TIA V15 und Sprache am besten FUP oder AWL. Soll auch erst nur im Simulator laufen. Also HW ist total egal.

Der stand ist, über Scale Bausteile lese ich die Analogwerte ein und skalier diese und lege in einem DB ab. Ja und dann verließen sie in bei der Ansteuerung des Ventils...
 
Zuletzt bearbeitet:
Das Du das Rad irgendwie von hinten aufrollst ist klar oder?
Eigentlich würde ich hierbei mitteilen das man Füllmenge X hat, aber Y will und füllt solange nach bis X=Y ist. Der Durchflusssensor ist an dieser Stelle nur noch nötig wenn man überwachen will ob überhaupt was kommt oder um die Geschwindigkeit der Befüllung mittels Pumpe(Frequenzumrichter) zu steuern. Ob der Bediener nun angibt 50l nachfüllen oder den absoluten Sollwert im Tank eingibt ist nur eine Rechenaufgabe.

Aber was Du magst ist das der Durchfluss gezählt wird. Dann könnte es so aussehen:
Vergleich wenn das noch reinpasst, dann
Setze aktuellen Zählwert auf 0
Durchflusssensor gibt ein Signal aus. Das muss "in Echtzeit" erfasst werden. Dann gilt: Menge = verstrichene Zeit (z.B. letzte Zykluszeit der CPU) * aktuelle Durchflussmenge. Das muss durchgehend gezählt werden auf den eben gezählten Zähler. Welche Einheit nun erfasst wird bzw. vorhanden ist steht im Handbuch des Durchflusssensors.
Wenn der Zähler dann auf den nachzufüllenden Wert kommt eben wieder abschalten.
Diese Variante aber ist immer mit einer Toleranz versehen, Ungenauigkeit, ein genauer Füllstandssensor ist genauer. Ebenso wird die Entnahme mit dem Durchflusssensor nicht erfasst, das muss ja widerrum über den Füllstandssensor erfasst werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie du schon geschrieben hast, ist das eigentlich total unlogisch. Und ja es ist eine Schulaufgabe...
Ich würde auch den Füllstandsensor als "Stellglied" verwenden, der sagt: jetzt ist Füllmenge X erreicht, Ventil zu... Und nicht so ne komplizierte Sache mit aktuelle Durchflussrate einlesen und dann + Istfüllstand im Tank und der Bediener kann sagen wieviel noch rein muss...

Ich habe über Scale Bausteine den Analowert beider Sensoren erfasst und 2 Analogeingänge und Grenzen vorgegeben. Durchfluss 0- 100L/min und Füllstand 0- 600L. Damit die Analogwerte in Real (Liter) ausgegeben werden.

Ich gebe also im Simulator einen Aktuellen Füllstand ein und eine Durchflussrate... zwischen 0- 27648... beides auf 13824 (50%) stehen heißt. Durchflussrate konstant bei 50l/min und den Füllstand kann ich ja selber eingeben in dem ich den Wert force
 
Okay, aber wo kommst Du nun nicht weiter? Du schreibst beim Ventil ist Schluss. Warum, wie weit bist Du bzw. wo hängt es?
Wenn Du sagst Du weißt nicht wie das Ventil geöffnet wird, dann vermute ich wäre Ventilausgang:=TRUE hilfreich, wenn Du aber nicht weißt wie Du nun auf die richtigen Werte kommst sind wir eigentlich bereits in Deiner Aufgabe, also das was Du erarbeiten sollst.

Wie willst Du denn nun den eingebrachten Wert ermitteln? Indem der Durchflussmesser auf konstant 50% steht oder indem der Durchfluss gezählt wird.

mögliche Methode 1:
Ich errechne wieviel Liter/Sekunde fließen werden und lasse das Ventil solange auf bis die Menge anhand Liter:Zeit erreicht ist.
mögliche Methode 2:
Ich lese konstant den Durchflusssensor aus und errechne anhand seines Wertes und der verstrichenen Zeit die bisherige Menge und schalte bei Erreichen der Sollmenge ab.

Was Du machen willst ist entweder Dir überlassen oder ist in der Besprechung, vielleicht auch Aufgabenbeschreibung vorgegeben.
 
Ich habe mir da eventuell was komisch Ausgedrückt.
Wie ich das realisiere wurde mir überlassen. Da es im Simulator laufen soll, kann ich die Werte fest vorgeben in dem ich die Analogwerte fest eingebe. Konstanter Durchfluss 13824= 50l/min. Der Füllstand wird auch von mir im Simulator vorgegeben. Habe ja keinen realen 4-20mA irgendwo anliegen.

FC1: Scale Baustein Durchflusssensor In: EWxxx/ Hi_Lim: 100.0/ Low_Lim: 0.0/ OUT: DB1.xxx
FC2: Scale Baustein Füllstand In: EWxxx/ Hi_Lim: 600.0/ Low_Lim: 0.0/ OUT: DB1.xxx

Jetzt wollte ich einen FC bauen, wo ich die Ansteuerung programmiere. Also am besten AWL...
Berechnen:
OUT FC2+ Eingabewert Bediener( aus einem DB)= Sollwert insgesamt
Vergleich Eingabe Bediener mit freier menge im Tank (600L - aktueller Wert Füllstand)
Lade aktueller Durchfluss (OUT FC1)
Dann irgendeine Berechnung die als Ergebnis das Ventil für Zeit x öffnet bis der Sollfüllstand erreicht ist (Rest im Tank+ Eingabe Bediener)
Dann soll das Ventil geschlossen werden und im Tank sind z.b. 500 Liter. Und der Füllstandssensor soll dann auch 500 Liter anzeigen.

Und da hängen meine Überlegungen, wie das klappen kann. Ich bei nicht unerfahren im programmieren, aber das übersteigt leider meine Vorstellungskraft. ich finde auch kein fertiges Programm was ich dann verstehen und nachvollziehen kann
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Matrixzerro,

Jetzt wollte ich einen FC bauen, wo ich die Ansteuerung programmiere. Also am besten AWL...

du hast eine 1500er Steuerung (keine 300/400). Deshalb am besten NICHT AWL! Oder ist AWL Vorgabe?

Da Du ja anscheinend in der Lernphase bist,

Und ja es ist eine Schulaufgabe...

würde ich unbedingt versuchen SCL zu lernen.

Ansonsten FUP/KOP (wobei mein Favorit KOP ist).


VG

MFreiberger
 
Es ist viel einfacher wenn das Wasser von Anfang ab gezählt und in die Steuerung summiert wird.
Was für ein Durchflusssensor ist es ?
Viele Durchflusssensor haben intern ein Zähler (Flügelrad) der in ein Analogwert umgewandelt wird. Anstatt die gewandelte Analogwert aufzunehmen und in die Steuerung wieder in ein Zählerwert umwandeln, vielleicht kannst du den Flügelrad direkt abtasten und an ein Zählereingang ablesen.
Die analoge Durchflusssensoren die ich kenne (magnetisch induktiv) haben immer dobbelt analog und digital Ausgänge. Genau für den Grund dass für Dosieranwendungen ist ein Zähler viel einfacher als ein Analogwert.
 
würde ich unbedingt versuchen SCL zu lernen.

Ansonsten FUP/KOP (wobei mein Favorit KOP ist).


ja, SCL wäre toll. Muss ich mir nur leider selber irgendwie beibringen. AWl ist keine Vorgabe. Das Ergebnis zählt nur
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst das Signal vom Durchflusssensor aufintegrieren (den Integrator beim Öffnen des Ventils mit 0 initialisieren), und wenn das Integral >= Sollwert ist, das Ventil schließen.
 
Du kannst das Signal vom Durchflusssensor aufintegrieren (den Integrator beim Öffnen des Ventils mit 0 initialisieren), und wenn das Integral >= Sollwert ist, das Ventil schließen.
Dann bekommst du immer zu viel in Behälter.
Ein Hinweis: Nachlauf kompensieren. Nachlaufwert eventuell automatisch erkennen. Es ist aber kein triviellen Thema.
 
ja Flügelradsensoren kenn ich. Vorgabe ist, der Durchflusssensor gibt einen Wert von 4-20mA raus. Und mit dem muss gearbeitet werden, also eingelesen werden in der SPS
 
Moin Matrixzerro,

ja, SCL wäre toll. Muss ich mir nur leider selber irgendwie beibringen. AWl ist keine Vorgabe. Das Ergebnis zählt nur

da würdest Du hier im Forum sicher reichlich Hilfe erfahren!

AWL wird über kurz oder lang verschwinden (in der 1200er gibt es kein AWL). Deshalb ist es sinnvoll sich frühzeitig mit den aktuellen Sprachen der jeweiligen Steuerung auseinander zu setzen.

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Welcher Sensor das ist... keine Ahnung... ich habe ein 4-20mA Signal zur Verfügung. Messwertbereich 0-100 Liter/ Minute entspricht 0- 27648. Das kann ich als EW einlesen und weiter verarbeiten.
 
Unbenannt.jpg
SO sieht das momentan aus. habe das mal versucht was darzustellen. Analogeingänge werden eingelesen und umgewandelt in gescheite Zahlen. Jetzt weiß ich nicht, wie man die weiter verarbeiten/ berechnen oder sonst was soll... Alle AWL Befehle kenne ich leider nicht auswendig...
Eventuell kann mir da jemand zumindest eine Schritt für Schritt Herangehensweise näher bringen... mein Kopf platz mittlerweile
 
Zurück
Oben