F383_Positioning_StartMultiple

Démarrage simultané de multiples tables de positionnement

Cette instruction démarre plusieurs tables de positionnement simultanément. Le nombre de tables de positionnement est spécifié par s1_dutMultipleChannels. Chaque table de positionnement contrôle un seul axe comme spécifié avec Configurator PMX Les tables de contrôle de la position finale, du point de passage, du point C peuvent être démarrées.

Paramètres

Entrée

s1_dutMultipleChannels (F383_MultipleChannels_DUT)

Zone de départ du registre de données qui sauvegarde les numéros des tables de données qui doivent être démarrées simultanément

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

  • Les voies doivent être disponibles pour que l’instruction puisse être exécutée et les tables de positionnement démarrées simultanément. Lorsque l’une des voies spécifiée est occupée, les tables de positionnement ne sont pas démarrées simultanément et le process est terminé. Utilisez FP_POS_UNIT_GET_STATUS pour trouver l’état de chaque voie.

  • Utilisez F380_Positioning_Start pour démarrer une interpolation linéaire. Lorsque la table de contrôle des axes d’interpolation a été spécifiée avec F383_Positioning_StartMultiple, une erreur d’autodiagnostic (erreur d’opération du positionnement) apparaît.

  • s1_dutMultipleChannels démarre le numéro de la table de positionnement de chaque voie.

  • Vous ne pouvez spécifier que des tables de positionnement pour le contrôle d’un seul axe.

  • Les numéros de tables de positionnement valides sont 0–20. Si 0 est spécifié comme numéro de table de positionnement, la voie est exclue du démarrage simultané.

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 la voie ou le numéro de table de positionnement 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 la voie ou le numéro de table de positionnement 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
		bStartMultiple: BOOL:=FALSE;
		dutChannels: F383_MultipleChannels_DUT;
	END_VAR

Corps du POU

La fonction est exécutée lorsque la variable bStartMultiple passe de FALSE à 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 := 5 ;
        NETWORK_BODY
B(B_F,F383_Positioning_StartMultiple!,,11,1,25,5,,?DEN?Ds1_dutMultipleChannels?AENO);
B(B_CONTACT,,bStartMultiple,4,2,6,4,);
B(B_VARIN,,dutChannels,9,3,11,5,);
L(1,3,4,3);
L(1,0,1,5);
L(6,3,11,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF (bStartMultiple) then
    F383_Positioning_StartMultiple(s1_dutMultipleChannels := dutChannels);
END_IF;

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