...
Rule 3: Case when ASDU timestamp is not received:
A the The HNZTOPIVOT step:
If the received ASDU is without timestamp Then
We create a pivot object With timestamp = current system time
And <>.TmOrg.stVal = substituted
...
The content under <Root> will convert the HNZ data objet to a pivot object as follow:
Key | Type | Default Value | HNZ.command_object.<...> | Note | Mandatory (of co field) |
---|---|---|---|---|---|
<Root>.ComingFrom | String | "hnzip" | NO | ||
<Root>.Identifier | String | co_type + co_addr | exchanged_data.datapoints.pivot_id | YES | |
<Root>.<type> | {CDC} | co_type | SpcTyp (TC) | DpcTyp (TC) | IncTyp (TVC) | YES | |
<Root>.SpcTyp.ctlVal | Boolean | co_value | [0..1] | YES (if TC Simple) | |
<Root>.DpcTyp.ctlVal | String | co_value | off | on | YES (if TC Double) | |
<Root>.IncTyp.ctlVal | Int | co_value | Int 32 | YES (if TVC) |
Filter rules
CENTER => (ASDU) IEC104 NORTH => (IEC104 DP) IEC104TOPIVOT =>(PIVOT DP) PIVOTTOHNZ => (HNZ DP) HNZ SOUTH=> (ASDU) STATION
...
Rule 5: Case when IEC104 command object for ASDU type without timestamp is received then:
A the The PIVOTTOHNZ step:
If the received ASDU is without timestamp Then We create a pivot object With timestamp = current system time
...
The conversion of a Pivot object to HNZ data is the inverse operation of the rules above:
Filter rules
Rules 1 : GTIC GTIC pivot object is converted to a TC HNZ object
Rules 2 :
...
<Root>.<type>.q.Validity
...
<Root>.<type>.q.DetailQuality.oldData
...
<Root>.<type>.t.TimeQuality.clockNotSynchronized
...
<Root>.TmValidity.stVal
...