--- a/project/sparkplug™_mqtt_edge_b9741afd/function_blocks_d9bd2ff1/fb_device_309d3c13/fb_device_98658e3f/aliases_d884c302/getmetricbyalias_7f80fc24/7f80fc24f3554bc9a1c5f503335ac26d.object
+++ b/project/sparkplug™_mqtt_edge_b9741afd/function_blocks_d9bd2ff1/fb_device_309d3c13/fb_device_98658e3f/aliases_d884c302/getmetricbyalias_7f80fc24/7f80fc24f3554bc9a1c5f503335ac26d.object
@@ -1 +1 @@
-{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)7f80fc24-f355-4bc9-a1c5-f503335ac26d","ParentGuid":"(Guid)98658e3f-2022-4201-ad82-e23b1cb5aaf1","Name":"(string)getMetricByAlias","Properties":{"@Type":"2c41fa04:IDictionary","@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)d884c302-9b03-450b-ba7b-204e91e117f9"}]}}}}]},"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}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","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)39","Tag":null,"Text":"(string)//Device Metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)40","Tag":null,"Text":"(string)eError := SPStack.ERROR.DeviceIDNotFound;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)41","Tag":null,"Text":"(string)_metrics.ItterateRestart(HasNext => HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)42","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)43","Tag":null,"Text":"(string)WHILE HasNext AND NOT FoundMetric DO"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)44","Tag":null,"Text":"(string)    _metrics.ItterateNext(itfElement => itfElement, HasNext => HasNext);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)46","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)47","Tag":null,"Text":"(string)    IF __QUERYINTERFACE(itfElement,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)48","Tag":null,"Text":"(string)        _Metric) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)49","Tag":null,"Text":"(string)        IF _Metric.Alias = Alias THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)50","Tag":null,"Text":"(string)            FoundMetric := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)51","Tag":null,"Text":"(string)            eError := SPStack.ERROR.NO_ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)52","Tag":null,"Text":"(string)            Metric := _Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)53","Tag":null,"Text":"(string)        END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)54","Tag":null,"Text":"(string)    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)55","Tag":null,"Text":"(string)END_WHILE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)56","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)57","Tag":null,"Text":"(string)xError := (eError <> SPStack.ERROR.NO_ERROR);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)58","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)59","Tag":null,"Text":"(string)IF Metric = 0 THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)60","Tag":null,"Text":"(string)    Metric := SPStack.GVL_sparkplug.InvalidMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)5","Tag":null,"Text":"(string)END_IF"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)20","Tag":null,"Text":"(string)// if the metric is not found, it sets xError, and outputs Metric := SPStack.GVL_sparkplug.InvalidMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)2","Tag":null,"Text":"(string)METHOD getMetricByAlias"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)25","Tag":null,"Text":"(string)VAR_IN_OUT CONSTANT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)26","Tag":null,"Text":"(string)    Alias : ULINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)27","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)28","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)29","Tag":null,"Text":"(string)    Metric : SPStack.IMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)30","Tag":null,"Text":"(string)    GetTimestamp : SPStack.T_DateTime; //NOT IMPLEMENTED"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)31","Tag":null,"Text":"(string)    xError : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)32","Tag":null,"Text":"(string)    eError : SPStack.ERROR;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)33","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)34","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)35","Tag":null,"Text":"(string)    HasNext : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)36","Tag":null,"Text":"(string)    FoundMetric : BOOL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)37","Tag":null,"Text":"(string)    itfElement : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)38","Tag":null,"Text":"(string)    _Metric : SPStack.IMetric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)18","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)7f80fc24-f355-4bc9-a1c5-f503335ac26d","ParentGuid":"(Guid)98658e3f-2022-4201-ad82-e23b1cb5aaf1","Name":"(string)getMetricByAlias","Properties":{"@Type":"2c41fa04:IDictionary","@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)d884c302-9b03-450b-ba7b-204e91e117f9"}]}}}}]},"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}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"f8a58466","@Value":{"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string)//Device Metric\neError := SPStack.ERROR.DeviceIDNotFound;\n_metrics.ItterateRestart(HasNext => HasNext);\n\nWHILE HasNext AND NOT FoundMetric DO\n    _metrics.ItterateNext(itfElement => itfElement, HasNext => HasNext);\n\n    IF __QUERYINTERFACE(itfElement,\n        _Metric) THEN\n        IF _Metric.Alias = Alias THEN\n            FoundMetric := TRUE;\n            eError := SPStack.ERROR.NO_ERROR;\n            Metric := _Metric;\n        END_IF\n    END_IF\nEND_WHILE\n\nxError := (eError <> SPStack.ERROR.NO_ERROR);\n\nIF Metric = 0 THEN\n    Metric := SPStack.GVL_sparkplug.InvalidMetric;\nEND_IF","LineInfoPersistence":"(string)7f80fc24-f355-4bc9-a1c5-f503335ac26d_Impl_LineIds"}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string)// if the metric is not found, it sets xError, and outputs Metric := SPStack.GVL_sparkplug.InvalidMetric;\nMETHOD getMetricByAlias\nVAR_IN_OUT CONSTANT\n    Alias : ULINT;\nEND_VAR\nVAR_OUTPUT\n    Metric : SPStack.IMetric;\n    GetTimestamp : SPStack.T_DateTime; //NOT IMPLEMENTED\n    xError : BOOL;\n    eError : SPStack.ERROR;\nEND_VAR\nVAR\n    HasNext : BOOL;\n    FoundMetric : BOOL;\n    itfElement : LinkedList.IElement;\n    _Metric : SPStack.IMetric;\nEND_VAR","LineInfoPersistence":"(string)7f80fc24-f355-4bc9-a1c5-f503335ac26d_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