Scrivi nella memoria delle unità intelligenti
Scrive il dato nella memoria condivisa di un'unità intelligente.
Ingresso
Specifica il numero banco/slot nella memoria condivisa del modulo intelligente
Indirizzo iniziale per il dato nella memoria condivisa della CPU
Specifica il numero di word da scrivere nella memoria condivisa
Specifica l'indirizzo iniziale nell'unità intelligente per memorizzare il dato scritto (indirizzo di destinazione)
Scrive n_Numberword del dato iniziale dall'area specificata da s2_Start della CPU nell'indirizzo specificato da d_Start della memoria condivisa dell'unità intelligente specificata da s1_BankSlot.
Il numero di argomenti di variabile agli ingressi è limitato dai registri indice disponibili del PLC.
Specifica s1_BankSlot
Unità intelligente senza banco
Specificate il numero slot nel quale l'unità intelligente target è stata installata.
Unità intelligente con banco
Specificate il numero slot (costante esadec.) nel quale l'unità intelligente target è stata installata e il numero banco (costante esadec.).
Nome |
Numero ordine |
|
Unità di memoria dati di espansione FP3 |
AFP32091 AFP32092 |
|
Unità di memoria dati di espansione FPS |
AFPG201 |
se s1_BankSlot eccede il limite dell'intervallo specificato
se il dato letto eccede l'area di d
se s1_BankSlot eccede il limite dell'intervallo specificato
se il dato letto eccede l'area di d
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
Start: BOOL:=FALSE;
(*activates the function*)
SlotNo: WORD:=16#0D;
(*if start is TRUE, this value
will be written to the address
1 from the unit-slot 0*)
CPUDataToWrt: ARRAY [0..4] OF INT:=[5,10,15,20,25];
NoWordsToWrite: INT:=5;
DestinationAddr: INT:=0;
END_VAR
Cinque word del dato definito in CPUDataToWrt vengono scritte negli indirizzi a partire da 0 fino a 4 della memoria condivisa dell'unità intelligente (situata nello slot 0) quando Start passa a TRUE.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 8 ;
NETWORK_BODY
B(B_VARIN,,SlotNo,11,3,13,5,);
B(B_VARIN,,CPUDataToWrt[0],11,4,13,6,);
B(B_VARIN,,NoWordsToWrite,11,5,13,7,);
B(B_VARIN,,DestinationAddr,11,6,13,8,);
B(B_CONTACT,,Start,7,2,9,4,);
B(B_F,F151_WRT!,Instance,13,1,21,8,,?DEN?Ds1_BankSlot?Ds2_Start?Dn_Number?Dd_Start?AENO);
L(9,3,13,3);
L(1,3,7,3);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF start then
F151_WRT( s1_BankSlot:= SlotNo,
s2_Start:= CPUDataToWrt[0],
n_Number:= NoWordsToWrite,
d_Start:= DestinationAddr);
END_IF;