Funktion von L_PHINT(K) in Verbindung mit Soll-/Istleitwertsignalen
Frage:
Zur Ermittlung von Soll- und Istpositionen kann unter der IEC61131 der Funktionsblock L_PHINT bzw. LPHINTK zur Aufintegration von Winkeldifferenzsignalen verwendet werden. Zur Ermittlung einer Sollposition aus Hardwaresignalen wird beispielsweise die Systemvariable DFIN_nIn_v verwendet, zur Bildung von Istpositionen die Systemvariable MCTRL_nNAct_v. Wie verhält sich die Positionsbildung, wenn sie in verschiedenen, zeitgesteuerten Tasks verwendet wird?
Antwort:
Bei Verwendung der oben beschriebenen Funktionsblockverschaltung wird in jeder zeitgesteuerten Task ein eigenes Prozeßabbild der Systemvariablen DFIN_nIn_v und MCTRL_nNAct_v erstellt. Das Prozeßabbild dieser beiden Winkeldifferenzsignale wird auch bei Taskzyklen größer als 1ms stets korrekt (inkrementgenau) erstellt. Die Wegintegratoren L_PHINT bzw. L_PHINTK summieren diese Signale multipliziert mit der Task-Zykluszeit auf. Daraus folgt, dass die Signalausgänge der Winkelintegratoren L_PHINT bzw. L_PHINTK aufgrund dieser Multiplikation in ihrer Auflösung mit größer werdendem Taskzyklus 'unschärfer' werden.
Beispiel: In einer 1 ms-Task wird der Positionswert des L_PHINT (dnOut_p) mit größer Genauigkeit angezeigt (Auflösung auf 1 Inkrement). In einer 2ms-Task würde die Auflösung des Signalausganges L_PHINT.dnOut_p nur noch auf 2 Inkremente genau erfolgen. In einer 10 ms-Task würde der Signalausgang L_PHINT.dnOut_p demnach auf 10 Inkremente genau aufgelöst werden. Entsprechend verschlechtert sich die Auflösung der L_PHINT-Integratoren bei größeren Taskzykluszeiten weiter.
In der PLC_PRG wird ebenfalls ein eigenes Prozeßabbild von MCTRL_nNAct_v bzw. DFIN_nIn_v erstellt. Durch die variable Zykluszeit ergibt sich jedoch eine undefinierte Streuung des aufsummierten Winkelsignals über L_PHINT. Ein Einsatz in der PLC_PRG als auch in interruptgesteuerten Tasks ist deswegen nicht sinnvoll.