{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)7b11aa31-9086-4ce8-b24b-fb742b9852d9","ParentGuid":"(Guid)74ccca2f-50e3-4d5a-9d7a-9fd420284f83","Name":"(string)atMultiTeAvg","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)d9b2b2cc-ea99-4c3b-aa42-1e5c49e65b84","@Value":"(Guid)d07cae46-81dc-4312-a96a-30735d20d93d"}]}}}}]},"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":{"TextBlobForSerialisation":"(string)IF (NOT __ISVALIDREF(te1) OR NOT __ISVALIDREF(te2) OR NOT __ISVALIDREF(te3) OR NOT __ISVALIDREF(te4)) THEN\n\tout_eu := -999;\n\tRETURN;\nEND_IF\n\npuls();\n\nuse1 := NOT (te1.out_eu = -999);   \t\nuse2 := NOT (te2.out_eu = -999); \nuse3 := NOT (te3.out_eu = -999);   \t\nuse4 := NOT (te4.out_eu = -999); \n\nte1_eu := te1.out_eu;\nte2_eu := te2.out_eu;\nte3_eu := te3.out_eu;\nte4_eu := te4.out_eu;\n\nIF puls.T_Sec_OS THEN\n\t// Count how many sensors are valid and sum their values\n\tvalidCount := 0;\n\tsum := 0.0;\n\n\tIF use1 THEN\n\t\tsum := sum + te1_eu;\n\t\tvalidCount := validCount + 1;\n\tEND_IF\n\n\tIF use2 THEN\n\t\tsum := sum + te2_eu;\n\t\tvalidCount := validCount + 1;\n\tEND_IF\n\n\tIF use3 THEN\n\t\tsum := sum + te3_eu;\n\t\tvalidCount := validCount + 1;\n\tEND_IF\n\n\tIF use4 THEN\n\t\tsum := sum + te4_eu;\n\t\tvalidCount := validCount + 1;\n\tEND_IF\n\n\tIF validCount > 0 THEN\n\t\tout_eu := sum / validCount;\n\tELSE\n\t\tout_eu := lastVal; // No valid sensors\n\tEND_IF\nEND_IF\n\nlastVal := out_eu;","LineInfoPersistence":"(string)7b11aa31-9086-4ce8-b24b-fb742b9852d9_Impl_LineIds"}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string){attribute 'no_assign'}\nFUNCTION_BLOCK atMultiTeAvg\nVAR_INPUT\n\tte1: REFERENCE TO atTeAI;\n\tte2: REFERENCE TO atTeAI;\n\tte3: REFERENCE TO atTeAI;\n\tte4: REFERENCE TO atTeAI;\nEND_VAR\nVAR_INPUT PERSISTENT\n\tin_titleIDXd: REAL;\nEND_VAR\nVAR_OUTPUT\n\tout_eu: REAL; \t\t\t//Filtered output temperature\nEND_VAR\nVAR\n    use1: BOOL;\t\t\t\t//Use Sensor 1\n    use2: BOOL;\t\t\t\t//Use Sensor 2\n\tuse3: BOOL;\t\t\t\t//Use Sensor 3\n    use4: BOOL;\t\t\t\t//Use Sensor 4\n\tpuls: atPulse;\n\tte1_eu: REAL;\n\tte2_eu: REAL;\n\tte3_eu: REAL;\n\tte4_eu: REAL;\n\tvalidCount: REAL;\n\tsum: REAL;\nEND_VAR\nVAR PERSISTENT\n\tlastVal: REAL := 0.0;  \t//Last value\nEND_VAR\n","LineInfoPersistence":"(string)7b11aa31-9086-4ce8-b24b-fb742b9852d9_Decl_LineIds"}}}},"UniqueIdGenerator":"(string)324","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}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","ArrayList":"System.Collections.ArrayList","bool":"System.Boolean","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","string":"System.String"}}},"FormatVersion":"1.0"}