Unit_AnalogInOut_FPG_A44Fonction permettant d’écrire dans un module FPG-A44 ou de lire les données du module.
Cette fonction écrit des données numériques vers les voies de sortie analogique du module analogique et lit les données numériques converties à partir de ses voies d’entrées analogiques. Les valeurs numériques devant être converties et sorties en tant que valeurs analogiques sont spécifiées dans iOutChannel0 à iOutChannel3. Les valeurs numériques du module analogique converties sont sauvegardées par voie dans les variables de sortie iInChannel0 à iInChannel3.
Le type d’entrée ou de sortie (tension ou courant) est également paramétré avec cette fonction.

Entrée
Indique le numéro du connecteur.
Définit la valeur numérique devant être convertie et sortie par le module analogique.
Définit le type d’entrée tension ou courant pour chaque numéro de voie.
TRUE : Entrée courant
FALSE : Entrée tension
Définit le type de sortie tension ou courant pour chaque numéro de voie.
TRUE : Sortie courant
FALSE : Sortie tension
Sortie
Renvoie les données numériques converties du module analogique selon la voie.
Sortie tension |
Sortie courant | ||
|---|---|---|---|
Valeur numérique (INT) |
Valeur analogique |
Valeur numérique (INT) |
Valeur analogique |
4095 |
10V |
4095 |
20mA |
2048 |
5V |
2048 |
12mA |
0 |
0V |
0 |
4mA |
-2048 |
-5V |
||
-4095 |
-10V |
||
Conversion A/D
Entrée tension |
Entrée courant |
||
|---|---|---|---|
Valeur numérique (UINT) |
Valeur analogique |
Valeur numérique (UINT) |
Valeur analogique |
65535 |
10V |
65535 |
20mA |
32768 |
5V |
39321 |
12mA |
0 |
0V |
13107 |
4mA |
0 |
0 |
||

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
iOutChannel0: INT:=0;
iOutChannel1: INT:=0;
iOutChannel2: INT:=0;
iOutChannel3: INT:=0;
bSetInChannel0ToCurrent: BOOL:=FALSE;
bSetOutChannel0ToCurrent: BOOL:=FALSE;
bSetInChannel1ToCurrent: BOOL:=FALSE;
bSetInChannel2ToCurrent: BOOL:=FALSE;
bSetInChannel3ToCurrent: BOOL:=FALSE;
bSetOutChannel1ToCurrent: BOOL:=FALSE;
bSetOutChannel2ToCurrent: BOOL:=FALSE;
bSetOutChannel3ToCurrent: BOOL:=FALSE;
uiInChannel0: UINT:=0;
uiInChannel1: UINT:=0;
uiInChannel2: UINT:=0;
uiInChannel3: UINT:=0;
END_VAR

BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 1 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 16 ;
NETWORK_BODY
B(B_F,Unit_AnalogInOut_FPG_A44!,,14,1,29,16,,?DiOutChannel0?DiOutChannel1?DiOutChannel2?DiOutChannel3?DiSlotNumber?DbSetInChannel0ToCurrent?DbSetInChannel1ToCurrent?DbSetInChannel2ToCurrent?DbSetInChannel3ToCurrent?DbSetOutChannel0ToCurrent?DbSetOutChannel1ToCurrent?DbSetOutChannel2ToCurrent?DbSetOutChannel3ToCurrent?AuiInChannel0?AuiInChannel1?AuiInChannel2?AuiInChannel3);
B(B_VARIN,,iOutChannel0,12,2,14,4,);
B(B_VARIN,,iOutChannel1,12,3,14,5,);
B(B_VARIN,,iOutChannel2,12,4,14,6,);
B(B_VARIN,,iOutChannel3,12,5,14,7,);
B(B_VARIN,,4,12,6,14,8,);
B(B_VARIN,,bSetInChannel0ToCurrent,12,7,14,9,);
B(B_VARIN,,bSetInChannel1ToCurrent,12,8,14,10,);
B(B_VARIN,,bSetInChannel2ToCurrent,12,9,14,11,);
B(B_VARIN,,bSetInChannel3ToCurrent,12,10,14,12,);
B(B_VARIN,,bSetOutChannel0ToCurrent,12,11,14,13,);
B(B_VARIN,,bSetOutChannel1ToCurrent,12,12,14,14,);
B(B_VARIN,,bSetOutChannel2ToCurrent,12,13,14,15,);
B(B_VARIN,,bSetOutChannel3ToCurrent,12,14,14,16,);
B(B_VAROUT,,uiInChannel0,29,2,31,4,);
B(B_VAROUT,,uiInChannel1,29,3,31,5,);
B(B_VAROUT,,uiInChannel2,29,4,31,6,);
B(B_VAROUT,,uiInChannel3,29,5,31,7,);
L(1,0,1,16);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Unit_AnalogInOut_FPG_A44(iOutChannel0 := iOutChannel0,
iOutChannel1 := iOutChannel1,
iOutChannel2 := iOutChannel2,
iOutChannel3 := iOutChannel3,
iSlotNumber := 4,
bSetInChannel0ToCurrent := bSetInChannel0ToCurrent,
bSetInChannel1ToCurrent := bSetInChannel1ToCurrent,
bSetInChannel2ToCurrent := bSetInChannel2ToCurrent,
bSetInChannel3ToCurrent := bSetInChannel3ToCurrent,
bSetOutChannel0ToCurrent := bSetOutChannel0ToCurrent,
bSetOutChannel1ToCurrent := bSetOutChannel1ToCurrent,
bSetOutChannel2ToCurrent := bSetOutChannel2ToCurrent,
bSetOutChannel3ToCurrent := bSetOutChannel3ToCurrent,
uiInChannel0 => uiInChannel0,
uiInChannel1 => uiInChannel1,
uiInChannel2 => uiInChannel2,
uiInChannel3 => uiInChannel3);