Écrire les paramètres de positionnement
Cette instruction est utilisée pour écrire 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 écrit le nombre de mots (n_Number ) des données sauvegardées dans la zone mémoire de travail à partir de l’adresse spécifiée par s2_Start et sauvegarde ces données dans la zone mémoire de positionnement à partir de l’offset de l’adresse indiqué par d_Offset.
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
Adresse de départ des zones de la mémoire de travail dans l’unité centrale dans lesquelles les données à écrire sont sauvegardées (adresse source)
Nombre de mots qui doivent être écrits.
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 de la mémoire de positionnement dans l’unité centrale dans laquelle les données écrites 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
bWriteData: BOOL:=FALSE;
awData: ARRAY [0..9] OF WORD:=[10(0)];
END_VAR
La fonction est exécutée lorsque la variable bWriteData 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 := 8 ;
NETWORK_BODY
B(B_F,F385_Positioning_WriteData!,,20,0,33,8,,?DEN?Ds1_Channel?Ds2_Start?Dn_Number?Ds1_Area?Dd_Offset?AENO);
B(B_VARIN,,SYS_PMX_CHANNEL_0,18,2,20,4,);
B(B_VARIN,,awData,11,3,13,5,);
B(B_VARIN,,SYS_POSITIONING_AREA_AXIS_SETTING,18,5,20,7,);
B(B_VARIN,,155,18,6,20,8,);
B(B_CONTACT,,bWriteData,9,1,11,3,R);
B(B_F,Adr_Of_Var_I!,,13,3,20,5,,?D?C);
B(B_F,Size_Of_Var!,,13,4,20,6,,?D?C);
L(1,2,9,2);
L(11,2,20,2);
L(13,4,13,5);
L(1,0,1,8);
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 (DF(bWriteData)) then
F385_Positioning_WriteData( s1_Channel := SYS_PMX_CHANNEL_0,
s2_Start := Adr_Of_Var(awData),
n_Number := Size_Of_Var(awData),
s1_Area := SYS_POSITIONING_AREA_AXIS_SETTING,
d_Offset := 155);
end_if;