Această funcție returnează starea semnalului CTS al portului serial conectat la parametrul File, deschis anterior cu FB SysSerialPort.
funzione
CODESYS: Indisponibil
LogicLab: eLLabXUnified12Lib
Descriere
File (FILEP) Flux de date în flux returnat de FB SysSerialPort.
Funcția returnează un (BOOL) FALSE Semnalul CTS nu este activ, TRUE semnal CTS activ.
Exemple
Cum se utilizează exemplele.
În exemplul următor, se deschide un port de comunicație serial și se obține starea semnalului CTS, care este suportat de variabila CTSIn. Controlul erorilor de execuție este gestionat în program prin verificarea ultimei erori ObjectID 9993, referitor la funcție.
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]