s7-200 Three Step Bibliothek

Turi

Level-1
Beiträge
51
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

ich habe eine Heizungssteuerung mit 2 Heizkreisen gebaut und eine S7-200 eingesetzt. Heizkreis 1 funktioniert einwandfrei mit PID0 und Three Step.
mein Problem ist nun, dass das Mischventil 1 aufgeht, wenn ich den Heizkreis 2 Programiere. es funktioniert alles, bis ich auf die Bibliothek zugreifen will:
Kr2pump:A0.7
CALL Three_Step:SBR4, PID1_Output:VD584, VD1104, VD1108, Mix2_max_auf:E0.3, Mix2_max_zu:E0.4, Pulse_TM_ds:VW221, Break_TM_ds:VW223, HYST_Off:V225.0, Deviation:VD226, Mix2_auf:M1.4, Mix2_zu:M1.3

irgend etwas gibt ein falsches signal auf den Three Step im Heizkreis 1, so dass der Ausgang vom Three Step MIX1_auf:m1.0 auf 1 geht
 
Sind irgendwo Überschneidungen in den Bereichen der Beiden Heizkreise? oder gibts interne Variablen, die durch den2fachen Aufruf doppelt verwendet werden?

Thomas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
jaja, s7 200 und objektorientierung ... ein leidiges thema.

wenn ich mir die dokumentation zu der three step lib so angucke bleibt eigentlich nur ein schluß: du kannst nur einen three step benutzen. wie ich darauf komme: die lib belegt einen festen speicherbereich!

eine mgl.keit die ich sehe, wäre das umschaufeln der aktuellen daten in einen anderen speicherbereich und vor dem aufruf wieder zurück. mächtige schaufelei...

ist es eigentlich mgl. die selbe lib mehrmals einzubinden? wäre zumindest mein erster versuch bevor rumkopiert wird...
 
Hallo thomass5 und vierlagig

an dem Gedanken mit dem Kopieren mit der lib hab ich auch schon rumgespielt und bereits schon erste versuche gestartet. da sind irgendwie lokaldatenwörter eingebaut und sonstiges zeugs. speicher für die Bibliothek kann man ja festlegen, aber einfach die lib kopieren geht ja nicht..... .

danke für deinen rat, vieleicht hat ja jemand anders die tücken von three step schon komplett überlistet, ich geb jedenfalls nicht auf bis mischer 2 läuft und wenn ich die ganze lib neu schreiben muss
das mehrmalige einbinden der lib ergibt den fehler.



gruss
turi
 
Zuletzt bearbeitet:
Problem Gelöst

Three Step lässt sich wirklich nur 1 mal einbinden, da die LIB globale Variablen verwendet. Ich habe für die 2. Mischventilsteuerung die paar Netzwerke der LIB in das Unterprogramm kopiert und die LW's in VD's umgewandelt und siehe da, es bockt nichts mehr. Es gibt halt etwas mehr Arbeit, dafür funktioniert es einwandfrei, und die Programmschritte lassen sich auch besser überwachen.
 
Zurück
Oben