Blocul funcțional efectuează gestionarea digitală a ieșirii pe modulul indicat în Adresă după porunca lui mod definite. Pentru a gestiona ieșirile digitale de pe modulul CPU, este necesar să se definească Address:=255 e Mode:=DO_MODE#DO_8_LL.
Cu variabila Mask este posibilă mascarea ieșirilor de gestionat, FB-ul va transfera doar biții de Value unde bitul relativ de Mask este setat. De exemplu cu Value:=16#FFFFFFFF e Mask:=16#00000003 vor fi activate doar ieșirile 0 și 1 ale modulului. Asta permite:
- CODESYS: Pentru a utiliza FB-ul pe aceeași cartelă în POU-uri diferite chiar și în sarcini diferite.
- LogicLab: Pentru a utiliza FB pentru a gestiona cardurile de ieșire care sunt gestionate automat în imaginea procesului.
Blocarea funcției
CODESYS: eCDSXUnified12Lib
LogicLab: eLLabXUnified12Lib
Address (USINT) Este necesar să se specifice adresa modulului în care să se gestioneze ieșirile digitale (Interval de la 0 la 15). Valoarea 0 indică primul modul de extensie, 1 al doilea și așa mai departe. Adresa 255 indică modulul CPU.
Mode (DO_MODE) Trebuie specificat modul de gestionare a ieșirii digitale (definiție).
Value (UDINT) Setați valoarea de transferat la ieșirile digitale.
Mask (UDINT) Mascați ieșirile de gestionat. Doar bucățile din Value corespunzător bitului relativ al Mask a stabilit.
Done (BOOL) Setul de date. Este activat pentru o buclă la sfârșitul setării ieșirii digitale.
Fault (BOOL) Eroare. Este activat în caz de eroare în secvența de setare
Exemple
Cum se utilizează exemplele.
Ieșirile digitale scăzute (de la 8 Out la 0 Out) ale modulului de expansiune cu adresa 7 sunt transferate către 0, valoarea în 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]