Diff of /branches/FeatureBranches/refactorpayload/SparkplugB/Function Blocks/FB_SparkplugBSimple/FB_SparkplugBSimple/Encoding/AddAllMetrics/svnobj [r824] .. [r825]  Maximize  Restore

Switch to side-by-side view

--- a/branches/FeatureBranches/refactorpayload/SparkplugB/Function Blocks/FB_SparkplugBSimple/FB_SparkplugBSimple/Encoding/AddAllMetrics/svnobj
+++ b/branches/FeatureBranches/refactorpayload/SparkplugB/Function Blocks/FB_SparkplugBSimple/FB_SparkplugBSimple/Encoding/AddAllMetrics/svnobj
@@ -1,87 +1,70 @@
-Gx_l (!0…jüo_ G‘ï¢<ÞÒSystem.StringL{f8a58466-d7f6-439f-bbb8-d4600e41d099}ImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocumentL{f3878285-8e4f-490b-bb1b-9acbb7eb04db}TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}	Id
-longTagText
6// At first we set no errorŠ// If something changes it before end of the method we yield an error@AddAllMetrics := ERROR.NO_ERROR;<IF SendList.ListSize <> 0 THENN    ItfCurElement := SendList.HeadElem;>    WHILE ItfCurElement <> 0 DOh        ElementCounter        := ElementCounter + 1;‚        HasitfSimpleSparkplug := __QUERYINTERFACE( itfCurElement,                                                   itfSimpleSparkplug );J        IF HasitfSimpleSparkplug THEN‚            HasItfSimpleValue := __QUERYINTERFACE( itfCurElement,ˆ                                                   itfSimpleValue );J            IF HasItfSimpleValue THENp                // we can safely 'plug it' in the method˜                AddAllMetrics := _Encoder.AddMetric( Timestamp := Timestamp,®                                                     SparkplugObject := itfSimpleValue,Î                                                     AllMetricsWhichWillEverReport := AllMetricsList );2                // Succes ´                WriteDeviceLog( msgCtrlMask := UDINT_TO_DWORD( CmpLog.LogClass.LOG_INFO ),!À                                msgFmtStr := 'SparkplugBSimple AddMetricList Element added: %s',"R                                strArg :=#˜                                TO_STRING( WCONCAT( itfSimpleSparkplug.Name,$†                                                    WCONCAT( " : ",%Þ                                                             TO_WSTRING( itfSimpleSparkplug.DataType ) ) ) ) );&             ELSE'v                // SimpleValue Interface is NOT implemented(¶                WriteDeviceLog( msgCtrlMask := UDINT_TO_DWORD( CmpLog.LogClass.LOG_ERROR ),)X                                msgFmtStr :=*ú                                'SparkplugBSimple AddMetricList Error: element does not implement SimpleValue Interface: %s',+¢                                strArg := TO_STRING( itfSimpleSparkplug.Name ) );,l                AddAllMetrics := ERROR.NotImplemented;-$            END_IF.        ELSE/|            // No SimpleSparkplug Interface is NOT implemented0®            WriteDeviceLog( msgCtrlMask := UDINT_TO_DWORD( CmpLog.LogClass.LOG_ERROR ),1P                            msgFmtStr :=2ú                            'SparkplugBSimple AddMetricList Error: element does not implement SimpleSparkplug Interface: %s',3Š                            strArg := '>> Some ElementID Here! <<' );4d            AddAllMetrics := ERROR.NotImplemented;5        END_IF6N        HasitfSimpleSparkplug := FALSE;7N        HasItfSimpleValue     := FALSE;8Ô        ItfCurElement         := ItfCurElement.NextElem; // If NextElem = 0 we reached the end of the list9    END_WHILE:ELSE;"    // List empty<ž    WriteDeviceLog( msgCtrlMask := UDINT_TO_DWORD( CmpLog.LogClass.LOG_ERROR ),=ª                    msgFmtStr := 'SparkplugBSimple AddMetricList Error, List empty.',>F                    strArg := '' );?T    AddAllMetrics := ERROR.NotImplemented;@END_IFAInterfaceBL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}C(*Dº    Add a List of metric value's by spoonfeeding each metric in the list and add it seperatlyE	Fn    Start Encoder and Send Blob immediatly after usage.G    H¤    The Method returns 'No Error' if all metrics have been processed with succes  I€    An error is thrown if at least one metric adding has failed.J˜    Check the SparkPlugLog for details on which Metric has thrown the error.K*)L8METHOD AddAllMetrics : ERRORMVAR_INPUTN6    Timestamp : T_DateTime;OEND_VARPVAR_IN_OUTQ^    // List of metrics we curently wish to sendRR    SendList : List; // OF ISimpleStorageS<    // Global All Metrics ListT^    AllMetricsList : List; // OF ISimpleStorageUVARVJ    ItfCurElement         : IElement;WT    itfSimpleValue        : IRemoteMetric;XZ    itfSimpleSparkplug    : ISimpleSparkplug;YB    HasitfSimpleSparkplug : BOOL;ZB    HasItfSimpleValue     : BOOL;[    ElementCounter        : UDINT := 0; // keep track of current elementnumber which is processedÐÐÐE:ÐÐ	
-­%ÚÐ-
ÐÐ	
-­&ÚÐ-ÐÐ	
-­'ÚÐ-ÐÐ	
-­(ÚÐ-ÐÐ	
-­)ÚÐ-ÐÐ	
-­*ÚÐ-ÐÐ	
-­+ÚÐ-ÐÐ	
-­,ÚÐ-ÐÐ	
-­-ÚÐ-ÐÐ	
-­.ÚÐ-ÐÐ	
-­/ÚÐ-ÐÐ	
-­0ÚÐ-ÐÐ	
-­1ÚÐ-ÐÐ	
-­2ÚÐ-ÐÐ	
-­3ÚÐ-ÐÐ	
-­4ÚÐ-ÐÐ	
-­5ÚÐ-ÐÐ	
-­6ÚÐ-ÐÐ	
-­7ÚÐ-ÐÐ	
-­8ÚÐ-ÐÐ	
-­9ÚÐ-ÐÐ	
-­:ÚÐ- ÐÐ	
-­;ÚÐ-!ÐÐ	
-­<ÚÐ-"ÐÐ	
-­=ÚÐ-#ÐÐ	
-­>ÚÐ-$ÐÐ	
-­?ÚÐ-%ÐÐ	
-­@ÚÐ-&ÐÐ	
-­AÚÐ-'ÐÐ	
-­BÚÐ-(ÐÐ	
-­CÚÐ-)ÐÐ	
-­DÚÐ-*ÐÐ	
-­EÚÐ-+ÐÐ	
-­FÚÐ-ÐÐ	
-­GÚÐ-,ÐÐ	
-­HÚÐ--ÐÐ	
-­IÚÐ-.ÐÐ	
-­JÚÐ-/ÐÐ	
-­KÚÐ-0ÐÐ	
-­LÚÐ-1ÐÐ	
-­MÚÐ-2ÐÐ	
-­NÚÐ-3ÐÐ	
-­OÚÐ-ÐÐ	
-­PÚÐ-4ÐÐ	
-­QÚÐ-5ÐÐ	
-­RÚÐ-ÐÐ	
-­SÚÐ-6ÐÐ	
-­TÚÐ-7ÐÐ	
-­UÚÐ-8ÐÐ	
-­VÚÐ-9ÐÐ	
-­WÚÐ-:ÐÐ	
-­XÚÐ-;ÐÐ	
-­YÚÐ-<ÐÐ	
-­ZÚÐ-=ÐÐ	
-­[ÚÐ->ÐÐ	
-­\ÚÐ-ÐÐ	
-­]ÚÐ-?ÐÐ	
-­©ÚÐ-@ÐABÐEÐÐ	
-­ÚÐ-CÐÐ	
-­ÚÐ-DÐÐ	

ÚÐ-EÐÐ	
-­ÚÐ-FÐÐ	
-­ÚÐ-GÐÐ	
-­ÚÐ-HÐÐ	
-­ÚÐ-IÐÐ	
-­ÚÐ-JÐÐ	
-­ÚÐ-KÐÐ	
-­ÚÐ-LÐÐ	
-­ÚÐ-MÐÐ	
-­ÚÐ-NÐÐ	
-­ÚÐ-OÐÐ	
-­ÚÐ-PÐÐ	
-­ÚÐ-QÐÐ	
-­ÚÐ-RÐÐ	
-­ÚÐ-SÐÐ	
-­ÚÐ-TÐÐ	
-­ÚÐ-OÐÐ	
-­ÚÐ-UÐÐ	
-­ÚÐ-VÐÐ	
-­ ÚÐ-WÐÐ	
-­!ÚÐ-XÐÐ	
-­"ÚÐ-YÐÐ	
-­#ÚÐ-ZÐÐ	
-­$ÚÐ-[ÐÐ	
-­ÚÐ-O
\ No newline at end of file
+Gx_l!0…jüoäC¢<ԁ]ÑÃ`System.StringL{f8a58466-d7f6-439f-bbb8-d4600e41d099}ImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocumentL{f3878285-8e4f-490b-bb1b-9acbb7eb04db}TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}	Id
+longTagText
6// At first we set no errorŠ// If something changes it before end of the method we yield an error@AddAllMetrics := ERROR.NO_ERROR;<IF SendList.ListSize <> 0 THENN    ItfCurElement := SendList.HeadElem;>    WHILE ItfCurElement <> 0 DOh        ElementCounter        := ElementCounter + 1;|        HasItfRemoteMetric := __QUERYINTERFACE( itfCurElement,Š                                                   itfRemoteMetric );8		IF HasItfRemoteMetric THENV			// we can safely 'plug it' in the method~			AddAllMetrics := _Encoder.AddMetric( Timestamp := Timestamp,`												 SparkplugObject := itfRemoteMetric,~												 AllMetricsWhichWillEverReport := AllMetricsList );			// Succesš			WriteDeviceLog( msgCtrlMask := UDINT_TO_DWORD( CmpLog.LogClass.LOG_INFO ),Ž							msgFmtStr := 'SparkplugBSimple AddMetricList Element added: %s', 							strArg := `							TO_STRING( WCONCAT( itfRemoteMetric.Name,!6												WCONCAT( " : ","|														 TO_WSTRING( itfRemoteMetric.DataType ) ) ) ) );#		ELSE$\			// SimpleValue Interface is NOT implemented%œ			WriteDeviceLog( msgCtrlMask := UDINT_TO_DWORD( CmpLog.LogClass.LOG_ERROR ),&&							msgFmtStr :='Ì							'SparkplugBSimple AddMetricList Error: element does not implement IRemoteMetric Interface: %s',(j							strArg := TO_STRING( itfRemoteMetric.Name ) );)R			AddAllMetrics := ERROR.NotImplemented;*		END_IF+P        HasItfRemoteMetric     := FALSE;,Ô        ItfCurElement         := ItfCurElement.NextElem; // If NextElem = 0 we reached the end of the list-    END_WHILE.ELSE/"    // List empty0ž    WriteDeviceLog( msgCtrlMask := UDINT_TO_DWORD( CmpLog.LogClass.LOG_ERROR ),1ª                    msgFmtStr := 'SparkplugBSimple AddMetricList Error, List empty.',2F                    strArg := '' );3T    AddAllMetrics := ERROR.NotImplemented;4END_IF5Interface6L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}7(*8º    Add a List of metric value's by spoonfeeding each metric in the list and add it seperatly9	:n    Start Encoder and Send Blob immediatly after usage.;    <¤    The Method returns 'No Error' if all metrics have been processed with succes  =€    An error is thrown if at least one metric adding has failed.>˜    Check the SparkPlugLog for details on which Metric has thrown the error.?*)@8METHOD AddAllMetrics : ERRORAVAR_INPUTB6    Timestamp : T_DateTime;CEND_VARDVAR_IN_OUTE^    // List of metrics we curently wish to sendFR    SendList : List; // OF ISimpleStorageG<    // Global All Metrics ListH^    AllMetricsList : List; // OF ISimpleStorageIVARJJ    ItfCurElement         : IElement;KT    itfRemoteMetric       : IRemoteMetric;LB    HasItfRemoteMetric    : BOOL;M    ElementCounter        : UDINT := 0; // keep track of current elementnumber which is processedÐÐÐE+ÐÐ	
+­ÊÚÐ-
ÐÐ	
+­ËÚÐ-ÐÐ	
+­ÌÚÐ-ÐÐ	
+­ÍÚÐ-ÐÐ	
+­ÎÚÐ-ÐÐ	
+­ÏÚÐ-ÐÐ	
+­ÐÚÐ-ÐÐ	
+­ÑÚÐ-ÐÐ	
+­ÒÚÐ-ÐÐ	
+­ØÚÐ-ÐÐ	
+­ÙÚÐ-ÐÐ	
+­ÚÚÐ-ÐÐ	
+­ÛÚÐ-ÐÐ	
+­ÜÚÐ-ÐÐ	
+­ÝÚÐ-ÐÐ	
+­ÞÚÐ-ÐÐ	
+­ßÚÐ-ÐÐ	
+­àÚÐ-ÐÐ	
+­áÚÐ-ÐÐ	
+­âÚÐ- ÐÐ	
+­ãÚÐ-!ÐÐ	
+­äÚÐ-"ÐÐ	
+­åÚÐ-#ÐÐ	
+­æÚÐ-$ÐÐ	
+­çÚÐ-%ÐÐ	
+­èÚÐ-&ÐÐ	
+­éÚÐ-'ÐÐ	
+­êÚÐ-(ÐÐ	
+­ëÚÐ-ÐÐ	
+­ìÚÐ-)ÐÐ	
+­íÚÐ-*ÐÐ	
+­øÚÐ-ÐÐ	
+­ùÚÐ-+ÐÐ	
+­úÚÐ-,ÐÐ	
+­ûÚÐ--ÐÐ	
+­üÚÐ-.ÐÐ	
+­ýÚÐ-/ÐÐ	
+­þÚÐ-0ÐÐ	
+­ÿÚÐ-1ÐÐ	
+­ÚÐ-2ÐÐ	
+­ÚÐ-ÐÐ	
+­ÚÐ-3ÐÐ	
+­©ÚÐ-4Ð56ÐEÐÐ	
+­±ÚÐ-7ÐÐ	
+­²ÚÐ-8ÐÐ	
+­³ÚÐ-9ÐÐ	
+­´ÚÐ-:ÐÐ	
+­µÚÐ-;ÐÐ	
+­¶ÚÐ-<ÐÐ	
+­·ÚÐ-=ÐÐ	
+­¸ÚÐ->ÐÐ	
+­¹ÚÐ-?ÐÐ	
+­ºÚÐ-@ÐÐ	
+­»ÚÐ-AÐÐ	
+­¼ÚÐ-BÐÐ	
+­½ÚÐ-CÐÐ	
+­¾ÚÐ-DÐÐ	
+­¿ÚÐ-EÐÐ	
+­ÀÚÐ-FÐÐ	
+­ÁÚÐ-GÐÐ	
+­ÂÚÐ-HÐÐ	
+­ÃÚÐ-CÐÐ	
+­ÄÚÐ-IÐÐ	
+­ÅÚÐ-JÐÐ	
+­ÆÚÐ-KÐÐ	
+­ÈÚÐ-LÐÐ	
+­ÉÚÐ-MÐÐ	
+­ÚÐ-C
\ No newline at end of file