Lire les paramètres de positionnement
Cette instruction est utilisée pour lire les paramètres de positionnement et les données de la table de positionnement suivants avec des programmes utilisateur :
Informations générales telles que les voies/axes utilisés, les nombres de répétitions et les codes d’erreur
Informations sur les axes telles que l’état de l’exécution en cours et le nombre actuel de répétitions
Informations sur les paramètres des axes telles que les codes de contrôle de la sortie impulsionnelle, les paramètres de retour à l'origine, et les paramètres de vitesse, d’accélération et de décélération
Les données des tables de positionnement telles que les codes de contrôle et profils, les paramètres de vitesse, d’accélération et de décélération
Cette instruction lit le nombre de mots spécifié par n_Number des données sauvegardées dans la mémoire de positionnement à partir de s2_Offset et sauvegarde ces données dans la zone mémoire de travail à partir de d_Start.
Entrée
Numéro de voie
Configurator PMX : SYS_PMX_CHANNEL_0–SYS_PMX_CHANNEL_3
Configurator PM7 : SYS_PM7_AXIS_1–SYS_PM7_AXIS_8
Zone mémoire de positionnement :
0 : SYS_POSITIONING_AREA_COMMON_DATA
1 : SYS_POSITIONING_AREA_AXIS_INFORMATION
2 : SYS_POSITIONING_AREA_AXIS_SETTING
3 : SYS_POSITIONING_AREA_TABLE_DATA (FP-XH versions standard)
SYS_POSITIONING_AREA_CAM_PATTERN (FP-XH M4T16T, FP-XH M8N16T uniquement)
4 : SYS_POSITIONING_AREA_SYNCRONOUS_CONTROL (FP-XH M4T16T, FP-XH M8N16T uniquement)
5 : SYS_POSITIONING_AREA_OPERATION_CHANGE (FP-XH M4T16T, FP-XH M8N16T uniquement)
6 : SYS_POSITIONING_AREA_RTEX_PARAMETER (FP-XH M4T16T, FP-XH M8N16T uniquement)
Offset de l’adresse de départ des zones de la mémoire de positionnement dans l’unité centrale qui doivent être lues (adresse source)
Nombre de mots qui doivent être lus
Sortie
Adresse de départ de la mémoire de travail dans l’unité centrale dans laquelle les données lues sont sauvegardées (adresse de destination)
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
bReadData: BOOL:=FALSE;
awData: ARRAY [0..9] OF WORD:=[10(0)];
@'': @'';
END_VAR
La fonction est exécutée lorsque la variable bReadData est sur TRUE.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_COMMENT,,ø^Settings for s1_Channel:ø^ PMX-Configurator: SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3ø^ PM7-Configurator: SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8ø^,2,1,49,6,);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_F,F384_Positioning_ReadData!,,22,0,35,7,,?DEN?Ds1_Channel?Ds1_Area?Ds2_Offset?Dn_Number?AENO?Cd_Start);
B(B_VARIN,,SYS_PMX_CHANNEL_0,20,2,22,4,);
B(B_VARIN,,SYS_POSITIONING_AREA_AXIS_INFORMATION,20,3,22,5,);
B(B_VARIN,,155,20,4,22,6,);
B(B_VARIN,,awData,13,5,15,7,);
B(B_VAROUT,,awData,43,2,45,4,);
B(B_F,Size_Of_Var!,,15,5,22,7,,?D?C);
B(B_F,Adr_Of_Var_O!,,35,2,43,4,,?D?C);
B(B_CONTACT,,bReadData,7,1,9,3,);
L(1,2,7,2);
L(9,2,22,2);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
(*
Settings for s1_Channel:
PMX-Configurator: SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3
PM7-Configurator: SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8
*)
if (bReadData) then
F384_Positioning_ReadData( s1_Channel := SYS_PMX_CHANNEL_0,
s1_Area := SYS_POSITIONING_AREA_AXIS_INFORMATION,
s2_Offset := 155,
n_Number := Size_Of_Var(awData),
d_Start => Adr_Of_Var(awData));
end_if;