6 PubSub communication parameters ToC Previous Next

6.2 Common configuration parameters ToC Previous Next

6.2.11 Information flow and status handling ToC Previous Next

The configuration model defines different parameters that influence the information flow from Publisher to Subscriber in the case of a Bad Value Status or other error situations. Figure 24 depicts the parameters and the information flow inside a Publisher and inside a Subscriber.

The parameters and behaviour relevant for the encoding of a DataSetMessage on the Publisher side and the decoding of the DataSetMessage on the Subscriber side are defined in 6.2.4.2 together with the DataSetFieldContentMask.

readme_files/image027.png Figure 24 – PubSub information flow

The mapping of source value and status to the DataSet in the Publisher depends on the substitute value. The dependencies are defined in Table 69.

Table 69 – Source to message input mapping

Source    Substitute Value DataSet Publisher side    
Value(b) Status   (a)      
</sup>   Value Status   (a)  
Value 1 Good_*    Value 2 Value 1 Good_*
Value 1 Uncertain_*   Value 1 Uncertain_*
Ignored Bad_*   Value 2 Uncertain_SubstituteValue
Value 1 Good_* Null Value 1 Good_*
Value 1 Uncertain_*   Value 1 Uncertain_*
Ignored Bad_*   Null Bad_*
   (a)   If no specific StatusCode is used, the grouping into severity Good, Uncertain or Bad is used. In this case, the resulting Status matches the input Status.(b)   Any error that happens during processing of source value e.g. DataType does not match DataSetField should be treated like a Bad StatusCode received from the source.        

The mapping of the decoded DataSet on the Subscriber side to the value and status of the target Variable depends on the override value. The dependencies are defined in Table 70.

Table 70 – Message output to target mapping

Decoded DataSet Subscriber Override Value Handling Enum    OverrideValue    ReaderState Target    
Value Status   (a)       Value Status   (a)
Value 1 Good_*    OverrideValue Value 2 Operational Value 1 Good_*
Value 1 Uncertain_*       Value 1 Uncertain_*
Ignored Bad_*       Value 2 Good_LocalOverride
Value 1 Good_* LastUsableValue Ignored   Value 1 Good_*
Value 1 Uncertain_*       Value 1 Uncertain_*
Ignored Bad_*       LastValue (b) Uncertain_LastUsableValue
Value 1 Good_* Disabled Ignored   Value 1 Good_*
Value 1 Uncertain_*       Value 1 Uncertain_*
Ignored Bad_*       Null Bad_*
   No message received.The target values are updated once after a reader state change. OverrideValue Value 2    DisabledPaused Value 2 Good_LocalOverride  
  LastUsableValue Ignored   LastValue (b) Uncertain_LastUsableValue  
  Disabled Ignored   Null Bad_OutOfService  
  OverrideValue Value 2 Error Value 2 Good_LocalOverride  
  LastUsableValue Ignored   LastValue (b) Uncertain_LastUsableValue  
  Disabled Ignored   Null Bad_NoCommunication  
   (a)   If no specific StatusCode is used, the grouping into severity Good, Uncertain or Bad is used. In this case, the resulting Status matches the input Status.(b)   The last value is either the last received value or the default value for the data type if there was never a value received before.            

If one of the target Variables in the SubscribedDataSet does not allow writing of the StatusCode and the OverrideValueHandling is set to Disabled, the DataSetReader shall indicate the configuration error by setting the DataSetReader state to Error. In all other configurations of OverrideValueHandling when the target Variable does not allow writing of the StatusCode, only the Value is transferred to the target Variable.

If a target Variable in the SubscribedDataSet does not allow writing of timestamp, any received timestamp shall not be used and only the received value shall be written to the target Variable.

Previous Next