Function Block da scrivere su un'unità FP0R-DA4.
Questo Function Block 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.
Anche i range di uscita analogica sono impostati con questo Function Block.
L'uscita in tensione o in corrente deve essere impostata con i DIP switch.
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.
Impostare il range di tensione o corrente per il canale di uscita analogica.
Uscita
Stato unità: TRUE quando l'alimentazione è on.
TRUE quando la configurazione I/O e la configurazione è completa e l'unità è pronta.
Stato canale: TRUE se è presente un errore.
Switch 1 deve essere ON per utilizzare la modalità 14-bit. Gli switch da 2 a 5 vengono utilizzati per selezionare l'uscita in tensione o in corrente per ciascun canale.
Le impostazioni DIP switch sono valide quando l'alimentazione passa da OFF a ON.
Canale 0 |
Canale 1 |
Canale 2 |
Canale 3 |
|||||
---|---|---|---|---|---|---|---|---|
Uscita tensione |
Uscita corrente |
Uscita tensione |
Uscita corrente |
Uscita tensione |
Uscita corrente |
Uscita tensione |
Uscita corrente |
|
Uscita tensione |
Uscita corrente |
---|---|
Da -10V a +10V DC in uscita |
Da -5V a +5V DC in uscita |
Da 0V a 5V DC in uscita |
|||
---|---|---|---|---|---|
Valore digitale (INT) |
Valore analogico |
Valore digitale (INT) |
Valore analogico |
Valore digitale (INT) |
Valore analogico |
-8000 |
-10,0V |
-8000 |
-5,0V |
0 |
0,0V |
-4000 |
-5,0V |
-4000 |
-2,5V |
4000 |
1,25V |
0 |
0V |
0 |
0V |
8000 |
2,5V |
+4000 |
5,0V |
+4000 |
+2,5V |
12000 |
3,75V |
+8000 |
10,0V |
+8000 |
+5,0V |
16000 |
5,0V |
Da 0V a 10V DC in uscita |
Da 0mA a 20mA in uscita |
Da 4mA a 20mA in uscita |
|||
---|---|---|---|---|---|
Valore digitale (INT) |
Valore analogico |
Valore digitale (INT) |
Valore analogico |
Valore digitale (INT) |
Valore analogico |
0 |
0,0V |
0 |
0,0mA |
0 |
4,0mA |
4000 |
2,5V |
3200 |
4,0mA |
4000 |
8,0mA |
8000 |
5,0V |
6400 |
8,0mA |
4000 |
12,0mA |
12000 |
7,5V |
9600 |
12,0mA |
4000 |
16,0mA |
16000 |
10,0V |
12800 |
16,0mA |
16000 |
20,0mA |
16000 |
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
Inst_FP0R_DA4: Unit_AnalogOutput_FP0R_DA4;
iAnalogOut0: INT:=0;
iAnalogOut1: INT:=0;
iAnalogOut2: INT:=0;
iAnalogOut3: INT:=0;
bPowerIsOn: BOOL:=FALSE;
bConfig_done: BOOL:=FALSE;
bErrorCh0: BOOL:=FALSE;
bErrorCh1: BOOL:=FALSE;
bErrorCh2: BOOL:=FALSE;
bErrorCh3: BOOL:=FALSE;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 12 ;
NETWORK_BODY
B(B_COMMENT,,FP0R-DA4,2,1,17,2,);
B(B_FB,Unit_AnalogOutput_FP0R_DA4!,Inst_FP0R_DA4,19,1,36,12,,?BiIOWordOffset?BiOutChannel0?BiOutChannel1?BiOutChannel2?BiOutChannel3?BwOutChannel0_Config?BwOutChannel1_Config?BwOutChannel2_Config?BwOutChannel3_Config?CbPowerIsOn?CbConfigIsDone?CbErrorChannel0?CbErrorChannel1?CbErrorChannel2?CbErrorChannel3);
B(B_VARIN,,4,17,2,19,4,);
B(B_VAROUT,,bPowerIsOn,36,2,38,4,);
B(B_VARIN,,iAnalogOut0,17,3,19,5,);
B(B_VAROUT,,bConfig_done,36,3,38,5,);
B(B_VARIN,,iAnalogOut1,17,4,19,6,);
B(B_VAROUT,,bErrorCh0,36,4,38,6,);
B(B_VARIN,,iAnalogOut2,17,5,19,7,);
B(B_VAROUT,,bErrorCh1,36,5,38,7,);
B(B_VARIN,,iAnalogOut3,17,6,19,8,);
B(B_VAROUT,,bErrorCh2,36,6,38,8,);
B(B_VARIN,,0,17,7,19,9,);
B(B_VAROUT,,bErrorCh3,36,7,38,9,);
B(B_VARIN,,0,17,8,19,10,);
B(B_VARIN,,0,17,9,19,11,);
B(B_VARIN,,0,17,10,19,12,);
L(1,0,1,12);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Inst_FP0R_DA4(iIOWordOffset := 2,
iOutChannel0 := iAnalogOut0,
iOutChannel1 := iAnalogOut1,
iOutChannel2 := iAnalogOut2,
iOutChannel3 := iAnalogOut3,
wOutChannel0_Config := 0,
wOutChannel1_Config := 0,
wOutChannel2_Config := 0,
wOutChannel3_Config := 0,
bPowerIsOn => bPowerIsOn,
bConfigIsDone => bConfig_done,
bErrorChannel0 => bErrorCh0,
bErrorChannel1 => bErrorCh1,
bErrorChannel2 => bErrorCh2,
bErrorChannel3 => bErrorCh3);