This topic describes behavior of OPC UA function block inputs and outputs.

Behavior of Function Blocks with the Input Execute

The rising edge of the input Execute starts the execution of the function block. The function block continues execution and the output Busy is set to TRUE. Additional rising edges at the input Execute are ignored while the function block is being executed.

After the execution is finished, the outputs Done or Error remain TRUE until the input Execute is set to FALSE. If the input is reset before the execution is finished, the outputs Done or Error are set to TRUE for one cycle.

Behavior of Time Out

Each block has a TimeOut pin that can be parametrized. This is the max time waiting for an answer to the server.

When the TimeOut is raised, the ERROR Pin is set to 1 and a specific error is raised on ErrorID Pin E_TIMEOUT.

For some blocks, for example UA_ReadList, this pin can be used periodically to pool variable value; or, for example UA_WriteList, to repetitively write a value.

In addition, on the connection block inside UASessionConnectInfo, there exists additional TimeOut parameters:

  • VendorSpecificParameter.OPCUARequestTimeOut : TimeOut of all the OPCUA requests sent over the current connection; if 0 internally the default value is 30s.

  • SessionTimeout : Defines how long the session will survive when there is no connection.

Refer to the UASessionConnectInfo object for more information about VendorSpecificParameter.OPCUARequestTimeOut and SessionTimeout.

Block Time Out cannot be used to attempt to immediately repeat the action if the TimeOut is triggered. In this case, the connection to the server may have been lost (wire connection broken and repair time ongoing, or the server is busy typically a build changes on PLC behind a BMENUA0100 server).

You need to estimate the busy time of the server or network repair time, and harmonize the block TimeOut and OPCUARequestTimeOut accordingly. These parameters could be configured with the same value.

Routing

The OPC UA client can access the UA server only by the External port of BMENUA0100 module or the embedded Ethernet ports of CPUs.