F385_Positioning_WriteData

É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.

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

s2_Start (WORD, INT, UINT)

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)

n_Number (WORD, INT, UINT)

Nombre de mots qui doivent être écrits.

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)

d_Offset (WORD, INT, UINT)

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)

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

Corps du POU

La fonction est exécutée lorsque la variable bWriteData 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 := 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

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

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