SysSetPhrDO, set peripheral digital output

  1. Home
  2. Knowledge Base
  3. Manualistica
  4. Programmazione IEC 61131-3
  5. Gestione periferiche
  6. SysSetPhrDO, set peripheral digital output

Il blocco funzione esegue gestione delle uscite digitali sul modulo indicato in Address in base al comando di Mode definito.

Nota: Per gestire le uscite digitali presenti sul modulo CPU occorre definire Address:=255 e Mode:=DO_MODE#DO_8_LL

Function block
CODESYS: eCDSS8CoreMng
LogicLab: eLLabS8CoreMng, 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.

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 settaggio.

Errori

In caso di errore si attiva l'uscita Fault, eseguendo immediatamente dopo la funzione SysGetLastError è possibile rilevare il codice di errore. Fare riferimento alla tabella seguente per la descrizione.

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)
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]

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 21 Settembre 2019