F166_PulseOutput_Set

Valeur de consigne atteinte : activation de la sortie (sortie impulsionnelle)

Lorsque la valeur courante correspond à la valeur de consigne de la sortie impulsionnelle, la sortie spécifiée passe immédiatement à TRUE.

Paramètres

Entrée

n_diPulseOutputChannel (DINT)

Voie de la sortie impulsionnelle :0–3

s_diTargetValue (DINT)

Permet d’indiquer une valeur de données de 32 bits pour la valeur de consigne dans l’intervalle suivant : : -2147483467 à +2147483648

Sortie

d_Y (BOOL)

Sortie passant à TRUE lorsque la valeur courante correspond à la valeur de consigne :Y0–Y1F

Remarques

  • Caractéristiques de la sortie impulsionnelle

    Valeur de consigne: 10000

    (1)

    Valeur courante de la sortie impulsionnelle

    (2)

    Condition d’exécution

    (3)

    Drapeau "Contrôle de sortie actif"

    (4)

    Sortie API

    La sortie API passe à TRUE lorsque la valeur courante correspond à la valeur de consigne. De plus, le drapeau "Contrôle de sortie actif" passe à FALSE et l’instruction est désactivée.Si la sortie spécifiée n’est pas implémentée, seule la mémoire interne de l’adresse WY correspondante est définie ou réinitialisée.

  • Opération d’interruption

    Le programme d’interruption est exécuté lorsque la valeur courante correspond à la valeur de consigne. Toute interruption entrée dans la liste des tâches est activée automatiquement. Un numéro de programme d’interruption spécial est affecté à chaque numéro de voie.

  • Voies utilisées par les programmes d’interruption :

    Interrupt8

    Voie0

    Interrupt9

    Voie1

    Interrupt10

    Voie2

    Interrupt11

    Voie3

Informations générales sur la programmation

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

  • Lors de l’exécution de cette instruction, le drapeau "Contrôle de sortie actif" (par ex. sys_bIsPulseChannel0ControlActive) pour la voie utilisée passe à TRUE. Aucune autre instruction du compteur rapide avec contrôle de sortie (F166_PulseOutput_Set ou F167_PulseOutput_Reset) utilisant la même voie, ne peut être exécutée tant que le drapeau de contrôle est TRUE.

  • Cette instruction est disponible pour toutes les instructions de sortie impulsionnelle, à l’exception de F173_PulseOutput_PWM, et peut être exécutée avant ou après exécution d’une instruction de sortie impulsionnelle.

  • FPWIN Pro ne contrôle pas si une sortie est utilisée dans d’autres instructions (OUT, SET, RST, KEEP et autres instructions F). Une sortie double n’est pas détectée.

  • Pour qu’une sortie API passe à FALSE après avoir été commutée sur TRUE par cette instruction, utilisez une instruction RST ou MOVE.

  • Lorsque le bit 2 du registre de données, dans lequel le code de contrôle de la sortie impulsionnelle (sys_wHscOrPulseControlCode) est sauvegardé, est sur TRUE, l’exécution des instructions de sortie impulsionnelle est annulée et le drapeau de contrôle de la sortie impulsionnelle passe à FALSE. Réinitialisez le bit 2 sur FALSE pour permettre l’exécution des instructions à nouveau.

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

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

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)
  • Si le numéro de voie ou les valeurs du tableau de données sont en dehors de l’intervalle autorisé.
  • Si la sortie impulsionnelle n’a pas été définie dans les registres système.
sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)
  • Si le numéro de voie ou les valeurs du tableau de données sont en dehors de l’intervalle autorisé.
  • Si la sortie impulsionnelle n’a pas été définie dans les registres système.

Exemple

GVL

Dans la liste des variables globales, vous définissez des variables qui sont accessibles par tous les POU dans le projet.

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
		out_0: BOOL:=FALSE;
			(*output Y0 of PLC*)
	END_VAR
	VAR 
		start: BOOL:=FALSE;
			(*start condition*)
		@'': @'';
	END_VAR

Corps du POU

La fonction est exécutée lorsque la variable start 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 := 6 ;
        NETWORK_BODY
B(B_F,F166_PulseOutput_Set!,Instance,12,1,26,6,,?DEN?Hn_diPulseOutputChannel?Ds_diTargetValue?AENO?Cd_Y);
B(B_VARIN,,0,10,3,12,5,);
B(B_VARIN,,10,10,4,12,6,);
B(B_VAROUT,,out_0,26,3,28,5,);
B(B_CONTACT,,start,5,2,7,4,R);
L(1,3,5,3);
L(7,3,12,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

IF DF(start) then
    F166_PulseOutput_Set(n_diPulseOutputChannel := 0, 
          s_diTargetValue := 10, 
          d_Y => out_0);
END_IF;

Modifié le : 2023-03-16Feedback on this pagePanasonic hotline