SysSetSerialDTR, set DTR signal status
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
| Parametro | Tipo | Descrizione |
|---|---|---|
| Status | BOOL | Stato a cui settare il segnale DTR su porta seriale. |
| File | FILEP | Flusso dati stream ritornato dal FB SysSerialPort. |
| Out | BOOL | FALSE errore esecuzione, TRUE esecuzione ok. |
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]