Controller considerations

Inter-Controller communication guidelines

This section describes controller communication behaviors in order to help you design your system to ensure data transmission between DeltaV nodes.

Reads - Reads are the preferred method for communications. For example, Controller B has an input parameter defined as an external reference to a parameter in Controller A. Controller B initiates unsolicited updates with a one-time request for data from Controller A. From then on, Controller A updates Controller B when the exception criteria are met (a status or data value changes). Any references in Controller B are then reading buffered data that is automatically updated by the system's communications processes. This is called unsolicited sending.

The unsolicited send occurs at the same priority as low priority modules on the source node. When referencing a parameter in another node in an expression, you can verify communications with that parameter or node with the .CST field. The .CST field can be referenced in blocks such as the CALC block or SFC expression.

When verifying the status of a reference in another controller, .CST is recommended instead of .ST. The .ST value is set by the sending node. As such, if communications is lost, the .ST value does not change and holds its last value. The CST value is set by the receiving node. Every time the module executes, the .CST value is updated with the current remote status.

Your configuration should be designed to accommodate occasional, intermittent bad status. It may not be good practice to immediately trip an emergency shutdown on a single instance of bad status. You can configure timeouts on bad status as appropriate to avoid unnecessary shutdowns.

Similarly, it may not be appropriate to design control logic with immediate response to unexpected events. On any interlock or shutdown conditional logic, provide appropriate time delays before the system takes significant action in response to the event. For example, it may be appropriate in some cases to allow a bad status for several seconds before shutting down or taking other serious action. Time delays can prevent unnecessary shutdowns in the event of intermittent events caused by electrical noise, redundant controller switchovers, partial downloads, and so on.

Buffered Asynchronous Writes - When calculation block expressions, action block expressions, and SFC/PLM/Phase Class actions write to a parameter in another node, the output is buffered. This is followed by an asynchronous write request to the destination node with the new data. These occur at a priority lower than low priority modules on the source node. Buffered asynchronous writes are also done for external reference parameters in other nodes.

With these definitions in mind, note the following functionality regarding data exchange between nodes: