F384_Positioning_ReadData

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.

Paramètres

Entrée

s1_Channel (WORD, INT, UINT)

Numéro de voie

Configurator PMX : SYS_PMX_CHANNEL_0SYS_PMX_CHANNEL_3

Configurator PM7 : SYS_PM7_AXIS_1SYS_PM7_AXIS_8

s1_Area (WORD, INT, UINT)

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)

s2_Offset (WORD, INT, UINT)

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)

n_Number (WORD, INT, UINT)

Nombre de mots qui doivent être lus

Sortie

d_Start (WORD)

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)

Exemple

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
		bReadData: BOOL:=FALSE;
		awData: ARRAY [0..9] OF WORD:=[10(0)];
		@'': @'';
	END_VAR

Corps du POU

La fonction est exécutée lorsque la variable bReadData est sur TRUE.

Corps en LD

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

Corps en ST

(*
	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;

Modifié le : 2024-06-03Commentaires sur cette pageAssistance téléphonique