Herunterladen Diese Seite drucken

Beckhoff CX7050 Handbuch Seite 182

Embedded-pc für canopen-commander (master)

Werbung

TwinCAT
Abb. 61: Verkürzter Puls eines digitalen Ausgangs mit Last.
Wenn die For-Schleife statt dem TRUE beim FALSE aufgerufen wird, wird das Ergebnis invertiert.
bOut:=not bOut;
IF not bOut THEN
    For loop:=1 to 2000 do
        lrTest:=SIN(INT_TO_LREAL(loop)*3.14);
    END_FOR
END_IF
Abb. 62: Invertierte Darstellung eines digitalen Ausgangs.
Mit dem Attribut-Pragma TcCallAfterOutputUpdate ist der Puls konstant und ist unabhängig davon, wie
lange die For-Schleife benötigt oder ob sie aufgerufen wird. Das Ganze funktioniert nur dann, wenn die SPS-
Task nicht überschritten wird. Achten Sie also beim Reproduzieren des Beispiels auf die
Überschreitungszähler der Task.
SPS-Programm mit unterschiedlichen Laufzeiten erkennen
Um SPS-Programme mit unterschiedlichen Laufzeiten zu erkennen, muss das SPS-Programm ergänzt
werden. Im Online-View sind unterschiedliche Laufzeiten nicht erkennbar, da immer ein Mittelwert über
mehrere Zyklen gebildet wird. Daher sind Ausreißer nur zu erkennen, wenn diese über der Taskzeit liegen.
Liegen die Ausreißer noch innerhalb der Taskzeit, sind diese nicht ohne weiteres zu sehen.
Hierfür verwenden wir dann die Systemvariablen: PlcTaskSystemInfo
VAR
    bOut : BOOL;
    PlcTaskSystemInfo : PlcTaskSystemInfo;
    udiValue : ARRAY[0..19] of UDINT;
    Cnt : INT;
182
Version: 1.0
CX7050

Werbung

loading