• Not Answered

Inter-node communication -CND /ACT/CALC block settings. What exactly is the difference between ALGO_OPTS-"Abort on read errors" and ERROR_OPTS "UseLast" option ? Are these two alternatives for retaining last value upon lost Internode co

Hi,

Greetings for the day !

Consider the following scenario ,

For all the CND blocks in the system, we are considering to Change ERROR_OPTS from default 'false' value to "UseLast" , for the case of lost inter-node communication.

Also we see about checking ALGO_OPTS -abort on read errors. (recommended to check).

Questions :

  1. Are both settings required to be done ? or one of it should suffice when Last value retention is required upon loss of inter-node communication.
  2. What exactly is the difference between ALGO_OPTS-"Abort on read errors" and ERROR_OPTS "UseLast" option ?

We have the following information:

The algorithm options parameter (ALGO_OPTS) allows you to specify abort or no-abort on read errors. The ALGO_OPTS parameter is supported in the Action, Calculation/Logic, and Condition function blocks.

AbortOnReadErrors — When selected, the expression algorithm aborts after encountering a read error on any parameter. A read error occurs, for example when a parameter in another controller cannot be read because the controllers are not communicating.

When the expression aborts, the following occurs:

Condition blockPRE_OUT_D retains its value from the previous scan. (Regardless of ERROR_OPTS settings). This gives rise to questions above 

Action block — None of the assignment statements are executed

Calc/Logic block — None of the assignment statements are executed

Use ERROR_OPTTto configure how the block behaves when a read error occurs. The value of PRE_OUT_D will be False (default), True, or the last value prior to the read error as defined in  (unless ‘Abort on Read Errors’ is set in ALGO_OPTS, in which case  does not apply). The status of PRE_OUT_D is BadNoComm when a read error occurs.

Well, in need of that clarification to proceed , could you please clarify? Thank you .

Awaiting responses,

Best Regards,

Humaira F S

1 Reply

  • Abort on Read errors stops execution of the expression. values retain the last state they were given.

    Error_opts allows you to set a pre defined state versus maintaining last value.

    In previous versions Algo Opts abort on read was recommended to avoid spurious trips on a controller switchover which temporarily caused Bad status loss of comm errors. A separate interlock could be used to trip on a loss of comms and adjusted as needed, i.e delayed to allow switch overs to occur without trips.

    In v14 (I think also in v13) status of signals are maintained through switchover making the previous recommendations moot. on a true loss of communications, you may still wish to abort the algorithm so as to avoid invalid results. The redundancy analyzer on later versions does not flag expressions for enabling Algo Opt to Abort on read.

    Error_opts is the result of the expression executing and will force the state of the out put. I would have to verify how the block behaves if .ST is BAD on a referenced parameter but .cst is still 0 or good. What happens if your expression divides by 0. are these errors that will force the output even if connections are all good?

    If CST is 0 the the status of the value reflects the status at the source. If CST is bad, then ST will also be bad as the actual source status is unavailable.

    Read errors are relates to remote values and so CST drives Algo Ops abort on read. I'm not sure if error opts is driven by math errors and such.

    best thing is to test this with Float with status and reference it in. CND block and run through various scenarios to get your answers.

    Andre Dicaire