One depot for all trains. Single trains are dispatched per incoming signal. If requested trains aren't availiable the signals are saved in a memory cell and sent through the depot again every few seconds until suitable trains arrive.
Setup:
-
Depot: Place main part, as many segments as you want, and top part. Connect Depot (IN) and requester stations with green wire.
-
Requester station: The constant combinator defines the item that is going to be requested and the amount that activates the station. Example: Copper Plate (1000) is going to activate the station and send one copper plate signal when plate supply is below 1000. To set it up you can use your normal stations, connect all chests with red and paste the requester blueprint over it. Set the combinator. Turn it on when depot is ready and connected. Don't forget the turn on part.
-
Trains: Check the train included in the Blueprint. You could also name all stations requesting the same item the same. Try what works best. Wait condition for the depot is [If [item] > 0]. https://mods.factorio.com/mod/TrainSkipFulfilledStation makes empty/full trains skip active requester/provider stations which might give you more options to scedule your trains.
