Diff of /project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_metric_0161affa/fb_metric_c79cccec/c79cccecca8d4f26a08bcb32d8a13152.object [816850] .. [6959df]  Maximize  Restore

Switch to side-by-side view

--- a/project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_metric_0161affa/fb_metric_c79cccec/c79cccecca8d4f26a08bcb32d8a13152.object
+++ b/project/sparkplug™_mqtt_edge_and_host-stack_b9741afd/function_blocks_8ad6e219/fb_metric_0161affa/fb_metric_c79cccec/c79cccecca8d4f26a08bcb32d8a13152.object
@@ -1 +1 @@
-{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)c79cccec-ca8d-4f26-a08b-cb32d8a13152","ParentGuid":"(Guid)00000000-0000-0000-0000-000000000000","Name":"(string)FB_Metric","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)0161affa-07db-463c-a7f5-e71b272b42c7"}]}}}}]},"TypeGuid":"(Guid)6f9dac99-8de1-4efc-8465-68ac443b7d08","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":"6f9dac99","@Value":{"SpecialFunc":{"@Type":"0db3d7bb:Enum","@Value":"None"},"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)369","Tag":null,"Text":"(string)IF THIS^.itfMetricOwner <> 0 THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)370","Tag":null,"Text":"(string)    itfMetricOwner.RegisterMetric(THIS^);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)9","Tag":null,"Text":"(string)END_IF"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)320","Tag":null,"Text":"(string)// An instance of FB_Metric represents a \"standard\" metric  for primitive datatypes"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)321","Tag":null,"Text":"(string)// usage: Instance it, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)322","Tag":null,"Text":"(string)//  tell it what datatype it should carry (which may NOT change during it's use), "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)323","Tag":null,"Text":"(string)//  provide a proces value "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)324","Tag":null,"Text":"(string)//  a timestamp."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)325","Tag":null,"Text":"(string)//"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)326","Tag":null,"Text":"(string)// Example"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)327","Tag":null,"Text":"(string)// MyMetric : FB_Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)328","Tag":null,"Text":"(string)//"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)329","Tag":null,"Text":"(string)// MyMetric.Name := \"Bool/B1\"; // Choose a name which (static)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)330","Tag":null,"Text":"(string)// MyMetric.Datatype := Sparkplug.MetricDataType.Boolean; // Choose a datatype (static)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)331","Tag":null,"Text":"(string)//"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)332","Tag":null,"Text":"(string)// MyMetric.Value := MyProcesValue(); // Provide a process value. Any proces value changes are detected and signaled for sending automaticly, you don't have to do anything special! "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)333","Tag":null,"Text":"(string)// MyMetric.TimeStamp := Time.Now(); // Provide a timestamp"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)334","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)335","Tag":null,"Text":"(string){attribute 'call_after_init'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)336","Tag":null,"Text":"(string)FUNCTION_BLOCK PUBLIC FB_Metric EXTENDS FBF.InstanceBase IMPLEMENTS IMetric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)337","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)339","Tag":null,"Text":"(string)    itfMetricOwner : IMetricOwner; // If this is a pool Metric, it will be set by the primary node.  if not then attach it yourself to the correct Owner"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)340","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)341","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)342","Tag":null,"Text":"(string)    {attribute 'no_copy'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)343","Tag":null,"Text":"(string)    itfMetric : IMetric := THIS^;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)344","Tag":null,"Text":"(string)    // FALSE when metric value is representative of the remote value. "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)345","Tag":null,"Text":"(string)    // TRUE when Edge or Device dies, or when Host is OFFLINE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)346","Tag":null,"Text":"(string)    isStale : BOOL := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)347","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)348","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)350","Tag":null,"Text":"(string)    _name : WSTRING;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)351","Tag":null,"Text":"(string)    _TS : T_DateTime;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)352","Tag":null,"Text":"(string)    _Status : MetricStatus;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)353","Tag":null,"Text":"(string)    _NotifyThem : BOOL := FALSE; // TRUE if the Value is changed in regard of the previous stored value "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)376","Tag":null,"Text":"(string)\t_Access : AccessMode := AccessMode.ReadWrite; // If set to ReadOnly, received NCMDs will have no effect on this Metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)354","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)355","Tag":null,"Text":"(string)    // LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)356","Tag":null,"Text":"(string)    _itfPrev : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)357","Tag":null,"Text":"(string)    _itfNext : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)358","Tag":null,"Text":"(string)    _itfList : LinkedList.IList;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)359","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)360","Tag":null,"Text":"(string)    // IPropertyOwner"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)361","Tag":null,"Text":"(string)    _Properties : LinkedList.List; // OF FB_Property"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)362","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)363","Tag":null,"Text":"(string)    //IValue"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)364","Tag":null,"Text":"(string)    _dataType : MetricDataType := MetricDataType.Unknown;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)365","Tag":null,"Text":"(string)    _uLint : ULINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)366","Tag":null,"Text":"(string)    _lReal : LREAL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)367","Tag":null,"Text":"(string)    _WSTRING : WSTRING(gc_sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)368","Tag":null,"Text":"(string)    //BYTES VALUE IS NOT IMPLEMENTED"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)23","Tag":null,"Text":"(string)END_VAR"}}]}}}}},"UniqueIdGenerator":"(string)376","POULevel":{"@Type":"8e575c5b:Enum","@Value":"Standard"},"ChildObjectGuids":{"@Type":"ArrayList:IList","@Value":[]},"AddAttributeSubsequent":"(bool)False"}},"TypeInfos":{"0db3d7bb":"{0db3d7bb-cde0-4416-9a7b-ce49a0124323}","3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","6f9dac99":"{6f9dac99-8de1-4efc-8465-68ac443b7d08}","8e575c5b":"{8e575c5b-1d37-49c6-941b-5c0ec7874787}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","ArrayList":"System.Collections.ArrayList","bool":"System.Boolean","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}
\ No newline at end of file
+{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)c79cccec-ca8d-4f26-a08b-cb32d8a13152","ParentGuid":"(Guid)00000000-0000-0000-0000-000000000000","Name":"(string)FB_Metric","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)0161affa-07db-463c-a7f5-e71b272b42c7"}]}}}}]},"TypeGuid":"(Guid)6f9dac99-8de1-4efc-8465-68ac443b7d08","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":"6f9dac99","@Value":{"SpecialFunc":{"@Type":"0db3d7bb:Enum","@Value":"None"},"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)369","Tag":null,"Text":"(string)IF THIS^.itfMetricOwner <> 0 THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)370","Tag":null,"Text":"(string)    itfMetricOwner.RegisterMetric(THIS^);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)9","Tag":null,"Text":"(string)END_IF"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)320","Tag":null,"Text":"(string)// An instance of FB_Metric represents a \"standard\" metric  for primitive datatypes"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)321","Tag":null,"Text":"(string)// usage: Instance it, "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)322","Tag":null,"Text":"(string)//  tell it what datatype it should carry (which may NOT change during it's use), "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)323","Tag":null,"Text":"(string)//  provide a proces value "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)324","Tag":null,"Text":"(string)//  a timestamp."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)325","Tag":null,"Text":"(string)//"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)326","Tag":null,"Text":"(string)// Example"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)327","Tag":null,"Text":"(string)// MyMetric : FB_Metric;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)328","Tag":null,"Text":"(string)//"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)329","Tag":null,"Text":"(string)// MyMetric.Name := \"Bool/B1\"; // Choose a name which (static)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)330","Tag":null,"Text":"(string)// MyMetric.Datatype := Sparkplug.MetricDataType.Boolean; // Choose a datatype (static)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)331","Tag":null,"Text":"(string)//"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)332","Tag":null,"Text":"(string)// MyMetric.Value := MyProcesValue(); // Provide a process value. Any proces value changes are detected and signaled for sending automaticly, you don't have to do anything special! "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)333","Tag":null,"Text":"(string)// MyMetric.TimeStamp := Time.Now(); // Provide a timestamp"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)334","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)335","Tag":null,"Text":"(string){attribute 'call_after_init'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)336","Tag":null,"Text":"(string)FUNCTION_BLOCK PUBLIC FB_Metric EXTENDS FBF.InstanceBase IMPLEMENTS IMetric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)337","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)339","Tag":null,"Text":"(string)    itfMetricOwner : IMetricOwner; // If this is a pool Metric, it will be set by the primary node.  if not then attach it yourself to the correct Owner"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)340","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)341","Tag":null,"Text":"(string)VAR_OUTPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)342","Tag":null,"Text":"(string)    {attribute 'no_copy'}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)343","Tag":null,"Text":"(string)    itfMetric : IMetric := THIS^;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)344","Tag":null,"Text":"(string)    // FALSE when metric value is representative of the remote value. "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)345","Tag":null,"Text":"(string)    // TRUE when Edge or Device dies, or when Host is OFFLINE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)346","Tag":null,"Text":"(string)    isStale : BOOL := TRUE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)347","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)348","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)350","Tag":null,"Text":"(string)    _name : WSTRING;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)351","Tag":null,"Text":"(string)    _TS : T_DateTime;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)352","Tag":null,"Text":"(string)    _Status : MetricStatus;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)353","Tag":null,"Text":"(string)    _NotifyThem : BOOL := FALSE; // TRUE if the Value is changed in regard of the previous stored value "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)376","Tag":null,"Text":"(string)\t_Access : AccessMode := AccessMode.ReadWrite; // If set to ReadOnly, received NCMDs will have no effect on this Metric"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)354","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)355","Tag":null,"Text":"(string)    // LinkedList.IElement"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)356","Tag":null,"Text":"(string)    _itfPrev : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)357","Tag":null,"Text":"(string)    _itfNext : LinkedList.IElement;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)358","Tag":null,"Text":"(string)    _itfList : LinkedList.IList;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)359","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)360","Tag":null,"Text":"(string)    // IPropertyOwner"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)361","Tag":null,"Text":"(string)    _Properties : LinkedList.List; // OF FB_Property"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)362","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)363","Tag":null,"Text":"(string)    //IValue"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)364","Tag":null,"Text":"(string)    _dataType : MetricDataType := MetricDataType.Unknown;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)365","Tag":null,"Text":"(string)    _uLint : ULINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)366","Tag":null,"Text":"(string)    _lReal : LREAL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)367","Tag":null,"Text":"(string)    _WSTRING : WSTRING(gc_sparkplug.supported_string_lengths);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)368","Tag":null,"Text":"(string)    //BYTES VALUE IS NOT IMPLEMENTED"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)377","Tag":null,"Text":"(string)    "}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)378","Tag":null,"Text":"(string)    // Alias, if assigned this value is <> 0 and unique"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)379","Tag":null,"Text":"(string)    _Alias : ULINT := 0;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)23","Tag":null,"Text":"(string)END_VAR"}}]}}}}},"UniqueIdGenerator":"(string)379","POULevel":{"@Type":"8e575c5b:Enum","@Value":"Standard"},"ChildObjectGuids":{"@Type":"ArrayList:IList","@Value":[]},"AddAttributeSubsequent":"(bool)False"}},"TypeInfos":{"0db3d7bb":"{0db3d7bb-cde0-4416-9a7b-ce49a0124323}","3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","6f9dac99":"{6f9dac99-8de1-4efc-8465-68ac443b7d08}","8e575c5b":"{8e575c5b-1d37-49c6-941b-5c0ec7874787}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","ArrayList":"System.Collections.ArrayList","bool":"System.Boolean","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}
\ No newline at end of file