“In recent years, rail transit has rapidly entered a high-speed period, which has become an important factor driving economic growth. The automatic train monitoring system (ATS) is an intelligent automatic monitoring system. The correct operation of the ATS system will affect the safe operation of the train. This puts high demands on the logistics training of rail transit operation and management personnel, so the ATS simulation system came into being.
In recent years, rail transit has rapidly entered a high-speed period, which has become an important factor driving economic growth. The automatic train monitoring system (ATS) is an intelligent automatic monitoring system. The correct operation of the ATS system will affect the safe operation of the train. This puts high demands on the logistics training of rail transit operation and management personnel, so the ATS simulation system came into being.
If the ATS simulation system adopts the artificial arrangement approach, it will put high requirements on the professional quality of the operators, and the operation volume will be large and the efficiency will be low. The realization of the automatic routing function will greatly reduce the workload of the operator, reduce the error rate, and improve the efficiency of the ATS system.
1. Design of automatic route arrangement
The working principle of automatic route arrangement is: when a train steps to a specially configured track section, it triggers the instruction to arrange the next route. These specially configured track sections are called “operational trigger points”, and the operational trigger points are close to the approach to be arranged. The position of the train can be obtained by the train tracking function, because the route information has been saved in the file in advance, and the next route can be obtained from the file; then the consistency check of the route will be carried out. If the inspection shows that there is no reason not to arrange the route, send an instruction to the system interlocking module to lock the elements in the route; finally check the route arrangement. If there is no problem, open the start signal light. Figure 1 shows the processing steps of Automatic Route SetTIng (ARS) request.
1.1 Operational trigger point processing
In the processing of the operation trigger point, the last section of an approach is selected as the operation trigger point of the next approach, as shown in Figure 2 for approaches X905~X1006. The operation trigger point of the next approach is this approach The last section G1175. When it is judged that the train has reached G1175, an instruction to arrange the next route is sent.
The operation trigger point needs to have certain information (such as the effective direction of the trigger point trigger). This article uses XML plain text to store this part of the information. XML is a simple data storage language that uses a series of simple tags to describe data, has a clear hierarchical structure, and is easy to read, write and share.
The following is the data structure of the operation trigger point, which is saved in XML plain text.
Among them, the mark stores the track section allocated to the operation trigger point, and the mark stores the running direction of the train when the operation trigger point is valid.
1.2 Selection of approach
After the operation is triggered, the ARS function will select the route to be arranged for this train. It can be seen from Figure 2 that if an upward path is arranged from X905, this path exists and is unique, passing through G1151 section, G1175 section to X1006 in turn. But if an approach is arranged from X1002, although there is an approach, it is not unique. It is through the reverse position of the 1002 turnout, then connects to the reverse position of the 1004 turnout, passes through the G1281 section to reach the signal light X1003 and passes through the 1002 turnout positioning, and then passes The G1278 section reaches the signal light X1007, so only one starting signal light is not enough to constitute the condition for selecting an approach. To this end, it is necessary to obtain the destination code of the train from the train number transmitted by the train tracking function, so as to obtain the direction of the train.
After determining the starting end signal light (which can be obtained after triggering, see the table relationship in Figure 6) and the train running direction, in order to enable the route search program to search for eligible routes, a suitable search and a true image can be established A data structure that reflects the actual route structure. A binary tree can be constructed to represent the connected relationship between the semaphore and its immediate neighbors. Each semaphore constructs a binary tree, and then organizes the binary tree constructed by all the semaphores in the entire station yard. If the binary tree of the signal lights X905 and X1002 in the above example is established, the result is shown in Figure 3.
The ellipse in the figure represents the signal light, the rectangle represents the track or switch, Figure 3(a) represents the switch, and Figure 3(b) represents the track. In Figure 2, assuming that the route starts from X1002 and the terminal is B, there are the following situations in the selection of the route:
(1) If all the tracks are normal, then search from the X1002 combined direction, and an approach to X1007 will be established.
(2) If the following special circumstances exist and the route from X1002→X1007 cannot be established normally, ARS will change the route selection.
① If there are long-term obstacles in the approach, the automatic arrangement of the normal approach is prevented. As shown in Figure 2, the 1002 turnout is locked in the reverse position, and the normal route X1002→X1007 will not be established. At this time, the automatic route arrangement function will change the route and visit the subtree of figure 3(a), select Set the reverse position from X1002 through 1002 turnout, then connect to the reverse position of 1004 turnout, pass the G1281 section to reach the approach road of signal light X1003, and then go through the 1003 turnout to the end point B.
②If there are short-term obstacles in the route, for example, G1278 is occupied (such as a car parked) at this time, and the normal route arrangement is blocked, then the automatic arrangement function will try to arrange the over-travel route, and it will also visit the map 3(a) Sub-tree, select the route from X1002 to the reverse position of turnout 1002, then connect to the reverse position of turnout 1004, and pass the G1281 section to reach X1003.
(3) If the switch 1002 fails, the routes cannot be arranged.
If the path of the approach in Figure 3 is extracted, it is easy to get the optimized binary tree, as shown in Figure 4.
By extracting information from Figure 4, the data storage structure of each approach can be established. This design uses XML to store the structure information of each approach. The following is the data structure of the approach X1002→X1007 saved in XML.
Among them, the signal light at the beginning of the approach, the signal light at the end of the approach, the section in the approach, and the turnout in the approach. All the routes in the circuit diagram are represented by this data structure and placed in an XML file for the program to query. In this way, the next approach can be selected by combining the direction with the start signal lamp and using the direction to determine the position/reverse position of the turnout.
1.3 Checking the consistency of the route
After the route is selected, the consistency check of the route will be carried out next. The purpose of the path consistency check is to prevent instructions that cannot be executed from being transmitted to the interlock. The consistency check of the approach includes the following steps:
(1) Check whether the request has been executed
If the signal at the beginning of the route to be arranged is in the open state, it means that the operator has manually arranged the route for the train, and the ARS function will abort the ARS request and record the operation. As shown in Figure 2, if the route X1002→X1007 has been selected in step 2, then you should check whether the route has been arranged at this time. If the route has been manually arranged by the operator before, then this route does not need to be arranged automatically at this time.
(2) Check whether there are short-term obstacles in the command output
For this reason, it is necessary to investigate all the track elements between the beginning and end elements of the proposed approach to determine whether there is an obstacle in one of the elements.
1.4 Send interlock command
After the access path availability check is successful, the interlock command can be output. Sending an interlocking command will lock the turnouts, sections and intersections in the approach to prevent it from being requisitioned by other approaches.
First, the system checks whether the train is still in the approaching section of the planned route. If the train is no longer in the approaching section of the planned route, ARS will suspend the ARS request; if the train is still in the approaching section of the planned route, the instruction for arranging the route will be sent to the corresponding interlock. The ARS function only transmits the next route arrangement command to the interlock, as long as it has received a positive confirmation of this route arrangement request.
1.5 Arrangement inspection
After the instruction is output, the automatic routing function waits for a positive confirmation from the computer interlocking control system. As a positive confirmation, it is an open start signal for each entry. As soon as the semaphore is opened, the ARS request is terminated immediately.
After the above 5 steps, the automatic arrangement of the approach has been basically completed. Figure 5 shows the flow chart of the automatic arrangement of routes.
2. Software realization of automatic route arrangement
The information of signal lights, sections, and turnouts is stored in a similar XML data structure, and each type of track element is stored in its own XML table, so there are 5 XML tables. In this design, XML essentially acts as one The role of small databases. Table 1 shows the storage information of each track element in XML.
During the development process, it is necessary to read the information of track elements stored in XML. Therefore, in the design, a package class is established for each track element corresponding to the information of the track element in XML. For example, the switch package class structure is as follows:
Route (CString ID, CString Name, CString StartSignal, CString ZDXH, RouteQDArray RouteBlocks, RouteDCInfoArray DCInfo);
CString m_Name; // Route name
CString m_StartSignal; // Start signal lamp name
CString m_ EndSignal; // terminal signal lamp name
RouteQDArray m_RouteBlocks; // Because of an approach
// There may be many sections, so they are stored in an array
// Turnout, also stored in the array
Bool m_faultflag; // fault flag
After the track element information stored in the XML table is parsed with the XML parsing class CMarkUp, the parsed track element storage information is used to construct a corresponding class. Because there are many track elements such as signal lights and sections in the circuit diagram, and each one corresponds to its own set of information, that is, each element can construct a class, which realizes the binding of XML data and corresponding classes. . In order to facilitate query and use, save the classes of the same track element in the Vector array of STL, so that there are 5 Vector arrays of operation trigger point, approach, turnout, section, and signal light respectively. Each type of track element is related to each other. Therefore, in the program, you need to obtain another type of information through one type of element (for example, you need to query the start signal light StartSignal to obtain a route). Figure 6 shows the XML table connection diagram of the five track elements.
In the figure, the rectangle represents each XML table, and the ellipse represents some storage information of a certain track element of the XML table. The connection between the two XMLs is achieved by finding a certain stored information that is the same. For example, Owner and JJAxle, because each Trigger corresponds to an owning section, this section can be used to compare the JJAxle information in the Signal table. If this information is found to be the same, the start signal light of the next approach can be found. According to the above track element data structure and XML table connection diagram, the pseudo-code algorithm for the selected route is given as follows:
FuncTIon SearchNextRoute (…)
Then OwnerAxle=GetOwnerQD() // When the trigger conditions are met
// After that, get the section where the train is from the train tracking module,
// That is, the trigger point owns the section OwnerAxle
XHIterator=FindSignal(OwnerAxle) // Use the obtained
//OwnerAxle as JJAxle to find the Signal array Vector
// Find the corresponding associated class and return an iterator of this class
If(XHIterator=SignalVector.end) then ruturn;
// If not found, return
// Use the semaphore class found above to get the name of this semaphore
// Then use this as the key to find the way and return the iterator of the way
If (RouteIterator =RouteVector.end) then ruturn;
// If no way is found, return
// Use the searched route class to get the turnout, section,
// Get their corresponding classes.The acquisition of these two classes is mainly used for
// The following approach consistency check and section, turnout lock
Among the above pseudo-codes, the most important thing is the search algorithm. This article makes good use of STL’s non-mutation algorithm find_if to find entry elements.
Because it is necessary to judge the running distance of the train at regular intervals to determine whether the list has reached the operating trigger point, the timer response function is used to determine whether to open the next route, so that the route is reached through the timer method The effect of automatic opening. The source code of the automatic arrangement approach is as follows:
FuncTIon OnTIme (…)
// Determine whether the direction and train position have reached the trigger point
// If the trigger point is reached, find the next approach
// If an entry is found, a consistency check is performed
linRet2=LockGDElement() // The consistency check is no problem,
// Send an interlock command to lock the track element
linRet=OpenSignal()// After all is ok, the signal light will be turned on
Through the above method, the automatic arrangement of train routes was successfully realized, and the result is shown in Figure 7 on the partial route map of Shanghai Metro Line 5.
It can be seen from the figure that when the train enters section G1278 and the route is not manually opened, the next route is correctly opened, which proves the effectiveness of the method proposed in this paper.
This paper presents a scheme of automatic route arrangement for ATS simulation system, and explains the general process of automatic route arrangement. In this process, the selection of the route is particularly important. The application of automatic route arrangement can reduce the labor of the operator and reduce the error rate, improve the operating efficiency of the system, and effectively improve the training efficiency.
Link to this article：Automatic Train Monitoring (ATS) Simulation System Solution