[r808]: / branches / FeatureBranches / PrimaryHost / SparkplugB / Function Blocks / FB_RemoteDevice / FB_RemoteDevice / ProcessDDATA / svnobj  Maximize  Restore  History

Download this file

52 lines (48 with data), 11.3 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// 1. pMessage is already decoded
                    'PrimaryHost ProcessDDATA MetricNotExisting but haven$'t implemeneted NCMD/Rebirth: %s',
                    TO_STRING( Error.notimplemented ) );    
ELSE
	// update one as it allready excists
    Update( Metric := itfExistingMetric,
            Name := newName,
            DataType := newdatatype,
            Status := MetricStatus.ONLINE_OK,
            Timestamp := newtimestamp,
            String_ := newString,
            LReal_ :=  newLreal,
            Real_ := newreal,
            VarInt :=  newVarInt );
END_IF
WHILE newHasNext DO
	pMessage.GetNextMetric( name => newName,
                            datatype => newdatatype,
                            timestamp => newtimestamp,
                            valueString => newString,
                            valueLreal => newLreal,
                            valueReal => newreal,
                            valueVarInt => newVarInt,
                            MetricValid => newMetricValid,
                            HasNext => newHasNext);
                            
	THIS^.GetMetricbyName( MetricName := newName, 
                           Metric => itfExistingMetric, 
                           GetTimestamp=> ,
						   xError=> MetricNotExisting, eError=> );
                           
	IF MetricNotExisting THEN
        xError := TRUE;
        eError := Error.notimplemented;
                        'PrimaryHost ProcessDDATA MetricNotExisting but haven$'t implemeneted NCMD/Rebirth: %s',
    pMessage : FB_PayloadSimpleDecoder; // already decoded please
VAR_OUTPUT
    xError : BOOL;
    eError : Error;
VAR
	existingHasNext     : BOOL;
	itfExistingElement  : IElement;
	itfExistingMetric   : IRemoteMetric;
	MetricNotExisting   : BOOL;
	
	newHasNext          : BOOL;
	newMetricValid      : BOOL;
	MetricFoundInNDATA  : BOOL;
	newName             : WSTRING;
	newdatatype         : MetricDataType;
	newtimestamp        : T_DateTime;