Diff of /project/sparkplug™_mqtt_host_b9741afd/function_blocks_8ad6e219/fb_remotedevice_cb98d83c/fb_remotedevice_e88b6117/processdbirth_177907e7/177907e75f57435ba22a549731972ef8.object [3b3737] .. [9fbd90]  Maximize  Restore

Switch to unified view

a/project/sparkplug™_mqtt_host_b9741afd/function_blocks_8ad6e219/fb_remotedevice_cb98d83c/fb_remotedevice_e88b6117/processdbirth_177907e7/177907e75f57435ba22a549731972ef8.object b/project/sparkplug™_mqtt_host_b9741afd/function_blocks_8ad6e219/fb_remotedevice_cb98d83c/fb_remotedevice_e88b6117/processdbirth_177907e7/177907e75f57435ba22a549731972ef8.object
1
{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)177907e7-5f57-435b-a22a-549731972ef8","ParentGuid":"(Guid)e88b6117-b003-4ad4-bcc9-d53f2be3dc87","Name":"(string)ProcessDBIRTH","Properties":{"@Type":"2c41fa04:IDictionary","@Value":{}},"TypeGuid":"(Guid)f8a58466-d7f6-439f-bbb8-d4600e41d099","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"f8a58466","@Value":{"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)649","Tag":null,"Text":"(string)// 1. pMessage is already decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)650","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)651","Tag":null,"Text":"(string)// 2. For each metric already in the edge try to find it in the xBIRTH.MetricList, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)652","Tag":null,"Text":"(string)      // Not Found? => set to Status.NotBirthed"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)653","Tag":null,"Text":"(string)\t  // Found? => nothing"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)654","Tag":null,"Text":"(string)_Metrics.ItterateRestart(HasNext => existingHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)655","Tag":null,"Text":"(string)WHILE existingHasNext DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)656","Tag":null,"Text":"(string)\t_Metrics.ItterateNext(itfElement => itfExistingElement, HasNext => existingHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)657","Tag":null,"Text":"(string)\tMetricFoundInxBIRTH := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)658","Tag":null,"Text":"(string)\tIF __QUERYINTERFACE(itfExistingElement, itfExistingMetric) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)659","Tag":null,"Text":"(string)\t\tpMessage.GetFirstMetric( name => newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)660","Tag":null,"Text":"(string)\t\t\t\t\t\t\t\t MetricValid => newMetricValid,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)661","Tag":null,"Text":"(string)\t\t\t\t\t\t\t\t HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)662","Tag":null,"Text":"(string)\t\tMetricFoundInxBIRTH := newMetricValid AND (newName = itfExistingMetric.Name);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)663","Tag":null,"Text":"(string)\t\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)664","Tag":null,"Text":"(string)\t\tWHILE newHasNext AND NOT MetricFoundInxBIRTH DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)665","Tag":null,"Text":"(string)\t\t\tpMessage.GetNextMetric(  name => newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)666","Tag":null,"Text":"(string)\t\t\t\t\t\t\t\t\t MetricValid => newMetricValid,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)667","Tag":null,"Text":"(string)\t\t\t\t\t\t\t\t\t HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)668","Tag":null,"Text":"(string)\t\t\tMetricFoundInxBIRTH := newMetricValid AND (newName = itfExistingMetric.Name);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)669","Tag":null,"Text":"(string)\t\tEND_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)670","Tag":null,"Text":"(string)\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)671","Tag":null,"Text":"(string)\tIF NOT MetricFoundInxBIRTH THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)672","Tag":null,"Text":"(string)\t\titfExistingMetric.Status := SPStack.MetricStatus.NotBirthed;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)673","Tag":null,"Text":"(string)\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)674","Tag":null,"Text":"(string)END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)675","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)676","Tag":null,"Text":"(string)// 3. For each metric in the xBIRTH, try to find it in the edge"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)677","Tag":null,"Text":"(string)  // Found? ==> metric.ProcessxBIRTH"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)678","Tag":null,"Text":"(string)  // NotFound ==> getblank Metric, metric.ProcessxBIRTH"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)679","Tag":null,"Text":"(string)pMessage.GetFirstMetric( name => newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)680","Tag":null,"Text":"(string)\t                     datatype => newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)681","Tag":null,"Text":"(string)\t\t\t\t\t\t timestamp => newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)682","Tag":null,"Text":"(string)\t\t\t\t\t\t valueString => newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)683","Tag":null,"Text":"(string)\t\t\t\t\t\t valueLreal => newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)684","Tag":null,"Text":"(string)\t\t\t\t\t\t valueReal => newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)685","Tag":null,"Text":"(string)\t\t\t\t\t\t valueVarInt => newVarInt,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)686","Tag":null,"Text":"(string)\t\t\t\t\t\t MetricValid => newMetricValid,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)687","Tag":null,"Text":"(string)\t\t\t\t\t\t HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)688","Tag":null,"Text":"(string)                         "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)689","Tag":null,"Text":"(string)THIS^.GetMetricbyName( MetricName:= newName, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)690","Tag":null,"Text":"(string)                       Metric=> itfExistingMetric, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)691","Tag":null,"Text":"(string)                       GetTimestamp=> ,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)692","Tag":null,"Text":"(string)                       xError=> MetricNotExisting, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)693","Tag":null,"Text":"(string)                       eError=> );"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)694","Tag":null,"Text":"(string)                       "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)695","Tag":null,"Text":"(string)IF MetricNotExisting THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)696","Tag":null,"Text":"(string)\t// get one and update it"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)697","Tag":null,"Text":"(string)\tIF __QUERYPOINTER(itfPrimaryHost, pPrimaryHost) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)698","Tag":null,"Text":"(string)\t\tAllocdMetric REF= pPrimaryHost^.allocMetric(itfMetricOwner := THIS^.itfRemoteDevice, eError => eError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)699","Tag":null,"Text":"(string)\t\tIF eError = SPStack.ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)700","Tag":null,"Text":"(string)            itfAllocdMetric := AllocdMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)701","Tag":null,"Text":"(string)            SPStack.Update( Metric := itfAllocdMetric,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)702","Tag":null,"Text":"(string)                    Name := newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)703","Tag":null,"Text":"(string)                    DataType := newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)704","Tag":null,"Text":"(string)                    Status := SPStack.MetricStatus.ONLINE_OK,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)705","Tag":null,"Text":"(string)                    Timestamp := newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)706","Tag":null,"Text":"(string)                    String_ := newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)707","Tag":null,"Text":"(string)                    LReal_ :=  newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)708","Tag":null,"Text":"(string)                    Real_ := newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)709","Tag":null,"Text":"(string)                    VarInt :=  newVarInt );"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)710","Tag":null,"Text":"(string)                    "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)711","Tag":null,"Text":"(string)\t\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)712","Tag":null,"Text":"(string)\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)713","Tag":null,"Text":"(string)ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)714","Tag":null,"Text":"(string)\t// update one as it allready excists"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)715","Tag":null,"Text":"(string)    SPStack.Update( Metric := itfExistingMetric,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)716","Tag":null,"Text":"(string)            Name := newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)717","Tag":null,"Text":"(string)            DataType := newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)718","Tag":null,"Text":"(string)            Status := SPStack.MetricStatus.ONLINE_OK,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)719","Tag":null,"Text":"(string)            Timestamp := newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)720","Tag":null,"Text":"(string)            String_ := newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)721","Tag":null,"Text":"(string)            LReal_ :=  newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)722","Tag":null,"Text":"(string)            Real_ := newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)723","Tag":null,"Text":"(string)            VarInt :=  newVarInt );"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)724","Tag":null,"Text":"(string)END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)725","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)726","Tag":null,"Text":"(string)WHILE newHasNext AND NOT MetricFoundInxBIRTH DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)727","Tag":null,"Text":"(string)\tpMessage.GetNextMetric( name => newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)728","Tag":null,"Text":"(string)                            datatype => newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)729","Tag":null,"Text":"(string)                            timestamp => newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)730","Tag":null,"Text":"(string)                            valueString => newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)731","Tag":null,"Text":"(string)                            valueLreal => newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)732","Tag":null,"Text":"(string)                            valueReal => newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)733","Tag":null,"Text":"(string)                            valueVarInt => newVarInt,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)734","Tag":null,"Text":"(string)                            MetricValid => newMetricValid,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)735","Tag":null,"Text":"(string)                            HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)736","Tag":null,"Text":"(string)                            "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)737","Tag":null,"Text":"(string)\tTHIS^.GetMetricbyName( MetricName := newName, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)738","Tag":null,"Text":"(string)                           Metric => itfExistingMetric, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)739","Tag":null,"Text":"(string)                           GetTimestamp=> ,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)740","Tag":null,"Text":"(string)\t\t\t\t\t\t   xError=> MetricNotExisting, eError=> );"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)741","Tag":null,"Text":"(string)                           "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)742","Tag":null,"Text":"(string)\tIF MetricNotExisting THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)743","Tag":null,"Text":"(string)\t\t// get one and update it"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)744","Tag":null,"Text":"(string)\t\tIF __QUERYPOINTER(itfPrimaryHost, pPrimaryHost) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)745","Tag":null,"Text":"(string)\t\t\tAllocdMetric REF= pPrimaryHost^.allocMetric(itfMetricOwner := THIS^.itfRemoteDevice, eError => eError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)746","Tag":null,"Text":"(string)\t\t\tIF eError = SPStack.ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)747","Tag":null,"Text":"(string)            itfAllocdMetric := AllocdMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)748","Tag":null,"Text":"(string)            SPStack.Update( Metric := itfAllocdMetric,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)749","Tag":null,"Text":"(string)                    Name := newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)750","Tag":null,"Text":"(string)                    DataType := newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)751","Tag":null,"Text":"(string)                    Status := SPStack.MetricStatus.ONLINE_OK,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)752","Tag":null,"Text":"(string)                    Timestamp := newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)753","Tag":null,"Text":"(string)                    String_ := newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)754","Tag":null,"Text":"(string)                    LReal_ :=  newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)755","Tag":null,"Text":"(string)                    Real_ := newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)756","Tag":null,"Text":"(string)                    VarInt :=  newVarInt );"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)757","Tag":null,"Text":"(string)                    "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)758","Tag":null,"Text":"(string)\t\t\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)759","Tag":null,"Text":"(string)\t\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)760","Tag":null,"Text":"(string)\tELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)761","Tag":null,"Text":"(string)\t\t//update one"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)762","Tag":null,"Text":"(string)        SPStack.Update( Metric := itfExistingMetric,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)763","Tag":null,"Text":"(string)                Name := newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)764","Tag":null,"Text":"(string)                DataType := newdatatype,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)765","Tag":null,"Text":"(string)                Status := SPStack.MetricStatus.ONLINE_OK,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)766","Tag":null,"Text":"(string)                Timestamp := newtimestamp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)767","Tag":null,"Text":"(string)                String_ := newString,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)768","Tag":null,"Text":"(string)                LReal_ :=  newLreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)769","Tag":null,"Text":"(string)                Real_ := newreal,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)770","Tag":null,"Text":"(string)                VarInt :=  newVarInt );"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)771","Tag":null,"Text":"(string)                "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)772","Tag":null,"Text":"(string)\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)773","Tag":null,"Text":"(string)END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)780","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)779","Tag":null,"Text":"(string)// 4. Set the NCMD topic"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)782","Tag":null,"Text":"(string)_TopicProvider.SETDCMDTopic( NodeName   := NodeName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)783","Tag":null,"Text":"(string)                             GroupId    := GroupId ,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)781","Tag":null,"Text":"(string)                             DeviceName := DeviceName );"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)784","Tag":null,"Text":"(string)\t\t\t\t\t\t\t "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)786","Tag":null,"Text":"(string)// 5. Set the QualityOK"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)787","Tag":null,"Text":"(string)QualityOK := TRUE;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)616","Tag":null,"Text":"(string)METHOD ProcessDBIRTH"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)617","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)618","Tag":null,"Text":"(string)    itfPrimaryHost : IPrimaryHost;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)619","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)620","Tag":null,"Text":"(string)VAR_IN_OUT CONSTANT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)775","Tag":null,"Text":"(string)    NodeName   : WSTRING; // Please tell me my edge node's name"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)776","Tag":null,"Text":"(string)    GroupId    : WSTRING; // Please tell me my GroupID"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)774","Tag":null,"Text":"(string)    DeviceName : WSTRING; // Please tell me my DeviceName again"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)777","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)778","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)621","Tag":null,"Text":"(string)    pMessage : SPStack.FB_PayloadSimpleDecoder; // already decoded please"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)622","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)623","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)624","Tag":null,"Text":"(string)    xError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)625","Tag":null,"Text":"(string)    eError : SPStack.ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)626","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)627","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)628","Tag":null,"Text":"(string)\texistingHasNext     : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)629","Tag":null,"Text":"(string)\titfExistingElement  : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)630","Tag":null,"Text":"(string)\titfExistingMetric   : SPStack.IMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)631","Tag":null,"Text":"(string)\tMetricNotExisting   : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)632","Tag":null,"Text":"(string)\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)633","Tag":null,"Text":"(string)\tnewHasNext          : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)634","Tag":null,"Text":"(string)\tnewMetricValid      : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)635","Tag":null,"Text":"(string)\tMetricFoundInxBIRTH : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)636","Tag":null,"Text":"(string)\tnewName             : WSTRING;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)637","Tag":null,"Text":"(string)\tnewdatatype         : SPStack.MetricDataType;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)638","Tag":null,"Text":"(string)\tnewtimestamp        : SPStack.T_DateTime;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)639","Tag":null,"Text":"(string)\tnewString           : WSTRING(SPStack.GC_Sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)640","Tag":null,"Text":"(string)\tnewLreal            : LREAL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)641","Tag":null,"Text":"(string)\tnewreal             : REAL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)642","Tag":null,"Text":"(string)\tnewVarInt           : SPStack.DecodedVarInt;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)643","Tag":null,"Text":"(string)\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)644","Tag":null,"Text":"(string)\tpPrimaryHost        : POINTER TO FB_PrimaryHost;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)645","Tag":null,"Text":"(string)\tAllocdMetric        : REFERENCE TO SPStack.FB_Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)646","Tag":null,"Text":"(string)\tpExistingMetric     : POINTER TO SPStack.FB_Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)647","Tag":null,"Text":"(string)    "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)648","Tag":null,"Text":"(string)    itfAllocdMetric     : SPStack.IMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)4","Tag":null,"Text":"(string)END_VAR"}}]}}}}}}},"TypeInfos":{"3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","f8a58466":"{f8a58466-d7f6-439f-bbb8-d4600e41d099}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}
1
{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)177907e7-5f57-435b-a22a-549731972ef8","ParentGuid":"(Guid)e88b6117-b003-4ad4-bcc9-d53f2be3dc87","Name":"(string)ProcessDBIRTH","Properties":{"@Type":"2c41fa04:IDictionary","@Value":{}},"TypeGuid":"(Guid)f8a58466-d7f6-439f-bbb8-d4600e41d099","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"f8a58466","@Value":{"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)649","Tag":null,"Text":"(string)// 1. pMessage is already decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)650","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)651","Tag":null,"Text":"(string)// 2. For each metric already in the edge try to find it in the xBIRTH.MetricList, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)652","Tag":null,"Text":"(string)      // Not Found? => set to Status.NotBirthed"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)653","Tag":null,"Text":"(string)\t  // Found? => nothing"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)790","Tag":null,"Text":"(string)_Metrics.ItterateRestart(HasNext => existingHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)791","Tag":null,"Text":"(string)WHILE existingHasNext DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)792","Tag":null,"Text":"(string)\t_Metrics.ItterateNext(itfElement => itfExistingElement, HasNext => existingHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)793","Tag":null,"Text":"(string)\tMetricFoundInxBIRTH := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)794","Tag":null,"Text":"(string)\tIF __QUERYINTERFACE(itfExistingElement, itfExistingMetric) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)795","Tag":null,"Text":"(string)\t\tPayloadMetric REF= pMessage.GetmetricFirst(ObjectValid => newMetricValid, HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)796","Tag":null,"Text":"(string)\t\tIF newMetricValid THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)797","Tag":null,"Text":"(string)\t\t\tPayloadMetric.ReadName(HasName => , Name => newName);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)798","Tag":null,"Text":"(string)\t\t\tMetricFoundInxBIRTH := (newName = itfExistingMetric.Name);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)799","Tag":null,"Text":"(string)\t\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)800","Tag":null,"Text":"(string)\t\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)801","Tag":null,"Text":"(string)\t\tWHILE newHasNext AND NOT MetricFoundInxBIRTH DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)802","Tag":null,"Text":"(string)\t\t\tPayloadMetric REF= pMessage.GetmetricNext(ObjectValid => newMetricValid, HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)803","Tag":null,"Text":"(string)\t\t\tIF newMetricValid THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)804","Tag":null,"Text":"(string)\t\t\t\tPayloadMetric.ReadName(HasName => , Name => newName);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)805","Tag":null,"Text":"(string)\t\t\t\tMetricFoundInxBIRTH := (newName = itfExistingMetric.Name);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)806","Tag":null,"Text":"(string)\t\t\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)807","Tag":null,"Text":"(string)\t\tEND_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)808","Tag":null,"Text":"(string)\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)809","Tag":null,"Text":"(string)\tIF NOT MetricFoundInxBIRTH THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)810","Tag":null,"Text":"(string)\t\titfExistingMetric.Status := SPStack.MetricStatus.NotBirthed;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)811","Tag":null,"Text":"(string)\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)674","Tag":null,"Text":"(string)END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)675","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)676","Tag":null,"Text":"(string)// 3. For each metric in the xBIRTH, try to find it in the edge"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)677","Tag":null,"Text":"(string)  // Found? ==> metric.ProcessxBIRTH"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)678","Tag":null,"Text":"(string)  // NotFound ==> getblank Metric, metric.ProcessxBIRTH"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)812","Tag":null,"Text":"(string)PayloadMetric REF= pMessage.GetmetricFirst(ObjectValid => newMetricValid, HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)813","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)814","Tag":null,"Text":"(string)WHILE newMetricValid DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)815","Tag":null,"Text":"(string)\tPayloadMetric.ReadName(HasName => , Name => newName);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)816","Tag":null,"Text":"(string)\tTHIS^.GetMetricbyName( MetricName:= newName, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)818","Tag":null,"Text":"(string)\t\t\t\t\t\t   Metric=> itfExistingMetric, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)819","Tag":null,"Text":"(string)\t\t\t\t\t\t   GetTimestamp=> ,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)820","Tag":null,"Text":"(string)\t\t\t\t\t\t   xError=> MetricNotExisting, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)821","Tag":null,"Text":"(string)\t\t\t\t\t\t   eError=> );"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)822","Tag":null,"Text":"(string)\tIF MetricNotExisting THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)823","Tag":null,"Text":"(string)\t\t// get one and update it"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)824","Tag":null,"Text":"(string)\t\tIF __QUERYPOINTER(itfPrimaryHost, pPrimaryHost) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)825","Tag":null,"Text":"(string)\t\t\tAllocdMetric REF= pPrimaryHost^.allocMetric(itfMetricOwner := THIS^.itfRemoteDevice, eError => eError);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)826","Tag":null,"Text":"(string)\t\t\tIF eError = SPStack.ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)827","Tag":null,"Text":"(string)\t\t\t\titfAllocdMetric := AllocdMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)828","Tag":null,"Text":"(string)\t\t\t\titfAllocdMetric.InitialiseThisMetricFromPayload(PayloadMetric := PayloadMetric);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)829","Tag":null,"Text":"(string)\t\t\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)830","Tag":null,"Text":"(string)\t\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)831","Tag":null,"Text":"(string)\tELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)832","Tag":null,"Text":"(string)\t\t// update one as it allready excists"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)833","Tag":null,"Text":"(string)\t\titfExistingMetric.InitialiseThisMetricFromPayload(PayloadMetric := PayloadMetric);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)834","Tag":null,"Text":"(string)\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)835","Tag":null,"Text":"(string)\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)836","Tag":null,"Text":"(string)\t// Get the next metric in the payload"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)837","Tag":null,"Text":"(string)\tPayloadMetric REF= pMessage.GetmetricNext(ObjectValid => newMetricValid, HasNext => newHasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)773","Tag":null,"Text":"(string)END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)780","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)779","Tag":null,"Text":"(string)// 4. Set the NCMD topic"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)782","Tag":null,"Text":"(string)_TopicProvider.SETDCMDTopic( NodeName   := NodeName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)783","Tag":null,"Text":"(string)                             GroupId    := GroupId ,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)781","Tag":null,"Text":"(string)                             DeviceName := DeviceName );"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)784","Tag":null,"Text":"(string)\t\t\t\t\t\t\t "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)786","Tag":null,"Text":"(string)// 5. Set the QualityOK"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)787","Tag":null,"Text":"(string)QualityOK := TRUE;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)616","Tag":null,"Text":"(string)METHOD ProcessDBIRTH"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)617","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)618","Tag":null,"Text":"(string)    itfPrimaryHost : IPrimaryHost;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)619","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)620","Tag":null,"Text":"(string)VAR_IN_OUT CONSTANT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)775","Tag":null,"Text":"(string)    NodeName   : WSTRING; // Please tell me my edge node's name"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)776","Tag":null,"Text":"(string)    GroupId    : WSTRING; // Please tell me my GroupID"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)774","Tag":null,"Text":"(string)    DeviceName : WSTRING; // Please tell me my DeviceName again"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)777","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)778","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)621","Tag":null,"Text":"(string)    pMessage : SPStack.FB_Payload; // already decoded please"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)622","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)623","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)624","Tag":null,"Text":"(string)    xError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)625","Tag":null,"Text":"(string)    eError : SPStack.ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)626","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)627","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)628","Tag":null,"Text":"(string)\texistingHasNext     : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)629","Tag":null,"Text":"(string)\titfExistingElement  : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)630","Tag":null,"Text":"(string)\titfExistingMetric   : SPStack.IMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)631","Tag":null,"Text":"(string)\tMetricNotExisting   : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)632","Tag":null,"Text":"(string)\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)633","Tag":null,"Text":"(string)\tnewHasNext          : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)634","Tag":null,"Text":"(string)\tnewMetricValid      : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)635","Tag":null,"Text":"(string)\tMetricFoundInxBIRTH : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)636","Tag":null,"Text":"(string)\tnewName             : WSTRING;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)637","Tag":null,"Text":"(string)\tnewdatatype         : SPStack.MetricDataType;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)638","Tag":null,"Text":"(string)\tnewtimestamp        : SPStack.T_DateTime;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)639","Tag":null,"Text":"(string)\tnewString           : WSTRING(SPStack.GC_Sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)640","Tag":null,"Text":"(string)\tnewLreal            : LREAL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)641","Tag":null,"Text":"(string)\tnewreal             : REAL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)642","Tag":null,"Text":"(string)\tnewVarInt           : SPStack.DecodedVarInt;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)643","Tag":null,"Text":"(string)\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)644","Tag":null,"Text":"(string)\tpPrimaryHost        : POINTER TO FB_PrimaryHost;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)645","Tag":null,"Text":"(string)\tAllocdMetric        : REFERENCE TO SPStack.FB_Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)646","Tag":null,"Text":"(string)\tpExistingMetric     : POINTER TO SPStack.FB_Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)647","Tag":null,"Text":"(string)    "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)648","Tag":null,"Text":"(string)    itfAllocdMetric     : SPStack.IMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)788","Tag":null,"Text":"(string)\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)789","Tag":null,"Text":"(string)\tPayloadMetric : REFERENCE TO SPStack.FB_PayloadMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)4","Tag":null,"Text":"(string)END_VAR"}}]}}}}}}},"TypeInfos":{"3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","f8a58466":"{f8a58466-d7f6-439f-bbb8-d4600e41d099}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}