Falls es der zweite, von dir gezeigte Codeteil ist hätte ich eine Vermutung anzubieten.
Mit 840D kenne ich mich zwar nicht aus, aber mir kommt dein Programmablauf zum Lesen irgendwie nicht ganz korrekt vor. Das würde ja den reinen S7-Teil betreffen. Du rufst ja immer den gleichen Baustein auf, inkl. IDB. Das geht prinzipiell, da du ja alle anderen Aufrufe umspringst. Allerdings sieht das so aus, als ob nach dem fertigen Lesen, der Baustein sofort abgesperrt ist und dann im nächsten Zyklus beim folgenden Baustein mit neuen Werten das Lesen gestartet wird. Ich denke, mindestens einmal sollte der "alte" Getbaustein nach dem "Lesen fertig" noch aufgerufen werden, damit sich Flanken und andere internen statischen Variablen noch zurückstellen können. Das ist generell ein Problem, wenn man FB mit IDB einfach umspringt, für mich eigentlich auch eher eine gefährliche Lösung.
Bookmarks