Contrôle via des tables de données
Cette instruction exécute un contrôle en fonction des paramètres du DUT indiqué, avec des vitesses et des valeurs de consignes différentes. Les impulsions sont émises en sortie de la voie indiquée lorsque le drapeau de contrôle de cette voie est FALSE et la condition d’exécution est TRUE.
Entrée
Adresse de départ de la zone contenant le tableau de données
Exemple : F174_PulseOutput_DataTable_8_Values_DUT
Voie de la sortie impulsionnelle :
FP-XH C30 T/P: 0–3
FP-XH C60 T/P: 0–5
FPS: 0,2
FP-X R: 0,1
FP-XC14T: 0,1,2
FP-X C30T/C60T: 0,1,2,3
FP0R: 0,1,2,3
Créez votre DUT à l’aide de l’exemple de DUT suivant : F174_PulseOutput_DataTable_8_Values_DUT
Les paramètres suivants peuvent être indiqués dans le DUT :
Code de contrôle
Fréquence 1
Valeur de consigne 1
Fréquence 2
Valeur de consigne 2
...
Fréquence n
Valeur de consigne n
Arrêt de l’impulsion
Caractéristiques de la sortie impulsionnelle
x Valeur courante du compteur rapide (valeur du déplacement)
Les impulsions sont sorties à la fréquence indiquée jusqu’à ce que la valeur de consigne soit atteinte. Ensuite, la fréquence passe à la deuxième valeur de fréquence. La sortie impulsionnelle continue jusqu’à ce que la deuxième valeur de consigne soit atteinte et ainsi de suite.
Arrêt de la sortie impulsionnelle lorsque la dernière valeur de consigne est atteinte.
Une fréquence de 0 indique qu’il s’agit de la dernière fréquence et la sortie impulsionnelle s’arrête.
FP-X, FP0R : Lorsqu’une instruction de sortie impulsionnelle est exécutée et lorsque des impulsions sont sorties, le drapeau de contrôle de la sortie impulsionnelle (par ex. sys_bIsPulseChannel0Active) de la voie correspondante est TRUE. Aucune autre instruction de sortie impulsionnelle ne peut être exécutée tant que ce drapeau est TRUE.
FPS : Le drapeau de contrôle du compteur rapide (par ex. sys_bIsHscChannel0ControlActive) et le drapeau de contrôle de la sortie impulsionnelle (par ex. sys_bIsPulseChannel0Active) sont affectés au même drapeau interne (par ex. R903A). Par conséquent, lorsqu’une instruction du compteur rapide ou de la sortie impulsionnelle est exécutée, le drapeau de contrôle du compteur rapide (par ex. sys_bIsHscChannel0ControlActive) et le drapeau de contrôle de la sortie impulsionnelle (par ex. sys_bIsPulseChannel0Active) pour la voie utilisée sont sur TRUE. Aucune instruction du compteur rapide ou de la sortie impulsionnelle ne peut être exécutée tant que ce drapeau est sur TRUE.
Si la valeur de la première fréquence spécifiée est en dehors de l’intervalle indiqué, une erreur d’opération apparaît. (Si la valeur de la première fréquence est 0, l’opération s’arrête sans qu’il y ait eu de sortie impulsionnelle.)
Si la valeur de la deuxième fréquence spécifiée est de 0 ou en dehors de l’intervalle indiqué, la sortie impulsionnelle s’arrête.
Si la valeur de consigne est en dehors de l’intervalle spécifié, le nombre de sorties impulsionnelles peut être différent de la valeur indiquée.
FP0R : Si une des valeurs de consigne n’est pas dans le sens du mouvement, la sortie impulsionnelle s’arrête.
FPS, FP-X : Si une des valeurs de consigne n’est pas dans le sens du mouvement, le comptage continue indéfiniment.
FPS : L’exécution de l’instruction de contrôle de l’interpolation circulaire F176_PulseOutput_Center définit le drapeau de contrôle de l’interpolation circulaire (sys_bIsCircularInterpolationActive) sur TRUE. L’état de ce drapeau est maintenu jusqu’à ce que la valeur de consigne soit atteinte (même si la condition d’exécution n’est plus TRUE). Pendant ce temps, les autres instructions de sortie impulsionnelle ne peuvent pas être exécutées.
FPS : Définissez un des compteurs rapides affectés à une voie de sortie impulsionnelle sur "Inutilisé" dans les registres système.
FPS, FP-X : lorsqu’un programme d’interruption périodique ou un programme d’interruption du compteur rapide est exécuté ou lorsque la fonction liaison API est utilisée simultanément, une fréquence de 80kHz max. doit être utilisée.
FP-X : Définissez "Sortie impulsionnelle" pour la voie souhaitée dans les registres système.
En cas d’édition en mode RUN, la sortie impulsionnelle est interrompue mais elle reprend lorsque les modifications du programme ont été transférées.
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.
Dans la liste des variables globales, vous définissez des variables qui sont accessibles par tous les POU dans le projet.
Le DUT F174_PulseOutput_DataTable_8_Values_DUT est prédéfini dans la bibliothèque FP Library et peut être utilisé en tant que modèle.
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
X0_bMotorSwitch: BOOL:=FALSE;
(*at X0*)
END_VAR
VAR
dutDataTable4: F174_DUT:=ControlCode := 16#1200,
Frequency1 := 1000,
TargetValue1 := 1000,
Frequency2 := 2500,
TargetValue2 := 2000,
Frequency3 := 5000,
TargetValue3 := 5000,
Frequency4 := 1000,
TargetValue4 := 2000,
Termination := 0;
(*Control code:
Digit 3: 1=Duty ratio 25%
Digit 2: 2=Frequency range 48Hz-100kHz
Digit 1: 0=Relative value control
Digit 0: 0=CW*)
@'': @'';
END_VAR
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,F174_PulseOutput_DataTable!,Instance,13,0,27,5,,?DEN?Ds_dutDataTable?Hn_iPulseOutputChannel?AENO);
B(B_VARIN,,dutDataTable4,11,2,13,4,);
B(B_VARIN,,0,11,3,13,5,);
B(B_CONTACT,,X0_bMotorSwitch,5,1,7,3,R);
L(1,2,5,2);
L(7,2,13,2);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(X0_bMotorSwitch) then
F174_PulseOutput_DataTable(s_dutDataTable := dutDataTable4, 4);
END_IF;