(* Traffic light junction. *) (* Run the junction: north-south green, then amber, then red while east-west goes green, amber, red, and round again. Never show two greens, always show amber between green and red, never leave a head dark, and give each direction at least four seconds of green. *) VAR_GLOBAL NS_Red AT %QX0.0 : BOOL; (* North-south red lamp *) NS_Amber AT %QX0.1 : BOOL; (* North-south amber lamp *) NS_Green AT %QX0.2 : BOOL; (* North-south green lamp *) EW_Red AT %QX0.3 : BOOL; (* East-west red lamp *) EW_Amber AT %QX0.4 : BOOL; (* East-west amber lamp *) EW_Green AT %QX0.5 : BOOL; (* East-west green lamp *) END_VAR PROGRAM Main (* Write the logic here. *) END_PROGRAM