John's on track here. You're not going to do it by varying track voltage like you would with conventional engines. With DCS you'll have to send commands in response to events that occur as the train it's pulling follows the track.
First problem: Detect the events; e.g. detect a stopped train on the right-of-way ahead. Second challenge issue commands in response; e.g. issue DCS command to stop (and make sure that it's accomplished in sufficient time or you'll have a wreck).
Next, Detect that the stopped train ahead is now moving. Then issue a DCS command to resume previous speed.
... etc., etc., etc.
Since you're thinking about, or already using, blocks, you should be able to track the events (train movements) using block occupancy. You'll likely need a computer though to detect the presence of the train, and then issue the appropriate DCS commands for motion when the appropriate conditions exist to permit safe movement.
You can also detect block occupancy with digital or relay logic, but it will be a wiring challenge and you'll still need a little software to send the commands.
Mike