Hallo Leute...
habe folgendes Problem. es soll ein Behälter (Max und Min Füllstand sind bekannt)befüllt werden und später je nach Rezept entleert werden.Das Abfüllen läuft über ein Ventil. wie kann ich den Füllstand exakt zu einer bestimmten Zeit exakt ermitteln?
Ich habe mir gedacht ein Zeitglied, das z.B für jede Sekunde eine gewisse Menge zufliesst, die mit dem Max_Füllstand verglichen werden usw.. Ist sowas realisierbar?wie kann man es überhaupt am einfachsten machen?Welche Sprache eignet sich am bestens?(FUP oder AWL?)
für jede Hilfe bin ich dankbar.
den genauen Wert der Durchflussmenge ist nicht angegeben und da ich nur simulation durchführen werde, wollte ich sie mir selbst definieren. Z.B. 50ml pro sekunde.Kennst du den den genauen durchluss pro Minute?
Mfg
.Wenn es um eine tatsächlich vorhandene Anlage geht .... vergiss es !! Bei häufigerem Füllen und entleeren wird dir der Füllstand entweder nach oben oder nach unten wegdriften
und wie programmierst du das eigentlich?Das allermindeste was du brauchst wäre ein Impulsgeber der dir zB einen Impuls je Liter gibt.
Ich habe sowas schon öfter gemacht und selbst mit dem Impulsgeber sollte man einen min und max Sensor haben damit sich das Ganze von Zeit zu Zeit automatisch kalibrieren kann.
peter(R)
genau... wie kann man das ganze programmieren und vor allem die Menge ermitteln?Welche Sprache eignet sich am besten?AWL oder FUP?. hier wird angenommen, dass die Durchflussmenge konstant bleibt!Was meinst Du damit ?? Wie ich das automatische kalibrieren programmieren würde ?? oder ob FUP oder AWL oder beides ??
peter(R)
hallo!
genau... wie kann man das ganze programmieren und vor allem die Menge ermitteln?Welche Sprache eignet sich am besten?AWL oder FUP?. hier wird angenommen, dass die Durchflussmenge konstant bleibt!
Thanks
un entleeren
u Befüllen
u m101.0
l s5t#1.5 s
se t 1
u t1
= m101.0 //Zykluswisch alle 1.5 sekunden wenn befüllt wird
un m101.0
spb n4
l 1 // wenn zB. alle 1,5 sec ein liter befüllt wird
l db1.dbw0 // Füllstand
+i
t db1.dbw0
n4: nop 0
kleiner schreibfehlerBefüllen:
Code:un entleeren u Befüllen [COLOR=#ff0000]u m101.0 > un m101.0 [/COLOR]l s5t#1.5 s se t 1 u t1 = m101.0 //Zykluswisch alle 1.5 sekunden wenn befüllt wird un m101.0 spb n4 l 1 // wenn zB. alle 1,5 sec ein liter befüllt wird l db1.dbw0 // Füllstand +i t db1.dbw0 n4: nop 0
//Preset Füllstand voll
U E 0.0
FP #flanke[1]
SPBNB _001
L 1.000000e+003 //Füllstand auf 1000l setzen
T #FUELLSTAND_L
_001: NOP 0
//Preset Füllstand leer
U E 0.1
FN #flanke[2]
SPBNB _002
L 1.000000e+002 //Füllstand auf 100l setzen
T #FUELLSTAND_L
_002: NOP 0
//angenommen:1l pro sekunde =0,001l pro ms
//Ventil befüllen offen
CLR
U M 100.0 //Befüllen
SPBN m001
L #OB1_CYCLE
ITD
DTR
L 1.000000e-003 //Umrechnung auf Liter
*R
L #FUELLSTAND_L
+R
T #FUELLSTAND_L
m001: NOP 0
//angenommen:2,5l pro sekunde =0,0025l pro ms
//Ventil entleeren offen
CLR
U M 100.1 //entleeren
SPBN m002
L #OB1_CYCLE
ITD
DTR
L 2.500000e-003 //Umrechnung auf Liter
*R
L #FUELLSTAND_L
-R
T #FUELLSTAND_L
m002: NOP 0
Befüllen:
Code:un entleeren u Befüllen u m101.0 l s5t#1.5 s se t 1 u t1 = m101.0 //Zykluswisch alle 1.5 sekunden wenn befüllt wird un m101.0 spb n4 l 1 // wenn zB. alle 1,5 sec ein liter befüllt wird l db1.dbw0 // Füllstand +i t db1.dbw0 n4: nop 0
entleeren genau umgekehrt mit -i
Gültig wenn alle 1,5 sec ein liter befüllt bzw. entleert wird. Evt. die Zeit (1,5 sec ) ändern um schnelleres oder langsameres befüllen zu simulieren.
peter(R)
Siehe Beitrag 14 von Paule.
In der 3.Zeile meines Progrämmches muss natürlich
UN M101.0
stehen !!
peter(R)
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?