F171_PulseOutput_Home

Referenzpunktfahrt

Anhand der Parameter im angegebenen strukturierten Datentyp wird eine Referenzpunktfahrt durchgefü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 (F171_PulseOutput_Home_DUT)

Anfangsadresse des Bereiches, der die Datentabelle enthält

n_iPulseOutputChannel* (Dezimalkonstante)

Pulsausgabekanal:

FP-S: 0,2

FP-X R: 0,1

FP-XC14T: 0,1,2

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

Anmerkungen

Nach dem Einschalten des Antriebssystems besteht ein vorher nicht bestimmbarer Versatz zwischen dem internen Positionswert (Istwert) und der mechanischen Position der Achse. Zur Herstellung des Positionsbezuges muss der interne Wert mit dem realen Positionswert der Achse synchronisiert werden. Die Synchronisation erfolgt durch Übernahme eines Positionswertes an einem bekannten Punkt (Referenzpunkt).Bei der Ausführung eines Referenzpunktfahrtbefehls werden so lange Pulse ausgegeben, bis der Referenzpunkteingang aktiviert wird. Die E/A-Zuweisung richtet sich nach dem verwendeten Kanal.Zum Abbremsen im Referenzpunktbereich geben Sie einen Referenzpunkteingang an und setzen Bit 4 des Sonderdatenregisters, in dem der Steuercode für die Pulsausgabe gespeichert wird (sys_wHscOrPulseControlCode), auf TRUE und zurück auf FALSE.Der Referenzpunktausgang kann auf TRUE gesetzt werden, wenn die Referenzpunktfahrt beendet ist.Während der Referenzpunktfahrt unterscheiden sich der Wert im Istwert-Speicherbereich und der tatsächliche Istwert. Wenn die Referenzpunktfahrt abgeschlossen ist, springt der Istwert auf 0.

Es gibt zwei verschiedene Betriebsarten:

  • Typ 1: Der Referenzpunkteingang wird aktiviert, unabhängig davon, ob ein Referenzpunkt-Sucheingang vorhanden ist, ob der Bremsvorgang bereits eingesetzt hat oder ob der Bremsvorgang abgeschlossen ist.

    • Ohne Referenzpunkt-Sucheingang:

    • Mit Referenzpunkt-Sucheingang:

      1.  (1) Anfangs- und Restgeschwindigkeit
      2.  (2) Sollgeschwindigkeit
      3.  (3) Referenzpunkt-Sucheingang: TRUE
      4.  (4) Referenzpunkteingang: TRUE
      5.  (5) Referenzpunkteingang jederzeit aktivierbar
  • Typ 2: Der Referenzpunkteingang kann nur aktiviert werden, nachdem der Bremsvorgang (ausgelöst durch einen Referenzpunkt-Sucheingang) abgeschlossen ist.

    1.  (1) Anfangs- und Restgeschwindigkeit
    2.  (2) Sollgeschwindigkeit
    3.  (3) Referenzpunkt-Sucheingang: TRUE
    4.  (4) Referenzpunkteingang: TRUE
    5.  (5) Referenzpunktfahrt erst aktivierbar, wenn Bremsvorgang abgeschlossen

Verwenden Sie folgende, vordefinierte strukturierte Datentypen:

F171_PulseOutput_Home_DUT

Im SDT lassen sich folgende Parameter festlegen:

  • Steuercode

  • Anfangs- und Restgeschwindigkeit

  • Sollgeschwindigkeit

  • Beschleunigungs-/Bremszeit

  • Referenzpunktausgangssignal

Merkmale der Pulsausgabe

  • Die Pulsausgabefrequenz ändert sich entsprechend der festgelegten Beschleunigungs- und Bremszeit.

  • Der Unterschied zwischen der Soll- und Anfangsgeschwindigkeit bestimmt die Steigung der Rampen..

Allgemeine Programmierhinweise

  • Selbst wenn der Referenzpunkt erreicht worden ist, werden Pulse ausgegeben, wenn dieser Befehls ausgeführt wird.

  • Wenn der Referenzpunkt-Sucheingang während der Beschleunigung aktiviert wird, beginnt der Bremsvorgang.

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

  • Das Referenzpunktausgangssignal wird bestimmten Ausgangsnummern zugewiesen, die für jeden SPS-Typ verschieden sind.

  • Wenn Sie Programme im RUN-Modus bearbeiten, wird die Pulsausgabe gestoppt und erst nach der Übertragung der Programmänderungen fortgesetzt.

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

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

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

Referenzpunktausgänge und -eingänge für FPS

Kanal-Nr.

Referenzpunktausgang

Referenzpunkteingang

0 Y2 X2
2 Y5 X5

Referenzpunktausgänge und -eingänge für FP-X C14R, C30/60R

Die Pulsausgabefunktion ist nur verfügbar, wenn die Kassette für Zähler und Pulsausgabe (AFPX-PLS) installiert wurde.

Kanal-Nr.

Referenzpunktausgang

Referenzpunkteingang

0
(Kassettenanschluss 1) Y102 X102
1
(Kassettenanschluss 2)
(nur C30/60R) Y202 X202

Referenzpunktausgänge und -eingänge für FP-X C14T, C30/60T

Kanal-Nr.

Referenzpunktausgang

Referenzpunkteingang

0 Y4 oder Y8 X4
1 Y5 oder Y9 X5
2 X6
3 (nur C30/60R) X7

Beispiel

Globale Variablen

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

SDT

Der SDT F171_PulseOutput_Home_DUT ist in der FP Library enthalten.

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
		X0_bMotorSwitch: BOOL:=FALSE;
			(*at X0*)
	END_VAR
	VAR 
		dutHome: F171_PulseOutput_Home_DUT:=dwControlCode := 16#1125;
			(*Control code:
Digit 3: 1= Duty ratio 25%
Digit 2: 1= Frequency range 48Hz-100kHz
Digit 1: 2 =Operation mode type 1
Ditig 0: 5= CCW +  deviation counter clear signal*)
		diInitialSpeed: DINT:=100;
		diTargetSpeed: DINT:=2000;
		diAccelerationTime: 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 := 16 ;
        NETWORK_BODY
B(B_CONTACT,,X0_bMotorSwitch,4,1,6,3,R);
B(B_F,E_MOVE!,Instance,17,4,23,8,,?DEN?D?AENO?C);
B(B_F,E_MOVE!,Instance,17,8,23,12,,?DEN?D?AENO?C);
B(B_VAROUT,,dutHome.diTargetSpeed,23,6,25,8,);
B(B_VARIN,,diTargetSpeed,15,6,17,8,);
B(B_VAROUT,,dutHome.diAccelerationDecelerationTime,23,10,25,12,);
B(B_VARIN,,diAccelerationTime,15,10,17,12,);
B(B_F,E_MOVE!,Instance,17,12,23,16,,?DEN?D?AENO?C);
B(B_VAROUT,,dutHome.diDeviationCounterClearSignalOutputTime,23,14,25,16,);
B(B_VARIN,,10,15,14,17,16,);
B(B_F,E_MOVE!,Instance,17,0,23,4,,?DEN?D?AENO?C);
B(B_VAROUT,,dutHome.diInitialAndFinalSpeed,23,2,25,4,);
B(B_VARIN,,diInitialSpeed,15,2,17,4,);
L(7,2,7,6);
L(7,6,7,10);
L(1,2,4,2);
L(6,2,7,2);
L(7,2,17,2);
L(7,6,17,6);
L(7,10,17,10);
L(7,10,7,14);
L(7,14,17,14);
L(1,0,1,16);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_CONTACT,,X0_bMotorSwitch,6,3,8,5,R);
B(B_VARIN,,dutHome,15,4,17,6,);
B(B_VARIN,,0,15,5,17,7,);
B(B_F,F171_PulseOutput_Home!,Instance,17,2,30,7,,?DEN?Ds_dutDataTable?Hn_iPulseOutputChannel?AENO);
B(B_COMMENT,,Example for home position return,1,1,18,2,);
L(1,4,6,4);
L(8,4,17,4);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

IF DF(X0_bMotorSwitch) then
    dutHome.diInitialAndFinalSpeed:=diInitialSpeed;
    dutHome.diTargetSpeed:=diTargetSpeed;
    dutHome.diAccelerationDecelerationTime:=diAccelerationTime;
    dutHome.diDeviationCounterClearSignalOutputTime:=10;
END_IF;
(*Example for home position return*)
IF DF(X0_bMotorSwitch) then
    F171_PulseOutput_Home(s_dutDataTable := dutHome,
    n_iPulseOutputChannel :=0);
END_IF;
Verwandte Themen

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