Step 7 Regler FB41

ITBuxi

Level-1
Beiträge
40
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe folgendes Problem:
Ist nicht so ganz einfach zu erklären.
Im Step 7 Code habe ich einen DB, in dem die ganze Reglerparametrierung und HMI Kommunikationsvariablen stehen.
Der erste Teil des Bausteins entspricht dem InstanzDB des FB41. Danach kommen meine internen Definitionen.

In meinem Regler Baustein (FB) durchlaufe ich eine Schleife über alle Regler. Im Code kopiere ich zuerst die Werte aus dem Parametrier DB (DB631) in den InstanzDB des FB41, durchlaufe den mit dem IDB und kopiere es wieder zurück in meinen DB631.
Funktioniert soweit auch ganz gut. Bis zum 11. Datensatz. Wenn ich den freigebe, dann spinnt der erste Regler, beim 12. der zweite etc.
Wenn ich aber die Regler 11 und folgende ohne die ersten durchlaufe, dann funktionieren die auch ganz normal. Also kann ich ja schon mal die Adressverschiebung ausschließen. Aber woran liegts sonst?
Datensatzlänge ist 214, spricht beim 11. sind wir nach Adam Riese bei 2164 (inkl. Kopf).
Mein DB ist also relativ lang. Beim 11. Datensatz überschreite ich die 2000 Byte Adresse. Hat das Auswirkungen?

Ich bin echt am verzweifeln. Keine Ahnung was da abgeht.

Ist bisschen schwierig zu kapieren, aber ich hoffe ich habs verständlich beschrieben.

Danke für Eure Hilfe schon mal vorab.


Ach ja, die Antwort vor der Frage: ja, natürlich ruf ich den in einem Takt auf ;-)
 
Zuletzt bearbeitet:
Hallo ITBuxi,

aber wurm gibst du nicht jeden FB41 aufruf seinen eigenen Instanzdatenbaustein?
Sicher die Sache mit Schleifendurchläufen und austausch der Instanzdaten ist Codeperformante, aber verringert auch etwas die Übersichtlichkeit.
Könntest du mal ein Stückchen Code Online stellen, damit man sich die Sache mal genauer anschauen kann, warum du das Problem bekommst.
Normal macht ein DB mit 2K keine großen Probleme
Müsste also aless normal hinhauen.
 
Hi zusammen,
danke vielmals für Eure Bemühungen.
Ich hab den Fehler gefunden. Es war ein Fehler in der Schleife.
Den zu finden hab ich jetzt ganz schön lang gebraucht ;-)

Wie gesagt, nochmal danke, jetzt läufts!
 
Zurück
Oben