5. CONFIGURATION
Output parameters Type Description
DONE BOOL
This variable is true when the block is com-
pletely executed. It is false otherwise.
EXEC BOOL
This variable is true while the block is be-
ing executed. It is false otherwise.
ERROR BOOL
This variable is true when the block con-
cludes the execution with an error. It is
false otherwise. It is connected to the vari-
able DONE, as its status is showed after the
block conclusion.
STATUS SERIAL_STATUS
In case the ERROR variable is true, the
STATUS structure will show the error
found during the block execution. The
possible states, already described in the
SERIAL_STATUS data type, are:
- NO_ERROR
- ILLEGAL_SERIAL_PORT
- PORT_BUSY
- HW_ERROR_UART
- HW_ERROR_REMOTE
- ILLEGAL_RX_BUFF_LENGTH
- RX_TIMEOUT_ERROR
- FB_SERIAL_RX_NOT_ALLOWED
- NOT_CONFIGURED
RX_RECEIVED UINT
Returns the received characters num-
ber. This number can be within
zero and the configured value in
RX_BUFFER_LENGTH. In case it is
smaller, an error will be indicated by the
function block.
RX_REMAINING UINT
Returns the number of characters which
are still in the RX queue after the function
block execution.
Table 182: SERIAL_RX Output Parameters
Utilization example in ST language, after the library is inserted in the project and the serial port configured:
PROGRAM UserPrg
VAR
Receive: SERIAL_RX;
Port: SERIAL_PORT := COM1;
Buffer_Pointer: ARRAY [0..1023] OF BYTE; //Max size.
Status: SERIAL_STATUS;
END_VAR
//INPUTS:
Receive.REQUEST := TRUE;
Receive.PORT := Port;
Receive.RX_BUFFER_POINTER := ADR(Buffer_Pointer);
Receive.RX_BUFFER_LENGTH := 1024; //Max size.
Receive.RX_TIMEOUT := 10000;
//FUNCTION:
Receive();
//OUTPUTS:
244