Open (FB)

FUNCTION_BLOCK Open EXTENDS CBM.ETrig

Open a serial com port.

The input Parameters are a list of settings, with which the COM port should be opened.

Example: COMPort = 1, Baudrate = 115200, Parity = None, StopBits = 1

DECLARATION:

MyComOpen : COM.Open;
aParamsB115200 : ARRAY [1..7] OF COM.PARAMETER := [
    (udiParameterId := COM.CAA_Parameter_Constants.udiPort,             udiValue := 1),
    (udiParameterId := COM.CAA_Parameter_Constants.udiBaudrate,         udiValue := 115200),
    (udiParameterId := COM.CAA_Parameter_Constants.udiParity,           udiValue := COM.PARITY.NONE),
    (udiParameterId := COM.CAA_Parameter_Constants.udiStopBits,         udiValue := COM.STOPBIT.ONESTOPBIT),
    (udiParameterId := COM.CAA_Parameter_Constants.udiTimeout,          udiValue := 0),
    (udiParameterId := COM.CAA_Parameter_Constants.udiByteSize,         udiValue := 8),
    (udiParameterId := COM.CAA_Parameter_Constants.udiBinary,           udiValue := 1)
];

IMPLEMENTATION:

So to parameterize the FB looks like:

MyComOpen(usiListLength := SIZEOF(aParamsB115200)/SIZEOF(COM.PARAMETER), pParameterList := ADR(aParamsB115200));
...
InOut:

Scope

Name

Type

Comment

Input

usiListLength

USINT

Number of entries in the pParameterList

pParameterList

CAA.PVOID

Pointer to ARRAY of parameter entries

Output

eError

ERROR

Local library error ID (0: no error; 5001: time out)

hCom

CAA.HANDLE

specific Outputs