Bloque de función para escribir en un módulo FP0R-DA4.
Este bloque de función escribe datos digitales en los canales de salida analógica del módulo analógico. Los valores digitales a convertir y la salida como valores analógicos se especifican en iOutChannel0 a iOutChannel3.
Los rangos de salida analógica también se ajustan con este bloque de función.
La salida de tensión o corriente debe ajustarse con los interruptores DIP.
Entrada
Ajustar el offset de la primera dirección WX/WY del módulo de entradas analógicas según su posición de instalación.
Para módulos de expansión analógicos conectados directamente a la CPU (sin adaptador): Utilizar ExpansionUnitToIOWordOffset_FP0 o realizar la siguiente configuración: 2 (WX2/WY2) para el módulo 1, 4 (WX4/WY4) para el módulo 2, 6 (WX6/WY6) para el módulo 3
Para módulos de expansión analógicos conectados a la CPU a través de un adaptador: Utilizar ExpansionUnitToIOWordOffset_FPX_FP0 o seleccionar el offset de la tabla.
Posición del módulo respecto al adaptador |
Posición del adaptador respecto a la CPU |
|||||||
---|---|---|---|---|---|---|---|---|
1er módulo |
2º módulo |
3er módulo |
4º módulo |
5º módulo |
6º módulo |
7º módulo |
8º módulo |
|
1er módulo |
30 |
40 |
50 |
60 |
70 |
80 |
90 |
100 |
2º módulo |
32 |
42 |
52 |
62 |
72 |
82 |
92 |
102 |
3er módulo |
34 |
44 |
54 |
64 |
74 |
84 |
94 |
104 |
Ajustar el valor digital a convertir y emitir por el módulo analógico.
Ajustar el rango de tensión o corriente del canal de salida analógica.
Salida
Estado del módulo: TRUE cuando la alimentación está conectada.
TRUE cuando se haya completado la configuración de E/S y el módulo esté listo.
Estado del canal: TRUE si hay un error.
El interruptor 1 debe estar en posición ON para utilizar el modo de 14 bits. Los interruptores 2 a 5 se usan para seleccionar la salida de tensión o corriente de cada canal.
La configuración de los interruptores DIP se hará efectiva cuando la alimentación pase de OFF a ON.
Canal 0 |
Canal 1 |
Canal 2 |
Canal 3 |
|||||
---|---|---|---|---|---|---|---|---|
Salida de tensión |
Salida de corriente |
Salida de tensión |
Salida de corriente |
Salida de tensión |
Salida de corriente |
Salida de tensión |
Salida de corriente |
|
Salida de tensión |
Salida de corriente |
---|---|
Salida de -10V a +10V CC |
Salida de -5V a +5V CC |
Salida de 0V a 5V CC |
|||
---|---|---|---|---|---|
Valor digital (INT) |
Valor analógico |
Valor digital (INT) |
Valor analógico |
Valor digital (INT) |
Valor analógico |
-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 |
Salida de 0V a 10V CC |
Salida de 0mA a 20mA |
Salida de 4mA a 20mA |
|||
---|---|---|---|---|---|
Valor digital (INT) |
Valor analógico |
Valor digital (INT) |
Valor analógico |
Valor digital (INT) |
Valor analógico |
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 |
Esta descripción de comandos solo proporciona documentación básica sobre el hardware. Para obtener información técnica detallada, consultar el manual:
Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
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);