Report Control Block (RCB)
A server uses reporting to send data based on events, without an explicit request for that data by the client. Report control blocks (RCBs) are used to determine the type of data that is sent in the reports, and the types of event that cause the reports to be generated.
The two types of reporting are:
-
Buffered reporting
-
Unbuffered reporting
With buffered reporting, if a connection to the client is interrupted, the server buffers the report. This way, the server sends reports after the client has connected again. Buffered report control block (BRCB) configures the buffered reporting. With unbuffered reporting, if a connection to the client is interrupted, the server does not buffer the data. This way, you may miss some reports. Unbuffered report control blocks (URCB) configures the unbuffered reporting..
RCBs are located within logical nodes of the server’s data model (that is the server’s ICD/SCL file). RCB's are fixed and cannot be deleted or added at run-time. An RCB is blocked once a client has registered to receive reports (by enabling it). That means a single RCB cannot send reports to several clients in parallel.
RCBs are always associated with a specific data set that has to be located in the same logical node as the RCB. A subset of the data set’s members is reported if any of the configured events occurs. by. At run-time, a client can dynamically change the associated data set of the RCB.
RCBs are located in logical nodes in the server’s model tree. Therefore the reference of an RCB is of the form LogicalDeviceName/LogicalNodeName.RCBName . Even though RCBs can only reference data sets located in the same logical node as the RCB itself, they can still monitor data from other logical nodes because the data set’s members can be located in other logical nodes.