Écrire le code de contrôle de la sortie impulsionnelle

Possibilité d’accéder au registre spécial de données dans lequel le code de contrôle du compteur rapide et de la sortie impulsionnelle est sauvegardé, à l’aide de la variable système sys_wHscOrPulseControlCode. (La variable système sys_wHscOrPulseControlCode correspond au registre spécial de données DT90052.)

Opérations réalisées par le code de contrôle de la sortie impulsionnelle :

Le code de contrôle peut être paramétré pour chaque voie à l’aide des variables système sys_wHscChannelxControlCode ou sys_wPulseChannelxControlCode (avec x= le numéro de voie). Les paramètres de cette variable système restent identiques jusqu’à ce qu’ils soient redéfinis.
NOTA
  • Avec un arrêt forcé, les valeurs courantes en sortie d’automate et à l’entrée du moteur peuvent différer. Par conséquent, un retour à l’origine doit être exécuté après l’arrêt de la sortie impulsionnelle.
  • L’entrée proche de l’origine (near home) ne peut pas être paramétrée lorsque le comptage n’est pas autorisé ou lorsque le logiciel est réinitialisé.

Paramétrer/réinitialiser l’entrée proche de l’origine (near home)

Pour décélérer le mouvement à l’approche de la position d’origine, désignez une entrée proche de l’origine (near home) et définissez le bit 4 du registre spécial de données, dans lequel le code de contrôle de la sortie impulsionnelle (sys_wHscOrPulseControlCode) est sauvegardé, sur TRUE puis de nouveau sur FALSE. Le bit d’entrée proche de l’origine (near home) est maintenu. Définissez ce bit sur FALSE juste après l’avoir paramétré sur TRUE pour pouvoir définir l’entrée proche de l’origine (near home) une seconde fois pendant un retour à l’origine.

  1.  (1) Vitesse initiale et finale
  2.  (2) Vitesse de consigne
  3.  (3) Entrée proche de l’origine (near home) : TRUE
  4.  (4) Entrée du point d’origine : TRUE
  5.  (5) Entrée du point d’origine activée à tout moment.

Continuer/arrêter la sortie impulsionnelle (arrêt forcé)

Lorsque le bit 3 du registre de données, dans lequel le code de contrôle de sortie impulsionnelle (sys_wHscOrPulseControlCode) est sauvegardé, est sur TRUE, la sortie impulsionnelle est interrompue. Chaque programme utilisant les instructions de sortie impulsionnelle doit comporter la possibilité de procéder à un arrêt forcé. Réinitialisez le bit 3 sur FALSE pour continuer la sortie impulsionnelle.

Activer/désactiver le comptage

Y*

Sortie impulsionnelle

(1)

Valeur courante

(2)

1

Lorsque le bit 1 du code de contrôle est défini sur TRUE, le comptage n’est pas autorisé et la valeur courante ne change pas. Le comptage continue lorsque le bit 1 est réinitialisé sur FALSE.

Réinitialiser la valeur courante du compteur rapide (réinitialisation du logiciel)

Y*

Sortie impulsionnelle

(1)

Valeur courante

(2)

Bit 0 du code de contrôle de sortie impulsionnelle (réinitialisation du logiciel)

Lorsque le bit 0 du code de contrôle est défini sur TRUE, une réinitialisation du logiciel est exécutée et la valeur courante est définie sur 0. La valeur courante garde la valeur 0 jusqu’à ce que le bit 0 soit réinitialisé sur FALSE.

Annuler les instructions du compteur rapide et du contrôle de positionnement (FP0R uniquement)

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.

Description pour FP-Sigma

Les bits 0–15 du code de contrôle sont affectés par groupes de quatre. Dans chaque groupe, le paramétrage des bits est représenté par un nombre hexadécimal (par ex. 00020000 0000 1001 = 16#2009).

Groupe IV

(1)

Numéro de voie (voie n: 16#n)

Groupe III

0 (fixe)

Groupe II

(2)

Entrée proche de l’origine (near home) (bit 4)

0 : FALSE

1 : TRUE

Groupe I

(3)

Sortie impulsionnelle (bit 3)

0 : continuer

1 : arrêter

(4)

0 (bit 2, fixe)

(5)

Comptage (bit 1)

0 : autorisé

1 : non autorisé

(6)

Réinitialiser la valeur courante sur 0 (bit 0)

0 : non

1 : oui

Exemple : 16#2009

Groupe

Valeur

Description

IV

2

Numéro de voie : 2

III

0

(Fixe)

II

0

Entrée proche de l’origine (near home) : FALSE

I

9

Hex 9 correspond aux données binaires 1001

Sortie impulsionnelle : arrêter (bit 3)

1

(Bit 2, fixe)

0

Comptage : autorisé (bit 1)

0

Réinitialiser la valeur courante sur 0 : oui (bit 0)

1

Description pour FP-X

Groupe IV

(1)

Numéro de voie (voie n : 16#n)

Groupe III

(2)

1 (fixe)

Groupe II

(3)

Entrée proche de l’origine (near home) (bit 4) (voir nota)

0 : FALSE

1 : TRUE

Groupe I

(4)

Sortie impulsionnelle (bit 3)

0 : continuer

1 : arrêter

(5)

Comptage (bit 1)

0 : autorisé

1 : non autorisé

(6)

Réinitialiser la valeur courante sur 0 (bit 0)

0 : non

1 : oui

Exemple : 16#2109

Groupe

Valeur

Description

IV

2

Numéro de voie : 2

III

1

(Fixe)

II

0

Entrée proche de l’origine (near home) : FALSE

I

9

Hex 9 correspond aux données binaires 1001

Sortie impulsionnelle : arrêter (bit 3)

1

(Bit 2, fixe)

0

Comptage : autorisé (bit 1)

0

Réinitialiser la valeur courante sur 0 : oui (bit 0)

1

Description pour FP0R

Les bits 0–15 du code de contrôle sont affectés par groupes de quatre. Dans chaque groupe, le paramétrage des bits est représenté par un nombre hexadécimal (par ex. 00020001 0000 1001 = 16#2109).

Groupe IV

(1)

Numéro de voie (voie n : 16#n)

Groupe III

1 (fixe)

Groupe II

(2)

Demande de départ du contrôle de positionnement

0 : désactivée

1 : activée

(3)

Demande d’arrêt décéléré

0 : désactivée

1 : activée

(4)

Entrée proche de l’origine (near home) (bit 4) (voir nota)

0 : FALSE

1 : TRUE

Groupe I

(5)

Sortie impulsionnelle (bit 3)

0 : continuer

1 : arrêter

(6)

Annuler le contrôle de la sortie impulsionnelle (bit 2)

0 : continuer

1 : arrêter

(7)

Comptage (bit 1)

0 : autorisé

1 : non autorisé

(8)

Réinitialiser la valeur courante sur 0 (bit 0)

0 : non

1 : oui

Exemple : 16#2109

Groupe

Valeur

Description

IV

2

Numéro de voie : 2

III

1

(Fixe)

II

0

Demande de départ du contrôle de positionnement : désactivée

Demande d’arrêt décéléré : désactivée

Entrée proche de l’origine (near home) : FALSE

I

9

Hex 9 correspond aux données binaires 1001

Sortie impulsionnelle : arrêter (bit 3)

1

Annuler le contrôle de la sortie impulsionnelle (bit 2)

0

Comptage : autorisé (bit 1)

0

Réinitialiser la valeur courante sur 0 : oui (bit 0)

1

Description pour les FP0, FP-e

Les bits 0–15 du code de contrôle sont affectés par groupes de quatre, chaque groupe contenant les paramètres pour une voie. Dans chaque groupe, le paramétrage des bits est représenté par un nombre hexadécimal (par ex. 0000 0000 1001 0000 = 16#90).

Groupe

II

I

Voie

1

0

  1.  (1) Sortie impulsionnelle (bit 3)

    0 : continuer

    1 : arrêter

  2.  (2) Entrée proche de l’origine (near home) (bit 2) (voir nota)

    0 : FALSE

    1 : TRUE

  3.  (3) Comptage (bit 1)

    0 : autorisé

    1 : non autorisé

  4.  (4) Réinitialiser la valeur courante sur 0 (bit 0)

    0 : non

    1 : oui

Exemple : 16#90

Groupe

Valeur

Description

II

9

Numéro de voie : 1

Hex 9 correspond aux données binaires 1001

Sortie impulsionnelle : arrêter (bit 3)

1

Entrée proche de l’origine (near home) : FALSE (bit 2)

0

Comptage : autorisé (bit 1)

0

Réinitialiser la valeur courante sur 0 : oui (bit 0)

1

I

0

Exemple : activation de l’entrée proche de l’origine (near home) pour la voie 2 (FP-SIGMA)

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
	 bEnableNearHome: BOOL:=FALSE;
	END_VAR
	VAR CONSTANT
		PLS_CH2_ENABLE_NEAR_HOME: WORD:=16#2010;
			(*Enables near home input for channel 2*)
		PLS_CH2_CONTINUE: WORD:=16#2000;
			(*Disables near home input for channel 2
and starts deceleration*)
	END_VAR

Corps en LD

L’entrée proche de l’origine (near home) est activée pour la voie 2 pendant le retour à l’origine.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_VARIN,,PLS_CH2_ENABLE_NEAR_HOME,20,2,22,4,);
B(B_VARIN,,PLS_CH2_CONTINUE,20,6,22,8,);
B(B_F,E_MOVE!,Instance,22,0,28,4,,?DEN?D?AENO?C);
B(B_VAROUT,,sys_wHscOrPulseControlCode,28,2,30,4,);
B(B_F,E_MOVE!,Instance,22,4,28,8,,?DEN?D?AENO?C);
B(B_VAROUT,,sys_wHscOrPulseControlCode,28,6,30,8,);
B(B_CONTACT,,bEnableNearHome,4,1,6,3,R);
L(7,2,7,6);
L(1,2,4,2);
L(6,2,22,2);
L(7,6,22,6);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

if DF(bEnableNearHome) then
    PLS_CH2_ENABLE_NEAR_HOME:=sys_wHscOrPulseControlCode;
    PLS_CH2_CONTINUE:=sys_wHscOrPulseControlCode;
end_if;

Exemple : exécution d’un arrêt forcé pour la voie 0 (FP0, FP-e, FP-SIGMA)

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.

Corps en LD

Un arrêt forcé de la sortie impulsionnelle est exécuté pour la voie 0.

Corps en ST

if DF(bStopPulseOutput) then
    PLS_CH2_STOP_PULSE_OUTPUT:=sys_wHscOrPulseControlCode;
    PLS_CH2_CONTINUE:=sys_wHscOrPulseControlCode;
end_if;
NOTA

Avec un arrêt forcé, les valeurs courantes en sortie d’automate et à l’entrée du moteur peuvent différer. Par conséquent, un retour à l’origine doit être exécuté après l’arrêt de la sortie impulsionnelle.

Modifié le : 2021-08-09Feedback on this pagePanasonic hotline