{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)d3801687-23b8-4013-97ab-739943c0cc65","ParentGuid":"(Guid)74ccca2f-50e3-4d5a-9d7a-9fd420284f83","Name":"(string)atStage","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)60ba916a-ad0d-4ac0-b4be-7ab0e9fa4006"}]}}}}]},"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)FOR i := 0 TO DINT_TO_INT (UPPER_BOUND(variableDev,1)) DO\n\tvariableDev[i].idx := i;\n\tvariableDev[i](in_stageRatio := stageRatio, underRange := below);\nEND_FOR\n\nstageRatioScaling(\n\tin_raw := in_cv,\n\tin_clamp := TRUE, \n\tin_rawMin := lo, \n\tin_rawMax := hi, \n\tout_eu => stageRatio);\n\t\n\t//   --- Designated for Heat Mixing or Heat Circ Fans---\n\tvariableDev[0].in_name := 'Heat Mixing Valve';\t\t\t\t\t\t//Variable Dev [0] - [1] and Designated for Heating so the outputs are flipped\n\tvariableDev[0].outputScaling(in_rawMin := 100, in_rawMax := 0);\t\t//Variable Dev [0] - [1] and Designated for Heating so the outputs are flipped\n\tvariableDev[1].in_name := 'Heat Circ Fans';\t\t\t\t\t\t\t//Variable Dev [0] - [1] and Designated for Heating so the outputs are flipped\n\tvariableDev[1].outputScaling(in_rawMin := 100, in_rawMax := 0);\t\t//Variable Dev [0] - [1] and Designated for Heating so the outputs are flipped\n\n//   ---in_singleStageEn should be used for (i.e. humidity) only and needs to be hard coded---\t\nIF in_singleStageEn THEN\n\t//   --- Turns the Humidity Controls off when out of range of set value ---\n\tbelow := in_cv < lo OR in_outOfRange;\n\t//   --- Indicator for letting the user see when somthing is being driven via humidity ctl vs stage ctl ---\n\tout_ctl := in_cv > lo;\nELSE\t\n\tbelow := FALSE;\n\tout_ctl := FALSE;\nEND_IF\t\n\t\t\n//   --- Fixed Device Control ---\nfixedDev[0](underRange := below);\nfixedDev[1](underRange := below);\nfixedDev[2](underRange := below);\nfixedDev[3](underRange := below);\nfixedDev[4](underRange := below);\nfixedDev[5](underRange := below);","LineInfoPersistence":"(string)d3801687-23b8-4013-97ab-739943c0cc65_Impl_LineIds"}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string){attribute 'no_assign'}\nFUNCTION_BLOCK atStage\nVAR_INPUT PERSISTENT\n\thi: REAL; \t\t\t\t\t\t\t\t\t\t//top of stage\n\tlo: REAL; \t\t\t\t\t\t\t\t\t\t//bottom of stage\nEND_VAR\nVAR_INPUT\n\tcenter: REAL;\n\tvariableDev: ARRAY[0..10] OF atStageDevVari;\n\tfixedDev: ARRAY[0..5] OF atStageDevFixed;\n\tactive: BOOL;\n\tidx: INT;\n\tin_cv: REAL; \t\t\t\t\t\t\t\t\t//Current Temperature\n\tin_singleStageEn: BOOL:= FALSE;\t//For Humidity to enable below and out_ctl\n\tin_outOfRange: BOOL;\t\t//For Humidity ctl to disable fixed devices from running when below set Humidity range\nEND_VAR\nVAR\n\ti: INT;\n\tstageRatioScaling: atScaling;\n\tstageRatio: REAL;\n\tbelowTMR_On: TON;\n\tbelowTMR_Off: TOF;\n\tbelow: BOOL;\nEND_VAR\nVAR_OUTPUT\n\tout_ctl: BOOL;\t\t//For Humidity ctl to show when devices are being controlled via humidity stage\nEND_VAR","LineInfoPersistence":"(string)d3801687-23b8-4013-97ab-739943c0cc65_Decl_LineIds"}}}},"UniqueIdGenerator":"(string)430","POULevel":{"@Type":"8e575c5b:Enum","@Value":"Void"},"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"}