under TRS04 and 06 , I often use 'ControlDiamCross' <kuid:131986:1036> as a Block Token, the train takes the 'token' and conflicting signals are set to red so preventing AI from entering the single line, once the train has passed the exit trackmark, it releases the 'token' and allows the next train to take possesion of the 'token' and proceed onto the single line. The request for the token can be achieved automatically by using the 'Schedule at trackmark' rule <kuid2:61392:2001:4>. This rule can insert the command to ask for the 'token' when passing a specific trackmark, before proceeding with next command.
Another possibility is the 'Path' rule which can exclusively set the entry and exit of the single line and in doing so, automatically block AI until the path is free again.