F380_Positioning_Start

Démarrer la table de positionnement

Cette instruction démarre le positionnement selon les données spécifiées dans la mémoire de positionnement (zone de la table de positionnement). Les opérations suivantes sont possibles :

  • Positionnement E : position finale

  • Positionnement P : contrôle du point de passage (P ® E)

  • Positionnement C : positionnement continu (C ® E)

  • Contrôle J : contrôle de la vitesse (J ® E)

  • Interpolation linéaire

Paramètres

Entrée

s1_Channel (WORD, INT, UINT)

Numéro de voie

Configurator PMX : SYS_PMX_CHANNEL_0SYS_PMX_CHANNEL_3

Configurator PM7 : SYS_PM7_AXIS_1SYS_PM7_AXIS_8

s2_TableNumber (WORD, INT, UINT)

Numéro de table : 1–20

s3_OutputCalculationOnly (WORD, INT, UINT)
Méthode de sortie :
  • 0 : sortie impulsionnelle
  • 1 : calcul uniquement

Remarques

  • Si une opérande est une valeur en dehors de l’intervalle autorisé, une erreur d’opération apparaît.

  • L’arrêt a priorité lorsque les conditions d’arrêt du système, d’arrêt d’urgence, d’arrêt limite et d’arrêt de décélération sont remplies.

  • Une erreur d’opération apparaît lorsque le registre système d’une voie spécifiée est autre que Sortie impulsionnelle [opération avec table].

  • Une erreur d’autodiagnostic (erreur d’opération du positionnement) apparaît lorsque la valeur de consigne ou la valeur de la mémoire du positionnement (zone configuration des axes) est anormale.

  • Lorsque la voie qui doit être démarrée est déjà en cours de fonctionnement, le contrôle de positionnement s’arrête.

  • Lorsque s3_OutputCalculationOnly est défini sur le calcul seulement, seul le calcul de table est exécuté. Lorsqu’un positionnement est démarré pour la même voie et la même table lors de la scrutation suivante après exécution du calcul, le temps de démarrage du contrôle de position est réduit.

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)
  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.

  • Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.

  • Si Sortie impulsionnelle [opération avec table] n’a pas été définie dans les registres système.

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • Si la zone spécifiée à l’aide du modificateur d’adresse est en dehors des limites autorisées.

  • Si une valeur spécifiée pour un paramètre est en dehors de l’intervalle autorisé.

  • Si Sortie impulsionnelle [opération avec table] n’a pas été définie dans les registres système.

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
		bStartPositioning: BOOL:=FALSE;
		iChannel0: INT:=0;
	END_VAR

Corps du POU

La fonction est exécutée lorsque la variable bStartPositioning est sur TRUE.

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 := 7 ;
        NETWORK_BODY
B(B_F,F380_Positioning_Start!,,13,1,27,7,,?DEN?Ds1_Channel?Ds2_TableNumber?Ds3_OutputCalculationOnly?AENO);
B(B_CONTACT,,bStartPositioning,6,2,8,4,R);
B(B_VARIN,,iChannel0,11,3,13,5,);
B(B_VARIN,,3,11,4,13,6,);
B(B_VARIN,,0,11,5,13,7,);
L(1,3,6,3);
L(8,3,13,3);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF DF(bStartPositioning) then
    F380_Positioning_Start(s1_Channel := iChannel0,
                           s2_TableNumber := 3,
                           s3_OutputCalculationOnly := 0);
END_IF;

Modifié le : 2024-06-03Commentaires sur cette pageAssistance téléphonique