misu68
Level-2
- Beiträge
- 11
- Reaktionspunkte
- 5
-> Hier kostenlos registrieren
Hallo zusammen,
ich hatte Freitag einen Gau mit v13SP1 Update 1, der mich hinterher wieder zum Downgrade gezwungen hat. Jetzt wollte ich mal fragen, ob das vielleicht schon jemand anderem passiert ist...
Ich habe einen Multi-Kanal-Temperaturregler, der (ein bisschen tricky) in STAT eine Instanz des PID-Reglers hat und danach eine Anzahl x von baugleichen UDFs (Heizzonen) als Array. Beim Aufruf wird nun in SCL die Zone x in die Instanz kopiert, darauf geregelt und danach die Instanz wieder zurückkopiert. Das ganze läuft seit Urzeiten reibungslos (S7 v5/TIA 12/13). Seit dem Update scheint der erste Teil noch zu laufen, aber das Zurückkopieren landet im falschen Bereich - genau um einen versetzt (Ziel +1 Zone). Ist der Fehler schon jemandem aufgefallen?
Hier die Definition des Interfaces:

Hier der signifikante Auszug aus der Software:
[..]
// This Zone is active and on
#bReset := "bFALSE";
#ret:=BLKMOV(SRCBLK := #ZONE[#index], DSTBLK => #PID); // Kopieren in die PID-Instanz
#PID(PV_IN:=#PV_IN, SP_INT:=#SP_INT, COM_RST:=#bReset); // Regeln auf der Instanz
#ret:=BLKMOV(SRCBLK := #PID, DSTBLK => #ZONE[#index]); // Zurückkopieren in das ursprüngliche Fach (Versatz!)
[..]
ich hatte Freitag einen Gau mit v13SP1 Update 1, der mich hinterher wieder zum Downgrade gezwungen hat. Jetzt wollte ich mal fragen, ob das vielleicht schon jemand anderem passiert ist...
Ich habe einen Multi-Kanal-Temperaturregler, der (ein bisschen tricky) in STAT eine Instanz des PID-Reglers hat und danach eine Anzahl x von baugleichen UDFs (Heizzonen) als Array. Beim Aufruf wird nun in SCL die Zone x in die Instanz kopiert, darauf geregelt und danach die Instanz wieder zurückkopiert. Das ganze läuft seit Urzeiten reibungslos (S7 v5/TIA 12/13). Seit dem Update scheint der erste Teil noch zu laufen, aber das Zurückkopieren landet im falschen Bereich - genau um einen versetzt (Ziel +1 Zone). Ist der Fehler schon jemandem aufgefallen?
Hier die Definition des Interfaces:

Hier der signifikante Auszug aus der Software:
[..]
// This Zone is active and on
#bReset := "bFALSE";
#ret:=BLKMOV(SRCBLK := #ZONE[#index], DSTBLK => #PID); // Kopieren in die PID-Instanz
#PID(PV_IN:=#PV_IN, SP_INT:=#SP_INT, COM_RST:=#bReset); // Regeln auf der Instanz
#ret:=BLKMOV(SRCBLK := #PID, DSTBLK => #ZONE[#index]); // Zurückkopieren in das ursprüngliche Fach (Versatz!)
[..]