- Beiträge
- 24.322
- Reaktionspunkte
- 7.726
-> Hier kostenlos registrieren
Denk nochmal drüber nach: bevor dein Konstrukt irgendwelche Bits rücksetzt, woher weiß der OB31, wie lange ein Bit gesetzt war? Ob das länger als die HMI-Aktualisierungszeit war? Auch wenn der OB31 nur seltener als die HMI-Aktualisierungszeit aufgerufen wird, kann es sein, dass ein Bits rücksetzt wird, was nur 1ms lang gesetzt war. Man kann es viel einfacher (und nur im OB1) lösen, wenn nur alle > 2x HMI-Aktualisierungszeit verglichen wird, ob ein Bit schon beim letzten Check gesetzt war. Man muss sich das natürlich zusätzlich merken.
Anstatt zykluszeitfressender FOR-Schleifen kann man auch einfach wordweise verarbeiten.
Anstatt zykluszeitfressender FOR-Schleifen kann man auch einfach wordweise verarbeiten.