Function Block - Serial communication.
RUN :
BOOL Enable comunication (opens the comm
port)
SND :
BOOL TRUE if data has to be sent
CONF :
STRING Configuration of the communication port
DATASND :
STRING Data to
send
OPEN :
BOOL TRUE if the communication port is
open
RCV :
BOOL TRUE if data has been
received
ERR :
BOOL TRUE if error detected during sending
data
DATARCV :
STRING Received
data
The RUN input does not include an edge detection. The block tries to open the port on each call if RUN is TRUE and if the port is still not successfully open. The CONF input is used for settings when opening the port. Please refer to your OEM instructions for further details about possible parameters.
The SND input does not include an edge detection. Characters are sent on each call if SND is TRUE and DATASND is not empty.
The DATARCV string is erased on each cycle with received data (if any). Your application is responsible for checking or storing received character immediately after the call to SERIO block.
SERIO is available during simulation. In that case, the CONF input defines the communication port according to the syntax of the "MODE" command. For example:
'COM1:9600,N,8,1'
The SERIO block may not be supported on some targets. Refer to your OEM instructions for further details.
(* MySer is a declared instance of SERIO
function block *)
MySer (RUN, SND, CONF, DATASND);
OPEN := MySer.OPEN;
RCV := MySer.RCV;
ERR := MySer.ERR;
DATARCV := MySer.DATARCV;
(* MySer is a declared instance of SERIO
function block *)
Op1: CAL MySer (RUN, SND,
CONF, DATASND)
LD MySer.OPEN
ST OPEN
LD MySer.RCV
ST RCV
LD MySer.ERR
ST ERR
LD
MySer.DATARCV
ST
DATARCV