Positionsgetreue Übertragung von Leitfrequenzsignalen über Taskgrenzen

Frage:

Wie können Leitfrequenzsignale ohne inkrementelle Verluste über Taskgrenzen übertragen werden?

Antwort:

Aufgrund der Vielzahl von Unterbrechungen einer Task durch das Multitaskingsystem kann es zu inkrementellen Verlusten kommen, wenn ein Leitfrequenzsignal (*_v)  positionsgetreu von einer Task auf eine andere übertragen werden soll. Zunächst sollten Leitfrequenzsignale nur innerhalb der Task verwendet werden, in der sie erzeugt werden. Dazu ist z.B. der DFIN in den unterschiedlichen Tasks getrennt aufzurufen.

Muss ein _v-Signal über eine Taskgrenze hinweg übertragen werden, so ist zunächst zu entscheiden, ob das Signal nur als Drehzahlwert übertragen werden kann, oder ob ein inkrementgenauer Positionsbezug notwendig ist. Im ersten Fall kann das Signal direkt übergeben werden. Ist eine inkrementgenaue Übertragung notwendig, so ist das Signal zunächst zu integrieren. Dabei sollte eine Integration mit begrenztem Positionsbereich durchgeführt werden. Das integrierte Signal wird dann gemäß wie unter 20031727 beschrieben auf die andere Task übertragen und dort mittels eines Differenzierers in das entsprechende Geschwindigkeitssignal (*_v) zurückgewandelt.

Im nachfolgendem Diagramm ist die höherpriore Task in Negativ-Darstellung die niederpriore in Positiv-Darstellung. Die zu übertragene Variable ist l_InternalAction_v {Task_1, ID=2, T#2ms}. Das Ergebnis der Übertragung steht in l_TransmittedVelocity_v {Task_3, ID=4, T#5ms} positionsgetreu zur Verfügung. Die Variable g_IntegrationLength_p synchronisiert Integrator und Differenziator zueinander.

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/20031805/0/
Kontaktformular