View Issue Details

IDProjectCategoryView StatusLast Update
000622710000-013: AggregatesSpecpublic2021-12-21 16:11
ReporterArchie Miller Assigned ToRod Stein  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Fixed in Version1.05 
Summary0006227: Time Based Status Calculations should respect PercentGood/PercentBad equality check.
Description

There is a potential conflict between the calculation of the Status code defined in 4.2.1.2 and the calculation of time based status codes in 5.4.3.2.1.

4.2.1.2
The PercentDataGood and PercentDataBad shall follow the following relationship PercentDataGood ≥ (100 – PercentDataBad). If they are equal the result of the PercentDataGood calculation is used.
This basically states that percent bad is not checked in this scenario.

However, 5.4.3.2.1 States that the Bad check should be done before the Good Check.
If the calculation in 4.2.1.2 is to be done for Time Based Status calculations, there would be updates to two tables in the spec.

For Historian3, it basically means the Check against Percent would never happen as it meets the conditions where PercentGood == ( 100 - PercentBad ).

See the TimeAverage2-Historian3-forward.csv and Total2-Historian3-forward.csv documents for calculation comparisons against the original test tool.

TimeAverage2:Historian3

Timestamp Value StatusCode Updated Value Updated Status
12:00:00.000 10 Good, Calculated, Partial
12:00:05.000 10 Good, Calculated
12:00:10.000 10 Good, Calculated
12:00:15.000 10 Good, Calculated
12:00:20.000 10 Good, Calculated
12:00:25.000 22 Good, Calculated
12:00:30.000 25 Good, Calculated
12:00:35.000 26 Good, Calculated
12:00:40.000 Bad, Calculated 30 UncertainDataSubNormal, Calculated
12:00:45.000 Bad, Calculated 40 UncertainDataSubNormal, Calculated
12:00:50.000 46 Good, Calculated
12:00:55.000 50 Good, Calculated
12:01:00.000 50 Good, Calculated
12:01:05.000 50 Good, Calculated
12:01:10.000 56 Good, Calculated
12:01:15.000 Bad, Calculated 60 UncertainDataSubNormal, Calculated
12:01:20.000 Bad, Calculated 70 UncertainDataSubNormal, Calculated
12:01:25.000 78 Good, Calculated
12:01:30.000 90 Good, Calculated, Partial
12:01:35.000 BadNoData

Total2:Historian3

Timestamp Value StatusCode Updated Value Updated Status
12:00:00.000 30 Good, Calculated, Partial
12:00:05.000 50 Good, Calculated
12:00:10.000 50 Good, Calculated
12:00:15.000 50 Good, Calculated
12:00:20.000 50 Good, Calculated
12:00:25.000 110 Good, Calculated
12:00:30.000 125 Good, Calculated
12:00:35.000 130 Good, Calculated
12:00:40.000 Bad, Calculated 60 UncertainDataSubNormal, Calculated
12:00:45.000 Bad, Calculated 80 UncertainDataSubNormal, Calculated
12:00:50.000 230 Good, Calculated
12:00:55.000 250 Good, Calculated
12:01:00.000 250 Good, Calculated
12:01:05.000 250 Good, Calculated
12:01:10.000 280 Good, Calculated
12:01:15.000 Bad, Calculated 120 UncertainDataSubNormal, Calculated
12:01:20.000 Bad, Calculated 140 UncertainDataSubNormal, Calculated
12:01:25.000 390 Good, Calculated
12:01:30.000 0.090 Good, Calculated, Partial
12:01:35.000 BadNoData
TagsNo tags attached.
Attached Files
TimeAverage2-Historian3-forward.csv (15,980 bytes)   
Historian3,TimeAverage2
Stepped Interpolation,True
Sloped Extrapolation,False
TreatUncertainAsBad,True
PercentGood,50
PercentBad,50
Raw,Raw Value,Raw Status,Timestamp,Index,Original Simple Values,Current Simple Values,,Original Durations,Current Durations,,Original Calculation,Current Calculation,,Original Result,Current Result
,,,12:00:00,0,
,,,,,"12:00:00 (null) BadNoData","00:00:00 Null BadNoData (0x809b0000)"
,,,,,"12:00:02 10 Good","00:00:02 10.000 Good (0x00000000)"
,,,,,"12:00:05 10 Good [0402]","00:00:05 10.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:00 AM,00:00:00
,,,,,,,Start Value, 0,0
,,,,,,,End Value, 0,0
,,,,,,,Status, "BadNoData","BadNoData (0x809b0000)"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:02 AM,00:00:02
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,3000 ,3000 
,,,,,,,,,,Bad Duration,2000 ,2000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:00,00:00:00
,,,,,,,,,,,,,Value,10,10.000
,,,,,,,,,,,,,Status,"Good [0405]","Good (0x00000405) - Limit None"
12:00:02,10,"Good",
,,,12:00:05,1,
,,,,,"12:00:05 10 Good [0402]","00:00:05 10.000 Good (0x00000402) - Limit None"
,,,,,"12:00:10 10 Good [0402]","00:00:10 10.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:05 AM,00:00:05
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:05,00:00:05
,,,,,,,,,,,,,Value,10,10.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:00:10,2,
,,,,,"12:00:10 10 Good [0402]","00:00:10 10.000 Good (0x00000402) - Limit None"
,,,,,"12:00:15 10 Good [0402]","00:00:15 10.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:10 AM,00:00:10
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:10,00:00:10
,,,,,,,,,,,,,Value,10,10.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:00:15,3,
,,,,,"12:00:15 10 Good [0402]","00:00:15 10.000 Good (0x00000402) - Limit None"
,,,,,"12:00:20 10 Good [0402]","00:00:20 10.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:15 AM,00:00:15
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:15,00:00:15
,,,,,,,,,,,,,Value,10,10.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:00:20,4,
,,,,,"12:00:20 10 Good [0402]","00:00:20 10.000 Good (0x00000402) - Limit None"
,,,,,"12:00:25 20 Good","00:00:25 20.000 Good (0x00000000)"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:20 AM,00:00:20
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:20,00:00:20
,,,,,,,,,,,,,Value,10,10.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:00:25,20,"Good",12:00:25,5,
,,,,,"12:00:25 20 Good","00:00:25 20.000 Good (0x00000000)"
,,,,,"12:00:28 25 Good","00:00:28 25.000 Good (0x00000000)"
,,,,,"12:00:30 25 Good [0402]","00:00:30 25.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:25 AM,00:00:25
,,,,,,,Start Value, 20,20
,,,,,,,End Value, 20,20
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:28 AM,00:00:28
,,,,,,,Start Value, 25,25
,,,,,,,End Value, 25,25
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:25,00:00:25
,,,,,,,,,,,,,Value,22,22.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:00:28,25,"Good",
,,,12:00:30,6,
,,,,,"12:00:30 25 Good [0402]","00:00:30 25.000 Good (0x00000402) - Limit None"
,,,,,"12:00:35 25 Good [0402]","00:00:35 25.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:30 AM,00:00:30
,,,,,,,Start Value, 25,25
,,,,,,,End Value, 25,25
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:30,00:00:30
,,,,,,,,,,,,,Value,25,25.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:00:35,7,
,,,,,"12:00:35 25 Good [0402]","00:00:35 25.000 Good (0x00000402) - Limit None"
,,,,,"12:00:39 30 Good","00:00:39 30.000 Good (0x00000000)"
,,,,,"12:00:40 30 Good [0402]","00:00:40 30.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 4000,4000
,,,,,,,Start Time, 12:00:35 AM,00:00:35
,,,,,,,Start Value, 25,25
,,,,,,,End Value, 25,25
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 1000,1000
,,,,,,,Start Time, 12:00:39 AM,00:00:39
,,,,,,,Start Value, 30,30
,,,,,,,End Value, 30,30
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:35,00:00:35
,,,,,,,,,,,,,Value,26,26.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:00:39,30,"Good",
,,,12:00:40,8,
,,,,,"12:00:40 30 Good [0402]","00:00:40 30.000 Good (0x00000402) - Limit None"
,,,,,"12:00:42 (null) Bad","00:00:42 Null Bad (0x80000000)"
,,,,,"12:00:45 (null) BadNoData","00:00:45 Null BadNoData (0x809b0000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:40 AM,00:00:40
,,,,,,,Start Value, 30,30
,,,,,,,End Value, 30,30
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:42 AM,00:00:42
,,,,,,,Start Value, 30,30
,,,,,,,End Value, 30,30
,,,,,,,Status, "Bad","Bad (0x80000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,2000 ,2000 
,,,,,,,,,,Bad Duration,3000 ,3000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Bad","UncertainDataSubNormal (0x40a40000)"
,,,,,,,,,,,,,Time,12:00:40,00:00:40
,,,,,,,,,,,,,Value,(null),30.000
,,,,,,,,,,,,,Status,"Bad [0401]","UncertainDataSubNormal (0x40a40401) - Limit None"
,,,12:00:45,9,
,,,,,"12:00:45 (null) BadNoData","00:00:45 Null BadNoData (0x809b0000)"
,,,,,"12:00:48 40 Good","00:00:48 40.000 Good (0x00000000)"
,,,,,"12:00:50 40 Good [0402]","00:00:50 40.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:45 AM,00:00:45
,,,,,,,Start Value, 0,0
,,,,,,,End Value, 0,0
,,,,,,,Status, "BadNoData","BadNoData (0x809b0000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:48 AM,00:00:48
,,,,,,,Start Value, 40,40
,,,,,,,End Value, 40,40
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,2000 ,2000 
,,,,,,,,,,Bad Duration,3000 ,3000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Bad","UncertainDataSubNormal (0x40a40000)"
,,,,,,,,,,,,,Time,12:00:45,00:00:45
,,,,,,,,,,,,,Value,(null),40.000
,,,,,,,,,,,,,Status,"Bad [0401]","UncertainDataSubNormal (0x40a40401) - Limit None"
12:00:48,40,"Good",
,,,12:00:50,10,
,,,,,"12:00:50 40 Good [0402]","00:00:50 40.000 Good (0x00000402) - Limit None"
,,,,,"12:00:52 50 Good","00:00:52 50.000 Good (0x00000000)"
,,,,,"12:00:55 50 Good [0402]","00:00:55 50.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:50 AM,00:00:50
,,,,,,,Start Value, 40,40
,,,,,,,End Value, 40,40
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:52 AM,00:00:52
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:50,00:00:50
,,,,,,,,,,,,,Value,46,46.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:00:52,50,"Good",
,,,12:00:55,11,
,,,,,"12:00:55 50 Good [0402]","00:00:55 50.000 Good (0x00000402) - Limit None"
,,,,,"12:01:00 50 Good [0402]","00:01:00 50.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:55 AM,00:00:55
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:55,00:00:55
,,,,,,,,,,,,,Value,50,50.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:01:00,12,
,,,,,"12:01:00 50 Good [0402]","00:01:00 50.000 Good (0x00000402) - Limit None"
,,,,,"12:01:05 50 Good [0402]","00:01:05 50.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:01:00 AM,00:01:00
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:00,00:01:00
,,,,,,,,,,,,,Value,50,50.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:01:05,13,
,,,,,"12:01:05 50 Good [0402]","00:01:05 50.000 Good (0x00000402) - Limit None"
,,,,,"12:01:10 50 Good [0402]","00:01:10 50.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:01:05 AM,00:01:05
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:05,00:01:05
,,,,,,,,,,,,,Value,50,50.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:01:10,14,
,,,,,"12:01:10 50 Good [0402]","00:01:10 50.000 Good (0x00000402) - Limit None"
,,,,,"12:01:12 60 Good","00:01:12 60.000 Good (0x00000000)"
,,,,,"12:01:15 60 Good [0402]","00:01:15 60.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:01:10 AM,00:01:10
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:01:12 AM,00:01:12
,,,,,,,Start Value, 60,60
,,,,,,,End Value, 60,60
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:10,00:01:10
,,,,,,,,,,,,,Value,56,56.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:01:12,60,"Good",
,,,12:01:15,15,
,,,,,"12:01:15 60 Good [0402]","00:01:15 60.000 Good (0x00000402) - Limit None"
,,,,,"12:01:17 70 Uncertain","00:01:17 70.000 Uncertain (0x40000000)"
,,,,,"12:01:20 (null) BadNoData","00:01:20 Null BadNoData (0x809b0000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:01:15 AM,00:01:15
,,,,,,,Start Value, 60,60
,,,,,,,End Value, 60,60
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:01:17 AM,00:01:17
,,,,,,,Start Value, 70,70
,,,,,,,End Value, 70,70
,,,,,,,Status, "BadNoData","BadNoData (0x809b0000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,2000 ,2000 
,,,,,,,,,,Bad Duration,3000 ,3000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Bad","UncertainDataSubNormal (0x40a40000)"
,,,,,,,,,,,,,Time,12:01:15,00:01:15
,,,,,,,,,,,,,Value,(null),60.000
,,,,,,,,,,,,,Status,"Bad [0401]","UncertainDataSubNormal (0x40a40401) - Limit None"
12:01:17,70,"Uncertain",
,,,12:01:20,16,
,,,,,"12:01:20 (null) BadNoData","00:01:20 Null BadNoData (0x809b0000)"
,,,,,"12:01:23 70 Good","00:01:23 70.000 Good (0x00000000)"
,,,,,"12:01:25 70 Good [0402]","00:01:25 70.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:01:20 AM,00:01:20
,,,,,,,Start Value, 0,0
,,,,,,,End Value, 0,0
,,,,,,,Status, "BadNoData","BadNoData (0x809b0000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:01:23 AM,00:01:23
,,,,,,,Start Value, 70,70
,,,,,,,End Value, 70,70
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,2000 ,2000 
,,,,,,,,,,Bad Duration,3000 ,3000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Bad","UncertainDataSubNormal (0x40a40000)"
,,,,,,,,,,,,,Time,12:01:20,00:01:20
,,,,,,,,,,,,,Value,(null),70.000
,,,,,,,,,,,,,Status,"Bad [0401]","UncertainDataSubNormal (0x40a40401) - Limit None"
12:01:23,70,"Good",
,,,12:01:25,17,
,,,,,"12:01:25 70 Good [0402]","00:01:25 70.000 Good (0x00000402) - Limit None"
,,,,,"12:01:26 80 Good","00:01:26 80.000 Good (0x00000000)"
,,,,,"12:01:30 90 Good","00:01:30 90.000 Good (0x00000000)"
,,,,,,,Duration, 1000,1000
,,,,,,,Start Time, 12:01:25 AM,00:01:25
,,,,,,,Start Value, 70,70
,,,,,,,End Value, 70,70
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 4000,4000
,,,,,,,Start Time, 12:01:26 AM,00:01:26
,,,,,,,Start Value, 80,80
,,,,,,,End Value, 80,80
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:25,00:01:25
,,,,,,,,,,,,,Value,78,78.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:01:26,80,"Good",
12:01:30,90,"Good",12:01:30,18,
,,,,,"12:01:30 90 Good","00:01:30 90.000 Good (0x00000000)"
,,,,,"12:01:35 (null) BadNoData","00:01:35 Null BadNoData (0x809b0000)"
,,,,,,,Duration, 1,1
,,,,,,,Start Time, 12:01:30 AM,00:01:30
,,,,,,,Start Value, 90,90
,,,,,,,End Value, 90,90
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,1 ,1 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,1 ,1 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:30,00:01:30
,,,,,,,,,,,,,Value,90,90.000
,,,,,,,,,,,,,Status,"Good [0405]","Good (0x00000405) - Limit None"
Total2-Historian3-forward.csv (15,996 bytes)   
Historian3,Total2
Stepped Interpolation,True
Sloped Extrapolation,False
TreatUncertainAsBad,True
PercentGood,50
PercentBad,50
Raw,Raw Value,Raw Status,Timestamp,Index,Original Simple Values,Current Simple Values,,Original Durations,Current Durations,,Original Calculation,Current Calculation,,Original Result,Current Result
,,,12:00:00,0,
,,,,,"12:00:00 (null) BadNoData","00:00:00 Null BadNoData (0x809b0000)"
,,,,,"12:00:02 10 Good","00:00:02 10.000 Good (0x00000000)"
,,,,,"12:00:05 10 Good [0402]","00:00:05 10.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:00 AM,00:00:00
,,,,,,,Start Value, 0,0
,,,,,,,End Value, 0,0
,,,,,,,Status, "BadNoData","BadNoData (0x809b0000)"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:02 AM,00:00:02
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,3000 ,3000 
,,,,,,,,,,Bad Duration,2000 ,2000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:00,00:00:00
,,,,,,,,,,,,,Value,30,30.000
,,,,,,,,,,,,,Status,"Good [0405]","Good (0x00000405) - Limit None"
12:00:02,10,"Good",
,,,12:00:05,1,
,,,,,"12:00:05 10 Good [0402]","00:00:05 10.000 Good (0x00000402) - Limit None"
,,,,,"12:00:10 10 Good [0402]","00:00:10 10.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:05 AM,00:00:05
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:05,00:00:05
,,,,,,,,,,,,,Value,50,50.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:00:10,2,
,,,,,"12:00:10 10 Good [0402]","00:00:10 10.000 Good (0x00000402) - Limit None"
,,,,,"12:00:15 10 Good [0402]","00:00:15 10.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:10 AM,00:00:10
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:10,00:00:10
,,,,,,,,,,,,,Value,50,50.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:00:15,3,
,,,,,"12:00:15 10 Good [0402]","00:00:15 10.000 Good (0x00000402) - Limit None"
,,,,,"12:00:20 10 Good [0402]","00:00:20 10.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:15 AM,00:00:15
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:15,00:00:15
,,,,,,,,,,,,,Value,50,50.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:00:20,4,
,,,,,"12:00:20 10 Good [0402]","00:00:20 10.000 Good (0x00000402) - Limit None"
,,,,,"12:00:25 20 Good","00:00:25 20.000 Good (0x00000000)"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:20 AM,00:00:20
,,,,,,,Start Value, 10,10
,,,,,,,End Value, 10,10
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:20,00:00:20
,,,,,,,,,,,,,Value,50,50.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:00:25,20,"Good",12:00:25,5,
,,,,,"12:00:25 20 Good","00:00:25 20.000 Good (0x00000000)"
,,,,,"12:00:28 25 Good","00:00:28 25.000 Good (0x00000000)"
,,,,,"12:00:30 25 Good [0402]","00:00:30 25.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:25 AM,00:00:25
,,,,,,,Start Value, 20,20
,,,,,,,End Value, 20,20
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:28 AM,00:00:28
,,,,,,,Start Value, 25,25
,,,,,,,End Value, 25,25
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:25,00:00:25
,,,,,,,,,,,,,Value,110,110.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:00:28,25,"Good",
,,,12:00:30,6,
,,,,,"12:00:30 25 Good [0402]","00:00:30 25.000 Good (0x00000402) - Limit None"
,,,,,"12:00:35 25 Good [0402]","00:00:35 25.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:30 AM,00:00:30
,,,,,,,Start Value, 25,25
,,,,,,,End Value, 25,25
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:30,00:00:30
,,,,,,,,,,,,,Value,125,125.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:00:35,7,
,,,,,"12:00:35 25 Good [0402]","00:00:35 25.000 Good (0x00000402) - Limit None"
,,,,,"12:00:39 30 Good","00:00:39 30.000 Good (0x00000000)"
,,,,,"12:00:40 30 Good [0402]","00:00:40 30.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 4000,4000
,,,,,,,Start Time, 12:00:35 AM,00:00:35
,,,,,,,Start Value, 25,25
,,,,,,,End Value, 25,25
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 1000,1000
,,,,,,,Start Time, 12:00:39 AM,00:00:39
,,,,,,,Start Value, 30,30
,,,,,,,End Value, 30,30
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:35,00:00:35
,,,,,,,,,,,,,Value,130,130.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:00:39,30,"Good",
,,,12:00:40,8,
,,,,,"12:00:40 30 Good [0402]","00:00:40 30.000 Good (0x00000402) - Limit None"
,,,,,"12:00:42 (null) Bad","00:00:42 Null Bad (0x80000000)"
,,,,,"12:00:45 (null) BadNoData","00:00:45 Null BadNoData (0x809b0000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:40 AM,00:00:40
,,,,,,,Start Value, 30,30
,,,,,,,End Value, 30,30
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:42 AM,00:00:42
,,,,,,,Start Value, 30,30
,,,,,,,End Value, 30,30
,,,,,,,Status, "Bad","Bad (0x80000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,2000 ,2000 
,,,,,,,,,,Bad Duration,3000 ,3000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Bad","UncertainDataSubNormal (0x40a40000)"
,,,,,,,,,,,,,Time,12:00:40,00:00:40
,,,,,,,,,,,,,Value,(null),60.000
,,,,,,,,,,,,,Status,"Bad [0401]","UncertainDataSubNormal (0x40a40401) - Limit None"
,,,12:00:45,9,
,,,,,"12:00:45 (null) BadNoData","00:00:45 Null BadNoData (0x809b0000)"
,,,,,"12:00:48 40 Good","00:00:48 40.000 Good (0x00000000)"
,,,,,"12:00:50 40 Good [0402]","00:00:50 40.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:45 AM,00:00:45
,,,,,,,Start Value, 0,0
,,,,,,,End Value, 0,0
,,,,,,,Status, "BadNoData","BadNoData (0x809b0000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:48 AM,00:00:48
,,,,,,,Start Value, 40,40
,,,,,,,End Value, 40,40
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,2000 ,2000 
,,,,,,,,,,Bad Duration,3000 ,3000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Bad","UncertainDataSubNormal (0x40a40000)"
,,,,,,,,,,,,,Time,12:00:45,00:00:45
,,,,,,,,,,,,,Value,(null),80.000
,,,,,,,,,,,,,Status,"Bad [0401]","UncertainDataSubNormal (0x40a40401) - Limit None"
12:00:48,40,"Good",
,,,12:00:50,10,
,,,,,"12:00:50 40 Good [0402]","00:00:50 40.000 Good (0x00000402) - Limit None"
,,,,,"12:00:52 50 Good","00:00:52 50.000 Good (0x00000000)"
,,,,,"12:00:55 50 Good [0402]","00:00:55 50.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:00:50 AM,00:00:50
,,,,,,,Start Value, 40,40
,,,,,,,End Value, 40,40
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:00:52 AM,00:00:52
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:50,00:00:50
,,,,,,,,,,,,,Value,230,230.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:00:52,50,"Good",
,,,12:00:55,11,
,,,,,"12:00:55 50 Good [0402]","00:00:55 50.000 Good (0x00000402) - Limit None"
,,,,,"12:01:00 50 Good [0402]","00:01:00 50.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:00:55 AM,00:00:55
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:00:55,00:00:55
,,,,,,,,,,,,,Value,250,250.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:01:00,12,
,,,,,"12:01:00 50 Good [0402]","00:01:00 50.000 Good (0x00000402) - Limit None"
,,,,,"12:01:05 50 Good [0402]","00:01:05 50.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:01:00 AM,00:01:00
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:00,00:01:00
,,,,,,,,,,,,,Value,250,250.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:01:05,13,
,,,,,"12:01:05 50 Good [0402]","00:01:05 50.000 Good (0x00000402) - Limit None"
,,,,,"12:01:10 50 Good [0402]","00:01:10 50.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 5000,5000
,,,,,,,Start Time, 12:01:05 AM,00:01:05
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:05,00:01:05
,,,,,,,,,,,,,Value,250,250.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
,,,12:01:10,14,
,,,,,"12:01:10 50 Good [0402]","00:01:10 50.000 Good (0x00000402) - Limit None"
,,,,,"12:01:12 60 Good","00:01:12 60.000 Good (0x00000000)"
,,,,,"12:01:15 60 Good [0402]","00:01:15 60.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:01:10 AM,00:01:10
,,,,,,,Start Value, 50,50
,,,,,,,End Value, 50,50
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:01:12 AM,00:01:12
,,,,,,,Start Value, 60,60
,,,,,,,End Value, 60,60
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:10,00:01:10
,,,,,,,,,,,,,Value,280,280.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:01:12,60,"Good",
,,,12:01:15,15,
,,,,,"12:01:15 60 Good [0402]","00:01:15 60.000 Good (0x00000402) - Limit None"
,,,,,"12:01:17 70 Uncertain","00:01:17 70.000 Uncertain (0x40000000)"
,,,,,"12:01:20 (null) BadNoData","00:01:20 Null BadNoData (0x809b0000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:01:15 AM,00:01:15
,,,,,,,Start Value, 60,60
,,,,,,,End Value, 60,60
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:01:17 AM,00:01:17
,,,,,,,Start Value, 70,70
,,,,,,,End Value, 70,70
,,,,,,,Status, "BadNoData","BadNoData (0x809b0000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,2000 ,2000 
,,,,,,,,,,Bad Duration,3000 ,3000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Bad","UncertainDataSubNormal (0x40a40000)"
,,,,,,,,,,,,,Time,12:01:15,00:01:15
,,,,,,,,,,,,,Value,(null),120.000
,,,,,,,,,,,,,Status,"Bad [0401]","UncertainDataSubNormal (0x40a40401) - Limit None"
12:01:17,70,"Uncertain",
,,,12:01:20,16,
,,,,,"12:01:20 (null) BadNoData","00:01:20 Null BadNoData (0x809b0000)"
,,,,,"12:01:23 70 Good","00:01:23 70.000 Good (0x00000000)"
,,,,,"12:01:25 70 Good [0402]","00:01:25 70.000 Good (0x00000402) - Limit None"
,,,,,,,Duration, 3000,3000
,,,,,,,Start Time, 12:01:20 AM,00:01:20
,,,,,,,Start Value, 0,0
,,,,,,,End Value, 0,0
,,,,,,,Status, "BadNoData","BadNoData (0x809b0000)"
,,,,,,,Duration, 2000,2000
,,,,,,,Start Time, 12:01:23 AM,00:01:23
,,,,,,,Start Value, 70,70
,,,,,,,End Value, 70,70
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,2000 ,2000 
,,,,,,,,,,Bad Duration,3000 ,3000 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Bad","UncertainDataSubNormal (0x40a40000)"
,,,,,,,,,,,,,Time,12:01:20,00:01:20
,,,,,,,,,,,,,Value,(null),140.000
,,,,,,,,,,,,,Status,"Bad [0401]","UncertainDataSubNormal (0x40a40401) - Limit None"
12:01:23,70,"Good",
,,,12:01:25,17,
,,,,,"12:01:25 70 Good [0402]","00:01:25 70.000 Good (0x00000402) - Limit None"
,,,,,"12:01:26 80 Good","00:01:26 80.000 Good (0x00000000)"
,,,,,"12:01:30 90 Good","00:01:30 90.000 Good (0x00000000)"
,,,,,,,Duration, 1000,1000
,,,,,,,Start Time, 12:01:25 AM,00:01:25
,,,,,,,Start Value, 70,70
,,,,,,,End Value, 70,70
,,,,,,,Status, "Good [0402]","Good (0x00000402) - Limit None"
,,,,,,,Duration, 4000,4000
,,,,,,,Start Time, 12:01:26 AM,00:01:26
,,,,,,,Start Value, 80,80
,,,,,,,End Value, 80,80
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,5000 ,5000 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,5000 ,5000 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:25,00:01:25
,,,,,,,,,,,,,Value,390,390.000
,,,,,,,,,,,,,Status,"Good [0401]","Good (0x00000401) - Limit None"
12:01:26,80,"Good",
12:01:30,90,"Good",12:01:30,18,
,,,,,"12:01:30 90 Good","00:01:30 90.000 Good (0x00000000)"
,,,,,"12:01:35 (null) BadNoData","00:01:35 Null BadNoData (0x809b0000)"
,,,,,,,Duration, 1,1
,,,,,,,Start Time, 12:01:30 AM,00:01:30
,,,,,,,Start Value, 90,90
,,,,,,,End Value, 90,90
,,,,,,,Status, "Good","Good (0x00000000)"
,,,,,,,,,,Time Based Status Code Calculations
,,,,,,,,,,Good Duration,1 ,1 
,,,,,,,,,,Bad Duration,0 ,0 
,,,,,,,,,,Total Duration,1 ,1 
,,,,,,,,,,Status,"Good","Good (0x00000000)"
,,,,,,,,,,,,,Time,12:01:30,00:01:30
,,,,,,,,,,,,,Value,0.090,0.090
,,,,,,,,,,,,,Status,"Good [0405]","Good (0x00000405) - Limit None"
Total2-Historian3-forward.csv (15,996 bytes)   
Commit Version

Activities

Rod Stein

2021-12-02 23:51

developer   ~0015446

Fixed in part 13 1.05 draft 5

Text was added clause 4.2.1.2 to clarify that the calculation there was to determine the value. Text was added to clause 5.4.3.2.1 to clarify the calculation was to determine the StatusCode.

The TimeAverage2 and Total2 aggregets had their table values and StatusCodes corrected.

Jim Luth

2021-12-07 18:40

administrator   ~0015489

Accepted fix in 1.05 Draft -- waiting for 1.04 Errata to close.

Jim Luth

2021-12-21 16:11

administrator   ~0015593

Agreed to changes in 1.04 Errata.

Issue History

Date Modified Username Field Change
2020-11-09 22:19 Archie Miller New Issue
2020-11-09 22:19 Archie Miller File Added: TimeAverage2-Historian3-forward.csv
2020-11-09 22:19 Archie Miller File Added: Total2-Historian3-forward.csv
2020-12-10 17:01 Jim Luth Status new => assigned
2020-12-10 17:01 Jim Luth Assigned To => Rod Stein
2021-12-02 23:51 Rod Stein Status assigned => resolved
2021-12-02 23:51 Rod Stein Resolution open => fixed
2021-12-02 23:51 Rod Stein Fixed in Version => 1.05
2021-12-02 23:51 Rod Stein Note Added: 0015446
2021-12-07 18:40 Jim Luth Note Added: 0015489
2021-12-21 16:11 Jim Luth Status resolved => closed
2021-12-21 16:11 Jim Luth Note Added: 0015593