Dynamische Schrittkette

Pau1e

Level-1
Beiträge
70
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Jo, hab schon wieder ein Problem:

Also ich programmiere das Rückspülen eines sog. Platten-Wärme-Tauschers.
Da wird im normalen Durchfluss das Eingangsventil geschlossen, gleichzeitig ein anderes zum Kanal führendes Ventil geöffnet. Somit fliesst der Wasserstrom in die Gegenrichtung.
Zum rückspülen muss dann abwechselnd ein zusätzliches Ventil mit Luftzufuhr mit der Zeit X geöffnet werden. (zB. 5 sec.)
Ist die Zeit abgelaufen, wird das Wasserventil um die Zeit Y wieder geöffnet (zB 20 sec.)
Dieser Prozess soll Z-mal wiederholt werden, zB. 8x.
Die Zeiten und die Wiederholungsrate will ich über WinCC fles und einem MP377 dynamisch verändern können. Dazu würde ich einen DB erstellen.

Wie kann ich einen Zähler (ZR?) für eine Schrittkette programmieren, der mir den DB ausliest?
Kann ich als DB-Wert INT nehmen?
Oder nimmt man dafür Variablen????

Die zugehörigen Werte sollen immer gespeichert werden, bis sie vom Bediener verändert werden. Dann sollen die neuen Werte stehen bleiben.

Über nen (kleinen) Programmiervorschlag würde ich mich riessig freuen!!!!
:confused:
 
Servus,

würde es über einen Vergleicher machen. Dazu legst du dir ne Zähl-Variable an, die du inkrementierst. Dann vergleichst du Soll (Wert aus DB) und Ist (Zähl-Variable), falls Ist<Soll springst du in der Schrittkette zurück, ist Ist>=Soll machst du in der Schrittkette weiter.

HTH

Tobi
 
Vielen Dank für die PDF, aber leider kann ich mit KOP überhaupt nix anfangen. Am liebsten wäre mir AWL oder zur Not noch FUP...
Schade, da meints jemand gut mit mir, und ich bin net zufrieden...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die PDF, aber leider kann ich mit KOP überhaupt nix anfangen. Am liebsten wäre mir AWL oder zur Not noch FUP...
Schade, da meints jemand gut mit mir, und ich bin net zufrieden...

OFF-TOPIC-ANFANG:confused:
Ich dachte immer KOP kann jeder und erst dann folgen FUP und AWL.
Naja zum Glück mußt du nicht für die USA proggen die LIEBEN KOP
über alles (genauso wie FETTIGE Burger)
OFF-TOPIC-Ende:D



Zur Sache, frage an dich:

Wenn ich wüste wie du ansonsten Schrittketten programmierst,
könnte ich dir direkt dafür einen Tipp geben der passt.



Allg. ist zu sagen

SCHRITTKETTENVERZEIGUNG

ANZAHL ZYKLEN ERREICHT JA/NEIN (mit einer INT -Variabeln) Mit "==I" !!!

im NEIN Zweig programmierst du deine AKTIONEN und zum Schluß
erhöhst du mit ADD_I deine interne Schleifenvariable und springst
zurück zur Verzeigung.

Nach z.B. 8 Zyklen ist dann ==I gleich TRUE und du kommt in den
JA ZWEIG. Dort setzt du mit MOVE 0 nach interne Schleifenvariable
gleich zurück für das nächts mal oder besser dur machst dieses
Rücksetzen immer am anfang deiner Schrittkette.

D.h. arbeitet lieber mit den genannten zwei INT-Variablen anstatt
mit einem Zähler.


VAR 1: WinCCflex Schleifenvariable
VAR 2: interne Schleifenvariable


Gruß
 
Oh mann...lasst euch doch nicht verarschen. Wer nicht in der Lage ist KOP in AWL oder FUP umzuwandeln kann doch mit Int sowieso nix anfangen.

Torsten
 
@IBFS:
Ich glaube, die Zeit, wo man sich mal hinsetzt und überlegt, wie man etwas (ein Problem) gelösst bekommt, ist endgültig vorbei.

@Torsten05:
Sei nicht so hart ... einen Vergleicher erstellen, der einem dann als Ergebnis ein "TRUE" oder "FALSE" ausgibt, ist auch nicht jedermann Sache ...:ROFLMAO:

@Pau1e:
Ich würde die bisherige Schrittkette mal gerne sehen, wenn es an der Funktion schon hängt ... ach nee, vielleicht doch lieber nicht ...

Gruß
LL
 
so, ich glaub ich habs jetzt hinbekommen.
Der Fehler lag in dem DB, den ich als Integer deklarierte. Wieso das nicht funktioniert, weiss ich auch nicht. Wenn ich REAL setze, funzt das einwandfrei.
Wieso geht das nicht mit INT???? Is doch komisch, oder?
Ich verwende einen ZR.
Wenn ich den Schnipsel fertig hab, kann ich ihn posten, wennder wollt...
Danke nochmal an alle, die mich unterstützen wollten!

(Das mit dem Vergleicher probier ich trotzdem nochmal, obwohl ich irgendwie nicht ganz checke, ob das net ein bisschen komplizierter und undurchschaubar ist. Was wäre der Vorteil?)
 
so, ich glaub ich habs jetzt hinbekommen.
Der Fehler lag in dem DB, den ich als Integer deklarierte. Wieso das nicht funktioniert, weiss ich auch nicht. Wenn ich REAL setze, funzt das einwandfrei.
Wieso geht das nicht mit INT???? Is doch komisch, oder?
Ich verwende einen ZR.

Mit INT sollte das funktionieren und mit REAL nicht (bei einem ZR oder ZV). Der "Schnipsel" würde mich dann also schon mal interessieren ...
 
Zurück
Oben