F167_PulseOutput_Reset

Zählervergleichsausgang zurücksetzen (Pulsausgabe)

Wenn der Istwert des gewählten Kanals den Sollwert erreicht, wird ein vorher bestimmter Ausgang sofort auf FALSE gesetzt.

Parameter

Eingang

n_diPulseOutputChannel (DINT)

Pulsausgabekanal: 0–3

s_diTargetValue (DINT)

Geben Sie für den Sollwert einen 32-Bit-Datenwert innerhalb des folgenden Bereichs ein: -2147483467 bis +2147483648

Ausgang

d_Y (BOOL)

Ausgang, der auf FALSE schaltet, wenn der Istwert dem Sollwert entspricht: Y0–Y1F

Anmerkungen

Merkmale der Pulsausgabe

Sollwert: -200

(1)

Istwert der Pulsausgabe

(2)

Ausführungsbedingung

(3)

Merker "Auswertung aktiv"

(4)

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

Allgemeine Programmierhinweise

  • 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.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • wenn die Kanalnummer oder Werte der Datentabelle außerhalb des zulässigen Bereichs liegen
  • wenn die Pulsausgabe nicht in den Systemregistern gesetzt wurde
sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn die Kanalnummer oder Werte der Datentabelle außerhalb des zulässigen Bereichs liegen
  • wenn die Pulsausgabe nicht in den Systemregistern gesetzt wurde

Beispiel

Globale Variablen

In der globalen Variablenliste können Sie Variablen festlegen, die von allen POEs des Projekts verwendet werden können.

POE-Kopf

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

POE-Rumpf

Wenn die Variable start auf TRUE gesetzt wird, wird die Funktion ausgeführt.

KOP-Rumpf

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

ST-Rumpf

IF DF(start) then
    F167_PulseOutput_Reset(n_diPulseOutputChannel := 0, 
          s_diTargetValue := -200, 
          d_Y => out_0);
END_IF;

Letzte Änderung am: 2023-03-16Feedback zu dieser SeitePanasonic Hotline