@startuml title Timers loop (*) --> "Compute timers" --> "Get nearest timer time" --> "Wait until nearest timer" --> if "Status timer passed" --> [Yes] "Get instruments status" --> "Ask PLC for info" --> "Store all status in DB" --> "Send all status to IC" --> "Analyse return of PLC" --> "Update timers" else --> [No] if "Night start timer passed" --> [Yes] "Start scheduling" else --> [No] if "Night end timer passed" --> [Yes] "Start calibration files creation" --> "Compute night start & end" --> "Start scheduling" --> "Update timers" else --> [No] "Update timers" endif endif endif --> "Get nearest timer time" @enduml