Funzione da scrivere su un'unità FP0-A04I.
Questa funzione scrive i dati digitali sui canali uscita analogica dell'unità analogica. I valori digitali da convertire e restituire come valori analogici vengono specificati da iOutChannel0 a iOutChannel3.
Ingresso
Imposta l'offset del primo indirizzo WX/WY dell'unità analogica secondo la sua posizione di installazione.
Per le unità di espansione analogica collegate direttamente alla CPU (senza adattatore): Utilizzate ExpansionUnitToIOWordOffset_FP0 oppure effettuate le seguenti impostazioni: 2 (WX2/WY2) per numero unità 1, 4 (WX4/WY4) per numero unità 2, 6 (WX6/WY6) per numero unità 3
Per le unità di espansione analogica collegate alla CPU tramite adattatore: Utilizzare ExpansionUnitToIOWordOffset_FPX_FP0 oppure selezionare l'offset dalla tabella.
Posizione unità relativamente all'adattatore |
Posizione adattatore relativamente alla CPU |
|||||||
---|---|---|---|---|---|---|---|---|
1a unità |
2a unità |
3a unità |
4a unità |
5a unità |
6a unità |
7a unità |
8a unità |
|
1a unità |
30 |
40 |
50 |
60 |
70 |
80 |
90 |
100 |
2a unità |
32 |
42 |
52 |
62 |
72 |
82 |
92 |
102 |
3a unità |
34 |
44 |
54 |
64 |
74 |
84 |
94 |
104 |
Impostare il valore digitale da convertire e restituire tramite l'unità analogica.
Valori: Da 0 a 4000
Uscita
Stato unità: TRUE quando l'alimentazione è on.
Stato canale: TRUE se è presente un errore.
Valore digitale (INT) |
Valore analogico |
---|---|
0 |
4,0mA |
500 |
6,0mA |
1000 |
8,0mA |
1500 |
10,0mA |
2000 |
12,0mA |
2500 |
14,0mA |
3000 |
16,0mA |
3500 |
18,0mA |
4000 |
20,0mA |
Questa descrizione di comando offre unicamente documentazione base hardware. Per informazioni tecniche dettagliate consultare il manuale:
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
iAnalog_Out_Ch0: INT:=0;
iAnalog_Out_Ch1: INT:=0;
iAnalog_Out_Ch2: INT:=0;
iAnalog_Out_Ch3: INT:=0;
bPowerIsOn: BOOL:=FALSE;
bErrorChannel0: BOOL:=FALSE;
bErrorChannel1: BOOL:=FALSE;
bErrorChannel2: BOOL:=FALSE;
bErrorChannel3: BOOL:=FALSE;
END_VAR
I valori digitali inseriti in iOutChannel0–iOutChannel3 vengono scritti sull'unità analogica e convertiti in valori analogici. Il dato analogico viene restituito sui canali di uscita corrispondenti.
Utilizzare ExpansionUnitNumberToIOWordOffset_FP0 o ExpansionUnitNumberToIOWordOffset_FPX_FP0 per calcolare l'offset della word dell'unità analogica connessa alla CPU.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_F,Unit_AnalogOutput_FP0_A04I!,,15,0,29,7,,?DiIOWordOffset?DiOutChannel0?DiOutChannel1?DiOutChannel2?DiOutChannel3?CbPowerIsOn?CbErrorChannel0?CbErrorChannel1?CbErrorChannel2?CbErrorChannel3);
B(B_VARIN,,2,13,1,15,3,);
B(B_VAROUT,,bPowerIsOn,29,1,31,3,);
B(B_VARIN,,iAnalog_Out_Ch0,13,2,15,4,);
B(B_VAROUT,,bErrorChannel0,29,2,31,4,);
B(B_VARIN,,iAnalog_Out_Ch1,13,3,15,5,);
B(B_VAROUT,,bErrorChannel1,29,3,31,5,);
B(B_VARIN,,iAnalog_Out_Ch2,13,4,15,6,);
B(B_VAROUT,,bErrorChannel2,29,4,31,6,);
B(B_VARIN,,iAnalog_Out_Ch3,13,5,15,7,);
B(B_VAROUT,,bErrorChannel3,29,5,31,7,);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Unit_AnalogOutput_FP0_A04I(iIOWordOffset := 2,
iOutChannel0 := iAnalog_Out_Ch0,
iOutChannel1 := iAnalog_Out_Ch1,
iOutChannel2 := iAnalog_Out_Ch2,
iOutChannel3 := iAnalog_Out_Ch3,
bPowerIsOn => bPowerIsOn,
bErrorChannel0 => bErrorChannel0,
bErrorChannel1 => bErrorChannel1,
bErrorChannel2 => bErrorChannel2,
bErrorChannel3 => bErrorChannel3);