F385_Positioning_WriteData_Backup

Scrivere i parametri di posizionamento con backup

Questa istruzione è usata per scrivere 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 scrive il numero di word n_Number dei dati memorizzati nell'area che inizia con s2_Start memorizzandolo nell'area memoria di posizionamento che inizia con d_Offset. Per mantenere i dati scritti anche dopo lo spegnimento, i dati possono anche essere sottoposti a backup in un'area di memoria persistente.

Parametri

Ingresso

s1_Channel (WORD, INT, UINT)

Numero di canale

Configurator PMX: SYS_PMX_CHANNEL_0SYS_PMX_CHANNEL_3

Configurator PM7: SYS_PM7_AXIS_1SYS_PM7_AXIS_8

s2_Start (WORD, INT, UINT)

Indirizzo iniziale delle aree di memoria operativa nella CPU in cui vengono memorizzati i dati da scrivere (indirizzo source)

n_Number (WORD, INT, UINT)

Numero di word da scrivere

s1_Area (WORD, INT, UINT)

Area memoria di posizionamento:

d_Offset (WORD, INT, UINT)

Indirizzo offset iniziale della memoria di posizionamento nella CPU per memorizzare i dati scritti (indirizzo di destinazione)

s1_WriteToPersistentMemory (WORD, INT, UINT)
  • TRUE: Backup dei dati nell'area ritentiva

    Possibili danni a FROM

    Specificando da 16#80 a 16#83 (Salva in FROM) per gli 8 bit più alti del parametro di ingressos1_Channel (il bit con peso maggiore è 1), i dati specificati vengono scritti nella FROM della CPU. Sono possibili fino a 10000 operazioni di scrittura sulla FROM. Si consiglia di utilizzare un fronte di salita per evitare che la scrittura sulla FROM avvenga in continuo.

  • FALSE: Nessun backup dei dati

Flag di errore

sys_bIsOperationErrorHold (passa a TRUE e resta TRUE)
  • se il numero di canale specificato su s1_Channel non è valido

  • se l'offset della memoria di posizionamento specificato su d_Offset supera il limite dell'area di posizionamento

sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)
  • se il numero di canale specificato su s1_Channel non è valido

  • se l'offset della memoria di posizionamento specificato su d_Offset supera il limite dell'area di posizionamento

Esempio

Intestazione del POU

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

Corpo LD

Quando la variabile bWriteData passa da FALSE a TRUE, la funzione viene eseguita.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    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 := 9 ;
        NETWORK_BODY
B(B_CONTACT,,bWriteData,9,1,11,3,R);
B(B_F,F385_Positioning_WriteData_Backup!,,20,0,37,9,,?DEN?Ds1_Channel?Ds2_Start?Dn_Number?Ds1_Area?Dd_Offset?Ds1_WriteToPersistentMemory?AENO);
B(B_VARIN,,SYS_PMX_CHANNEL_0,18,2,20,4,);
B(B_VARIN,,awData,11,3,13,5,);
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);
B(B_VARIN,,SYS_POSITIONING_AREA_AXIS_SETTING,18,5,20,7,);
B(B_VARIN,,155,18,6,20,8,);
B(B_VARIN,,bBACKUP_DATA,18,7,20,9,);
L(1,0,1,9);
L(1,2,9,2);
L(11,2,20,2);
L(13,4,13,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo 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_Backup(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,
                                      s1_WriteToPersistentMemory := bBACKUP_DATA);
end_if;

L'ultima revisione: 2024-06-19Feedback su questa paginaPanasonic hotline