Vai al contenuto

SysSetSerialDTR, set DTR signal status

Vai all indice del manuale di programmazione
Tipo: Funzione
Libreria LogicLab: eLLabXUnified12Lib
Libreria Codesys: Non disponibile

Questa funzione imposta lo stato del segnale DTR della porta seriale connessa al parametro File, precedentemente aperto con il FB SysSerialPort impostando parametro DTRManagement a DTR_OFF o a DTR_ON.

Se il parametro DTRManagement è impostato in modalità automatica, eseguendo la funzione il segnale DTR sarà settato al valore definito ma alla prima trasmissione di un carattere il suo stato verrà modificato.

Descrizione

Status (BOOL) Stato a cui settare il segnale DTR su porta seriale.
File (FILEP) Flusso dati stream ritornato dal FB SysSerialPort.

La funzione ritorna un (BOOL) FALSE se errore esecuzione, TRUE se funzione eseguita correttamente.

Immagine F SysSetSerialDTR

Esempi

Come utilizzare gli esempi.
Nell’esempio seguente viene aperta una porta di comunicazione seriale e gestito il segnale DTR.

LogicLab (Ptp116, ST_SysSetSerialDTR)
PROGRAM ST_SysSetSerialDTR
VAR
    DTROut : BOOL; (* DTR command variable *)
    Sp : SysSerialPort; (* Serial port management *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_SysSetSerialDTR"
// *****************************************************************************
// It's possible to change the status of DTR signal on the defined serial port,
// acting by debug on DTROut variable.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // INITIALIZATION
    // -------------------------------------------------------------------------

    IF (SysFirstLoop) THEN
        Sp.COM:=ADR('COM0'); //COM port definition
        Sp.Baudrate:=19200; //Baudrate
        Sp.Parity:='E'; //Parity
        Sp.DataBits:=8; //Data bits
        Sp.StopBits:=1; //Stop bits
        Sp.DTRManagement:=DTR_OFF; //DTR management
        Sp.DTRComplement:=FALSE; //DTR complement
        Sp.EchoFlush:=FALSE; //Received echo flush
        Sp.DTROnTime:=0; //DTR On time delay (mS)
        Sp.DTROffTime:=0; //DTR Off time delay (mS)
        Sp.FlushTm:=0; //Flush time (mS)
        Sp.RxSize:=0; //Rx buffer size
        Sp.TxSize:=0; //Tx buffer size
    END_IF;

    // -------------------------------------------------------------------------
    // DTR MANAGEMENT
    // -------------------------------------------------------------------------
    // The DTR signal is managed.

    Sp(Open:=TRUE); //Serial port management
    IF (Sp.Opened) THEN eTO_JUNK(SysSetSerialDTR(DTROut, Sp.File)); END_IF;

// [End of File]
Was this article helpful?