Esta función devuelve el estado de la señal CTS del puerto serie conectado al parámetro File, previamente abierto con el FB SysSerialPort.
Funzione
CÓDIGOS: indisponible
Laboratorio lógico: eLLabXUnified12Lib
Descripción
File (FILEP) Flujo de datos de flujo devuelto por el FB SysSerialPort.
La función devuelve un (BOOL) FALSE Señal CTS no activa, TRUE señal activa de CTS.
Ejemplos
Cómo utilizar los ejemplos..
En el siguiente ejemplo, se abre un puerto de comunicación serial y se adquiere el estado de la señal CTS, que se apoya en la variable CTSIn. El control de errores de ejecución se gestiona en el programa comprobando si se ha producido el último error. ObjectID 9993, relacionado con la función.
Laboratorio lógico (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]