Vai all indice del manuale di programmazione
Tipo:
Funzione
Libreria LogicLab:
eLLabXUnified12Lib
Libreria Codesys:
Non disponibile
Questa funzione ritorna lo stato del segnale CTS della porta seriale connessa al parametro File, precedentemente aperto con il FB SysSerialPort.
Descrizione
File (FILEP) Flusso dati stream ritornato dal FB SysSerialPort.
La funzione ritorna un (BOOL) FALSE segnale CTS non attivo, TRUE segnale CTS attivo.

Esempi
Come utilizzare gli esempi.
Nell’esempio seguente viene aperta una porta di comunicazione seriale ed acquisito lo stato del segnale CTS che viene appoggiato sulla variabile CTSIn. Nel programma viene gestito il controllo sull’errore di esecuzione verificando se l’ultimo errore ha ObjectID 9993, relativo alla funzione.
LogicLab (Ptp116), ST_SysGetSerialCTS
PROGRAM ST_SysGetSerialCTS
VAR
CTSIn : BOOL; (* CTS signal status *)
IsError : BOOL; (* Execution error *)
Sp : SysSerialPort; (* Serial port management *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_SysGetSerialCTS"
// *****************************************************************************
// The program allows to read the status of the serial CTS signal.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// 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_AUTO_WO_TIMES; //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
CTSIn:=SysGetSerialCTS(Sp.File); //CTS signal status
// To check if execution error, check if the return is FALSE and last
// error code has the function ObjectID.
IF NOT(CTSIn) THEN
IsError:=((SysGetLastError(TRUE)/1000) = 9993); //Execution error
END_IF;
END_IF;
// [End of File]