' schrieb:Ich hoffe ihr habt noch eine Idee, woran es liegen kann.
Ich tippe ja auf den OPC als solchem.
Du greifst hier parallel mit mindestens fünf (wenn ich's noch richtig im Kopf habe) Datenflüssen auf den OPC zu. Möglicherweise verlangsamt das den OPC - Folge wäre, dass die komplette Applikation hängt, weil der OPC den kompletten Prozess blockiert. Ich selbst greife nur nacheinander auf den OPC zu.
Weiterhin könnte eine Möglichkeit für das stockende Arbeiten des FP's daran liegen, dass in den While-Schleifen Wartezeiten fehlen (Wait[ms] oder Metronom mit 1ms wäre ausreichend).
Ist die Prozessorauslastung bei 0% und die Applikation hängt (scheint zu hängen), dann kann das darauf hindeuten, dass die Applikation auf eine Rückmeldung vom Betriebssystem wartet. Manche dieser Zustände (Warten auf Rückmeldung) sind mit einem totalen Stopp der Applikation (des gesamten Prozesses) verbunden. Ich kann mir vorstellen, dass dieser Effekt durch den OPC ausgelöst wird, weil er eben parallelen betrieben wird. Das "Stottern" der FP-Anzeige kommt dann dadurch, weil der OPC z.B. nur alle 250ms "zurückkommt" und damit für 10ms Zeit ist, das FP zu refreshen. 10ms deswegen, weil sofort der nächste OPC-Aufruf blockierend wirkt (wegen des fehlenden Wait und der parallelen Ausführung).
Noch ein Hinweis.
Manche OPCs haben eine Reaktionszeit bis zu 300ms. Daher ist es nicht unbedingt ratsam, die OPC-Befehle kontinuierlich in einer Schleife ohne Wartezeit zu betreiben.