F172_PulseOutput_Jog

Opération JOG

Cette instruction est utilisée pour l’opération JOG. Le nombre d’impulsions indiqué est sorti lorsque l’entrée déclenchement du contrôle de positionnement devient TRUE. La sortie impulsionnelle décélère jusqu’à ce que la valeur de consigne soit atteinte puis elle s’arrête. Les impulsions sont émises en sortie de la voie indiquée lorsque le drapeau de contrôle de cette voie est FALSE et la condition d’exécution est TRUE.

Paramètres

Entrée

s_dutDataTable

Adresse de départ de la zone contenant le tableau de données

  • 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* (constante décimale)

Voie de la sortie impulsionnelle :

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

Description pour FP-Sigma, FP-X

Utilisez le DUT prédéfini suivant : F172_PulseOutput_Jog_Type0_DUT_0 (Mode avec valeur de consigne) ou F172_PulseOutput_Jog_Type1_DUT_0 (Mode arrêt valeur de consigne atteinte)

Les paramètres suivants peuvent être indiqués dans le DUT :
  • Code de contrôle
  • Fréquence
  • Valeur de consigne

Caractéristiques de la sortie impulsionnelle

La fréquence et la valeur de consigne peuvent être modifiées à chaque scrutation. Le code de contrôle, cependant, ne peut pas être modifié pendant l’exécution de l’instruction. Sélectionnez un des deux modes de fonctionnement :

  • Mode avec valeur de consigne (type 0) :

    Les impulsions sont émises en sortie, en fonction des conditions définies dans le DUT, tant que la condition d’exécution est TRUE.
    1.  (1) Condition d’exécution
    2.  (2) Sortie impulsionnelle sens horaire (CW)
  • Mode arrêt valeur de consigne atteinte (type 1) :

    Arrêt de la sortie lorsque la valeur de consigne est atteinte. Définissez ce mode dans le code de contrôle et indiquez la valeur de consigne (une valeur absolue) dans le DUT. (FPSV1.4 ou supérieure, FP-X)

    1.  (1) Condition d’exécution
    2.  (2) Sortie impulsionnelle sens horaire (CW)
    3.  (3) Valeur de consigne atteinte (arrêt de la sortie impulsionnelle)

Informations générales sur la programmation

AVIS

Dès que vous éditez un programme utilisant cette instruction en mode en ligne (c.à-d. en mode RUN), la sortie impulsionnelle s’arrête.

Si le programme principal et le programme d’interruption contiennent le code de la même voie, veillez à ce qu’ils ne soient pas exécutés simultanément.

  • FP-X : Lorsqu’une instruction de sortie impulsionnelle est exécutée et lorsque des impulsions sont sorties, le drapeau de contrôle de la sortie impulsionnelle (par ex. sys_bIsPulseChannel0Active) de la voie correspondante est TRUE. Aucune autre instruction de sortie impulsionnelle ne peut être exécutée tant que ce drapeau est TRUE.

  • FPS : Le drapeau de contrôle du compteur rapide (par ex. sys_bIsHscChannel0ControlActive) et le drapeau de contrôle de la sortie impulsionnelle (par ex. sys_bIsPulseChannel0Active) sont affectés au même drapeau interne (par ex. R903A). Par conséquent, lorsqu’une instruction du compteur rapide ou de la sortie impulsionnelle est exécutée, le drapeau de contrôle du compteur rapide (par ex. sys_bIsHscChannel0ControlActive) et le drapeau de contrôle de la sortie impulsionnelle (par ex. sys_bIsPulseChannel0Active) pour la voie utilisée sont sur TRUE. Aucune instruction du compteur rapide ou de la sortie impulsionnelle ne peut être exécutée tant que ce drapeau est sur TRUE.

  • FPS : L’exécution de l’instruction de contrôle de l’interpolation circulaire F176_PulseOutput_Center définit le drapeau de contrôle de l’interpolation circulaire (sys_bIsCircularInterpolationActive) sur TRUE. L’état de ce drapeau est maintenu jusqu’à ce que la valeur de consigne soit atteinte (même si la condition d’exécution n’est plus TRUE). Pendant ce temps, les autres instructions de sortie impulsionnelle ne peuvent pas être exécutées.

  • FPS : Définissez un des compteurs rapides affectés à une voie de sortie impulsionnelle sur "Inutilisé" dans les registres système.

  • FP-X : Définissez "Sortie impulsionnelle" pour la voie souhaitée dans les registres système.

  • Si l’exécution de l’instruction est démarrée avec une valeur de fréquence invalide, une erreur de fonctionnement apparaît. Si la fréquence est modifiée pendant l’exécution de l’instruction et si la valeur est invalide, la sortie de la fréquence sera ajustée soit à la valeur minimale soit à la valeur maximale de l’intervalle autorisé.

  • Changer le code de contrôle pendant l’exécution de l’instruction n’aura aucun effet.
  • Dans votre programme de positionnement, nous recommandons fortement de permettre un arrêt forcé.

  • L’état du drapeau de contrôle du compteur rapide ou du drapeau de la sortie impulsionnelle peut changer au cours d’une scrutation. Par exemple, si le nombre d’octets reçus est lu plusieurs fois, il peut y avoir plusieurs états au cours d’une scrutation.

Description pour FP0R

Utilisez le DUT prédéfini suivant : F172_PulseOutput_Jog_Type0_DUT_1 (Mode avec valeur de consigne) ou F172_PulseOutput_Jog_Type1_DUT_1 (Mode arrêt valeur de consigne atteinte)

Les paramètres suivants peuvent être indiqués dans le DUT :

  • Code de contrôle
  • Vitesse initiale et finale
  • Vitesse de consigne
  • Temps d’accélération
  • Temps de décélération
  • Valeur de consigne

Caractéristiques de la sortie impulsionnelle

  1.  (1) Vitesse de consigne1
  2.  (2) Vitesse de consigne2
  3.  (3) Drapeau de contrôle de la sortie impulsionnelle
  4.  (4) Condition d’exécution
  • La fréquence de la sortie impulsionnelle change selon les temps d’accélération et de décélération spécifiés.
  • La différence entre la vitesse maximale de 50kHz et la vitesse initiale détermine la pente de la rampe d’accélération.
  • La différence entre la vitesse maximale de 50kHz et la vitesse finale détermine la pente de la rampe de décélération.
  • Lorsque la condition d’exécution passe à FALSE après le démarrage de l’instruction, un arrêt décéléré est exécuté.
  • Lorsque la condition d’exécution passe à TRUE pendant la décélération, une accélération est exécutée à nouveau.
  • La vitesse de consigne peut être modifiée pendant la sortie impulsionnelle.
  • Sorties impulsionnelles avec un rapport impulsion/pause de 25%.
  • En utilisant le type de sortie impulsionnelle "Impulsionnnelle/sens de rotation", les impulsions sont sorties env. 300ms après que le signal du sens de rotation a été émis. Ce délai peut varier en fonction des caractéristiques du driver.
  • Lorsqu’un arrêt décéléré est demandé pendant l’accélération, la décélération est réalisée avec la même pente que la décélération à partir de la vitesse de consigne.
  • Les temps d’accélération et de décélération ont priorité sur la vitesse initiale et la vitesse finale. Cela signifie que les valeurs pour les temps d’accélération et de décélération ne seront pas modifiées tandis que les valeurs des vitesses initiales et finales peuvent être corrigées par l’instruction de sortie impulsionnelle pour permettre l’accélération et la décélération dans le temps défini. Les valeurs modifiées sont écrites vers les registres de données accessibles à l’aide des variables système sys_iPulseChannelxCorrectedInitialSpeed et sys_iPulseChannelxCorrectedFinalSpeed (où x=numéro de voie).

Sélectionnez un des deux modes de fonctionnement :

  • Mode avec valeur de consigne (type 0) :

    Les impulsions sont émises en sortie, en fonction des conditions définies dans le DUT, tant que la condition d’exécution est TRUE. Un arrêt décéléré commence lorsque la condition d’exécution est FALSE.

    1.  (1) Vitesse initiale et finale
    2.  (2) Modification de la vitesse de consigne
    3.  (3) Condition d’exécution
    4.  (4) Drapeau de contrôle de la sortie impulsionnelle
    5.  (5) Arrêt décéléré
  • Mode arrêt valeur de consigne atteinte (type 1) :

    Arrêt de la sortie lorsque la valeur de consigne est atteinte. Définissez ce mode dans le code de contrôle et indiquez la valeur de consigne (une valeur absolue) dans le DUT. Un arrêt décéléré se produit lorsque la valeur de consigne est atteinte. La décélération est réalisée dans le temps de décélération indiqué.

    1.  (1) Vitesse initiale et finale
    2.  (2) Modification de la vitesse de consigne
    3.  (3) Condition d’exécution
    4.  (4) Drapeau de contrôle de la sortie impulsionnelle
    5.  (5) Valeur de consigne
    6.  (6) Temps de décélération

Modifier la vitesse de consigne pendant la sortie impulsionnelle

  • Si la valeur courante atteint une zone non autorisée au départ de l’accélération (par ex. sys_diPulseChannel0AccelerationForbiddenAreaStartingPosition) l’accélération ne sera pas exécutée.
  • La vitesse de décélération ne peut pas être inférieure à la vitesse finale corrigée.

Informations générales sur la programmation

AVIS

Dès que vous éditez un programme utilisant cette instruction en mode en ligne (c.à-d. en mode RUN), la sortie impulsionnelle s’arrête.

Si le programme principal et le programme d’interruption contiennent le code de la même voie, veillez à ce qu’ils ne soient pas exécutés simultanément.

  • Lorsqu’une instruction de sortie impulsionnelle est exécutée et lorsque des impulsions sont sorties, le drapeau de contrôle de la sortie impulsionnelle (par ex. sys_bIsPulseChannel0Active) de la voie correspondante est TRUE. Aucune autre instruction de sortie impulsionnelle ne peut être exécutée tant que ce drapeau est TRUE.
  • Changer le code de contrôle pendant l’exécution de l’instruction n’aura aucun effet.
  • Dans votre programme de positionnement, nous recommandons fortement de permettre un arrêt forcé.

  • L’état du drapeau de contrôle du compteur rapide ou du drapeau de la sortie impulsionnelle peut changer au cours d’une scrutation. Par exemple, si le nombre d’octets reçus est lu plusieurs fois, il peut y avoir plusieurs états au cours d’une scrutation.

Exemple

En-tête du POU

Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU.Le même en-tête de POU est utilisé pour tous les langages de programmation.

	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

Corps en LD

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

Corps en ST

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

Modifié le : 2023-03-16Commentaires sur cette pageAssistance téléphonique