PulseOutput_Jog_Positioning0_FB

Tipp-Betrieb und Positionierung

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.Die Geschwindigkeit lässt sich nur innerhalb des für die Sollgeschwindigkeit festgelegten Bereichs ändern.

Parameter

Eingang

bExecute (BOOL)

Die Ausführungsbedingung kann sein:

  • mit Flankentrigger

  • dauerhaft, wenn eine Änderung der Geschwindigkeit erforderlich ist

bAbsoluteBOOL:=FALSE

Nur Relativwertpositionierung möglich; muss immer FALSE sein, andernfalls wird ein Fehler ausgegeben.

diInitialAndFinalSpeed (DINT)

Anfangs- und Restgeschwindigkeit (F171_PulseOutput_Trapezoidal): 1 bis 50000 (1Hz–50kHz)

diTargetSpeed (DINT)

Sollgeschwindigkeit: Setzen Sie diesen Wert gemäß dem in PulseOutput_Channel_Configuration_DUT festgelegten Frequenzbereich:

FPS, FP-X: 1 bis 9800 (1,5Hz–9,8kHz)

48 bis 100000 (48Hz–100kHz)

191 bis 100000 (191–100kHz)

F171_PulseOutput_Trapezoidal: 1 bis 50000 (1Hz–50kHz)

FP0, F168_PulseOutput_Trapezoidal: 40 bis 5000 (40Hz–5kHz)

diAccelerationTime (DINT)

Beschleunigungszeit (F171_PulseOutput_Trapezoidal): 1ms–32760ms (bis zur maximalen Geschwindigkeit)

diDecelerationTime (DINT)

Bremszeit (F171_PulseOutput_Trapezoidal): 1ms–32760ms (ab der maximalen Geschwindigkeit)

diTargetValue (DINT)

Sollwert [Pulse]: -2147483648–2147483647

dutChannelConfigurationVordefinierter System-SDT für die Kanalkonfiguration: PulseOutput_Channel_Configuration_DUT

Ausgang

bError (BOOL)

TRUE, wenn ein zugewiesener Eingangswert falsch ist. Der Funktionsbaustein wird nicht weiter ausgeführt.

TRUE, wenn der zugewiesene Kanal nicht in den Systemregistern aktiviert ist, oder wenn bAbsolute TRUE ist

Anmerkungen

Dieser Nicht-Inline-Befehl ist Teil der Tool-Befehle für die Pulsausgabe. Eine ausführliche Beschreibung der intern verwendeten Befehle finden Sie in der :F171_PulseOutput_Jog_Positioning. Prüfen Sie mit PulseInfo_IsActive, ob der Kontrollmerker für den gewählten Kanal FALSE ist.Mit PulseControl_PulseOutputStop beenden Sie die Pulsausgabe am angegebenen Kanal. Mit PulseControl_DeceleratedStop führen Sie einen gebremsten Halt durch.

Beispiel

SDT

Mit einem strukturierten Datentyp (SDT) können zusammengesetzte Datentypen definiert werden. Ein SDT wird zunächst im SDT-Pool angelegt und dann wie die Standardtypen (BOOL, INT usw.) in der globalen Variablenliste oder im POE-Kopf verarbeitet.

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
		PulseOutput_Jog_Positioning0: PulseOutput_Jog_Positioning0_FB;
		bExecute: BOOL:=FALSE;
		ChannelConfiguration_DUT: PulseOutput_Channel_Configuration_DUT;
		bError: BOOL:=FALSE;
		bConfigureDUT: BOOL:=FALSE;
		bAbsolute: BOOL:=FALSE;
		@'': @'';
	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 := 24 ;
        NETWORK_BODY
B(B_CONTACT,,bConfigureDUT,4,1,6,3,);
B(B_F,E_MOVE!,,15,0,21,4,,?DEN?D?AENO?C);
B(B_VARIN,,1,13,2,15,4,);
B(B_F,E_MOVE!,,15,8,21,12,,?DEN?D?AENO?C);
B(B_VARIN,,FALSE,13,10,15,12,);
B(B_VAROUT,,ChannelConfiguration_DUT.bOutput_Pulse_ForwardFalse,21,10,23,12,);
B(B_F,E_MOVE!,,15,12,21,16,,?DEN?D?AENO?C);
B(B_F,E_MOVE!,,15,4,21,8,,?DEN?D?AENO?C);
B(B_VARIN,,TRUE,13,6,15,8,);
B(B_VAROUT,,ChannelConfiguration_DUT.bOutput_Pulse_ForwardTrue,21,6,23,8,);
B(B_VARIN,,TRUE,13,14,15,16,);
B(B_VAROUT,,ChannelConfiguration_DUT.iChannel,21,2,23,4,);
B(B_F,E_MOVE!,,15,16,21,20,,?DEN?D?AENO?C);
B(B_VARIN,,FALSE,13,18,15,20,);
B(B_VAROUT,,ChannelConfiguration_DUT.bDutyRatio25,21,18,23,20,);
B(B_VAROUT,,ChannelConfiguration_DUT.bAccelerationSteps60,21,14,23,16,);
B(B_VAROUT,,ChannelConfiguration_DUT.bFrequencyRange_191Hz_100kHz,21,22,23,24,);
B(B_VARIN,,TRUE,13,22,15,24,);
B(B_F,E_MOVE!,,15,20,21,24,,?DEN?D?AENO?C);
L(1,2,4,2);
L(6,2,15,2);
L(10,22,15,22);
L(10,18,15,18);
L(10,14,15,14);
L(10,10,15,10);
L(10,6,15,6);
L(10,18,10,22);
L(10,2,10,18);
L(1,0,1,24);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 11 ;
        NETWORK_BODY
B(B_VARIN,,600,10,4,12,6,);
B(B_VARIN,,12000,10,5,12,7,);
B(B_VARIN,,300,10,6,12,8,);
B(B_VARIN,,600,10,7,12,9,);
B(B_VARIN,,50000,10,8,12,10,);
B(B_VARIN,,ChannelConfiguration_DUT,10,9,12,11,);
B(B_VARIN,,bExecute,10,2,12,4,);
B(B_VAROUT,,bError,28,2,30,4,);
B(B_FB,PulseOutput_Jog_Positioning0_FB!,PulseOutput_Jog_Positioning0,12,1,28,11,,?BbExecute?BbAbsolute?BdiInitialAndFinalSpeed?BdiTargetSpeed?BdiAccelerationTime?BdiDecelerationTime?BdiTargetValue?BdutChannelConfiguration?AbError);
B(B_VARIN,,bAbsolute,10,3,12,5,);
L(1,0,1,11);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

(* Used DUT parameters *)
ChannelConfiguration_DUT.iChannel := 1;
ChannelConfiguration_DUT.bOutput_Pulse_ForwardTrue := TRUE;
ChannelConfiguration_DUT.bOutput_Pulse_ForwardFalse := FALSE;
ChannelConfiguration_DUT.bAccelerationSteps60 := FALSE;
ChannelConfiguration_DUT.bDutyRatio25 := TRUE;
ChannelConfiguration_DUT.bFrequencyRange_191Hz_100kHz := TRUE;
ChannelConfiguration_DUT.bExecuteInInterrupt := FALSE;
(* FB *)
PulseOutput_Jog_Positioning0(bExecute := bExecute,
             bAbsolute := bAbsolute             
             diInitialAndFinalSpeed := 600,
             diTargetSpeed := 12000,
             diAccelerationTime := 300,
             diDecelerationTime := 600,
             diTargetValue := 50000,
             dutChannelConfiguration := ChannelConfiguration_DUT,
             bError => bError);

Letzte Änderung am: 2021-07-28Feedback zu dieser SeitePanasonic Hotline