{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)50eb6846-565a-4009-85c6-0d08d7f1f0d6","ParentGuid":"(Guid)74ccca2f-50e3-4d5a-9d7a-9fd420284f83","Name":"(string)atIsBetween","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)995b2022-2e3b-4577-8ec9-cf70ad461a07"}]}}}}]},"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)SysTimeRtcHighResGet(currentDateTime);\nin_currentTime := ULINT_TO_TOD (currentDateTime);\n//GetDateTime(currentDateTime);\n\noldDateTime := ULINT_TO_DT (currentDateTime);\nupdateTime := DT_TO_ULINT (currentTime);\n\nset(CLK := setBtn);\n\nSysTimeRtcHighResSet(pTimeStamp := updateTime);\n\n//IF set.Q THEN\n\t\n//END_IF\n\nsetBtn := FALSE;\n\n\n\n// Convert TOD to milliseconds since midnight\ncurrentMilliseconds := in_currentTime;  //TOD_TO_DWORD\nstartMilliseconds := in_startTime;\t\t//TOD_TO_DWORD\nendMilliseconds := in_endTime;\t\t\t//TOD_TO_DWORD\n\n// Check if the time range spans midnight\nIF endMilliseconds < startMilliseconds THEN\n    // Time range spans midnight\n    out_isBetween := (currentMilliseconds >= startMilliseconds) OR (currentMilliseconds <= endMilliseconds);\nELSE\n    // Normal time range\n    out_isBetween := (currentMilliseconds >= startMilliseconds) AND (currentMilliseconds <= endMilliseconds);\nEND_IF;\n\n//IF currentMilliseconds >= (startMilliseconds - startRampMs) AND NOT (currentMilliseconds > startMilliseconds) THEN\n//\tout_isRampUp := TRUE;\n//ELSE\n//\tout_isRampUp := FALSE;\n//END_IF\n\n//IF (currentMilliseconds >= endMilliseconds - startRampMs) AND NOT (currentMilliseconds > endMilliseconds) THEN\n//\tout_isRampDwn := TRUE;\n//ELSE\n//\tout_isRampDwn := FALSE;\n//END_IF","LineInfoPersistence":"(string)50eb6846-565a-4009-85c6-0d08d7f1f0d6_Impl_LineIds"}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string)FUNCTION_BLOCK atIsBetween\nVAR_INPUT\n\tin_timZone: TimeZone;\n\tin_currentTime: TOD;\n\tin_startTime: TOD;      // Start times for each day\n    in_endTime: TOD;      // Duration for each day\n\tin_currentDay: REAL;\n\tin_rampTime: TOD;\nEND_VAR\nVAR_OUTPUT\n\tout_isBetween: BOOL;\n\tout_isRampUp: BOOL;\n\tout_isRampDwn: BOOL;\nEND_VAR\nVAR\n\tcurrentMilliseconds: TOD;\n    startMilliseconds: TOD;\n    endMilliseconds: TOD;\n\tcurrentDateTime:ULINT;\n\tstartRampMs: TOD;\n\tupdateTime: ULINT;\n\tset: R_TRIG;\n\tsetBtn: BOOL;\n\tcurrentTime: DT;\n\toldDateTime: DT;\nEND_VAR","LineInfoPersistence":"(string)50eb6846-565a-4009-85c6-0d08d7f1f0d6_Decl_LineIds"}}}},"UniqueIdGenerator":"(string)421","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"}