Zählervergleichsausgang zurücksetzen (Pulsausgabe)
Wenn der Istwert des gewählten Kanals den Sollwert erreicht, wird ein vorher bestimmter Ausgang sofort auf FALSE gesetzt.
Eingang
Pulsausgabekanal: 0–3
Geben Sie für den Sollwert einen 32-Bit-Datenwert innerhalb des folgenden Bereichs ein: -2147483467 bis +2147483648
Ausgang
Ausgang, der auf FALSE schaltet, wenn der Istwert dem Sollwert entspricht: Y0–Y1F
Merkmale der Pulsausgabe
Sollwert: -200
Istwert der Pulsausgabe
Ausführungsbedingung
Merker "Auswertung aktiv"
SPS-Ausgang
Der SPS-Ausgang wird auf FALSE gesetzt, wenn der Istwert dem Sollwert entspricht . Außerdem wird der Merker "Auswertung aktiv" auf FALSE gesetzt und der Befehl deaktiviert.nd the instruction is deactivated.Wenn ein Ausgang angegeben ist, der nicht implementiert wurde, wird nur die WY-Adresse im Speicher gesetzt oder zurückgesetzt.
Interrupt-Betrieb
Das Interrupt-Programm wird ausgeführt, wenn der Istwert dem Sollwert entspricht. Jedes Interrupt-Programm, das in die Taskliste eingegeben wird, ist automatisch aktiviert. Jeder Kanalnummer wird ein spezielles Interrupt-Programm zugewiesen.
Interrupt8 |
Kanal0 |
Interrupt9 |
Kanal1 |
Interrupt10 |
Kanal2 |
Interrupt11 |
Kanal3 |
Setzen Sie den gewünschten Kanal im Systemregister auf "Pulsausgabe".
Wenn dieser Befehl ausgeführt wird, schaltet der Merker "Auswertung aktiv" (z.B. sys_bIsPulseChannel0ControlActive) für den benutzten Kanal auf TRUE. Andere schnelle Zählerbefehle mit Ausgangssteuerung (F166_PulseOutput_Set oder F167_PulseOutput_Reset), die denselben Kanal nutzen, können nicht ausgeführt werden, solange dieser Merker auf TRUE steht.
Dieser Befehl kann vor oder nach einem beliebigen Pulsausgabebefehl, ausgenommen F173_PulseOutput_PWM, ausgeführt werden.
Die Benutzung eines Ausgangs in anderen Befehlen (OUT, SET, RST, KEEP, andere F-Befehle) wird vom System nicht überprüft (keine Erkennung einer Doppelbelegung).
Um die Ausführung eines Befehls abzubrechen, setzen Sie Bit 2 des Datenregisters, in dem der Pulsausgabesteuercode (sys_wHscOrPulseControlCode) gespeichert wird, auf TRUE. Der Kontrollmerker "Pulsausgabe" wird auf FALSE gesetzt. Um die Ausführung des Befehls wieder zu aktivieren, setzen Sie Bit 2 auf FALSE zurück.
Wenn sowohl das Hauptprogramm als auch das Interrupt-Programm Code für denselben Kanal enthalten, dürfen die Programme nicht gleichzeitig ausgeführt werden.
Es ist unbedingt empfehlenswert, die Möglichkeit eines erzwungenen Stopps in Ihrem Positionierprogramm vorzusehen.
Der Status des Kontrollmerkers für den schnellen Zähler oder den Pulsausgang kann sich innerhalb eines Zyklus ändern.
In der globalen Variablenliste können Sie Variablen festlegen, die von allen POEs des Projekts verwendet werden können.
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
VAR_EXTERNAL
out_0: BOOL:=FALSE;
(*output Y0 of PLC*)
END_VAR
VAR
start: BOOL:=FALSE;
(*start condition*)
@'': @'';
END_VAR
Wenn die Variable start auf TRUE gesetzt wird, wird die Funktion ausgeführt.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,F167_PulseOutput_Reset!,Instance,12,0,26,5,,?DEN?Hn_diPulseOutputChannel?Ds_diTargetValue?AENO?Cd_Y);
B(B_VARIN,,0,10,2,12,4,);
B(B_VARIN,,-200,10,3,12,5,);
B(B_VAROUT,,out_0,26,2,28,4,);
B(B_CONTACT,,start,5,1,7,3,R);
L(1,2,5,2);
L(7,2,12,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(start) then
F167_PulseOutput_Reset(n_diPulseOutputChannel := 0,
s_diTargetValue := -200,
d_Y => out_0);
END_IF;