Diff of /branches/h-hermsen/mqttsparkplugb/SparkplugB/Function Blocks/FB_Device/FB_Device/svnobj [r524] .. [r525]  Maximize  Restore

Switch to side-by-side view

--- a/branches/h-hermsen/mqttsparkplugb/SparkplugB/Function Blocks/FB_Device/FB_Device/svnobj
+++ b/branches/h-hermsen/mqttsparkplugb/SparkplugB/Function Blocks/FB_Device/FB_Device/svnobj
@@ -1,4 +1,6 @@
-Gx_l#!0…jüoÚ
ö‘1J!2Š…{System.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
-TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagTextJCoupledWithEoN := IsCoupledWithEoN();InterfaceL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}hFUNCTION_BLOCK FB_Device IMPLEMENTS ISparkplugDeviceVAR_INPUT€    Name        : WSTRING; // A name for this device eg: "FT001"¨    Description : WSTRING; // A description for this device eg: "Flow Transmitter 1"V    ItfEoN      : ISparkplugDeviceProtocol;END_VARVAR_OUTPUT4    CoupledWithEoN : BOOL;VAR_IN_OUTt    arSparkplugBoolean  : ARRAY[*] OF FB_SparkplugBoolean;v    arSparkplugDateTime : ARRAY[*] OF FB_SparkplugDateTime;p    arSparkplugFloat    : ARRAY[*] OF FB_SparkplugFloat;r    arSparkplugDouble   : ARRAY[*] OF FB_SparkplugDouble; n    arSparkplugInt8     : ARRAY[*] OF FB_SparkplugInt8;!p    arSparkplugInt16    : ARRAY[*] OF FB_SparkplugInt16;"p    arSparkplugInt32    : ARRAY[*] OF FB_SparkplugInt32;#p    arSparkplugInt64    : ARRAY[*] OF FB_SparkplugInt64;$p    arSparkplugUInt8    : ARRAY[*] OF FB_SparkplugUInt8;%r    arSparkplugUInt16   : ARRAY[*] OF FB_SparkplugUInt16;&r    arSparkplugUInt32   : ARRAY[*] OF FB_SparkplugUInt32;'r    arSparkplugUInt64   : ARRAY[*] OF FB_SparkplugUInt64;(n    arSparkplugUUID     : ARRAY[*] OF FB_SparkplugUUID;)n    arSparkplugText     : ARRAY[*] OF FB_SparkplugText;*r    arSparkplugString   : ARRAY[*] OF FB_SparkplugString;+VAR,V    _itfPrevEoN : ISparkplugDeviceProtocol;-4    _Element    : Element;."UniqueIdGenerator/2000POULevel1L{8e575c5b-1d37-49c6-941b-5c0ec7874787}2Standard3 ChildObjectGuids48System.Collections.ArrayList5,AddAttributeSubsequent6boolÐÐ-ÐÐ	E
-ÐÐ
­	ÚÐ-ÐÐ	E
-ÐÐ
­«ÚÐ-ÐÐ
­¬ÚÐ-ÐÐ
­­ÚÐ-ÐÐ
­®ÚÐ-ÐÐ
­¯ÚÐ-ÐÐ
­°ÚÐ-ÐÐ
­±ÚÐ-ÐÐ
­²ÚÐ-ÐÐ
­³ÚÐ-ÐÐ
­´ÚÐ-ÐÐ
­µÚÐ-ÐÐ
­¶ÚÐ-ÐÐ
­·ÚÐ-ÐÐ
­¸ÚÐ-ÐÐ
­¹ÚÐ- ÐÐ
­ºÚÐ-!ÐÐ
­»ÚÐ-"ÐÐ
­¼ÚÐ-#ÐÐ
­½ÚÐ-$ÐÐ
­¾ÚÐ-%ÐÐ
­¿ÚÐ-&ÐÐ
­ÀÚÐ-'ÐÐ
­ÁÚÐ-(ÐÐ
­ÂÚÐ-)ÐÐ
­ÃÚÐ-*ÐÐ
­ÄÚÐ-ÐÐ
­ÅÚÐ-+ÐÐ
­ÆÚÐ-,ÐÐ
­ÇÚÐ--ÐÐ
­ÈÚÐ-Ð.-/Ð01-234Ð56­
\ No newline at end of file
+Gx_l$E!0…jüo5c{ˆÎñ'ÇT±System.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
+TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagTextJPluggedIntoEoN := IsPluggedIntoEoN();F_EonPlugged(CLK := PluggedIntoEoN);H_EonUnlugged(CLK := PluggedIntoEoN);*IF _EonPlugged.Q THEN¼    WriteDeviceLog(UDINT_TO_DWORD(CmpLog.LogClass.LOG_INFO), 'Device plugged into %s', 'EoN');END_IF,IF _EonUnlugged.Q THENÀ    WriteDeviceLog(UDINT_TO_DWORD(CmpLog.LogClass.LOG_INFO), 'Device unplugged from %s', 'EoN');F// Continously check the plug state8IF THIS^.PluggedIntoEoN THEN0    // Check EoN pointer,    IF _pEoN <> 0 THENJ        // Read the currect EoN State\        _EoNSession := _pEoN^.ConnectionState;    ELSE b        // Plugged but no valid EoN => To Offline!^        DeviceState := DeviceStateType.OFFLINE;"    END_IF    #ELSE$&    // not plugged %Z    DeviceState := DeviceStateType.UNPLUGGED;&\    // Set To OFFLINE because we are unplugged'j    _EoNSession := SparkplugSessionStateType.OFFLINE;(°_EoNONLINE(CLK := (_EoNSession = SparkplugSessionStateType.ONLINE), Q => _EoNisONLINE );)(IF _EoNisONLINE THEN*:    // EoN Onlione => To init+P    DeviceState := DeviceStateType.INIT;,END_IF;-¶_EoNOFFLINE(CLK := (_EoNSession = SparkplugSessionStateType.OFFLINE), Q => _EonisOFFLINE );.*IF _EonisOFFLINE THEN/L    // Push Device to Exit            0V    DeviceState := DeviceStateType.EXITING;1&CASE DeviceState OF2<    DeviceStateType.UNPLUGGED:3‚                        DeviceState := DeviceStateType.UNPLUGGED;48    DeviceStateType.OFFLINE:5~                        DeviceState := DeviceStateType.OFFLINE;62    DeviceStateType.INIT:7`                        IF NOT _Initialised THEN8j                            // Initialises the DEVICE9r                            _Initialised := Initialise();:8                        ELSE;”                            DeviceState := DeviceStateType.PUBLISH_DBIRTH;<<                        END_IF=F    DeviceStateType.PUBLISH_DBIRTH:>r                        IF NOT _DeviceBirthPublished THEN?‚                            // should contain 0 after first birth@Ø                            _DeviceBirthPublished := _pEoN^.PublishDBIRTH(GroupID        := _pEoN^._GroupId,AÚ                                                                          NodeName       := _pEoN^._NodeName,BÐ                                                                          DeviceName     := THIS^._Name,CÚ                                                                          AllMetricsList := _AllMetricsList);D„                            DeviceState := DeviceStateType.ONLINE;E6    DeviceStateType.ONLINE:F6                        // G2                        ;H8    DeviceStateType.EXITING:IP                        // Un-initialiseJ>                        // INITK\                        _Initialised := FALSE;L                 MR                        // PUBLISH_DBIRTHNn                        _DeviceBirthPublished := FALSE;OR                        // ONLINE        P<                        // ...Q
+    ;REND_CASES,// Update Device StateTNIF DeviceState <> _LastDeviceState THENUŅ    WriteDeviceLog(UDINT_TO_DWORD(CmpLog.LogClass.LOG_INFO), 'Device State: %s', TO_STRING(DeviceState));V@_LastDeviceState := DeviceState;W&// Device DiagnosisXDiag();YInterfaceZL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}[hFUNCTION_BLOCK FB_Device IMPLEMENTS ISparkplugDevice\VAR_INPUT]Ø    Name           : WSTRING;                  // A name for this device eg: "FT001"^Š    Description    : WSTRING;                  // A description for this device eg: "Flow Transmitter 1"_Ž    ItfEoNInstance : ISparkplugDeviceProtocol; // Connect EoN instance `¼    //TriggerDDEATH  : BOOL;                     // Trigger DDEATH Publishing (Only if ONLINE)aEND_VARbVAR_OUTPUTc4    PluggedIntoEoN : BOOL;dJ    DeviceState    : DeviceStateType;eVAR_IN_OUTft    arSparkplugBoolean  : ARRAY[*] OF FB_SparkplugBoolean;gv    arSparkplugDateTime : ARRAY[*] OF FB_SparkplugDateTime;hp    arSparkplugFloat    : ARRAY[*] OF FB_SparkplugFloat;ir    arSparkplugDouble   : ARRAY[*] OF FB_SparkplugDouble;jn    arSparkplugInt8     : ARRAY[*] OF FB_SparkplugInt8;kp    arSparkplugInt16    : ARRAY[*] OF FB_SparkplugInt16;lp    arSparkplugInt32    : ARRAY[*] OF FB_SparkplugInt32;mp    arSparkplugInt64    : ARRAY[*] OF FB_SparkplugInt64;np    arSparkplugUInt8    : ARRAY[*] OF FB_SparkplugUInt8;or    arSparkplugUInt16   : ARRAY[*] OF FB_SparkplugUInt16;pr    arSparkplugUInt32   : ARRAY[*] OF FB_SparkplugUInt32;qr    arSparkplugUInt64   : ARRAY[*] OF FB_SparkplugUInt64;rn    arSparkplugUUID     : ARRAY[*] OF FB_SparkplugUUID;sn    arSparkplugText     : ARRAY[*] OF FB_SparkplugText;tr    arSparkplugString   : ARRAY[*] OF FB_SparkplugString;uVARv”    _Name                 : WSTRING; // A name for this device eg: "FT001"w¼    _Description          : WSTRING; // A description for this device eg: "Flow Transmitter 1"xH    _Element              : Element;y’    _LastDeviceState      : DeviceStateType := DeviceStateType.UNPLUGGED;zF    _EonPlugged           : R_TRIG;{F    _EonUnlugged          : F_TRIG;|j    _itfPrevEoN           : ISparkplugDeviceProtocol;}~    _pEoN                 : POINTER TO FB_Edge_Of_Network_Node;~¶    _EoNSession           : SparkplugSessionStateType := SparkplugSessionStateType.OFFLINE;F    _EoNONLINE            : R_TRIG;€D    _EoNisONLINE           : BOOL;F    _EonOFFLINE           : R_TRIG;‚D    _EonisOFFLINE          : BOOL;ƒB    _Initialised          : BOOL;„B    _DeviceBirthPublished : BOOL;…l    _AllMetricsList       : LIST; // Complete List    †f    _ChangeList           : LIST; // The Send list;‡B    _ChangeDetected       : BOOL;ˆB    _ChangeError          : BOOL;‰B    _ErrorDetected        : BOOL;ŠD    _CurrentChanges       : UDINT;‹F    _Diag                 : STRING;ŒVAR CONSTANT    // ASCIIŽ6    WAIT : STRING := '...';*    // UTF-8 encodingP    FW_SLASH           : WSTRING := "/";‘^    SPARKPLUGB         : WSTRING := "spBv1.0/";’R    TOPIC_FILTER_POUND : WSTRING := "/#";“R    TOPIC_FILTER_PLUS  : WSTRING := "/+";”^    NODE_DEATH_TOPIC   : WSTRING := "/NDEATH/";•^    NODE_BIRTH_TOPIC   : WSTRING := "/NBIRTH/";–\    NODE_DATA_TOPIC    : WSTRING := "/NDATA/";—^    DEVICE_DEATH_TOPIC : WSTRING := "/DDEATH/";˜^    DEVICE_BIRTH_TOPIC : WSTRING := "/DBIRTH/";™\    DEVICE_DATA_TOPIC  : WSTRING := "/DDATA/";šZ    NCMD               : WSTRING := "/NCMD/";›Z    DCMD               : WSTRING := "/DCMD/";œP    POUND              : WSTRING := "#";P    PLUS               : WSTRING := "+";žP    UNDERSCORE         : WSTRING := "_";Ÿ"UniqueIdGenerator 1644”POULevel¢L{8e575c5b-1d37-49c6-941b-5c0ec7874787}£Standard¤ ChildObjectGuids„8System.Collections.ArrayList¦,AddAttributeSubsequent§boolŠŠ-ŠŠ	E
+^ÐÐ
­¾ÚÐ-ÐÐ
­¿ÚÐ-ÐÐ
­ÀÚÐ-ÐÐ
­ÂÚÐ-ÐÐ
­ÃÚÐ-ÐÐ
­ÄÚÐ-ÐÐ
­ÆÚÐ-ÐÐ
­ÇÚÐ-ÐÐ
­ÈÚÐ-ÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-ÐÐ
­4ÚÐ-ÐÐ
­eÚÐ-ÐÐ
­_ÚÐ-ÐÐ
­`ÚÐ-ÐÐ
­aÚÐ-ÐÐ
­jÚÐ-ÐÐ
­kÚÐ- ÐÐ
­lÚÐ-!ÐÐ
­^ÚÐ-"ÐÐ
­ÜÚÐ-#ÐÐ
­ÝÚÐ-$ÐÐ
­ÞÚÐ-%ÐÐ
­gÚÐ-&ÐÐ
­fÚÐ-'ÐÐ
­(ÚÐ-ÐÐ
­WÚÐ-ÐÐ
­YÚÐ-(ÐÐ
­7ÚÐ-)ÐÐ
­8ÚÐ-*ÐÐ
­9ÚÐ-+ÐÐ
­:ÚÐ-,ÐÐ
­iÚÐ-ÐÐ
­hÚÐ--ÐÐ
­<ÚÐ-.ÐÐ
­=ÚÐ-/ÐÐ
­>ÚÐ-0ÐÐ
­5ÚÐ-ÐÐ
­àÚÐ-ÐÐ
­AÚÐ-1ÐÐ
­PÚÐ-2ÐÐ
­QÚÐ-3ÐÐ
­OÚÐ-ÐÐ
­NÚÐ-ÐÐ
­âÚÐ-4ÐÐ
­ãÚÐ-5ÐÐ
­äÚÐ-ÐÐ
­åÚÐ-6ÐÐ
­æÚÐ-7ÐÐ
­çÚÐ-8ÐÐ
­èÚÐ-9ÐÐ
­éÚÐ-:ÐÐ
­êÚÐ-;ÐÐ
­ëÚÐ-<ÐÐ
­ìÚÐ-ÐÐ
­íÚÐ-=ÐÐ
­îÚÐ->ÐÐ
­ïÚÐ-?ÐÐ
­ðÚÐ-@ÐÐ
­ñÚÐ-AÐÐ
­òÚÐ-BÐÐ
­óÚÐ-CÐÐ
­ôÚÐ-:ÐÐ
­õÚÐ-DÐÐ
­öÚÐ-<ÐÐ
­÷ÚÐ-ÐÐ
­øÚÐ-EÐÐ
­ùÚÐ-FÐÐ
­úÚÐ-GÐÐ
­ûÚÐ-ÐÐ
­üÚÐ-HÐÐ
­ýÚÐ-IÐÐ
­þÚÐ-5ÐÐ
­ÿÚÐ-JÐÐ
­ÚÐ-KÐÐ
­ÚÐ-LÐÐ
­ÚÐ-MÐÐ
­ÚÐ-NÐÐ
­ÚÐ-OÐÐ
­ÚÐ-PÐÐ
­ÚÐ-ÐÐ
­ÚÐ-#ÐÐ
­	ÚÐ-QÐÐ
­
+ÚÐ-RÐÐ
­ÚÐ-ÐÐ
­ÚÐ-SÐÐ
­
ÚÐ-TÐÐ
­ÚÐ-UÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-VÐÐ
­ÚÐ-ÐÐ
­ÚÐ-WÐÐ
­UÚÐ-XÐYZÐ	E
+HÐÐ
­ÚÐ-[ÐÐ
­ÚÐ-\ÐÐ
­ÚÐ-]ÐÐ
­ÚÐ-^ÐÐ
­ÚÐ-_ÐÐ
­ ÚÐ-`ÐÐ
­!ÚÐ-aÐÐ
­"ÚÐ-bÐÐ
­#ÚÐ-cÐÐ
­$ÚÐ-dÐÐ
­%ÚÐ-aÐÐ
­&ÚÐ-eÐÐ
­'ÚÐ-fÐÐ
­(ÚÐ-gÐÐ
­)ÚÐ-hÐÐ
­*ÚÐ-iÐÐ
­+ÚÐ-jÐÐ
­,ÚÐ-kÐÐ
­-ÚÐ-lÐÐ
­.ÚÐ-mÐÐ
­/ÚÐ-nÐÐ
­0ÚÐ-oÐÐ
­1ÚÐ-pÐÐ
­2ÚÐ-qÐÐ
­3ÚÐ-rÐÐ
­4ÚÐ-sÐÐ
­5ÚÐ-tÐÐ
­6ÚÐ-aÐÐ
­7ÚÐ-uÐÐ
­8ÚÐ-vÐÐ
­9ÚÐ-wÐÐ
­:ÚÐ-xÐÐ
­=ÚÐ-yÐÐ
­>ÚÐ-zÐÐ
­?ÚÐ-{ÐÐ
­³ÚÐ-|ÐÐ
­´ÚÐ-}ÐÐ
­ZÚÐ-~ÐÐ
­µÚÐ-ÐÐ
­ÚÐ-€ÐÐ
­¶ÚÐ-ÐÐ
­ÚÐ-‚ÐÐ
­@ÚÐ-ƒÐÐ
­AÚÐ-„ÐÐ
­BÚÐ-…ÐÐ
­CÚÐ-†ÐÐ
­DÚÐ-‡ÐÐ
­EÚÐ-ˆÐÐ
­FÚÐ-‰ÐÐ
­GÚÐ-ŠÐÐ
­HÚÐ-‹ÐÐ
­IÚÐ-aÐÐ
­JÚÐ-ŒÐÐ
­KÚÐ-ÐÐ
­LÚÐ-ŽÐÐ
­MÚÐ-ÐÐ
­NÚÐ-ÐÐ
­OÚÐ-‘ÐÐ
­PÚÐ-’ÐÐ
­QÚÐ-“ÐÐ
­RÚÐ-”ÐÐ
­SÚÐ-•ÐÐ
­TÚÐ-–ÐÐ
­UÚÐ-—ÐÐ
­VÚÐ-˜ÐÐ
­WÚÐ-™ÐÐ
­XÚÐ-šÐÐ
­YÚÐ-›ÐÐ
­ZÚÐ-œÐÐ
­[ÚÐ-ÐÐ
­\ÚÐ-žÐÐ
­‘ÚÐ-aП- С¢-£¤¥Ц§­
\ No newline at end of file