Interpolation linéaire
Des impulsions sont sorties via deux voies en fonction des paramètres indiqués dans le DUT spécifié, de façon à former une ligne droite. 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
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
Pour l’interpolation, les voies 0 et 1 ou les voies 2 et 3 sont utilisées comme paires. Vous pouvez spécifier uniquement 0 ou 2 (pour C14T : 0 uniquement).
Entrée/sortie
Adresse de départ de la zone contenant le tableau de données
FPS, FP-X: F175_PulseOutput_Linear_DUT_0
FP0R: F175_PulseOutput_Linear_DUT_1
Utilisez le DUT prédéfini suivant : F175_PulseOutput_Linear_DUT_0
Les paramètres suivants peuvent être indiqués dans le DUT :
Pour chaque axe, les paramètres suivants sont calculés via l’exécution de cette instruction et sauvegardés dans la zone de sauvegarde des résultats de l’opération du DUT.
Caractéristiques de la sortie impulsionnelle
Valeur de consigne (axe X) (voie 0) : 5000
Valeur de consigne (axe Y) (voie 2) (FP-X : voie 1) : 2000
Les deux axes sont contrôlés de manière à former un trajet linéaire jusqu’à la position de consigne.
FP-X : 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.
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.
FP-X : Définissez "Sortie impulsionnelle" pour la voie souhaitée dans les registres système.
Dans votre programme de positionnement, nous recommandons fortement de permettre un arrêt forcé.
Utilisez le DUT prédéfini suivant : F175_PulseOutput_Linear_DUT_1
Les paramètres suivants peuvent être indiqués dans le DUT :
Pour chaque axe, les paramètres suivants sont calculés via l’exécution de cette instruction et sauvegardés dans la zone de sauvegarde des résultats de l’opération du DUT.
Caractéristiques de la sortie impulsionnelle
Valeur de consigne (axe X) (voie 0) : 5000
Valeur de consigne (axe Y) (voie 1) : 2000
Des impulsions sont sorties via l’axe X (voie 0) et l’axe Y (voie 1) de façon à ce que la vitesse initiale soit de 500Hz, la vitesse de consigne de 5kHz et le temps d’accélération/décélération de 300ms. Les deux axes sont contrôlés de manière à former un trajet linéaire jusqu’à la position de consigne.
Sorties impulsionnelles avec un rapport impulsion/pause de 25%.En utilisant le type de sortie impulsionnelle "Impulsionnnelle/sens de rotation", les impulsions sont sorties env. 300ms après que le signal du sens de rotation a été émis. Ce délai peut varier en fonction des caractéristiques du driver.
Arrêt de la sortie impulsionnelle lorsque la valeur de consigne est atteinte.
Dans votre programme de positionnement, nous recommandons fortement de permettre un arrêt forcé.
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
bTrigger: BOOL:=FALSE;
dutLinearData: F175_PulseOutput_Linear_DUT_0:=dwControlCode := 16#1000,
diInitialAndFinalSpeed := 500,
diMaximumSpeed := 5000,
diAccelerationAndDecelerationTime := 300,
diTargetValue_X := 5000,
diTargetValue_Y := 2000;
(*Control code:
Digit 3: 1=Duty ratio 25%
Digit 2: 0=Fixed
Digit 1: 0=Relative value control
Digit 0: 0=CW/CCW
*)
@'': @'';
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_CONTACT,,bTrigger,4,2,6,4,R);
B(B_VARIN,,dutLinearData,11,4,13,6,);
B(B_VARIN,,0,11,3,13,5,);
B(B_F,F175_PulseOutput_Linear!,Instance,13,1,28,6,,?DEN?Hn_iPulseOutputChannel?Ds_dutDataTable?As_dutDataTable?AENO);
L(1,3,4,3);
L(6,3,13,3);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(bTrigger) then
F175_PulseOutput_Linear(n_iPulseOutputChannel := 0,
s_dutDataTable := dutLinearData);
END_IF;