die zeitabweichung ist beim messen und auch bei rampenfunktionen immer ein problem. es gibt IMMER zeiteinflüsse. es kommt auf die aufgabe(anwendung) und der hardware an.
um ganz genau arbeiten zu können reicht der ob35 noch nicht einmal aus.
in meinem beispiel ist es richtig, dass die zykluszeit einen einfluss auf die zeit hat. bei einer vollen 312er cpu mit vielen a-zyklischen aufrufen wird die zeit relativ weit schwanken.
zykluszeit zwischen 40-150ms
extrem beispiel bei 150ms => Letzte zeitauslesen des timers bei 249ms, im nächtsten zyklus true = 250+149 = 399ms. 399 + 399 + 399 + 399 = 1596ms soll = 1sec
beste beispiel bei 50ms => Letzte zeitauslesen des timers bei 200ms, im nächtsten zyklus true = 250ms. 250 + 250 + 250 + 250 = 1000ms soll = 1sec. höchste differenz beim letzten merker 596ms.
stört es bei verschieden blinktakten für lampen? nö. stört es bei berechnungen einer rampe? aber gewaltig.
pc477
mindestzykluszeit auf 10ms und programm läuft in diesen rahmen
beispiel bei ungüstigen fall 10ms => Letzte zeitauslesen des timers bei 249ms, im nächtsten zyklus true = 250+ 9 = 259ms. 259 + 259 + 259 + 259 = 1036ms soll = 1sec
beispiel bei güstigen fall 10ms => Letzte zeitauslesen des timers bei 240ms, im nächtsten zyklus true = 250ms. 250 + 250 + 250 + 250 = 1000ms soll = 1sec. höchste differenz beim letzten merker 36ms.
das große problem ist dabei, dass du ja irgendetwas vergleichen/berechnen willst (analogwert, peripheriegeräte usw.). hier hast den bus ( z.b. rückwandbus ca. 187kbs/s, pn <10ms usw.) und auch die aktualisierung der einzelnen geräte. die meisten analogbaugruppen habe z.b. eine interne aktualisierung von >40ms. die dürftest du hier auch mit einrechenen.
wenn jetzt zu viel in den ob35 gepackts wird, schnellt deine zykluszeit nach oben. du musst nähmlich alle relevanten werte dort programmieren. es kommt immer darauf an was ich machen will. so sehe ich es. keiner weis was der te machen will. in der praxis sind die schwankungen kleiner und somit ist die reproduzierbarkeit der messungen/berechnungen besser. du kanst nicht immer die 249ms treffen (2x150ms >250ms).