Diff of /project/sparkplug™_mqtt_edge_b9741afd/function_blocks_d9bd2ff1/fb_device_309d3c13/fb_device_98658e3f/dcmd_30b11517/ondcmdmessage_ad92ffe1/ad92ffe15e424ca183019a5de5ce07bd.object [8329bc] .. [57743f]  Maximize  Restore

Switch to side-by-side view

--- a/project/sparkplug™_mqtt_edge_b9741afd/function_blocks_d9bd2ff1/fb_device_309d3c13/fb_device_98658e3f/dcmd_30b11517/ondcmdmessage_ad92ffe1/ad92ffe15e424ca183019a5de5ce07bd.object
+++ b/project/sparkplug™_mqtt_edge_b9741afd/function_blocks_d9bd2ff1/fb_device_309d3c13/fb_device_98658e3f/dcmd_30b11517/ondcmdmessage_ad92ffe1/ad92ffe15e424ca183019a5de5ce07bd.object
@@ -1 +1 @@
-{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)ad92ffe1-5e42-4ca1-8301-9a5de5ce07bd","ParentGuid":"(Guid)98658e3f-2022-4201-ad82-e23b1cb5aaf1","Name":"(string)onDCMDMessage","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)24568a24-c491-472c-a21f-ee5d33859fab","@Value":{"@Type":"24568a24","@Value":{"MemoryReserveForOnlineChange":"(int)0","ExcludeFromBuild":"(bool)False","External":"(bool)False","EnableSystemCall":"(bool)False","CompilerDefines":"(string)","LinkAlways":"(bool)False","Undefines":{"@Type":"[string]","@Value":[]}}}},{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)21af5390-2942-461a-bf89-951aaf6999f1","@Value":"(Guid)30b11517-09d1-42f8-b826-fe0a8a4c00e9"}]}}}}]},"TypeGuid":"(Guid)f8a58466-d7f6-439f-bbb8-d4600e41d099","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"24568a24":"{24568a24-c491-472c-a21f-ee5d33859fab}","2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","bool":"System.Boolean","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","int":"System.Int32","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)2197","Tag":null,"Text":"(string)//note: pMessage is already decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2198","Tag":null,"Text":"(string)onDCMDMessage := FALSE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2284","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2285","Tag":null,"Text":"(string)// //get first metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2338","Tag":null,"Text":"(string)PayloadMetric REF= pMessage.GetMetricFirst(ObjectValid => PayloadMetricIsValid, HasNext => HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2339","Tag":null,"Text":"(string)WHILE PayloadMetricIsValid DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2340","Tag":null,"Text":"(string)\tPayloadMetric.ReadAlias(HasAlias=>hasNewAlias, Alias=> newAlias);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2337","Tag":null,"Text":"(string)\tPayloadMetric.ReadName (HasName=>            , Name=> newName);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2298","Tag":null,"Text":"(string) \tGetMetric(hasAlias := hasNewAlias AND ItfEdge.UseAlias,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2300","Tag":null,"Text":"(string)\t\t\t  Name := newName,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2301","Tag":null,"Text":"(string)\t\t\t  Alias := newAlias,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2302","Tag":null,"Text":"(string)\t\t\t  itfMetric => itfExistingMetric,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2214","Tag":null,"Text":"(string)\t\t\t  xError => MetricNotExisting);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2218","Tag":null,"Text":"(string)\tIF MetricNotExisting THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2219","Tag":null,"Text":"(string)\t\tWriteEdgeLog("}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2220","Tag":null,"Text":"(string)\t\t\tCmpLog.LogClass.LOG_WARNING,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2221","Tag":null,"Text":"(string)\t\t\t'Someone sent a DCMD with metric %s not in our DBIRTH. It was ignored',"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2222","Tag":null,"Text":"(string)\t\t\tTO_STRING(newName));"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2279","Tag":null,"Text":"(string)\tELSIF itfExistingMetric.Access = SPStack.AccessMode.ReadOnly THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2278","Tag":null,"Text":"(string)\t\titfExistingMetric.Notify := TRUE; // It Is readonly, so ignore it.  We notify anyway (with the old value, so the host knows it didn't work)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2223","Tag":null,"Text":"(string)\tELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2224","Tag":null,"Text":"(string)\t\t// update one as it allready excists"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2233","Tag":null,"Text":"(string)\t\titfExistingMetric.UpdateThisMetricFromPayload(Notify := TRUE, PayloadMetric := PayloadMetric);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2234","Tag":null,"Text":"(string)\tEND_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2342","Tag":null,"Text":"(string)\tPayloadMetric REF= pMessage.GetMetricNext(ObjectValid => PayloadMetricIsValid, HasNext => HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2341","Tag":null,"Text":"(string)END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2272","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2273","Tag":null,"Text":"(string)WriteEdgeLog("}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2274","Tag":null,"Text":"(string)    CmpLog.LogClass.LOG_DEBUG,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2275","Tag":null,"Text":"(string)    'EoN DCMD Received Topic: %s',"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2276","Tag":null,"Text":"(string)    WSTRING_TO_STRING(pTopic^));"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2277","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1781","Tag":null,"Text":"(string)onDCMDMessage := TRUE;"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)2138","Tag":null,"Text":"(string)///"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2139","Tag":null,"Text":"(string)///  Device Command (DCMD)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2140","Tag":null,"Text":"(string)///  "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2141","Tag":null,"Text":"(string)///  DCMD messages are used by backend applications to write to device outputs and send Device Control commands"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2142","Tag":null,"Text":"(string)///  to devices. Multiple metrics can be supplied in a single DCMD message."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2143","Tag":null,"Text":"(string)///  The following is a representation of a simple DCMD message on the topic:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2144","Tag":null,"Text":"(string)///  "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2145","Tag":null,"Text":"(string)///      spBv1.0/Sparkplug™ B Devices/DCMD/Raspberry Pi/Pibrella"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2146","Tag":null,"Text":"(string)///  "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2147","Tag":null,"Text":"(string)///      •   The ‘Group ID’ of this device is: Sparkplug™ B Devices"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2148","Tag":null,"Text":"(string)///      •   The host ‘EoN node ID’ of this device is: Raspberry Pi"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2149","Tag":null,"Text":"(string)///      •   The ‘Device ID’ is: Pibrella"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2150","Tag":null,"Text":"(string)///      •   This is an DCMD message from the device"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2151","Tag":null,"Text":"(string)///"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2152","Tag":null,"Text":"(string)///  Consider the following Sparkplug™ B payload in the DCMD message shown above:"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2153","Tag":null,"Text":"(string)///  {"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2154","Tag":null,"Text":"(string)///      \"timestamp\": 1486144502122,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2155","Tag":null,"Text":"(string)///      \"metrics\": [{"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2156","Tag":null,"Text":"(string)///              \"name\": \"Outputs/LEDs/Green\","}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2157","Tag":null,"Text":"(string)///              \"timestamp\": 1486144502122,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2158","Tag":null,"Text":"(string)///              \"dataType\": \"Boolean\","}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2159","Tag":null,"Text":"(string)///              \"value\": true"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2160","Tag":null,"Text":"(string)///      }, {"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2161","Tag":null,"Text":"(string)///              \"name\": \"Outputs/LEDs/Yellow\","}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2162","Tag":null,"Text":"(string)///              \"timestamp\": 1486144502122,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2163","Tag":null,"Text":"(string)///              \"dataType\": \"Boolean\","}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2164","Tag":null,"Text":"(string)///              \"value\": true"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2165","Tag":null,"Text":"(string)///      }]"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2166","Tag":null,"Text":"(string)///  }"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2167","Tag":null,"Text":"(string)///  "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2168","Tag":null,"Text":"(string)///  The DCMD payload tells the EoN node to write true to the attached device’s green and yellow LEDs. As a result,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2169","Tag":null,"Text":"(string)///  the LEDs should turn on and result in a DDATA message back to the MQTT Server after the LEDs are successfully"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2170","Tag":null,"Text":"(string)///  turned on."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2171","Tag":null,"Text":"(string)///  "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2172","Tag":null,"Text":"(string){attribute 'hide'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2173","Tag":null,"Text":"(string)METHOD onDCMDMessage : BOOL"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2174","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2175","Tag":null,"Text":"(string)    pTopic : POINTER TO WSTRING(SPStack.GC_sparkplug.supported_string_lengths); // resembles the topic under which the message is posted "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2176","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2177","Tag":null,"Text":"(string)VAR_IN_OUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2178","Tag":null,"Text":"(string)    pMessage : SPStack.FB_Payload; //should already be decoded"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2179","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2180","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2181","Tag":null,"Text":"(string)    xError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2182","Tag":null,"Text":"(string)    eError : SPStack.ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2183","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2184","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2185","Tag":null,"Text":"(string)    newName : WSTRING(SPStack.GC_sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2283","Tag":null,"Text":"(string)    newAlias : ULINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2282","Tag":null,"Text":"(string)    hasNewAlias : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2195","Tag":null,"Text":"(string)    itfExistingMetric : SPStack.IMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2196","Tag":null,"Text":"(string)    MetricNotExisting : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2343","Tag":null,"Text":"(string)\t"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2345","Tag":null,"Text":"(string)\tPayloadMetric : REFERENCE TO SPStack.FB_PayloadMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2346","Tag":null,"Text":"(string)\tPayloadMetricIsValid : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2344","Tag":null,"Text":"(string)\tHasNext : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)1","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"}
\ No newline at end of file
+{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)ad92ffe1-5e42-4ca1-8301-9a5de5ce07bd","ParentGuid":"(Guid)98658e3f-2022-4201-ad82-e23b1cb5aaf1","Name":"(string)onDCMDMessage","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)24568a24-c491-472c-a21f-ee5d33859fab","@Value":{"@Type":"24568a24","@Value":{"MemoryReserveForOnlineChange":"(int)0","ExcludeFromBuild":"(bool)False","External":"(bool)False","EnableSystemCall":"(bool)False","CompilerDefines":"(string)","LinkAlways":"(bool)False","Undefines":{"@Type":"[string]","@Value":[]}}}},{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)21af5390-2942-461a-bf89-951aaf6999f1","@Value":"(Guid)30b11517-09d1-42f8-b826-fe0a8a4c00e9"}]}}}}]},"TypeGuid":"(Guid)f8a58466-d7f6-439f-bbb8-d4600e41d099","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"24568a24":"{24568a24-c491-472c-a21f-ee5d33859fab}","2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","bool":"System.Boolean","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","int":"System.Int32","string":"System.String"}},"object":{"Graph":{"@Type":"f8a58466","@Value":{"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string)//note: pMessage is already decoded\nonDCMDMessage := FALSE;\n\n// //get first metric\nPayloadMetric REF= pMessage.GetMetricFirst(ObjectValid => PayloadMetricIsValid, HasNext => HasNext);\nWHILE PayloadMetricIsValid DO\n\tPayloadMetric.ReadAlias(HasAlias=>hasNewAlias, Alias=> newAlias);\n\tPayloadMetric.ReadName (HasName=>            , Name=> newName);\n \tGetMetric(hasAlias := hasNewAlias AND ItfEdge.UseAlias,\n\t\t\t  Name := newName,\n\t\t\t  Alias := newAlias,\n\t\t\t  itfMetric => itfExistingMetric,\n\t\t\t  xError => MetricNotExisting);\n\tIF MetricNotExisting THEN\n\t\tWriteEdgeLog(\n\t\t\tCmpLog.LogClass.LOG_WARNING,\n\t\t\t'Someone sent a DCMD with metric %s not in our DBIRTH. It was ignored',\n\t\t\tTO_STRING(newName));\n\tELSIF itfExistingMetric.Access = SPStack.AccessMode.ReadOnly THEN\n\t\titfExistingMetric.Notify := TRUE; // It Is readonly, so ignore it.  We notify anyway (with the old value, so the host knows it didn't work)\n\tELSE\n\t\t// update one as it allready excists\n\t\titfExistingMetric.UpdateThisMetricFromPayload(Notify := TRUE, PayloadMetric := PayloadMetric);\n\tEND_IF\n\tPayloadMetric REF= pMessage.GetMetricNext(ObjectValid => PayloadMetricIsValid, HasNext => HasNext);\nEND_WHILE\n\nWriteEdgeLog(\n    CmpLog.LogClass.LOG_DEBUG,\n    'EoN DCMD Received Topic: %s',\n    WSTRING_TO_STRING(pTopic^));\n\nonDCMDMessage := TRUE;","LineInfoPersistence":"(string)ad92ffe1-5e42-4ca1-8301-9a5de5ce07bd_Impl_LineIds"}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string)///\n///  Device Command (DCMD)\n///  \n///  DCMD messages are used by backend applications to write to device outputs and send Device Control commands\n///  to devices. Multiple metrics can be supplied in a single DCMD message.\n///  The following is a representation of a simple DCMD message on the topic:\n///  \n///      spBv1.0/Sparkplug™ B Devices/DCMD/Raspberry Pi/Pibrella\n///  \n///      •   The ‘Group ID’ of this device is: Sparkplug™ B Devices\n///      •   The host ‘EoN node ID’ of this device is: Raspberry Pi\n///      •   The ‘Device ID’ is: Pibrella\n///      •   This is an DCMD message from the device\n///\n///  Consider the following Sparkplug™ B payload in the DCMD message shown above:\n///  {\n///      \"timestamp\": 1486144502122,\n///      \"metrics\": [{\n///              \"name\": \"Outputs/LEDs/Green\",\n///              \"timestamp\": 1486144502122,\n///              \"dataType\": \"Boolean\",\n///              \"value\": true\n///      }, {\n///              \"name\": \"Outputs/LEDs/Yellow\",\n///              \"timestamp\": 1486144502122,\n///              \"dataType\": \"Boolean\",\n///              \"value\": true\n///      }]\n///  }\n///  \n///  The DCMD payload tells the EoN node to write true to the attached device’s green and yellow LEDs. As a result,\n///  the LEDs should turn on and result in a DDATA message back to the MQTT Server after the LEDs are successfully\n///  turned on.\n///  \n{attribute 'hide'}\nMETHOD onDCMDMessage : BOOL\nVAR_INPUT\n    pTopic : POINTER TO WSTRING(SPStack.GC_sparkplug.supported_string_lengths); // resembles the topic under which the message is posted \nEND_VAR\nVAR_IN_OUT\n    pMessage : SPStack.FB_Payload; //should already be decoded\nEND_VAR\nVAR_OUTPUT\n    xError : BOOL;\n    eError : SPStack.ERROR;\nEND_VAR\nVAR\n    newName : WSTRING(SPStack.GC_sparkplug.supported_string_lengths);\n    newAlias : ULINT;\n    hasNewAlias : BOOL;\n    itfExistingMetric : SPStack.IMetric;\n    MetricNotExisting : BOOL;\n\t\n\tPayloadMetric : REFERENCE TO SPStack.FB_PayloadMetric;\n\tPayloadMetricIsValid : BOOL;\n\tHasNext : BOOL;\nEND_VAR","LineInfoPersistence":"(string)ad92ffe1-5e42-4ca1-8301-9a5de5ce07bd_Decl_LineIds"}}}}}},"TypeInfos":{"3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","f8a58466":"{f8a58466-d7f6-439f-bbb8-d4600e41d099}","string":"System.String"}}},"FormatVersion":"1.0"}
\ No newline at end of file