Lettura parametri di posizionamento
Questa istruzione è usata per leggere i seguenti parametri di posizionamento e i dati della tabella di posizionamento con i programmi utente:
Informazioni generali come canali/assi utilizzati, numeri di ripetizione e codici di errore
Informazioni sugli assi come stato di esecuzione corrente e numero di ripetizione corrente
Informazioni sull'impostazione degli assi come codici di controllo dell'uscita a impulsi, impostazioni home return e impostazioni di velocità, accelerazione e decelerazione
Dati della tabella di posizionamento come codici di controllo e modelli, impostazioni di velocità, accelerazione e decelerazione.
Questa istruzione legge il numero di word specificate da n_Number dei dati memorizzati nella memoria di posizionamento che inizia con s2_Offset e lo memorizza nell'area della memoria operativa che inizia con d_Start.
Ingresso
Numero di canale
Configurator PMX: SYS_PMX_CHANNEL_0–SYS_PMX_CHANNEL_3
Configurator PM7: SYS_PM7_AXIS_1–SYS_PM7_AXIS_8
Area memoria di posizionamento:
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 tipi standard)
SYS_POSITIONING_AREA_CAM_PATTERN (solo FP-XH M4T16T, FP-XH M8N16T)
4: SYS_POSITIONING_AREA_SYNCRONOUS_CONTROL (solo FP-XH M4T16T, FP-XH M8N16T)
5: SYS_POSITIONING_AREA_OPERATION_CHANGE (solo FP-XH M4T16T, FP-XH M8N16T)
6: SYS_POSITIONING_AREA_RTEX_PARAMETER (solo FP-XH M4T16T, FP-XH M8N16T)
Indirizzo di offset iniziale delle aree di memoria di posizionamento nella centralina da leggere (indirizzo source)
Numero di word da leggere
Uscita
Indirizzo iniziale della memoria operativa nella centralina per memorizzare i dati letti (indirizzo di destinazione)
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
bReadData: BOOL:=FALSE;
awData: ARRAY [0..9] OF WORD:=[10(0)];
@'': @'';
END_VAR
Quando la variabile bReadData è impostata su TRUE, la funzione viene eseguita.
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;