Das mein Vorschlag nicht zur Oscat.lib passt, ist klar, denn dafür müsstest du wieder den original count_br nehmen
darum meinte ich auch das du am besten diese version count_br2 nennen solltest, da das verhalten nicht dem cound_br bzw. der Doku entspricht.
deine änderung bewirkt folgendes
UP:= (Variable BOOL)
STEP:= 10
MX:= 100
CNT=> (Variable BYTE)
0, 10, 20, ...90, 100, 0,10,20
das unlogische ist der zählschritt von 100 auf 0 bei schrittweite 10
Wenn du mit deiner letzten änderung für deine anforderungen zufrieden bist, gut so... aber ich kann den Sinn nicht wirklich nachvollziehen.
es gibt nur zwei möglichkeiten entweder mit "0" als zählwert oder ohne
orignal count_br (0 = zählposition)
0,10,20,...90,100,9
meine count_br2 (0 ist keine zählposition, ausser bei programmneustart oder reset oder set auf 0)
0,10,20,...90,100,10,20
wenn n > max wird dann sollte danach eigentlich n = n+step-max sein, und das passiert bei mir auch.