Le bloc fonction assure la gestion des sorties numériques sur le module indiqué dans Adresse selon le commandement de Mode défini. Pour gérer les sorties numériques sur le module CPU, il est nécessaire de définir Address:=255 e Mode:=DO_MODE#DO_8_LL.
Avec la variable Mask il est possible de masquer les sorties à gérer, le FB ne transférera que les bits de Value où le bit relatif de Mask C'est réglé. Par exemple avec Value:=16#FFFFFFFF e Mask:=16#00000003 seules les sorties 0 et 1 du module seront activées. Ceci permet:
- CODESYS: Pour utiliser le FB sur la même carte dans différents POU même dans différentes tâches.
- LogicLab: Utiliser le FB pour gérer les cartes de sortie qui sont gérées automatiquement dans l'image de process.
Verrouillage de fonction
CODESYS : eCDSXUnified12Lib
LogicLab : eLLabXUnified12Lib
Address (USINT) Il est nécessaire de spécifier l'adresse du module dans lequel gérer les sorties numériques (Plage de 0 à 15). La valeur 0 indique le premier module d'extension, 1 le deuxième, et ainsi de suite. L'adresse 255 indique le module CPU.
Mode (DO_MODE) Le mode de gestion des sorties numériques doit être spécifié (définition).
Value (UDINT) Réglez la valeur à transférer aux sorties numériques.
Mask (UDINT) Masquer les sorties à gérer. Seuls les morceaux de Value correspondant au bit relatif de Mask ensemble.
Done (BOOL) Base de données. Il est activé pour une boucle à la fin du réglage de la sortie numérique.
Fault (BOOL) Erreur. Il est activé en cas d'erreur dans la séquence de réglage
Exemples
Comment utiliser les exemples.
Les sorties numériques basses (de Out 8 à Out 0) du module d’extension d’adresse 7 sont transférées vers le 0, la valeur en OutValue.
LogicLab (Ptp116)
PROGRAM ST_SysSetPhrDO
VAR
OutValue : UDINT; (* Digital output value *)
DOut : SysSetPhrDO; (* Digital output management *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_SysSetPhrDO"
// *****************************************************************************
// This program manages digital outputs.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// DIGITAL OUTPUT MANAGEMENT
// -------------------------------------------------------------------------
// Manage digital outputs Out 0 to Out 7 on module with address 0.
DOut.Address:=0; //Module address
DOut.Mode:=DO_MODE#DO_8_LL; //Management mode
DOut.Value:=OutValue; //Digital ouput value
DOut.Mask:=16#000000FF; //Output mask
DOut(); //Digital output management
// [End of file]
CODESYS (Ptp161)
PROGRAM ST_SysSetPhrDO
VAR
OutValue : UDINT; //Digital output value
DOut : SysSetPhrDO; //Digital output management
END_VAR
// *****************************************************************************
// PROGRAM "ST_SysSetPhrDO"
// *****************************************************************************
// This program manages digital outputs.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// DIGITAL OUTPUT MANAGEMENT
// -------------------------------------------------------------------------
// Manage digital outputs Out 0 to Out 7 on module with address 0.
DOut.Address:=0; //Module address
DOut.Mode:=DO_MODE.DO_8_LL; //Management mode
DOut.Value:=OutValue; //Digital ouput value
DOut.Mask:=16#000000FF; //Output mask
DOut(); //Digital output management
// [End of file]