SysGetSerialCTS, obtenga el estado de la señal serial CTS

Lista

Esta página es parte del Manual de programación IEC 61131-3. Ir al índice.

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.

Círculo de información

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.

Imagen F SysGetSerialCTS

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]
¿Le resultó útil este artículo?