ich habe einen Funktionsbaustein (FB) mit SCL geschrieben, der jede ms abgearbeitet wird. In diesem FB lasse ich in jedem Durchgang einen Zähler inkrementieren, wobei ich bei einem bestimmten Zählwert diverse Berechnungen durchführe.
Die Bedingung zum Starten meiner Berechnungen ist:
Code:
IF count=50 THEN
........
Hier tritt das Problem auf:
den Zähltwert von 50 erwischt mein FB nicht, weil (so vermute ich) dieser von OB33 (mit höherer Priorität) unterbrochen und nicht dort fortgeführt wird wo er unterbrochen wurde.....Der Zählwert rennt dann Teilweise über den ganzen Integer-Wertebereich.
Meine Frage:
Ist das normal dass wenn ein FB durch den OB33 unterbrochen wird, dieser an der unterbrochenen Stelle nicht fortgesetzt wird?
Ich hoffe, dass die Berechnungen nicht länger als 1 ms dauern, da der FB ja jede ms bearbeitet wird. Das würde ja dann zu Störungen führen.
Ich denke du nimmst z.B. den OB35. (Weckfehler hieß das, soweit ich noch weiß)
Und nein. Normal ist das nicht. Er läuft an der Stelle weiter, wo er aufgehört hat.
Sach mal willst du uns hier eigentlich gepflegt verarschen?
So würde ich mir jetzt als einer der versucht hat zu helfen im Moment jedenfalls vorkommen.
Der FB wurde nicht nur einmal in unserem OB aufgerufen sondern an einer anderen Stelle in unserer SPS fälschlicherweise auch. => 2 Aufrufe der selben Funktion. Den falschen Aufruf haben wir gelöscht und der Fehler taucht nicht mehr auf.
Sorry dazu wurde ich von meinem Chef verdonnert (fehler eingrenzen und Support anrufen). ICH wollte das lieber hier weiter diskutieren weil Foren (mehrere meinungen) mir meiner Erfahrung nach besser geholfen haben als Hotlines, aber ich bin nur Arbeitnehmer.