SysSetPhrDO, set peripheral digital output

List

Questa pagina fa parte del Manuale Programmazione IEC 61131-3. Vai all indice.

Il blocco funzione esegue gestione delle uscite digitali sul modulo indicato in Address in base al comando di Mode definito. Per gestire le uscite digitali presenti sul modulo CPU occorre definire Address:=255 e Mode:=DO_MODE#DO_8_LL.

Con la variabile Mask è possibile mascherare le uscite da gestire, il FB trasferirà sulla scheda in uscita solo i bits di Value in cui il relativo bit di Mask è settato. Per esempio con Value:=16#FFFFFFFF e Mask:=16#00000003 verranno attivate solo le uscite 0 e 1 del modulo. Questo permette:

  • CODESYS: Di utilizzare il FB sulla stessa scheda in diversi POUs anche in tasks diverse.
  • LogicLab: Di utilizzare il FB per gestire le schede di uscita che sono automaticamente gestite in immagine di processo.
Information Circle

Blocco funzione

CODESYS: eCDSXUnified12Lib

LogicLab: eLLabXUnified12Lib

Address (USINT) Occorre specificare l’indirizzo di modulo in cui gestire le uscite digitali (Range da 0 a 15). Il valore 0 indica il primo modulo di estensione, 1 il secondo e così di seguito. L’indirizzo 255 indica il modulo CPU.
Mode (DO_MODE) Occorre specificare il modo di gestione uscite digitali (Definizione).
Value (UDINT) Impostare il valore da trasferire sulle uscite digitali.
Mask (UDINT) Maschera uscite da gestire. Vengono gestiti solo i bit di Value corrispondenti al relativo bit di Mask settato.
Done (BOOL) Dato settato. Viene attivato per un loop al termine del settaggio delle uscite digitali.
Fault (BOOL) Errore. Viene attivato in caso di errore nella sequenza di settagg

Immagine FB SysSetPhrDO

Esempi

Come utilizzare gli esempi.
Viene trasferito nelle 8 uscite digitali basse (Da Out 0 a Out 7) del modulo di espansione con indirizzo 0 il valore in 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]
Was this article helpful?