TIA Optimierungshilfe

Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt hab ich endlich ne Begründung für meine Kollegen, warum meine Philosophie die 100ms-Flanken-Bits global zu bilden schon immer richtig war :LOL:

Danke trotzdem für den Hinweis!
Ja, Dinge die jeder "schon immer" so macht, haben meistens auch nen begründeten Ursprung.
Wir haben diese globalen Impulsmerker auch...
 
Was besagt denn diese Philosophie? Und woher kommen die 100 ms? Das erinnert mich an die ZyklusZeiten, die zu S5-Zeiten gar nicht sooo unüblich waren ... ;)
War etwas flapsig geschrieben, aber die Flanken der Taktmerker mache ich bei meinen Programmen gerne global. Auch 50ms-Flanke aus dem 100ms-Takt mit pTrig und nTrig. Sowas wird in unseren Programmen für einfache Laufzeitberechnungen oder als Regeltakt für Fuzzy oder Schritt-Regler eingesetzt. Oder um im Programm variable Rampen bei Hydraulik-Prop-Ventilen zu generieren.
Andere Kollegen haben gerne in jeder Funktion eine eigene Flankenauswertung mit Verwendung des originalen Taktmerkers.
Macht unterm Strich eigentlich auch keinen Unterschied.
 
aber die Flanken der Taktmerker mache ich bei meinen Programmen gerne global. Auch 50ms-Flanke aus dem 100ms-Takt mit pTrig und nTrig.

Hat aber de Nachteil, dass sich zykluszeitabhängig ein kleiner Fehler ergibt, der je nach Verwendung unter Umständen aufaddiert zu einem nicht unmerklichen Fehler führt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hat aber de Nachteil, dass sich zykluszeitabhängig ein kleiner Fehler ergibt, der je nach Verwendung unter Umständen aufaddiert zu einem nicht unmerklichen Fehler führt.
:unsure: Natürlich können sich viele kleine Fehler zu einem grossen Fehler aufsummieren. Aber das weiss man doch schon vorher.

Aber haben wir es in diesem Beispiel überhaupt damit zu tun? Wird die eine Flanke "zu spät" erkannt, dann müsste die nächste Flanke entsprechend früher ("zu früh") erkannt werden. Das gleicht sich dann wieder aus und führt nicht zu einem Fehler, der zwangsläufig immer grösser wird.
 
Ich habe mal einen Betriebsstundenzähler überprüft der mit einen Taktmerker realisiert wurde.
Nach einer Stunden konnte ich schon eine Abweichung feststellen, die über ein Jahr betrachtet nicht unerheblich war.
 
Ich habe mal einen Betriebsstundenzähler überprüft der mit einen Taktmerker realisiert wurde.
Nach einer Stunden konnte ich schon eine Abweichung feststellen, die über ein Jahr betrachtet nicht unerheblich war.
Abweichung zu was?
Wieviel genau ist "nicht unerheblich"?
Wie war der Zähler realisiert?
Was hat das damit zu tun, dass die Taktmerker asynchron zum Zyklus schalten?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Betriebsstundenzähler hat die vergangenen Sekunden gezählt und aufsummiert.
Dies wurde mit dem 1Hz Taktmerker realisiert. Der Betriebsstundenzähler hat bei jeder positiven Flanke des Taktmerkers eine Variabel inkrementiert und daraus wurden dann die Betriebssekunden, -minuten und -stunden berechnet.

Bereits nach einer Stunde konnte ich bei dem Betriebsstundenzähler eine Abweichung feststellen. (Die Abweichungsgröße kenne ich nicht mehr)
Habe dazu einfach parallel einen TON mit max. Laufzeit gestartet (und zusätzlich die Handy Stoppuhr, wobei die Startzeit da nicht so genau ist) und die Zeiten verglichen.

Jetzt ermitteln wir die Betriebsstunden oder irgendwelche Laufzeiten mit Hilfe der Time_Tck() Funktion.

Und was hat das mit asynchronen schalten des Taktmerkers zu tun?
Wahrscheinlich nicht viel.
Ich wollte nur verdeutlichen, wie "ungenau" diese Taktmerker sind.
 
Aber haben wir es in diesem Beispiel überhaupt damit zu tun? Wird die eine Flanke "zu spät" erkannt, dann müsste die nächste Flanke entsprechend früher ("zu früh") erkannt werden. Das gleicht sich dann wieder aus und führt nicht zu einem Fehler, der zwangsläufig immer grösser wird.

Ich hatte das so verstanden, dass er das mit eigenen Timern baut. Darauf war mein Einwand bezogen. Bei nochmaligem Lesen habe ich es aber auch kapiert, dass er doch die Taktmerker verwendet.
 
Zurück
Oben