# Pumpensteuerung

**URL:** <https://oscat.discourse.group/t/pumpensteuerung/35>\
**Category:** Bestehende Module / Existing Modules\
**Created:** [24. Dezember 2006 um 15:45 UTC](https://oscat.discourse.group/t/pumpensteuerung/35 "2006-12-24T15:45:54Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [24. Dezember 2006 um 15:45 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/1 "2006-12-24T15:45:54Z")

</div>

Hier mal meine fast fertige Pumpensteuerung, hoffe es klappt mit der angehängten Datei.

mfg swmggs

[gelöscht durch Administrator]

---

<div class="post-metadata">

**Author:** ![hugo](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/hugo/32/133_2.png) [@hugo](https://oscat.discourse.group/u/hugo)\
**Post date:** [25. Dezember 2006 um 09:42 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/2 "2006-12-25T09:42:53Z")

</div>

hast du hierzu auch schon eine beschreibung / source code?

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [25. Dezember 2006 um 17:49 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/3 "2006-12-25T17:49:27Z")

</div>

bin im Moment dabei noch ein paar Temperatureingänge dazu zu programmieren, und so wächst auch die Beschreibung.

Hoffe der Feiertagsstress lässt es zu 😉 😉

swmggs

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [26. Dezember 2006 um 17:03 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/4 "2006-12-26T17:03:01Z")

</div>

Hier meine neuster Version. Habe ich was vergessen, um Anregungen bin ich dankbar.

mfg swmggs

[gelöscht durch Administrator]

---

<div class="post-metadata">

**Author:** ![hugo](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/hugo/32/133_2.png) [@hugo](https://oscat.discourse.group/u/hugo)\
**Post date:** [26. Dezember 2006 um 23:01 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/5 "2006-12-26T23:01:06Z")

</div>

hier das pump interface aus der oscat lib vielleicht kannst du das mitverwenden

FUNCTION\_BLOCK actuator\_pump  
VAR\_INPUT  
in : BOOL;  
manual : BOOL;  
rst : BOOL := FALSE;  
END\_VAR  
VAR\_INPUT CONSTANT  
min\_ontime : TIME := t#10s;  
min\_offtime : TIME := t#10s;  
run\_every : TIME := t#10000m;  
END\_VAR  
VAR\_OUTPUT  
pump : BOOL;  
runtime : REAL;  
cycles : REAL;  
END\_VAR  
VAR  
tx : TIME;  
last\_change : TIME;  
meter : ontime;  
old\_man : BOOL;  
END\_VAR

(\*  
version 1.0 4 dec 2006  
programmer oscat  
tested BY oscat

actuator\_pump is a pump interface which cam be controlled by an input in and an input manual.  
in or manual high turns the pump output on.  
a rst input is used to reset the runtime counters.  
when the pump was not active for a time run\_every the actuator turns on the pump automatically for min\_ontime.  
two setup variables min\_ontime and min\_offtime guarantee a minimum runtime and offtime of the pump.  
the units are hours and the output type is real to prevent fromoverfow.

\*)

tx := TIME();  
IF rst THEN  
rst := FALSE;  
meter(rst := 1);  
meter.rst := 0;  
ELSIF manual AND NOT pump AND NOT old\_man THEN  
last\_change := tx;  
pump := 1;  
ELSIF NOT manual AND old\_man AND pump AND NOT in THEN  
last\_change := tx;  
pump := 0;  
ELSIF in AND NOT pump AND tx - last\_change \>= min\_offtime THEN  
last\_change := tx;  
pump := 1;  
ELSIF pump AND NOT in AND NOT manual AND tx - last\_change \>= min\_ontime THEN  
last\_change := tx;  
pump := 0;  
ELSIF NOT pump AND tx - last\_change \>= run\_every THEN  
last\_change := tx;  
pump := 1;  
END\_IF;

meter(in := pump);  
runtime := meter.ontime;  
cycles := meter.cycles;  
old\_man := manual;

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [27. Dezember 2006 um 08:24 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/6 "2006-12-27T08:24:21Z")

</div>

Hallo Hugo,

danke für die Anregung, ich kann aber kein Englisch :‘( :’( :'(, (reicht nur zum Essen und Trinken, also zum Überleben ;D).

Deswegen wäre ich für eine kurze deutsche Erklärung dankbar.

mfg. swmggs

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [28. Dezember 2006 um 18:08 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/7 "2006-12-28T18:08:07Z")

</div>

Hallo Hugo,

ich glaube aus deiner Pumpensteuerung herauszulesen das dort auch eine Pumpenzwangschaltung drin ist.

Gibt es diese Funktion irgendwo einzeln ?  
Sieht bei Dir ganz einfach aus ;D ;D, ich mach das mit timer, rtrigs uswusw :-[ :-[.

Ich kann leider nur mit CFC :-[ :-[ :-[

Könnte die gut in meiner Pumpen- und in der Mischersteuerung einbauen.

mfg swmggs

---

<div class="post-metadata">

**Author:** ![hugo](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/hugo/32/133_2.png) [@hugo](https://oscat.discourse.group/u/hugo)\
**Post date:** [28. Dezember 2006 um 22:58 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/8 "2006-12-28T22:58:37Z")

</div>

versuch doch einfach mal das modul aus der aktuellen oscat.lib  
zugegeben in st ist vieles einfacher, dort kann man eben wirklich programmieren…  
naja zumindest was sps anbelangt.

mit in schaltest du die pumpe an und aus.  
manual ist ein override eingang für eine hand zwangssteuerung  
rst setzt die timer des betriebsstundenzählers auf null.

der ausgang pump steuert die pumpe, und der ontime und cycles zählt betriebsstunden und ein aus zyklen.

wenn du auf das modul einen doppelclick machst  
kannst du die werte für zwangssteuerung und minimale laufzeit einstellen.

viel spass

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [29. Dezember 2006 um 10:28 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/9 "2006-12-29T10:28:57Z")

</div>

Tja das mit dem Programmieren… , bin leider noch Anfänger und muss deshalb auf bestehend Funktionen zurückgreifen 😉 ;),  
aber wenn das was ich will mal mit CFC läuft habe ich mal Zeit mich mit st zu beschäftigen und dann werde ich hoffentlich mal  
ein richtiger Programmierer 😉 😉 😉 😉 😉 😉 😉 😉 😉 ;).

mfg swmggs

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [29. Dezember 2006 um 10:35 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/10 "2006-12-29T10:35:39Z")

</div>

ups

FB\_Pumpe:

das habe ich in meiner Pumpenfunktion auch ja alles drin, halt nur mit CFC, dachte die Funktion Zwangein gäbe es irgendwo als CFC, sieht unter st so einfach aus ;D.

Und ich finde (meine persönliche Meinung) einen Eingang manual gefährlich, bei mir kommt immer eine Handsteuerung in den Schaltschrank.

swmggs

---

<div class="post-metadata">

**Author:** ![hugo](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/hugo/32/133_2.png) [@hugo](https://oscat.discourse.group/u/hugo)\
**Post date:** [29. Dezember 2006 um 10:39 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/11 "2006-12-29T10:39:35Z")

</div>

den input manual musst du ja nicht benutzen, wenn er einfach offen bleibt wird er nicht benutzt  
die zwangssteuerung ist aber nicht der manual eingang,  
eine zwangssteuerung sorgt dafür das die pumpe alle xxx stunden automatisch yyy minuten läuft, als schutz um nicht festzusetzen.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [29. Dezember 2006 um 11:39 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/12 "2006-12-29T11:39:44Z")

</div>

schon klar,

ich als alter CFCÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â´ler mache das jetzt mit dem BLINK, dachte nur gäbe was anderes

swmggs

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [29. Dezember 2006 um 19:07 UTC](https://oscat.discourse.group/t/pumpensteuerung/35/13 "2006-12-29T19:07:20Z")

</div>

Hier als Anhang die verbesserte Pumpensteuerung, habe den Frostschutz- und Sommerabschaltung rausgenommen und als eigene Funktionsblöcke angelegt, kann diese somit besser in andere Funktionen einbinden ( Kesselsteuerung, Mischersteuerung usw).

swmggs

[gelöscht durch Administrator]
