Leer parámetros de posicionamiento
Esta instrucción se utiliza para leer los siguientes parámetros de posicionamiento y datos de la tabla de posicionamiento con programas de usuario:
Información general como canales/ejes utilizados, números de repetición y códigos de error
Información del eje, como el estado de ejecución y el número de repetición actuales
Información de ajuste del eje, como los códigos de control de la salida de pulsos, los ajustes de retorno al origen y los ajustes de velocidad, aceleración y deceleración
Datos de la tabla de posicionamiento, como códigos y patrones de control, ajustes de velocidad, aceleración y deceleración
Esta instrucción lee el número de palabras especificado por n_Number de los datos guardados en la memoria de operación, empezando por s2_Offset, y lo guarda en el área de memoria de operación, empezando por d_Start.
Entrada
Número de canal
Configurator PMX: SYS_PMX_CHANNEL_0–SYS_PMX_CHANNEL_3
Configurator PM7: SYS_PM7_AXIS_1–SYS_PM7_AXIS_8
Área de memoria de posicionamiento:
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 modelo estándar)
SYS_POSITIONING_AREA_CAM_PATTERN (solamente para el FP-XH M4T16T, FP-XH M8N16T)
4: SYS_POSITIONING_AREA_SYNCRONOUS_CONTROL (solo para el FP-XH M4T16T, FP-XH M8N16T)
5: SYS_POSITIONING_AREA_OPERATION_CHANGE (solo para el FP-XH M4T16T, FP-XH M8N16T)
6: SYS_POSITIONING_AREA_RTEX_PARAMETER (solo para el FP-XH M4T16T, FP-XH M8N16T)
Dirección de desplazamiento inicial de las áreas de memoria de posicionamiento en la unidad de control que se va a leer (dirección de origen)
Número de palabras a leer
Salida
Dirección de inicio de la memoria de operación de la unidad de control donde se van a guardar los datos leídos (dirección destino)
Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
VAR
bReadData: BOOL:=FALSE;
awData: ARRAY [0..9] OF WORD:=[10(0)];
@'': @'';
END_VAR
Cuando la variable bReadData pasa a TRUE, se ejecuta la función.
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;