F172_PulseOutput_Jog

Tipp-Betrieb

Dieser Befehl wird für den Tipp-Betrieb verwendet. Wenn der Positionierungstrigger-Eingang auf TRUE gesetzt wird, wird die zuvor festgelegte Zahl von Pulsen ausgegeben. Ehe der Sollwert erreicht ist und die Pulsausgabe endet, wird eine Abbremsung ausgeführt. Die Pulse werden vom angegebenen Kanal ausgegeben, wenn der Kontrollmerker für diesen Kanal FALSE und die Ausführungsbedingung TRUE ist.

Parameter

Eingang

s_dutDataTable

Anfangsadresse des Bereiches, der die Datentabelle enthält

  • FP-S, FP-X:

    F172_PulseOutput_Jog_Type0_DUT_0

    F172_PulseOutput_Jog_Type1_DUT_0

  • FP0R:

    F172_PulseOutput_Jog_Type0_DUT_1

    F172_PulseOutput_Jog_Type1_DUT_1

n_iPulseOutputChannel* (Dezimalkonstante)

Pulsausgabekanal:

FP-XH C30 T/P: 0–3

FP-XH C60 T/P: 0–5

FP-S: 0,2

FP-X R: 0,1

FP-XC14T: 0,1,2

FP-X C30T/C60T: 0,1,2,3

FP0R: 0,1,2,3

Beschreibung für FP-Sigma, FP-X

Verwenden Sie folgende, vordefinierte strukturierte Datentypen: F172_PulseOutput_Jog_Type0_DUT_0 (Ohne Sollwertvergleich) oderF172_PulseOutput_Jog_Type1_DUT_0 (Mit Sollwertvergleich)

Im SDT lassen sich folgende Parameter festlegen:
  • Steuercode
  • Frequenz
  • Sollwert

Merkmale der Pulsausgabe

Die Frequenz und der Sollwert können in jedem Zyklus geändert werden. Der Steuercode kann jedoch nicht während der Befehlsausführung geändert werden.Es gibt zwei verschiedene Betriebsarten:

  • Ohne Sollwertvergleich (Typ 0):

    Solange die Ausführungsbedingung TRUE ist, erfolgt die Pulsausgabe entsprechend den Werten im strukturierten Datentyp.
    1.  (1) Ausführungsbedingung
    2.  (2) Rechtslaufausgang
  • Mit Sollwertvergleich (Typ 1):

    Die Pulsausgabe stoppt, wenn der Sollwert erreicht ist. Setzen Sie diesen Modus im Steuercode und geben Sie den Sollwert (absoluter Wert) im SDT an. (FPSV1.4 oder neuer, FP-X)

    1.  (1) Ausführungsbedingung
    2.  (2) Rechtslaufausgang
    3.  (3) Sollwert erreicht (Pulsausgabe stoppt)

Allgemeine Programmierhinweise

Wenn Sie Programme, die diesen Befehl verwenden, im RUN-Modus bearbeiten (Online-Editieren), wird die Pulsausgabe beendet.

Wenn sowohl das Hauptprogramm als auch das Interrupt-Programm Code für denselben Kanal enthalten, dürfen die Programme nicht gleichzeitig ausgeführt werden.

  • FP-X: Während der Ausführung eines Pulsausgabefehls und der Ausgabe von Pulsen steht der Kontrollmerker "Pulsausgabe" des entsprechenden Kanals (z.B. sys_bIsPulseChannel0Active) auf TRUE. Solange der Merker auf TRUE steht, kann kein anderer Pulsausgabebefehl ausgeführt werden.

  • FPS: Der Kontrollmerker "Schneller Zähler" (z.B. sys_bIsHscChannel0ControlActive) und der Kontrollmerker "Pulsausgabe" (z.B. sys_bIsPulseChannel0Active) sind derselben Sondermerker-Nummer zugeordnet (z.B. R903A). Daher ist sowohl der Kontrollmerker für den schnellen Zähler (z.B. sys_bIsHscChannel0ControlActive) als auch der Kontrollmerker für die Pulsausgabe (z.B. sys_bIsPulseChannel0Active) für den betreffenden Kanal TRUE, wenn ein schneller Zählerbefehl oder ein Pulsausgabebefehl ausgeführt wird. Solange dieser Merker auf TRUE steht, kann kein anderer schneller Zählerbefehl oder Pulsausgabebefehl ausgeführt werden.

  • FPS: Wennn der Kreisinterpolationsbefehl F176_PulseOutput_Center ausgeführt wird, wird der Kontrollmerker "Kreisinterpolation" (sys_bIsCircularInterpolationActive) auf TRUE gesetzt, Der Status dieses Merkers bleibt erhalten, bis der Zielwert erreicht ist (auch wenn die Ausführungsbedingung nicht mehr TRUE ist). In dieser Zeit lassen sich keine anderen Pulsausgabebefehle ausführen.

  • FPS: Setzen Sie einen schnellen Zähler, der einem Pulsausgabekanal zugeordnet ist, in den Systemregistern auf "Unbenutzt".

  • FP-X: Setzen Sie den gewünschten Kanal im Systemregister auf "Pulsausgabe".

  • Wird die Befehlsausführung mit einem ungültigen Frequenzwert gestartet, tritt ein Operationsfehler auf. Wenn die Frequenz während der Befehlsausführung einen ungültigen Wert erhält, wird die ausgegebene Frequenz entweder auf den untersten oder obersten Wert des zulässigen Bereichs eingestellt.

  • Eine Änderung des Steuercodes während der Befehlsausführung hat keine Auswirkungen.
  • 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.

Beschreibung für FP0R

Verwenden Sie folgende, vordefinierte strukturierte Datentypen: F172_PulseOutput_Jog_Type0_DUT_1 (Ohne Sollwertvergleich) oder F172_PulseOutput_Jog_Type1_DUT_1 (Mit Sollwertvergleich)

Im SDT lassen sich folgende Parameter festlegen:

  • Steuercode
  • Anfangs- und Restgeschwindigkeit
  • Sollgeschwindigkeit
  • Beschleunigungszeit
  • Bremszeit
  • Sollwert

Merkmale der Pulsausgabe

  1.  (1) Sollgeschwindigkeit1
  2.  (2) Sollgeschwindigkeit2
  3.  (3) Kontrollmerker für Pulsausgabe
  4.  (4) Ausführungsbedingung
  • Die Pulsausgabefrequenz ändert sich mit der angegebenen Beschleunigungs- und Bremszeit.
  • Der Unterschied zwischen der Maximalgeschwindigkeit von 50kHz und der Anfangsgeschwindigkeit bestimmt die Steigung der Beschleunigungsrampe.
  • Der Unterschied zwischen der Maximalgeschwindigkeit von 50kHz und der Endgeschwindigkeit bestimmt die Steigung der Bremsrampe.
  • Wenn die Ausführungsbedingung nach dem Befehlsstart auf FALSE schaltet, wird ein abgebremster Stopp ausgeführt.
  • Wenn die Ausführungsbedingung während des Bremsvorgangs auf TRUE schaltet, wird wieder beschleunigt.
  • Die Sollgeschwindigkeit lässt sich während der Pulsausgabe ändern.
  • Die Pulse werden mit einem Puls-Pausenverhältnis von 25% ausgegeben.
  • Bei der Verwendung der Methode Pulsausgabe/Richtungsanzeige werden die Pulse ca. 300ms nach der Ausgabe des Richtungsanzeigesignals ausgegeben; das Verhalten des Motorantriebs wird gleichzeitig berücksichtigt.
  • Wenn während der Beschleunigung das Signal für einen gebremsten Halt ausgelöst wird, wird der Bremsvorgang mit derselben Geschwindigkeit ausgeführt wie der normale Bremsvorgang, der von der Sollgeschwindigkeit ausgeht.
  • Die Beschleunigungs- und Bremszeit hat Priorität gegenüber der Anfangs- und Endgeschwindigkeit. Das heißt, die Werte für die Beschleunigungs- und Bremszeit werden nicht geändert, während die Werte für die Anfangs- und Endgeschwindigkeit vom Pulsausgabebefehl korrigiert werden können, um die Beschleunigung und den Bremsvorgang in der festgelegten Zeit zu erreichen. Die geänderten Werte werden in die Datenregister geschrieben, auf die Sie über die Systemvariablen sys_iPulseChannelxCorrectedInitialSpeed and sys_iPulseChannelxCorrectedFinalSpeed zugreifen können (wobei x=Kanalnummer)

Es gibt zwei verschiedene Betriebsarten:

  • Ohne Sollwertvergleich (Typ 0):

    Solange die Ausführungsbedingung TRUE ist, erfolgt die Pulsausgabe entsprechend den Werten im strukturierten Datentyp.Ein gebremster Halt beginnt, sobald die Ausführungsbedingung FALSE ist.

    1.  (1) Anfangs- und Restgeschwindigkeit
    2.  (2) Änderung der Sollgeschwindigkeit
    3.  (3) Ausführungsbedingung
    4.  (4) Kontrollmerker für Pulsausgabe
    5.  (5) Gebremster Halt
  • Mit Sollwertvergleich (Typ 1):

    Die Pulsausgabe stoppt, wenn der Sollwert erreicht ist. Setzen Sie diesen Modus im Steuercode und geben Sie den Sollwert (absoluter Wert) im SDT an.Wenn der Sollwert erreicht ist, wird ein gebremster Halt ausgeführt. Der Bremsvorgang wird in der angegebenen Bremszeit durchgeführt.

    1.  (1) Anfangs- und Restgeschwindigkeit
    2.  (2) Änderung der Sollgeschwindigkeit
    3.  (3) Ausführungsbedingung
    4.  (4) Kontrollmerker für Pulsausgabe
    5.  (5) Sollwert
    6.  (6) Bremszeit

Sollgeschwindigkeit während der Pulsausgabe ändern

  • Wenn der Istwert während der Beschleunigung den Beschleunigungswert überschreitet (z.B. sys_diPulseChannel0AccelerationForbiddenAreaStartingPosition), wird die Beschleunigung gestoppt.
  • Die Bremsgeschwindigkeit kann nicht unter der korrigierten Restgeschwindigkeit liegen.

Allgemeine Programmierhinweise

Wenn Sie Programme, die diesen Befehl verwenden, im RUN-Modus bearbeiten (Online-Editieren), wird die Pulsausgabe beendet.

Wenn sowohl das Hauptprogramm als auch das Interrupt-Programm Code für denselben Kanal enthalten, dürfen die Programme nicht gleichzeitig ausgeführt werden.

  • Während der Ausführung eines Pulsausgabefehls und der Ausgabe von Pulsen steht der Kontrollmerker "Pulsausgabe" des entsprechenden Kanals (z.B. sys_bIsPulseChannel0Active) auf TRUE. Solange der Merker auf TRUE steht, kann kein anderer Pulsausgabebefehl ausgeführt werden.
  • Eine Änderung des Steuercodes während der Befehlsausführung hat keine Auswirkungen.
  • 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.

Beispiel

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
		bActivateJog: BOOL:=FALSE;
	END_VAR
	VAR 
		dutJog: F172_PulseOutput_Jog_Type0_DUT_0:=dwControlCode := 16#1110;
			(*Control code:
Digit 3: 1=Duty ratio 25%
Digit 2: 1=Frequency range 48Hz-100kHz
Digit 1: 1=Incremental counting
Digit 0: 0=CW*)
		diSpeed: DINT:=300;
		@'': @'';
	END_VAR

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bActivateJog,4,1,6,3,);
B(B_F,E_MOVE!,Instance,16,0,22,4,,?DEN?D?AENO?C);
B(B_VARIN,,diSpeed,14,2,16,4,);
B(B_VAROUT,,dutJog.diSpeed,22,2,24,4,);
L(1,2,4,2);
L(6,2,16,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bActivateJog,4,1,6,3,);
B(B_VARIN,,dutJog,14,2,16,4,);
B(B_VARIN,,0,14,3,16,5,);
B(B_F,F172_PulseOutput_Jog!,Instance,16,0,29,5,,?DEN?Ds_dutDataTable?Hn_iPulseOutputChannel?AENO);
L(1,2,4,2);
L(6,2,16,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

 (bActivateJog) then
  dutJog.diSpeed:=diSpeed;
END_IF;
IF (bActivateJog) then
  F172_PulseOutput_Jog(s_dutDataTable := dutJog, 0);
END_IF;

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