Post by tut on Jan 1, 2021 21:42:14 GMT
Programme machines, for those of you who do not know, provide a way of automatically operating the train service in accordance with the timetable. They actually date back to the late 1950s and you can imagine that they're not used much any more. For a while, however, they were cutting edge and at one point were responsible for the day-to-day operation of the whole of the Victoria and Northern lines, much of the District line west of Tower Hill (inclusive), almost all of the Piccadilly line, and perhaps one or two other sites. Watford is one. As for today, I'm actually a little bit unsure if there are any left as I write these words. Obviously those on the Northern and Victoria lines are no more. I gather PICU has done away with them on the Piccadilly line, it's only really the District line I'm not sure about. I thought they were still going on the District (though whether the actual programme machines have been replaced by electronic machines which mimic their operation I couldn't say), but I read something that made me question even that.
So anyway, what are they, and how do they work? Well that's actually what I'd like to know, but I think I've got a good idea about some of it.
Each controlled site is provided with one or more programme machines, as necessary, which (as long as things don't go too badly wrong) are capable of signalling all trains through the area, setting the correct route for each train and ensuring that trains pass through the area in the correct order. Each machine is fitted with a plastic roll, known as the programme roll, which contains all the necessary information for running the service in the form of rows of thirty holes punched in the plastic, one row for each train. What happens is, when a train goes by, the programme roll is wound up until the next row of holes is in position to be read. This is called stepping - the programme machine has now stepped forward onto the next train. Thirty feelers are now pushed against the roll. If there is a hole, the feeler will go through the hole and make an electrical contact, while if there is no hole, it won't. This produces a sequence of voltages and no voltages - 1s and 0s - which encodes in binary format the information necessary to route the train. You can imagine that the information encoded on the roll, and what holes were used for what purposes, changed a little over time. However, it wasn't long before a standard was settled on. Most programme rolls contain the time at which the instruction should be carried out, the route to be set (4 holes, each of which corresponds to a particular route, so that basically if the first hole is punched, route 1 will be set, if the second hole is punched, route 2 will be set, and so on), the train description (essentially its destination) and the train number. (Two more holes are provided, but we don't really need to concern ourselves with them.)
Now I mentioned that most rolls contain the time at which the instruction should be carried out, but that's actually a later development. Originally, there were two types of programme machine. One was called a sequence machine and the other - I kid you not - was genuinely called a time machine. No, really. The sequence machine basically signalled the trains. Where it was necessary to hold trains to time, for example at a terminus station, the sequence machines were controlled by time machines. Basically, sequence machines were set up to step as soon a train went by. The next instruction would then be carried out when the next train approached (or when the previous train had cleared all the required track circuits, if it had not already done so). However, where time control was needed, the route would not be set up until the time machine permitted it. I don't really wanna get bogged down in how this was done, but basically the time machine controlled its own stepping. Each row on the time machine contained the amount of time that had to pass, after which it would then step on to the next row. Only when the time and sequence machines were standing on corresponding rows (i.e. only when an appropriate amount of time had passed since the last train had been dispatched, i.e. only at the correct time) would the route be set.
Now I think I understand what would happen at a diverging junction quite well. So a good example of a diverging junction (for anyone who doesn't know, and yet almost paradoxically has made it this far!) would be Turnham Green on the westbound. Here, trains can be routed either straight on towards Ealing Broadway, or to the left towards Richmond. The job of the programme machine here is to identify where the next train is going and then to move the points and clear the signal to send the train to the correct destination. If necessary, trains can also be held to time, but that's another matter. The programme machine will compare the train description (i.e. the destination) of an approaching train with the description it is expecting, as shown on the programme roll. If they match, all is well, and the route shown on the roll can be set and the train can proceed. If not, an alarm is sounded indicating the fact and a one minute time delay is initiated. After that minute has passed, the train will be routed in accordance with the train description received, overriding the programme roll. However, if the service operator knew or discovered that the description received was wrong and the programme roll was right, they would press the 'Programme Machine Acknowledge' button and the machine would immediately set the correct route shown on the programme roll and retransmit the correct description. The service operator can also force the train to be routed in accordance with the description received, not what is shown on the roll, by putting the machine into First Come First Served mode. This will save waiting for the minute time delay to pass.
That all makes sense to me. It's converging junctions that I don't understand. A good example of a converging junction is Turnham Green on the eastbound. Here trains from Richmond can join the line from Ealing Broadway. Here we don't have to worry so much about where a train is going, for this is a converging junction. Two routes join here, they don't split off, so our job (or rather the programme machine's job) is to route trains from the correct branch, not to the correct branch. (That's obviously ignoring more complicated situations where, for example, a train might leave one line and join another.) What's important here is to make sure that trains pass over the junction in the correct order. This is less of an issue on the Underground, where all trains on a line are made up of the same, or very similar, stock and they all generally stop at all stations. You can imagine on the main line what a mess it would make if you accidentally let the 45 mph stone train from the quarry out in front of the 125 mph express passenger train from London to Edinburgh. But whilst it might not be as important on the Underground as it can be on the main line, it is still desirable for tube trains to run in the correct sequence. One reason is that otherwise trains will turn up at diverging junctions in the wrong order and you can imagine what fun programme machines (and humans) will have if they are expecting the train from Ealing Broadway to Tower Hill and they get the one from Richmond to Upminster. Also, going back to the westbound at Turnham Green, the timetable is written so that trains should alternate between heading for Richmond and Ealing Broadway, and that's obviously desirable. I'm sure we can all imagine how annoying it would be if we wanted to go to Ealing Broadway and we had to stand there and watch two trains for Richmond pass, especially if we'd only just missed the previous Ealing Broadway service. It also helps keep the flow of passengers regular and even. So the point is, it would be better if trains approached Turnham Green in the correct sequence, which means you don't really want trains being dispatched in any old order.
Now, theoretically, this is where the programme machine comes in, but in practice, I don't really understand how. The description given by Robert Dell himself (he would appear to be the inventor of the programme machine, or at least he led the team, as they say) describes how, if the programme machine is expecting a train from one branch (let's say from Richmond) and a train turns up on that branch, the route will be set and the train will proceed. Now the machine is expecting (let's just assume, though it might not be) a train from Ealing Broadway. If a train from Ealing Broadway then turns up, the route will be set and it will be signalled on its way.
The problem is, that very much implies the machine knows which branch the next train should approach from. But how does it know that? I was under the impression the programme roll contained the destination of the train. I've never seen any indication that the programme roll contains information about where a train should come from, just where it should go to. And of course there's no reason why all trains from Ealing Broadway and from Richmond should not be bound for Upminster, or why some from Richmond and Ealing Broadway should not be bound for (say) Barking, and some for Upminster. So the destination wouldn't appear to be all that helpful. And yet it definitely would appear that the programme machine knows which branch the next train should come from. In fact, a little bit of thought rather suggests that it's essential for a programme machine to know. It should be noted here that although most programme rolls do contain train numbers (which you might think is where the answer could lie), the original ones did not.
The next problem I have is with the answer to the question, what happens if trains arrive in the wrong order? The answer Mr Dell himself gives is as follows:
Now that makes sense to me if (as I described above) the time is provided on the programme roll. However, Dell's paper dates from the days when time machines were still used, and I was under the impression that most trailing junctions were not necessarily provided with time machines. So what's all this about checking time coincidence to ensure that, in fact, the train from route No. 1 is late? Was there a secondary check of time? And how did the machine know when the train was due anyway? Figure 21 on page 22 shows the allocation of holes in the Euston programme machine roll and the only ones relating to time rely on a time machine being provided. The story told in the excellent article by MAC Horne goes that the very first programme machine ever controlled the trailing junction on the southbound line at Camden Town where the two Charing Cross branches converge. Only one machine was provided, which suggests no time machine was used. Which suggests, if I think about it, that it was of absolutely no use whatsoever, unless it had some way other than provision of a time machine to know when a train was due. Unless of course the only thing it did was flag up when trains were out of turn?
So anyway, what are they, and how do they work? Well that's actually what I'd like to know, but I think I've got a good idea about some of it.
Each controlled site is provided with one or more programme machines, as necessary, which (as long as things don't go too badly wrong) are capable of signalling all trains through the area, setting the correct route for each train and ensuring that trains pass through the area in the correct order. Each machine is fitted with a plastic roll, known as the programme roll, which contains all the necessary information for running the service in the form of rows of thirty holes punched in the plastic, one row for each train. What happens is, when a train goes by, the programme roll is wound up until the next row of holes is in position to be read. This is called stepping - the programme machine has now stepped forward onto the next train. Thirty feelers are now pushed against the roll. If there is a hole, the feeler will go through the hole and make an electrical contact, while if there is no hole, it won't. This produces a sequence of voltages and no voltages - 1s and 0s - which encodes in binary format the information necessary to route the train. You can imagine that the information encoded on the roll, and what holes were used for what purposes, changed a little over time. However, it wasn't long before a standard was settled on. Most programme rolls contain the time at which the instruction should be carried out, the route to be set (4 holes, each of which corresponds to a particular route, so that basically if the first hole is punched, route 1 will be set, if the second hole is punched, route 2 will be set, and so on), the train description (essentially its destination) and the train number. (Two more holes are provided, but we don't really need to concern ourselves with them.)
Now I mentioned that most rolls contain the time at which the instruction should be carried out, but that's actually a later development. Originally, there were two types of programme machine. One was called a sequence machine and the other - I kid you not - was genuinely called a time machine. No, really. The sequence machine basically signalled the trains. Where it was necessary to hold trains to time, for example at a terminus station, the sequence machines were controlled by time machines. Basically, sequence machines were set up to step as soon a train went by. The next instruction would then be carried out when the next train approached (or when the previous train had cleared all the required track circuits, if it had not already done so). However, where time control was needed, the route would not be set up until the time machine permitted it. I don't really wanna get bogged down in how this was done, but basically the time machine controlled its own stepping. Each row on the time machine contained the amount of time that had to pass, after which it would then step on to the next row. Only when the time and sequence machines were standing on corresponding rows (i.e. only when an appropriate amount of time had passed since the last train had been dispatched, i.e. only at the correct time) would the route be set.
Now I think I understand what would happen at a diverging junction quite well. So a good example of a diverging junction (for anyone who doesn't know, and yet almost paradoxically has made it this far!) would be Turnham Green on the westbound. Here, trains can be routed either straight on towards Ealing Broadway, or to the left towards Richmond. The job of the programme machine here is to identify where the next train is going and then to move the points and clear the signal to send the train to the correct destination. If necessary, trains can also be held to time, but that's another matter. The programme machine will compare the train description (i.e. the destination) of an approaching train with the description it is expecting, as shown on the programme roll. If they match, all is well, and the route shown on the roll can be set and the train can proceed. If not, an alarm is sounded indicating the fact and a one minute time delay is initiated. After that minute has passed, the train will be routed in accordance with the train description received, overriding the programme roll. However, if the service operator knew or discovered that the description received was wrong and the programme roll was right, they would press the 'Programme Machine Acknowledge' button and the machine would immediately set the correct route shown on the programme roll and retransmit the correct description. The service operator can also force the train to be routed in accordance with the description received, not what is shown on the roll, by putting the machine into First Come First Served mode. This will save waiting for the minute time delay to pass.
That all makes sense to me. It's converging junctions that I don't understand. A good example of a converging junction is Turnham Green on the eastbound. Here trains from Richmond can join the line from Ealing Broadway. Here we don't have to worry so much about where a train is going, for this is a converging junction. Two routes join here, they don't split off, so our job (or rather the programme machine's job) is to route trains from the correct branch, not to the correct branch. (That's obviously ignoring more complicated situations where, for example, a train might leave one line and join another.) What's important here is to make sure that trains pass over the junction in the correct order. This is less of an issue on the Underground, where all trains on a line are made up of the same, or very similar, stock and they all generally stop at all stations. You can imagine on the main line what a mess it would make if you accidentally let the 45 mph stone train from the quarry out in front of the 125 mph express passenger train from London to Edinburgh. But whilst it might not be as important on the Underground as it can be on the main line, it is still desirable for tube trains to run in the correct sequence. One reason is that otherwise trains will turn up at diverging junctions in the wrong order and you can imagine what fun programme machines (and humans) will have if they are expecting the train from Ealing Broadway to Tower Hill and they get the one from Richmond to Upminster. Also, going back to the westbound at Turnham Green, the timetable is written so that trains should alternate between heading for Richmond and Ealing Broadway, and that's obviously desirable. I'm sure we can all imagine how annoying it would be if we wanted to go to Ealing Broadway and we had to stand there and watch two trains for Richmond pass, especially if we'd only just missed the previous Ealing Broadway service. It also helps keep the flow of passengers regular and even. So the point is, it would be better if trains approached Turnham Green in the correct sequence, which means you don't really want trains being dispatched in any old order.
Now, theoretically, this is where the programme machine comes in, but in practice, I don't really understand how. The description given by Robert Dell himself (he would appear to be the inventor of the programme machine, or at least he led the team, as they say) describes how, if the programme machine is expecting a train from one branch (let's say from Richmond) and a train turns up on that branch, the route will be set and the train will proceed. Now the machine is expecting (let's just assume, though it might not be) a train from Ealing Broadway. If a train from Ealing Broadway then turns up, the route will be set and it will be signalled on its way.
The problem is, that very much implies the machine knows which branch the next train should approach from. But how does it know that? I was under the impression the programme roll contained the destination of the train. I've never seen any indication that the programme roll contains information about where a train should come from, just where it should go to. And of course there's no reason why all trains from Ealing Broadway and from Richmond should not be bound for Upminster, or why some from Richmond and Ealing Broadway should not be bound for (say) Barking, and some for Upminster. So the destination wouldn't appear to be all that helpful. And yet it definitely would appear that the programme machine knows which branch the next train should come from. In fact, a little bit of thought rather suggests that it's essential for a programme machine to know. It should be noted here that although most programme rolls do contain train numbers (which you might think is where the answer could lie), the original ones did not.
The next problem I have is with the answer to the question, what happens if trains arrive in the wrong order? The answer Mr Dell himself gives is as follows:
As an example—the programme machine is showing the next train to be from signal No. 1 [where does it show this!?], but no train has arrived. On the other hand, the following train, which would pass signal No. 2, has arrived and is waiting on approach track F. Provision must be made for this train to be signalled after waiting for the set time interval after the train itself is due. This is shown by the thin solid line from route No. 1 on the sequence machine checking time coincidence to ensure that, in fact, the train from route No. 1 is late; and after waiting the time delay and with approach track A not occupied, this completes the route for signal 2.
(From an IRSE (Institution of Railway Signal Engineers) paper available here. The quotation may be found at the bottom of column 2 on page 17. Figure 16 at the top of the page is an illustrative diagram and is referred to in the quote. The track circuits and signal numbers referred to are those in Figure 8 at the bottom of page 8)
(From an IRSE (Institution of Railway Signal Engineers) paper available here. The quotation may be found at the bottom of column 2 on page 17. Figure 16 at the top of the page is an illustrative diagram and is referred to in the quote. The track circuits and signal numbers referred to are those in Figure 8 at the bottom of page 8)
Now that makes sense to me if (as I described above) the time is provided on the programme roll. However, Dell's paper dates from the days when time machines were still used, and I was under the impression that most trailing junctions were not necessarily provided with time machines. So what's all this about checking time coincidence to ensure that, in fact, the train from route No. 1 is late? Was there a secondary check of time? And how did the machine know when the train was due anyway? Figure 21 on page 22 shows the allocation of holes in the Euston programme machine roll and the only ones relating to time rely on a time machine being provided. The story told in the excellent article by MAC Horne goes that the very first programme machine ever controlled the trailing junction on the southbound line at Camden Town where the two Charing Cross branches converge. Only one machine was provided, which suggests no time machine was used. Which suggests, if I think about it, that it was of absolutely no use whatsoever, unless it had some way other than provision of a time machine to know when a train was due. Unless of course the only thing it did was flag up when trains were out of turn?