Restituisce l'indirizzo di ingresso o di uscita
Questa funzione restituisce l'indirizzo di una variabile all'ingresso o all'uscita di un'istruzione di sistema non sovrapposta.
Ingresso
Questo pin deve essere collegato all'I/O di una funzione base per cui sia ammesso il tipo di dato INT, WORD
Restituisce l'indirizzo iniziale a 16 bit delle variabili di I/O
Uscita
Variabile di I/O per la quale è necessario l'indirizzo iniziale a 16 bit
L'indirizzo iniziale a 16 bit è restituito sull'I/O Adr in base alle variabili sull'I/O Var. Questo I/O deve essere collegato direttamente all'ingresso o uscita a 16 bit di un'istruzione di sistema non sovrapposta.
Solo per LD e FBD editor: Utilizzate “Istruzione ingresso” o “Istruzione uscita” nella finestra ancorabile “Istruzioni” per inserire l'istruzione richiesta nella finestra di programmazione.
Nel tipo di dato strutturato “DUT” vengono allocate le diverse variabili non booleane contenute nella struttura.
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;
DutNonBoolean: @'Dut_NonBoolean';
END_VAR
Qui è dichiarata la variabile DutNonBoolean del tipo di dato allocato nella DUT menzionata sopra. L'allocazione di valori agli elementi della variabile DutNonBoolean non è stata eseguita nell'intestazione del POU o nel corpo perché i valori della variabile DutNonBoolean vengono sovrascritti dopo che la funzione F12_ICRD viene eseguita.
Quando la variabile start è impostata su TRUE, la funzioneF12_ICRD viene eseguita. La funzione legge i valori sulla IC memory card a partire dall'indirizzo 100 e scrive le informazioni nella variabile DutNonBoolean. Non dimenticate che la IC memory card deve essere formattata in modo appropriato tramite il menu e che, se necessario, i valori ad iniziare dall'indirizzo 100 devono essere disponibili sulla IC memory card.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 12 ;
NETWORK_BODY
B(B_COMMENT,,It reads the values on the IC card from address 100 and writes theø^information to the variable DutNonBoolean,2,0,27,2,);
B(B_F,P12_ICRD!,Instance,9,2,17,7,,?DEN?Ds1_Start?Ds2_Number?AENO?Cd_Start);
B(B_VARIN,,start,7,3,9,5,);
B(B_VARIN,,100,7,4,9,6,);
B(B_VAROUT,,DutNonBoolean,26,4,28,6,);
B(B_F,Adr_Of_Var_O!,Instance,18,4,26,6,,?D?C);
B(B_F,Size_Of_Var!,Instance,10,10,17,12,,?D?C);
B(B_VARIN,,DutNonBoolean,8,10,10,12,);
B(B_F,INT_TO_DINT!,Instance,17,10,25,12,,?D?C);
L(17,5,18,5);
L(1,0,1,12);
L(7,6,9,6);
L(7,6,7,9);
L(7,9,26,9);
L(26,9,26,11);
L(25,11,26,11);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Altri progetti d'esempio (directory "Esempi" dell'installazione di FPWIN Pro):
Leggere, scrivere una IC memory card
Leggere, scrivere una memoria condivisa