Railroad interlocking system with distributed control
10077060 ยท 2018-09-18
Assignee
Inventors
Cpc classification
B61L2027/204
PERFORMING OPERATIONS; TRANSPORTING
B61L15/0072
PERFORMING OPERATIONS; TRANSPORTING
B61L2205/02
PERFORMING OPERATIONS; TRANSPORTING
B61L11/08
PERFORMING OPERATIONS; TRANSPORTING
B61L15/0027
PERFORMING OPERATIONS; TRANSPORTING
B61L15/0018
PERFORMING OPERATIONS; TRANSPORTING
International classification
B61L15/00
PERFORMING OPERATIONS; TRANSPORTING
B61L19/06
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A system includes a transceiver for receiving one or more communications from a communication device in a railway vehicle; a microcontroller that is configured for communication with the transceiver and that is configured to control a position of a switch in the railway; and an electronic subsystem for interfacing with the microcontroller and with the switch; wherein the transceiver is configured to transmit to the microcontroller at least one of the one or more communications received from the railway vehicle; wherein the microcontroller is further configured to extract a command from the parsed contents; wherein the microcontroller is further configured to transmit the command to the electronic subsystem to cause the electronic subsystem to transition the switch to a position specified by the command; and wherein transitioning of the switch to the specified position enables the railway vehicle to cross the switch.
Claims
1. A system comprising: a transceiver for receiving one or more communications from a communication device in a railway vehicle and from one or more remote devices of an interlocking system; a microcontroller that is configured for communication with the transceiver and that is configured to control a position of a switch in a railway; storage for storing a predefined schedule indicative of scheduled operations of the switch; and an electronic subsystem for interfacing with the microcontroller with the switch; wherein the transceiver is configured to transmit to the microcontroller at least one of the one or more communications received from the railway vehicle; wherein the microcontroller is configured to parse contents of the at least one of the one or more communications received from the transceiver; wherein the microcontroller is further configured to determine, autonomously, from the parsed contents of the at least one of the one or more communications, i) a current location of the railway vehicle relative to the switch, and ii) that the railway vehicle has priority over other vehicles for accessing the railway by comparing the current location of the railway vehicle relative to the switch to an expected location of the railway vehicle relative to the switch, with the expected location being indicated by the predefined schedule that is stored in the storage; wherein the microcontroller is further configured to extract a command from the parsed contents; wherein the microcontroller is further configured to transmit the command to the electronic subsystem, in response to autonomously determining that the railway vehicle has priority for accessing the railway, to cause the electronic subsystem to transition the switch to a position specified by the command; wherein the microcontroller is further configured, in response to the transition, to autonomously update the predefined schedule; wherein the microcontroller is further configured to cause the transceiver to distribute the update of the predefined schedule to the one or more remote devices of the interlocking system; wherein transitioning of the switch to the specified position enables the railway vehicle to cross the switch; and wherein the system promotes an interlocking functionality independent of a control center.
2. The system of claim 1, wherein the first position is a position in which the switch is in an occupied state; wherein the at least one of the one or more communications that is transmitted to the microcontroller by the transceiver includes a request that the switch be transitioned to the first position; wherein the transceiver is further configured to receive a cleared message indicating that the railway vehicle has crossed the switch; wherein the microcontroller is further configured to transmit another command to the electronic subsystem to cause the electronic subsystem to transition the switch to a second position corresponding to a free state, following receipt of the cleared message indicating that the railway vehicle has crossed the switch; and wherein the system promotes an interlocking functionality that comprises a transitioning of the switch between at least the first position and the second position.
3. The system of claim 2, wherein the transceiver is further configured to: transmit, to the communication device in the railway vehicle, a request acknowledgement message that specifies that the switch is transitioned to the first position specified in the request; transmit, to the communication device in the railway vehicle, a cleared acknowledgement message that specifies that the switch is transitioned to the second position in which the switch is in the free state; and transmit, to the communication device in the railway vehicle, a periodic packet that includes information indicative of a current position of the switch.
4. The system of claim 1, wherein the microcontroller is further configured to instruct the transceiver to transmit the one or more communications.
5. The system of claim 1, wherein the transceiver is configured for wireless communication with the railway vehicle.
6. The system of claim 1, wherein the system is affixed to a portion of the switch.
7. The system of claim 1, wherein the system further comprises an antenna to promote receipt of communications.
8. The system of claim 1, wherein the microcontroller is a first microcontroller, and wherein the first microcontroller is configured to send, using the transceiver, additional communications to a second microcontroller that is configured to control a position of a second switch in the railway, wherein the additional communications are transmitted from the first microcontroller to the second microcontroller via one or more base stations, one or more railway vehicles, or both a base station and a railway vehicle.
9. The system of claim 1, wherein the microcontroller is physically connected to the switch via the electronic subsystem.
10. A method performed by a device of an interlocking system, the method comprising: receiving one or more communications from a communication device in a railway vehicle of a railway system; parsing contents of at least one of the one or more communications; autonomously determining, from the parsed contents of the at least one of the one or more communications, i) a current location of the railway vehicle relative to the switch, and ii) that the railway vehicle has priority over other vehicles for accessing the railway system by comparing the current location of the railway vehicle relative to the switch to an expected location of the railway vehicle relative to the switch as indicated by a predefined schedule for the switch; extracting a command from the parsed contents; determining that the command specifies that a switch in the railway system be transitioned from a first position to a second position; transitioning, using a subsystem, in response to autonomously determining that the railway vehicle has priority for accessing the railway system, the switch between the first position to the second position; in response to the transitioning, autonomously updating the predefined schedule; distributing the update of the predefined schedule to one or more other devices of the interlocking system; and wherein the device of the interlocking system promotes an interlocking functionality independent of a control center.
11. The method of claim 10, wherein the subsystem comprises an electronic subsystem for transitioning the switch from the first position to the second position in response to the determination.
12. The method of claim 10, wherein the first position is a position in which the switch is in an occupied state; wherein the at least one of the one or more communications that is parsed includes a request that the switch be transitioned to the first position; wherein the method further comprises: receiving a cleared message indicating that the railway vehicle has crossed the switch; and responsive to receipt of the cleared message, transitioning the switch to a second position corresponding to a free state; and wherein the interlocking system promotes an interlocking functionality by transitioning the switch between the first position and the second position.
13. The method of claim 12, further comprising one or more of: transmitting, to the communication device in the railway vehicle, a request acknowledgement message that specifies the switch is transitioned to the first position specified in the request; transmitting, to the communication device in the railway vehicle, a cleared acknowledgement message that specifies that the switch is transitioned to the second position in which the switch is in the free state; and transmitting, to the communication device in the railway vehicle, a periodic packet that includes information indicative of a current position of the switch.
14. The method of claim 10, wherein the interlocking system is affixed to a portion of the switch.
15. The method of claim 10, wherein the interlocking system promotes interlocking functionality at the switch.
16. The method of claim 10, wherein the first position comprises an open position and wherein the second position comprises a closed position.
17. The method of claim 10, wherein the first position comprises a closed position and wherein the second position comprises an open position.
18. One or more non-transitory machine-readable hardware storage devices storing instructions that are executable by one or more processing devices of an interlocking system to perform operations comprising: receiving one or more communications from a communication device in a railway vehicle of a railway system; parsing contents of at least one of the one or more communications; autonomously determining, from the parsed contents of the at least one of the one or more communications, i) a current location of the railway vehicle relative to the switch, and ii) that the railway vehicle has priority over other vehicles for accessing the railway system by comparing the current location of the railway vehicle relative to the switch to an expected location of the railway vehicle relative to the switch as indicated by a predefined schedule for the switch; extracting a command from the parsed contents; determining that the command specifies that a switch in the railway system be transitioned from a first position to a second position; causing, in response to autonomously determining that the railway vehicle has priority for accessing the railway system, the switch to transition from the first position to the second position; autonomously updating the predefined schedule; and causing distribution of the update of the predefined schedule to one or more remote processing devices of the interlocking system; wherein the interlocking system promotes interlocking functionality independent of operations performed by a control center.
19. The one or more non-transitory machine-readable hardware storage devices of claim 18, wherein the first position is a position in which the switch is in an occupied state; wherein the at least one of the one or more communications that is parsed includes a request that the switch be transitioned to the first position; wherein the operations further comprise: receiving a cleared message indicating that the railway vehicle has crossed the switch; and responsive to receipt of the cleared message, causing the switch to transition from a second position corresponding to a free state; and wherein the interlocking system promotes an interlocking functionality by transitioning the switch between the first position and the second position.
20. The one or more non-transitory machine-readable hardware storage devices of claim 18, wherein the operations further comprise: transmitting, to the communication device in the railway vehicle, a request acknowledgement message that specifies the switch is transitioned to the first position specified in the request; transmitting, to the communication device in the railway vehicle, a cleared acknowledgement message that specifies that the switch is transitioned to the second position in which the switch is in the free state; and transmitting, to the communication device in the railway vehicle, a periodic packet that includes information indicative of a current position of the switch.
21. The one or more non-transitory machine-readable hardware storage devices of claim 18, wherein the interlocking system is affixed to a portion of the switch.
22. The one or more non-transitory machine-readable hardware storage devices of claim 18, wherein the interlocking system promotes interlocking functionality at the switch.
23. An interlocking system of a railroad, with the interlocking system being located at a turnout in the railroad, and with the interlocking system comprising: a transceiver for receiving a request message from a train, with the request message being wirelessly received over a global system for mobile communications railway (GSM-R) network, and with the request message including a request to traverse the turnout; an electronic subsystem for switching the turnout between (i) a first position in which the turnout is in a free state and is available for traversal, and (ii) a second position in which the turnout is in an occupied state and is being traversed by a railway vehicle; and a microcontroller that is configured to autonomously (i) communicate with the electronic subsystem and with the transceiver, (ii) compare a current location of the train relative to the turnout to an expected location of the railway vehicle train relative to the turnout as indicated by a predefined schedule for the turnout, (iii) instruct the turnout to switch from the first position to the second position, following a determination, based on comparison of the current location to the expected location, that the train has priority over other trains for traversing the turnout and receipt of the request message, (iv) autonomously update the predefined schedule, (v) instruct the turnout to switch from the second position to the first position, following receipt of a cleared message from the train, with the cleared message specifying that the train has crossed over the turnout and (vi) cause the transceiver to distribute the update of the predefined schedule to one or more remote devices of the interlocking system; wherein the transceiver is configured to perform operations comprising: transmitting, to the train, a request acknowledgement message that specifies the turnout is switched to the second position in which the turnout is in the occupied state; receiving, from the train, the cleared message that specifies that the train has crossed over the turnout; and transmitting, to the train, a cleared acknowledgement message that specifies that the turnout is switched to the first position in which the turnout is in the free state; wherein the interlocking system promotes an interlocking functionality independent of operations performed by a control center.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) A system (e.g., an interlocking system) consistent with this disclosure manages rail transportation independent of centralized control centers. For example, the system manages interlocking functionality independent of centralized control centers. In this example, interlocking functionality can be performed without the use of centralized control; i.e., without using Operational Control Centers (OCC) and Radio Block Centers (RBC). In an example, use of a centralized control for interlocking functionality is obviated by utilizing an interlocking system, transportation vehicle schedules, and communications among transportation vehicles and the interlocking system (e.g., via base stations), as described in further details below. In this example, the system uses wireless communications system for performing the interlocking functionality of railway transportation systems (both inter-city and urban transport).
(9) Referring to
(10) There are various types of transportation vehicles, including, e.g., trains and other railway vehicles. There are also various types of base stations, including, e.g., Global System for Mobile CommunicationsRailway (GSM-R) based cell towers. In this example, a request by transportation vehicle 102 is relayed through several base stations using wireless communications and interlocking system 122. Interlocking system 122 includes a system that promotes vehicle-to-vehicle communications to enable traffic management systems to eliminate/reduce additional infrastructure and includes algorithms for allocation of right-of-way to enhance traffic flow and to save energy. Generally, an interlocking system also includes an arrangement of signal apparatus that prevents conflicting movements through an arrangement of tracks such as junctions or crossings. There are various types of interlocking systems, including, e.g., a mechanical interlocking system, and electro-mechanical interlocking system, a relay interlocking system, and an electronic interlocking system (e.g., a solid state interlocking system). In this example, interlocking system 122 may be used to replace one or more of the above-listed types of interlocking systems.
(11) Interlocking system 122 includes microcontroller 124, electronic subsystem 126, transceiver 128 and antenna 121. Microcontroller 124 includes a processing device that is configured for communication with electronic subsystem 126 and transceiver 128. Microcontroller 124 also controls a blade (not shown) on the track (e.g., one or more of tracks 114, 120), rather than the blade being controlled from the OCC and RBC through a Programmable Logic Array. The blade implements the movement of the switch 112 from a first position (e.g., a straight position) to a second position (e.g., a deviation position).
(12) Electronic subsystem 126 includes an interface to microcontroller 124 and to the blade. Electronic subsystem 126 includes various electronic hardware and circuitry attached to the blade and moves the blade based on the commands coming from the microcontroller 124. In an example, electronic subsystem 126 includes a motor for switching the position of the blade and in turn the switch 112.
(13) In some examples, electronic subsystem 126 and switch 112 may be integrated into a single device. For purposes of convenience and without limitation, switch 112 may also be referred to as turnout 112. Transceiver 128 is configured for communication with base stations 106, 108, 110. In this example, interlocking system 122 includes various functionality to promote communication, including e.g., omnidirectional and/or directional antennas (e.g., antenna 121) with an appropriate directivity, gain, and antenna type. Since the base stations 106, 108, 110 and switch 112 may have fixed locations, antenna 121 of the interlocking system 122 promotes good communications between one or more of base stations 106, 108, 110 and the interlocking system 122.
(14) In the example of
(15) After a short but finite time, the turnout 112 is moved to the desired position by the electronic subsystem 126 and the transceiver 128 at the turnout reports this back to base station 108. Subsequently, base station 108 relays this information back to transportation vehicle 102 and transportation vehicle 104 via base stations 106, 108, respectively. Based on these acknowledgment (ACK) messages, both transportation vehicles 102, 104 become aware of the new position of the turnout (i.e., the deviation position of turnout 112).
(16) At this point in time, the interlocking functionality needed for safe passage of transportation vehicle 102 to the lower RHS railroad 120 has been completed. This interlocking functionality is achieved through wireless communications and a transceiver 128 that in communication with the electronic subsystem 126 (via microcontroller 124) at the turnout 112. This interlocking functionality is independent of an Operational Control Center (OCC), a Radio Block Center (RBC), hardwiring between an OCC, RBC, and the turnout, and human operators to monitor and to activate an infrastructure-based interlocking system. Interlocking system 122 promotes traffic control functionalities in rail transport (such as interlocking) via communications and/or wireless communications.
(17) In the example of
(18) In an example, transportation vehicles 102, 104 are inter-city trains that are part of an inter-city rail transportation system. In this example, transportation vehicles 102, 104 run according to predefined schedules. Based on the predefined schedules, transportation vehicles 102, 104 cross turnouts or switches at designated times, e.g., rather than at random times. For example, according to a predefined schedule, transportation vehicle 102 crosses switch 112 (or a point of conflict) at 10:23 a.m. and only then (after transportation vehicle 102 crosses the switch 112) can transportation vehicle 104 use the track section 130 on which transportation vehicle 102 is currently on. In this example, transportation vehicle 102 monitors its speed continuously (and/or periodically) and, if possible, tries to readjust its speed to make up for any delays that might have incurred. If this is done, then the schedule is honored and everything functions according to the schedule using vehicle-to-vehicle communications based train control.
(19) In another example, transportation vehicle 102 is a freight train and therefore it cannot accelerate beyond a certain limit to make up for lost time. In this example, if transportation vehicle 102 is running behind schedule, then a delay is unavoidable which will cause problems with the scheduled crossing time of transportation vehicle 102. For example, instead of crossing switch 112 at 10:23 AM, transportation vehicle 102 might be forced to cross the switch 112 at 10:26 AM (i.e., 3 minutes later than the scheduled time). If the transportation vehicle 104 in
(20) In an example, switches/turnouts have the schedules stored in memory (i.e., read only memory). The schedules may be transmitted to the switch in several different ways (e.g., by the rail network operator, rail operator, or even manually since the schedules do not change very frequently). In an example, changes in inter-city train schedules occur periodically (e.g., and are not frequent) and can easily be accommodated by the rail network operator. For example, if a rail network operator is using a computing device (i.e., a laptop running an operating system) that is connected a network (e.g., a local area network (LAN), a metropolitan area network (MAN), or a wide area network (WAN), and so forth), then any updates to the schedule can be done automatically and remotely. Changes in the schedule of inter-city trains could also be transmitted to the trains via the communications network used in rail transportation; e.g., by the GSM-R network, Internet, etc. In this example, schedule change should be conveyed to the trains using that rail track as well as the switches and the interlocking system.
(21) In the example of
(22) In still another example, the schedules are not stored in the memory of turnouts and the position of switch 112 is set and managed by train-to-train communications. In this example, while the interlocking intelligence is still distributed (e.g., via interlocking systems), the intelligence pertaining to the schedules is placed into the mobile nodes (i.e., trains). In this example, the scheduling intelligence resides in the railway vehicles. Generally, intelligence refers to a series of instructions, commands and/or algorithms for performing an operation and/or for making various determinations.
(23) In a variation of
(24) In yet another embodiment, power lines (not shown) providing the electricity for transportation vehicles 102, 104 are utilized to transmit the control messages from the transportation vehicles 102, 104 to the transceiver 128. This embodiment provides a cost-efficient alternative for electric trains' communications for controlling the setting or position of the turnout.
(25) In another variation, the burden of periodic broadcasts of the transceiver 128 is reduced by the two transportation vehicles 102, 104 periodically communicating with a base station with increased proximity to the transceiver 128, e.g., relative to proximities of other base stations to the transceiver. In this example, the system architecture has increased autonomy because the transportation vehicles that need to resolve the conflict rely much more on the communications undertaken by the transportation vehicles themselves at short intervals. For this embodiment, camera-based systems at the base stations may be used to constantly monitor the position of the turnout so that this information is conveyed to the transportation vehicles upon receiving the query of the transportation vehicles.
(26) In an example, various types of networks (e.g., GSM-R networks, the Internet, and so forth) are used for the transmission of control messages from transportation vehicles 102, 104 to the transceiver 128. In still another example, satellite communications are used for the transmission of control messages from transportation vehicles 102, 104 to the transceiver 128. In still another example, uplink and/or downlink (communications) between a base station and the interlocking system 122 could also be based on wired links.
(27) In another example, a transportation vehicle includes a communication and/or storage device for storage for a schedule of the transportation vehicle on a given route. That is, a transportation vehicle knows its own schedule on a given route. This schedule information could be transmitted to the device of the transportation vehicle through a secure GSM-R network of the network operators, through Internet, or other means. Through this communication device in the transportation vehicle, if there is a delay involved in the arrival time of one of the other transportation vehicles, this schedule information is transmitted to the transceiver and the turnout so that the turnout is kept in the right position for the additional time due the delay experienced by one or both of the transportation vehicles.
(28) In a variation of
(29) As previously described, the interlocking system 122 operates independent of operational control centers (OCC) and other centralized control paradigms. This independent operation is based on the interlocking operation and several other tasks such as train detection and dynamic speed adjustment based on the positions of trains, as described in U.S. Provisional Patent Application 61/632,520, the entire contents of which are incorporated herein by reference.
(30) In still another variation, the interlocking system 122 may be implemented in an intra-city rail transportation environment. In this example, the environment uses a cellular network or a wireless (WiFi) network for underground transportation vehicles, e.g., rather than using a GSM-R network. There are various cellular networks, including, e.g., a GSM network, a Code Division Multiple Access (CDMA) network, a Long Term Evolution (LTE) network, a LTE-Advanced (LTE-A), and so forth. In this example, rather than using base stations, the environment may implement access points in WiFi networks to implement the interlocking functionality shown in
(31) Referring to
(32) In the example of
(33) In this example, railway vehicle 160 communicates with base station 166 via communication link 169, e.g., by transmitting a REQ packet. In the example of
(34) Referring to
(35) Referring to
(36) After the interlocking is achieved, the interlocking system 308 periodically broadcasts its state via broadcast messages 312, 314 to nearby base station 306 (i.e., BS.sub.k+n). After the turnout switches to the deviation position, each broadcast message (i.e., broadcast messages 312, 314) by the interlocking system 308 first reaches the close-by base stations (i.e., base station 306) and the broadcast is relayed to transportation vehicles 302, 304. This is done to make sure that the state of the turnout is continuously conveyed to transportation vehicles 302, 304 in short intervals, e.g., every 100 milliseconds. In this example, the time taken for each consecutive broadcast to reach transportation vehicles 302, 304 will take less time as transportation vehicles 302, 304 are moving and quickly approaching the turnout. In the example of
(37) This periodic broadcasting by the interlocking system 308 continues until transportation vehicle 302 crosses a turnout (i.e., turnout 210 to the lower rail on the right hand side of
(38) The system described herein uses various, different types of packets, including the following types. One type of packet is a request packet (REQ) that is a message requesting to pass through a point of conflict. For example, a first train that is scheduled to cross a point of conflict (e.g., a turnout) transmits the request packet to the transceiver that is connected to the turnout.
(39) Another type of packet is an acknowledgment of the REQ packet (REQ-ACK). In an example, the transceiver of the turnout transmits the acknowledgment packet to notify the train that originates the REQ packet when the turnout has moved to the desired position. Still another type of packet is a clear packet (CLR). For example, a transportation vehicle (e.g., transportation vehicle 102 in
(40) Another type of packet is an acknowledgment of the CLR packet (CLR-ACK). In an example, the transceiver of the turnout at the point of conflict transmits an acknowledgment packet to notify other trains that the turnout is released and can be used by other trains. Still another type of packet is a periodic packet (PRD). In this example, the transceiver periodically sends out a packet to inform all trains of its current position. Periodic packets are continuously transmitted until the trains that need to use the turnout already cross the turnout (i.e., triggered by the reception of the clear packet).
(41) Referring to
(42) The transportation vehicle determines (418) if a REQ-ACK packet is received from the interlocking system. If a REQ-ACK packet is received, the transportation vehicle determines (426) that it is safe for the transportation vehicle to cross the turnout. The transportation vehicle also determines (430) whether the turnout is crossed. If the transportation vehicle determines that the turnout is crossed, then the transportation vehicle transmits (432) a CLR packet to the interlocking system. The transportation vehicle also determines (434) if a CLR-ACK packet is received from the interlocking system. If a CLR-ACK packet is received, then process 400 is complete. If a CLR-ACK packet is not received, the transportation vehicle repeats action 432, e.g., until the transportation vehicle receives a CLR-ACK packet.
(43) At action 430, if the transportation vehicle determines that the turnout has not yet been crossed (by the transportation vehicle), the transportation vehicle repeats action 426, e.g., until the transportation vehicle determines that the turnout is crossed.
(44) At action 418, if the transportation vehicle determines that a REQ-ACK packet is not received, the transportation vehicle determines (420) whether a safety distance to the turnout is reached by the transportation vehicle. If the safety distance to the turnout is not reached by the transportation vehicle, the transportation vehicle repeats action 412 of transmitting the REQ packet to the interlocking system. If the safety distance to the turnout is reached by the transportation vehicle, the transportation vehicle repeats stops (422) movement and transmits (424) a REQ packet to the interlocking system. The transportation vehicle determines (428) if a REQ-ACK packet is received from the interlocking system. If a REQ-ACK packet is received from the interlocking system, the transportation vehicle determines (426) that it is safe to cross the turnout. If a REQ-ACK packet is not received from the interlocking system, the transportation vehicle repeats action 424.
(45) At action 408, if the transportation vehicle determines that it is not the first to cross the turnout when there is a conflict, the transportation vehicle slows down (410). Following the slow down, the transportation vehicle determines (414) if a CLR-ACK packet is received from the interlocking system. If a CLR-ACK packet is received, the transportation vehicle performs action 412. If a CLR-ACK packet is not received, the transportation vehicle determines (416) if the safety distance to the turnout is reached. If the safety distance is not reached, the transportation vehicle repeats action 410, e.g., until the safety distance is reached. If the safety distance is reached, the transportation vehicle performs action 422 and continues with process 400 as shown in
(46) Referring to
(47) If the interlocking system determines that the received packet is REQ packet, the interlocking system determines (510) if the turnout is in a free state, e.g., a state in which the turnout is unoccupied. If this interlocking system determines that the turnout is in a free state, the interlocking system transmits (516) the REQ packet (and/or a command included in the REQ packet) to the motor in the interlock system. For example, the microcontroller in the interlocking system may make the determination that the turnout is in a free state. In this example, the microcontroller transmits the REQ packet and/or the command included in the REQ packet to the electronic subsystem. In this example, the command is to switch the turnout to a deviation position.
(48) The interlocking system waits (518) for the electronic subsystem to complete its switching to another position (i.e., a deviation position). In this example, the interlocking system is configured to wait for a predetermined period of time. If the amount of time that the interlocking system is waiting exceeds the predetermined period of time, the interlocking system implements a timeout operation to cease waiting and repeats action 516. Once the change of position is completed, the interlocking system transitions (520) to an occupied state and stores the address of the sender (i.e., the vehicle that sent the REQ packet). An occupied state includes a state in which the turnout is occupied by a vehicle. The interlocking system transmits (514) a REQ-ACK packet to the transportation vehicle that sent the REQ packet and returns to an idle state at action 502.
(49) At action 510, if the interlocking system determines that the turnout is not in a free state, the interlocking system determines (512) if the turnout is occupied by a transportation vehicle. If the turnout is occupied by a transportation vehicle, the interlocking system transmits (514) a REQ-ACK packet to the transportation vehicle that sent the REQ packet. If the turnout is not occupied by a transportation vehicle, the interlocking system returns to an idle state at action 502.
(50) At action 504, if the interlocking system determines that the received packet is CLR packet, the interlocking system determines (522) if the turnout is in a free state, e.g., a state in which the turnout is unoccupied. If this interlocking system determines that the turnout is in a free state, the interlocking system transmits (508) a CLR-ACK packet to the transportation vehicle that sent the CLR packet and returns to an idle state at action 502.
(51) At action 522, if the interlocking system determines that the turnout is not in a free state, the interlocking system determines (524) if the turnout is occupied by a transportation vehicle. If the interlocking system determines that the turnout is not occupied by a transportation vehicle, the interlocking system discards (526) the CLR-ACK packet and returns to an idle state at action 502.
(52) If the interlocking system determines that the turnout is occupied by a transportation vehicle, the interlocking system transmits (528) to the motor a command to switch to another position (e.g., a deviation position, an alternate position, a straight position, and so forth). The interlocking system waits (530) for the motor to complete its switching to another position (i.e., a deviation position). In this example, the interlocking system is configured to wait for a predetermined period of time. If the amount of time that the interlocking system is waiting exceeds the predetermined period of time, the interlocking system implements a timeout operation to cease waiting and repeats action 516. Once the change of position is completed, the interlocking system transitions (532) to a free state and transmits a CLR-ACK message to the transportation vehicle that sent the CLR message.
(53) At action 504, if the interlocking system determines that the received message is neither a REQ packet nor a CLR packet, the interlocking system discards (506) the packet.
(54) In an example, an increased amount of intelligence is associated with the transceiver in a secure GSM-R based network which is operated by a government authority or by a private railroad operator. In such a case, train schedules can be distributed to these transceivers by the railroad operator using a secure network and the transceiver might have additional computing capabilities (such as a CPU, memory, I/O bus, etc.). In such implementations, lookup tables could be used to change the position of the turnout in conjunction with the envisioned communications between the trains, base stations, and the transceiver connector to the electronic subsystem. For such possible implementations, the signaling algorithms and the associated timing diagrams may differ from the one shown in
(55) Referring to
(56) In this example, the turnout is in a free state 602 and remains in a free state 602 until it receives a REQ packet. Upon receipt of the REQ packet, the interlocking system switches the turnout to an occupied state 604, and the turnout remains in the occupied state 604 until it receives a CLR packet. Upon receipt of the CLR packet, the interlocking system switches the turnout back to a free state 602. In the occupied state 604, the interlocking system periodically transmits PRD packets.
(57) In an example, there are several types of turnouts and high-speed switches that may be used with the interlocking system described herein. Referring to
(58) Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible program carrier for execution by, or to control the operation of, a processing device. Alternatively or in addition, the program instructions can be encoded on a propagated signal that is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode data for transmission to suitable receiver apparatus for execution by a processing device. The machine-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.
(59) The term processing device encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The processing device can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The processing device can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system (OS), or a combination of one or more of them.
(60) A computer program (which may also be referred to as a program, software, a software application, a script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
(61) The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
(62) Computers suitable for the execution of a computer program include, by way of example, general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few.
(63) Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
(64) To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying data to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
(65) Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
(66) The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
(67) While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
(68) Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
(69) Particular implementations of the subject matter have been described. Other implementations are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.