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
Entrée
Numéro de voie
Configurator PMX : SYS_PMX_CHANNEL_0–SYS_PMX_CHANNEL_3
Configurator PM7 : SYS_PM7_AXIS_1–SYS_PM7_AXIS_8
Numéro de table : 1–20
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.
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.
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.
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
La fonction est exécutée lorsque la variable bStartPositioning est sur TRUE.
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
IF DF(bStartPositioning) then
F380_Positioning_Start(s1_Channel := iChannel0,
s2_TableNumber := 3,
s3_OutputCalculationOnly := 0);
END_IF;