Vai all indice del manuale di programmazione
Tipo:
Funzione
Libreria LogicLab:
eLLabXUnified12Lib
Libreria Codesys:
Non disponibile
Questa funzione imposta il modo di comunicazione definito sullo stream di comunicazione seriale definito dal parametro File, precedentemente aperto da FB SysSerialPort. Nel parametro Mode occorre definire l’indirizzo della struttura SYSSERIALMODE in cui è definito il modo seriale da impostare sulla porta.
Descrizione
Mode (@SYSSERIALMODE) Indirizzo struttura SYSSERIALMODE con il modo da impostare.
File (eFILEP) Flusso dati stream ritornato dalla funzione SysSerialPort.
La funzione ritorna FALSE in caso di errore.

Esempi
Come utilizzare gli esempi
Nell’esempio viene aperta la porta seriale ed impostati i parametri di comunicazione, su comando i parametri impostati vengono letti ed il valore di baud rate modificato.
LogicLab (Ptp116, ST_SysSetSerialMode)
PROGRAM ST_SysSetSerialMode
VAR
SPars : BOOL; (* Set serial parameters *)
Sp : SysSerialPort; (* Serial port management *)
RSts : ARRAY[0..1] OF BOOL; (* Result status *)
SMode : SYSSERIALMODE; (* Serial mode *)
END_VAR
// *****************************************************************************
// PROGRAM "ST_SysSetSerialMode"
// *****************************************************************************
// The program allows to set the serial communication parameters.
// -----------------------------------------------------------------------------
// -------------------------------------------------------------------------
// 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;
// -------------------------------------------------------------------------
// SERIAL PORT SET PARAMETERS
// -------------------------------------------------------------------------
// Open the serial port.
Sp(Open:=TRUE); //Serial port management
// On a command the serial port parameters are read and the baud rate is changed.
IF (SPars) THEN
RSts[0]:=SysGetSerialMode(ADR(SMode), Sp.File); //Get serial parameters
SMode.Baudrate:=9600; //Baud rate
RSts[1]:=SysSetSerialMode(ADR(SMode), Sp.File); //Set serial parameters
END_IF;
// [End of File]