Bloc fonction permettant d’écrire dans un module FP0R-DA4.
Ce bloc fonction écrit des données numériques vers les voies de sorties analogiques du module analogique. Les valeurs numériques devant être converties et sorties en tant que valeurs analogiques sont spécifiées dans iOutChannel0 à iOutChannel3.
Les plages de sorties analogiques sont également définies avec ce bloc fonction.
La sortie tension ou courant doit être définie avec les DIP switches.
Entrée
Définit l’offset de la première adresse WX/WY du module analogique en fonction de sa position dans l’installation.
Pour les modules d’extension analogiques connectés directement à l’unité centrale (sans adaptateur) : Utilisez ExpansionUnitToIOWordOffset_FP0 ou procédez aux paramétrages suivants : 2 (WX2/WY2) pour le numéro de module 1, 4 (WX4/WY4) pour le numéro de module 2, 6 (WX6/WY6) pour le numéro de module 3
Pour les modules d’extension analogiques connectés à l’unité centrale via un adaptateur : Utilisez ExpansionUnitToIOWordOffset_FPX_FP0 ou sélectionnez l’offset à partir du tableau.
Position du module par rapport à l’adaptateur |
Position de l’adaptateur par rapport à la CPU |
|||||||
---|---|---|---|---|---|---|---|---|
1e module |
2e module |
3e module |
4e module |
5e module |
6e module |
7e module |
8e module |
|
1e module |
30 |
40 |
50 |
60 |
70 |
80 |
90 |
100 |
2e module |
32 |
42 |
52 |
62 |
72 |
82 |
92 |
102 |
3e module |
34 |
44 |
54 |
64 |
74 |
84 |
94 |
104 |
Définit la valeur numérique devant être convertie et sortie par le module analogique.
Définit la plage de courant et de tension pour la voie de sortie analogique.
Sortie
État du module : TRUE lorsque le module est sous tension.
TRUE lorsque la configuration des entrées/sorties est terminée et le module prêt.
État de la voie : TRUE s’il y a une erreur.
Le DIP switch 1 doit être sur ON pour utiliser le mode 14 bits. Les DIP switches 2 à 5 sont utilisés pour sélectionner la sortie tension ou courant pour chaque voie.
Les paramétrages des DIP switches sont effectifs lorsque l’automate est mis sous tension.
Voie 0 |
Voie 1 |
Voie 2 |
Voie 3 |
|||||
---|---|---|---|---|---|---|---|---|
Sortie tension |
Sortie courant |
Sortie tension |
Sortie courant |
Sortie tension |
Sortie courant |
Sortie tension |
Sortie courant |
|
Sortie tension |
Sortie courant |
---|---|
Sortie -10V à +10V DC |
Sortie -5V à +5V DC |
Sortie 0V à 5V DC |
|||
---|---|---|---|---|---|
Valeur numérique (INT) |
Valeur analogique |
Valeur numérique (INT) |
Valeur analogique |
Valeur numérique (INT) |
Valeur analogique |
-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 |
Sortie 0V à 10V DC |
Sortie 0mA à 20mA |
Sortie 4mA à 20mA |
|||
---|---|---|---|---|---|
Valeur numérique (INT) |
Valeur analogique |
Valeur numérique (INT) |
Valeur analogique |
Valeur numérique (INT) |
Valeur analogique |
0 |
0,0V |
0 |
0,0mA |
0 |
4,0mA |
4000 |
2,5V |
3200 |
4,0mA |
4000 |
8,0mA |
8000 |
5,0V |
6400 |
8,0mA |
8000 |
12,0mA |
12000 |
7,5V |
9600 |
12,0mA |
12000 |
16,0mA |
16000 |
10,0V |
12800 |
16,0mA |
16000 |
20,0mA |
16000 |
20,0mA |
La description de cette instruction ne livre que des informations matériel de base. Pour avoir des informations techniques complémentaires, consultez le manuel :
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
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);