OB unterbricht FB

maltonic

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

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?

Danke
 
nein, das ist nicht normal, und sicher auch bei dir nicht der Fall!

Ich vermute mal, daß mit deiner Abfrage was nicht stimmt
(z.B: vergleichst du evtl. verschiedene Datentypen)
 
wobei ich bei einem bestimmten Zählwert diverse Berechnungen durchführe

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.

Gruß wolder
 
Danke @ SPSKILLER,

also meine Count-Variable ist vom Typ Integer und die Abfrage ist

Code:
IF count=50 THEN 
.....


daran liegts wohl nicht......
 
@ wolder,

ja die Variable wird wieder auf 0 gesetzt innerhalb des THEN-Teils.....

ich poste den Code später, muss grad noch was andres machen.

brb
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mach einfach
Code:
IF count>=50 THEN

Das sollte dann zwar funktionieren, aber interessant ist ja gerade, warum er eben nicht die 50 erwischt!!! :ROFLMAO:

Ich frag aber trotzdem noch was, weil es doch des öfteren vorkommt, ist count eine statische Variable im FB oder eine temporäre?
 
Also wir haben den Fehler gefunden:

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.

Trotzdem vielen Dank
 
@MSB:


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.

Sorry guys
 
Zurück
Oben