A method for generating a combination of a protection route and a protection switch based on an interlocking data structure
By using an interlocking data structure-based method, protective turnout combinations for protected sections are automatically searched and generated, solving the problems of high workload, low efficiency, and high error rate associated with manual identification. This achieves efficient and accurate turnout combination generation, reducing safety hazards.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 卡斯柯信号(成都)有限公司
- Filing Date
- 2024-08-15
- Publication Date
- 2026-06-26
AI Technical Summary
In existing technologies, when creating interlocking data, designers need to manually identify the protective turnout combinations in the protected sections, which results in a large workload, low efficiency, and a high risk of errors, making it difficult to guarantee data accuracy and posing safety hazards.
A method based on interlocking data structure is adopted. By setting up a data dictionary and generating protective turnout combinations, the protection path and turnout combination relationship of all protection sections of the interlocking central station are automatically searched. This includes the data dictionary of TechnicalRooms, Signals, Overlaps, Secondary_Detection_Devices, Blocks, Switches, and Points, and protective turnout combinations are generated.
The system enables automated generation of protective turnout combinations for protected sections, improving design efficiency, reducing labor costs, decreasing error rates, ensuring data accuracy, conforming to human design habits, and facilitating review.
Smart Images

Figure CN118722788B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of railway signal computer interlocking safety data production technology, and more specifically to a method for generating protective turnout combinations based on interlocking data structures. Background Technology
[0002] To ensure a train can approach a non-crossable signal at the end of a route, and to prevent accidents caused by trains overstepping the signal due to track conditions, insufficient braking performance, or operational errors, a protection zone is added outside the route. In urban rail transit, the protection zone is a section outside the route's locking terminal; this section can be a turnout section or a turnout-free section. When the route is established and locked, the protection zone should also be established and locked; alternatively, after the route is established and locked, the train can establish and lock the protection zone after occupying its triggering section during operation. When the protection zone is established, the turnouts within it will be switched and locked in the designated positions.
[0003] Based on whether the protected section contains turnouts and whether the turnout locations within the protected section are unique, interlocking protection sections are divided into the following three types:
[0004] 1) Preferred Protection Section (Preferred Type): If the turnout is movable, the turnout within the protection section is rotated to the preferred position and locked; otherwise, the turnout is locked in a non-preferred position (i.e., even if the turnout within the protection section is already locked in a non-preferred position, this preferred type protection section can still be established). Based on whether the turnout within the protection section is preferably established in the normal or reverse position, it is divided into two types: preferred normal (preferred normal type) and preferred reverse (preferred reverse type). This type of protection section has multiple protection paths.
[0005] 2) Critical Protection Section (Critical Type): This type is divided into two categories: critical positioning (critical Normal type) and critical reversal (critical Reverse type). The switches within the protection section must be locked in the critical position to establish the protection section. For example, a critical Normal type protection section can only be established when all switches within the protection section are locked in the positioning position. This type of protection section has only one protection path.
[0006] 3) Reduced type protected section: If the protected section does not contain turnouts, but the protected section is hostile to a certain conditional route, or the protected section is hostile to a floodgate, or it is hostile to another reduced type protected section.
[0007] For preferred and critical type protected sections, when establishing a protected section, in addition to ensuring that the turnouts within the protected section are rotated to the designated position and locked, it is also necessary to rotate the protective turnouts within the protected section to the designated position and lock them, and lock the intruded turnouts outside the protected section to the position leading to the protected section. The protective turnout combination of the protected section refers to the combination of all turnout position conditions that need to be rotated and locked to the designated position when locking the protected section.
[0008] like Figure 4 As shown, if the protected section of the route blocked by S1011 is G1112:
[0009] When the protected section type is critical Normal, the protected section can only be established on the path passing through P1101-P1103, and the protected turnout combination of this protected path should have the positioning conditions of turnouts P1101-P1103; if it is critical Reverse, the protected section can only be established on the path passing through the reverse position of P1101-P1103, and its protected turnout combination should have the reverse position conditions of turnouts P1101-P1103; if it is preferred... The Normal type indicates that the current preferred protection path is the path located through P1101-P1103. Only when turnouts P1101-P1103 are in the reverse position and locked by other conditions, will the protection section be established on the path that is in the reverse position of P1101-P1103. The protection turnout combination under the preferred path has the positioning position condition of turnouts P1101-P1103, and the protection turnout combination under the non-preferred path has the reverse position condition of turnouts P1101-P1103.
[0010] In addition to considering the location conditions of the turnouts along the protection path, the following also needs to be considered when assembling protective turnouts in the protected section:
[0011] 1) The position of the protective turnout on the protection path at the current position, such as when P1101-P1103 is in the reverse position, its protective turnouts P1105-P1107 need to be protected in the position.
[0012] 2) The location of the intruded turnout outside the protection path. For example, if the last logical segment B2 on the protection path located through P1101-P1103 intrudes into the fouling of point P1105, then P1105-P1107 needs to be locked at the position leading to the protection path of the protection section. This is the positioning.
[0013] As can be seen from the above, if the protected section is established along the path located between P1101 and P1103, the protective turnout combination may be... <p1101-p1103>or<P1101-P1103* P1105-P1107> If the protected section is built on the path that passes through the reverse position of P1101-P1103, the protective turnout combination is <(P1101-P1103)* P1105-P1107>.
[0014] Currently, when creating interlocking data, data designers manually compile the turnout combinations that need to be protected for all protected sections of the interlocking central station based on the input files.
[0015] The above method has the following drawbacks:
[0016] Designers face a heavy workload and low efficiency. Each interlocking central station has multiple routes, most of which have protected sections containing turnouts, all of which require manual identification. This results in a heavy workload and low efficiency for data designers.
[0017] Human error rates are high, and data accuracy is difficult to guarantee. When dealing with complex station types such as preferred type protection sections, protection sections with crossovers, and Y-Siding turnouts, the protection sections involve many turnouts and complex logic. Manual programming is prone to errors, making it difficult to guarantee the accuracy of interlocking data and posing safety hazards to train operations. Summary of the Invention
[0018] To overcome the shortcomings of the existing technology, this invention discloses a method for generating protective turnout combinations based on interlocking data structure. This method is used to automatically search for turnout combination relationships within all protective paths of all protected sections in the interlocking set. This solves the problems of high workload, low efficiency, easy errors, and difficulty in ensuring data accuracy for designers when manually identifying turnout combinations in the existing technology.
[0019] To achieve the above objectives, the technical solution adopted by the present invention is as follows:
[0020] A method for generating protective turnout combinations for protected routes based on interlocking data structures includes the following steps:
[0021] I. Setting up the data dictionary
[0022] Setting up the data dictionary includes: setting up the TechnicalRooms data dictionary, Signals data dictionary, Overlaps data dictionary, Secondary_Detection_Devices data dictionary, Blocks data dictionary, Switches data dictionary, and Points data dictionary, among which:
[0023] The TechnicalRooms data dictionary is used to define all interlocking central stations related attributes, including central station number (ID) and central station name (Name).
[0024] The Signals data dictionary is used to define all signals and their related attributes, including the signal ID, the signal's protection direction, the secondary_detection_Device_ID of the inner interlocking section protected by the signal, the overlap_ID of the protection section associated with the signal, and the technical_Room_ID of the interlocking station to which the signal belongs.
[0025] The Overlaps data dictionary is used to define all protected sections and their related attributes, including the protected section ID, the protected section type Overlap_Type, the range covered by the protected section Overlap_Block_ID_List, and the protected section protection path End point Overlap_End_List.
[0026] The Secondary_Detection_Devices data dictionary is used to define all interlocking sections, including the section number (ID) and the Point_ID_List of turnouts contained in the interlocking section;
[0027] The Blocks data dictionary is used to define all the smallest logical blocks and the topological connections between blocks. It includes the block number ID, the interlocking section Secondary_Detection_Device_ID in which the block is located, the turnout point Point_ID to which the block belongs, the block number Next_Up_Reverse_Block_ID for the block connected in the Up direction, the block number Next_Up_Normal_Block_ID for the block connected in the Up direction, the block number Next_Down_Reverse_Block_ID for the block connected in the Down direction, and the block number Next_Down_Normal_Block_ID for the block connected in the Down direction.
[0028] The Switches data dictionary is used to define all switches and their related attributes, including switch ID, switch name, switch points Convergent_Point_ID_List and Divergent_Point_ID_List, switch type Switch_Type, switch group type Switch_Group_Type, and the associated switch Coupled_With_Switch_ID.
[0029] The Points data dictionary is used to define all turnout points and related attributes, including the Point's ID and the Point's Fouling area, Fouling_Block_ID_List.
[0030] Preferably, the route protection zone in the interlocking data is mainly composed of route blocking signals, and is associated with the protection zone in the Overlaps data dictionary through the Overlap_ID attribute in the Signals data dictionary.
[0031] II. Generation of Protective Approach Turnout Combinations
[0032] Using the established data dictionary and based on the interlocking data structure, generate protective turnout combinations for protected routes, including:
[0033] (1) Based on the set data dictionary, search for all protection paths of all protected sections of this interlocking central station, including the following steps:
[0034] S101. Find the number of this interlocking centralized station in the TechnicalRooms data dictionary by using the station name of this interlocking centralized station;
[0035] S102. Using the number of this interlocking centralized station as input, traverse the Signals data dictionary, find all signals belonging to this interlocking centralized station and whose Overlap_ID is defined, and obtain the overlap_ID of the protection zone associated with the signal, the protection direction of the signal, and the Secondary_Detection_Device_ID of the inner first interlocking zone protected by the signal.
[0036] S103. Using overlap_ID from S102 as input, search the overlap data dictionary for the coverage area of the protected section: overlap_Block_ID_List, the set of all protected path End points of the protected section: overlap_End_List, and the protected section type: overlap_Type.
[0037] S104. Based on the topological connection relationship defined in the Blocks data dictionary, determine the endpoint firstBlock of Secondary_Detection_Device_ID in S102;
[0038] S105. Using Overlap_Block_ID_List as the search range, firstBlock as the search starting point, Direction as the search direction, and Overlap_End_List as the search boundary, search all protection paths and all blocks passed through the protected section by combining the topological relationships defined in the Blocks data dictionary. During the search, if a branch turnout is encountered, search along the post-turnout positioning branch and the post-turnout reverse branch respectively.
[0039] Preferred options also include:
[0040] S106. Determine the type of the current protected section based on the value of Overlap_Type in S103. If it is the preferred type, sort the Paths data dictionary generated in S105 so that the protected path passing through the preferred location comes first and the protected path passing through the non-preferred location comes last.
[0041] The purpose of sorting the Paths data dictionary is to output the protective turnout combination that passes through the preferred position first, and then output the protective turnout combination that passes through the non-preferred position.
[0042] (2) Traverse and search the protection path to find the turnouts on the protection path, the protected turnouts of the turnouts, and the turnouts outside the protection path that need to be protected and locked by the protection section. Combine the found turnouts to generate a protection turnout combination, including the following steps:
[0043] S107. Traverse each protection path and determine the switch positions traversed by each protection path based on the topological relationships defined in the Blocks data dictionary and the switch points associated with each block. If the protection path contains a positioning branch block of a switch point P1, the current protection path needs to lock the switch SW1 where P1 is located in the positioning position. If the protection path contains a reverse branch block of P1, the current protection path needs to lock the switch SW1 in the reverse position.
[0044] Preferably, in S107, the method for determining whether the protection path includes a locating branch of the turnout point or a reverse branch of the turnout point includes:
[0045] The first inner block protected by the associated signal in the protected section is B1, B2 is in front of the Up-side turnout of B1, and B5 is diagonally above the Up-side turnout of B1.
[0046] Starting from B1, search along the Up direction. Based on B1's Next_Up_Normal_Block_ID and Next_Up_Reverse_Block_ID, we obtain B2 as the post-fork positioning branch and B5 as the post-fork reversal branch in the Up direction of B1.
[0047] Searching along B2 and B5 towards Up respectively, two protection paths are obtained: path1 via B1 and B2, and path2 via B1 and B5. Among them, protection path1 includes the positioning branch B2 of the turnout point, and protection path2 includes the reverse branch B5 of the turnout point.
[0048] Preferably, in S107, the method for finding the turnout SW where the turnout point is located includes:
[0049] Using the ID of the turnout point in the PointS data dictionary as input, traverse the Switches data dictionary. If the Convergent_Point_ID_List or Divergent_Point_ID_List attribute of a switch contains the ID, then the switch is the turnout where the current turnout point is located.
[0050] S108. Obtain the Switch_Group_Type attribute of turnout SW1 in the Switches data dictionary. If it is a single-acting turnout or a double-acting turnout, proceed to S113. If it is a crossover turnout, proceed to S109. If it is a Y-Siding turnout group, proceed to S110.
[0051] S109. If the current protection path requires turnout SW1 to be in the correct position, proceed to S113; if the current protection path requires turnout SW1 to be in the reverse position, proceed to S111.
[0052] S110. Find the Coupled_With_Switch_ID attribute of turnout SW1 in the Switches data dictionary to obtain another turnout SW2 that makes up the Y-Siding turnout group; query the turnout points of SW1 and SW2, and determine whether the turnout points that make up SW1 have encroached on the fouling of the turnout points that make up SW2. If so, proceed to S112; otherwise, proceed to S113.
[0053] Preferably, in S110, the method for determining whether the turnout point constituting SW1 encroaches on the fouling of the turnout point constituting SW2 includes:
[0054] Query the Points data dictionary to find the Fouling_Block_ID_List attribute values of the turnout points that make up SW1 and SW2, which are foulingBlockList1 and foulingBlockList2, respectively. Combined with the Blocks data dictionary, find the front block, rear positioning branch block, and rear reversing branch block of the turnout points in SW1. If foulingBlockList2 contains the rear positioning branch block or the rear reversing branch block of the turnout points that make up SW1, it means that the turnout points that make up SW1 encroach on the fouling of the turnout points that make up SW2.
[0055] S111. Locate the Coupled_With_Switch_ID attribute of turnout SW1 in the Switches data dictionary to obtain another set of double-acting turnouts SW2 that make up the crossover; if the current path passing through the reverse position of SW1 contains the positioning condition of turnout SW2, then the protective turnout combination contains the positioning condition of SW2.
[0056] S112. If the Switch_Type of turnout SW1 is Simple, and the current protected section's protection path passes through the positioning of SW1, then the protected turnout combination includes the reverse turnout condition of SW2; if the Switch_Type of SW1 is Double, and the current protected section's protection path passes through the reverse position of SW1, then the protected turnout combination includes the positioning turnout condition of SW2.
[0057] S113. Determine whether the last block of each protection path found intrudes into the Fouling of other switches, and find the switches outside the protection path that need to be locked; that is, take endBlock as input, traverse all points in the Points data dictionary, if the Fouling_Block_ID_List attribute of a certain pointX contains the endBlock, then proceed to S114, otherwise proceed to S115.
[0058] S114. If the position of turnout SW3 where pointX is located leading to the current protected section is in the fixed position, then the protection path will lock SW3 in the fixed position; if the position of turnout SW3 where pointX is located leading to the current protected section is in the reverse position, then the protection path will lock SW3 in the reverse position.
[0059] S115, combined with the turnouts on the protection path of the protection section in S107, the protection turnouts on the path in S111 and S112, and the turnouts outside the protection path that need to be protected and locked by the protection section in S114, the combination of protection turnouts for each protection path of the current protection section is obtained.
[0060] The beneficial effects of this invention are:
[0061] This invention provides a method for generating protective turnout combinations for protected sections based on interlocking data structures. This method generates protective turnout combinations on different protection paths for each overlapping signal, effectively solving the problem of errors or omissions in turnout combination input during manual data entry. Furthermore, this invention enables software to automatically generate protective turnout combinations for all overlapping signals at the station in one go, significantly improving signal design efficiency and reducing labor costs. For preferred-type protected sections, which have both preferred and non-preferred protection paths, this invention first outputs the protective turnout combinations for the preferred protection path, followed by those for the non-preferred path. This aligns with manual design habits and facilitates data review by auditors. Attached Figure Description
[0062] Figure 1 This is a schematic diagram of the protective turnout combination search logic of the present invention;
[0063] Figure 2 for Figure 1 Enlarged view of the upper half of the image;
[0064] Figure 3 for Figure 1 Enlarged view of the lower half of the image;
[0065] Figure 4 This is a typical station layout diagram of the present invention;
[0066] Figure 5 This invention defines the key data structures and relationships.
[0067] Figure 6 This invention relates to the turnout components and the connection relationships of each block. Detailed Implementation
[0068] The following will provide a clear and complete description of the concept, specific structure, and technical effects of the present invention in conjunction with the embodiments and accompanying drawings, so as to fully understand the purpose, features, and effects of the present invention.
[0069] A method for generating protective turnout combinations for protected routes based on interlocking data structures is implemented through the following technical solution:
[0070] like Figure 5 As shown, the following data dictionaries are defined: TechnicalRooms, Signals, Overlaps, Secondary_Detection_Devices, Blocks, Switches, and Points. The TechnicalRooms data dictionary defines all attributes related to the interlocking central station, including the central station number (ID) and central station name (Name).The Signals data dictionary defines all signals and their related attributes, including the signal's ID, direction of protection, the secondary detection device ID, the overlap ID associated with the signal, and the technical room ID to which the signal belongs. The Overlaps data dictionary defines all overlaps and their related attributes, including the overlap ID, overlap type, and the area covered by the overlap. The `ck_ID_List` and `Overlap_End_List` are used to define all interlocking sections, including the section number (ID) and the turnout points (Point_ID_List) contained in the interlocking section. The `Blocks` data dictionary defines all blocks (the smallest logical section, one or more blocks constitute an interlocking section) and the topological connections between blocks, including the block number (ID), the interlocking section (Secondary_Detection_List) to which the block (B1) belongs, and the corresponding data. The Switches data dictionary defines all switches and their associated data points, including: Device_ID, Point_ID (the switch point to which B1 belongs), Next_Up_Reverse_Block_ID (the block number of the Up direction reverse connection of B1), Next_Up_Normal_Block_ID (the block number of the Up direction normal connection of B1), Next_Down_Reverse_Block_ID (the block number of the Down direction reverse connection of B1), and Next_Down_Normal_Block_ID (the block number of the Down direction normal connection of B1); The relevant attributes include turnout number (ID), turnout name (Name), turnout points included in the turnout (Convergent_Point_ID_List and Divergent_Point_ID_List), turnout type (Switch_Type), turnout group type (Switch_Group_Type), and related turnouts (Coupled_With_Switch_ID), etc.; the Points data dictionary is used to define all turnout points and their related attributes, including the Point's ID, the Point's Fouling region (Fouling_Block_ID_List), etc.
[0071] In the interlocking data, the route protection zone is mainly composed of route blocking signals, and is associated with the protection zone in the Overlaps data dictionary through the Overlap_ID attribute in the Signals data dictionary.
[0072] like Figure 6 As shown, this is the composition of the turnout of the present invention and the connection relationship of each block.
[0073] like Figures 1-3 As shown, the combination of protective turnouts for all signal-associated protection sections in this interlocking central station can be achieved through the following search method:
[0074] S0: Find the TechnicalRoom_ID of this interlocking station in the TechnicalRooms data dictionary by using the station name of this interlocking station.
[0075] S1: Using the result in S0 as input, traverse the Signals data dictionary, find all signals belonging to this central station whose Overlap_ID is defined, obtain the overlapID of the protection zone associated with the signal, the protection direction of the signal, and the Secondary_Detection_Device_ID of the inner first interlocking zone protected by the signal.
[0076] S2: Using overlapID from S1 as input, search the overlaps data dictionary for the coverage area blockIDList1, the set of all protected path End points blockIDList2, and the protected area type overlapType for the protected area segment;
[0077] S3: Based on the topological connection relationships defined in the Blocks data dictionary, determine the endpoint firstBlock of Secondary_Detection_Device_ID in S1;
[0078] S4: Using blockIDList1 as the search range, firstBlock as the search starting point, direction as the search direction, and blockIDList2 as the search boundary, search for all protection paths and all blocks traversed by each protection path within the protected section, based on the topological relationships defined in the Blocks data dictionary. During the search, if a branch turnout is encountered, the search must proceed along the turnout's downstream locating branch and downstream reversing branch.
[0079] S5: Determine the type of the current protected section based on the value of overlapType in S2. If it is the preferred type, sort the Paths data dictionary in S4 to ensure that the protected path passing through the preferred location comes first and the protected path passing through the non-preferred location comes last.
[0080] The purpose of sorting the Paths data dictionary is to output the protective turnout combination that passes through the preferred position first, and then output the protective turnout combination that passes through the non-preferred position.
[0081] S6: Traverse each protection path and determine the switch positions traversed by each protection path in S4 based on the topological relationships defined in the Blocks data dictionary and the switch points associated with each block. If the protection path contains a positioning branch block of a switch point P1, the current protection path needs to lock the switch SW1 where P1 is located in the positioning position; if the protection path contains a reverse branch block of P1, the current protection path needs to lock the switch SW1 in the reverse position.
[0082] The principle for determining whether the protection path includes a locating branch of the turnout point or a reversing branch of the turnout point is as follows: (e.g.) Figure 4 As shown, S1011 is the associated signal of the protected section. The first inner block protected by it is B1. Starting from B1, searching along the Up direction, based on the Next_Up_Normal_Block_ID and Next_Up_Reverse_Block_ID of B1, the up direction post-turning branch of B1 is B2, and the post-turning reverse branch is B5. Searching along B2 and B5 in the Up direction respectively, two protection paths are obtained: one via B1 and B2 (path1), and the other via B1 and B5 (path2). Among them, protection path 1 includes the positioning branch B2 of turnout point P1103; protection path 2 includes the reverse branch B5 of turnout point P1103.
[0083] The method for finding the turnout point (SW) is as follows:
[0084] Using the ID of the turnout point in PointS as input, traverse the Switches data dictionary. If the Convergent_Point_ID_List or Divergent_Point_ID_List attribute of a switch contains the ID, then the switch is the turnout where the current turnout point is located.
[0085] S7: Obtain the Switch_Group_Type attribute of SW1 found in Switches in S6. If it is a single-acting turnout or a double-acting turnout, proceed to S12. If it is a crossover turnout, proceed to S8. If it is a Y Siding turnout group, proceed to S9.
[0086] S8: If the current protection path requires SW1 to be in the correct position, proceed to S12; if the current protection path requires SW1 to be in the reverse position, proceed to S10.
[0087] S9: Find the Coupled_With_Switch_ID attribute of SW1 in Switches to obtain another turnout SW2 that makes up the YSiding turnout group (composed of a turnout with Switch_Type Simple and a turnout with Switch_Type Double); query the turnout points of SW1 and SW2; determine whether the turnout point that makes up SW1 intrudes into the fouling of the turnout point that makes up SW2. If so, proceed to S11; otherwise, proceed to S12.
[0088] The method for determining whether the turnout points constituting SW1 encroach on the fouling of the turnout points constituting SW2 is as follows:
[0089] Query the Points data field to find the Fouling_Block_ID_List attribute values of the turnout points that make up SW1 and SW2, which are foulingBlockList1 and foulingBlockList2, respectively. Combined with the Blocks data field, find the front block, rear positioning branch block, and rear reversing branch block of the turnout points contained in SW1. If foulingBlockList2 contains the rear positioning branch block or the rear reversing branch block of the turnout points that make up SW1, it means that the turnout points that make up SW1 have encroached on the fouling of the turnout points that make up SW2.
[0090] S10: Locate the Coupled_With_Switch_ID attribute of SW1 in Switches to obtain the other double-acting turnout SW2 that makes up the crossover. According to the concept of protective turnouts in interlocking, the current path passing through the reverse position of SW1 needs to include the positioning condition of turnout SW2.
[0091] S11: If the Switch_Type of SW1 is Simple, and the current protected section's protected path passes through the positioning of SW1, then the protected turnout combination needs to include the reverse turnout condition of SW2; if the Switch_Type of SW1 is Double, and the current protected section's protected path passes through the reverse position of SW1, then the protected turnout combination needs to include the positioning turnout condition of SW2.
[0092] S12: Determine whether the last block (endBlock) of each protection path searched in S5 intrudes into the fouling of other switches, and find the switches outside the protection path that need to be locked. That is, take endBlock as input, traverse all points in the Points data dictionary, if the Fouling_Block_ID_List attribute of a certain pointX contains the endBlock, then proceed to S13, otherwise proceed to S14.
[0093] S13: If the position of turnout SW3 at pointX leading to the current protected section is in the fixed position, then the protection path needs to lock SW3 in the fixed position; if the position of turnout SW3 at pointX leading to the current protected section is in the reverse position, then the protection path needs to lock SW3 in the reverse position.
[0094] S14: Combining the turnouts on the protected path of the protected section in S6, the protected turnouts on the paths in S10 and S11, and the turnouts outside the protected path in S13 that need to be protected and locked by the protected section, we obtain the combination of protected turnouts for each protected path of the current protected section.
[0095] like Figure 4 As shown:
[0096] The protected section GD1107, which uses X1014 as the blocking signal, is a Critical Normal type protected section. Its Overlap_Block_ID_List attribute value in the Overlaps data dictionary is {B12, B13, B14}, and its Overlap_End_List attribute value is {B14}. The first inner block of X1014 is B12. Starting from B12, the protected path of the protected section is {B12, B14} along the Down direction. Combining the Points, Blocks, and Switches data dictionaries, it can be known that the protected path is located through switch P1104.
[0097] Because turnout P1104 is a single-action turnout, it is necessary to determine whether the end point B14 of the current protection path has intruded into the fouling of other turnouts. Here, because B14 has intruded into the fouling of P1106 (in the Points data dictionary, the Fouling_Block_ID_List of P1106 contains B14), it is necessary to lock the protection of P1106 at the position leading to the protection zone.
[0098] Starting from B14, search along the Down direction until the found block (B17) does not belong to the interlocking section GD1106 to which the intruded turnout P1106 belongs, and obtain a path endPath{B14, B15, B16}. According to the topological relationship defined in the Blocks data dictionary and the turnout points associated with each block, the turnout position passed by the path endPath is located as P1106.
[0099] In summary, the protective turnout combination for the protected section of the route blocked by signal X1014 is: P1104*P1106.
[0100] The embodiments of the present invention have been described in detail above, but the present invention is not limited to the described embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present invention, and these equivalents or substitutions are all included within the scope defined by the claims of the present invention.
Claims
1. A method for generating protective turnout combinations for protected routes based on interlocking data structures, characterized in that, Includes the following steps: Set up the data dictionary; Based on the configured data dictionary, search all protection paths for all protected sections of this interlocking central station, including the following steps: S101. Find the number of this interlocking centralized station in the TechnicalRooms data dictionary by using the station name of this interlocking centralized station; S102. Using the number of this interlocking centralized station as input, traverse the Signals data dictionary, find all signals belonging to this interlocking centralized station and whose Overlap_ID is defined, and obtain the overlap_ID of the protection zone associated with the signal, the protection direction of the signal, and the Secondary_Detection_Device_ID of the inner first interlocking zone protected by the signal. S103. Using overlap_ID from S102 as input, search the overlap data dictionary for the coverage area of the protected section: overlap_Block_ID_List, the set of all protected path End points of the protected section: overlap_End_List, and the protected section type: overlap_Type. S104. Based on the topological connection relationship defined in the Blocks data dictionary, determine the endpoint firstBlock of Secondary_Detection_Device_ID in S102; S105. Using Overlap_Block_ID_List as the search range, firstBlock as the search starting point, Direction as the search direction, and Overlap_End_List as the search boundary, search all protection paths and all blocks passed through the protected section in combination with the topological relationship defined in the Blocks data dictionary. During the search, if a branch turnout is encountered, search along the post-turnout positioning branch and the post-turnout reverse branch respectively. S106. Determine the type of the current protected section based on the value of Overlap_Type in S103. If it is the preferred type, sort the Paths data dictionary generated in S105 so that the protected path passing through the preferred location comes first and the protected path passing through the non-preferred location comes last. Traverse the protection path to find the turnouts on the protection path, the protected turnouts of the turnouts, and the turnouts outside the protection path that need to be protected and locked by the protection section. Combine the found turnouts to generate a protection turnout combination, including the following steps: S107. Traverse each protection path and determine the switch positions traversed by each protection path based on the topological relationships defined in the Blocks data dictionary and the switch points associated with each block. If the protection path contains a positioning branch block of a switch point P1, the current protection path needs to lock the switch SW1 where P1 is located in the positioning position. If the protection path contains a reverse branch block of P1, the current protection path needs to lock the switch SW1 in the reverse position. S108. Obtain the Switch_Group_Type attribute of turnout SW1 in the Switches data dictionary. If it is a single-acting turnout or a double-acting turnout, proceed to S113. If it is a crossover turnout, proceed to S109. If it is a Y-Siding turnout group, proceed to S110. S109. If the current protection path requires turnout SW1 to be in the correct position, proceed to S113; if the current protection path requires turnout SW1 to be in the reverse position, proceed to S111. S110. Find the Coupled_With_Switch_ID attribute of turnout SW1 in the Switches data dictionary to obtain another turnout SW2 that makes up the Y-Siding turnout group; query the turnout points of SW1 and SW2, and determine whether the turnout points that make up SW1 have encroached on the fouling of the turnout points that make up SW2. If so, proceed to S112; otherwise, proceed to S113. S111. Locate the Coupled_With_Switch_ID attribute of turnout SW1 in the Switches data dictionary to obtain another set of double-acting turnouts SW2 that make up the crossover; if the current path passing through the reverse position of SW1 contains the positioning condition of turnout SW2, then the protective turnout combination contains the positioning condition of SW2. S112. If the Switch_Type of turnout SW1 is Simple, and the current protected section's protection path passes through the positioning of SW1, then the protected turnout combination includes the reverse turnout condition of SW2; if the Switch_Type of SW1 is Double, and the current protected section's protection path passes through the reverse position of SW1, then the protected turnout combination includes the positioning turnout condition of SW2. S113. Determine whether the last block of each protection path found intrudes into the Fouling of other switches, and find the switches outside the protection path that need to be locked; that is, take endBlock as input, traverse all points in the Points data dictionary, if the Fouling_Block_ID_List attribute of a certain pointX contains the endBlock, then proceed to S114, otherwise proceed to S115. S114. If the position of turnout SW3 where pointX is located leading to the current protected section is in the fixed position, then the protection path will lock SW3 in the fixed position; if the position of turnout SW3 where pointX is located leading to the current protected section is in the reverse position, then the protection path will lock SW3 in the reverse position. S115, combined with the turnouts on the protection path of the protection section in S107, the protection turnouts on the path in S111 and S112, and the turnouts outside the protection path that need to be protected and locked by the protection section in S114, the combination of protection turnouts for each protection path of the current protection section is obtained.
2. The method for generating a protective turnout combination for a protected route as described in claim 1, characterized in that, Setting up the data dictionary includes: setting up the TechnicalRooms data dictionary, Signals data dictionary, Overlaps data dictionary, Secondary_Detection_Devices data dictionary, Blocks data dictionary, Switches data dictionary, and Points data dictionary.
3. The method for generating a protective turnout combination for a protected route as described in claim 2, characterized in that, The TechnicalRooms data dictionary is used to define all interlocking central stations related attributes, including central station number (ID) and central station name (Name). The Signals data dictionary is used to define all signals and their related attributes, including the signal ID, the signal's protection direction, the secondary_detection_Device_ID of the inner interlocking section protected by the signal, the overlap_ID of the protection section associated with the signal, and the technical_Room_ID of the interlocking station to which the signal belongs. The Overlaps data dictionary is used to define all protected sections and their related attributes, including the protected section ID, the protected section type Overlap_Type, the range covered by the protected section Overlap_Block_ID_List, and the protected section protection path End point Overlap_End_List. The Secondary_Detection_Devices data dictionary is used to define all interlocking sections, including the section number (ID) and the Point_ID_List of turnouts contained in the interlocking section; The Blocks data dictionary is used to define all the smallest logical blocks and the topological connections between blocks. It includes the block number ID, the interlocking section Secondary_Detection_Device_ID in which the block is located, the turnout point Point_ID to which the block belongs, the block number Next_Up_Reverse_Block_ID for the block connected in the Up direction, the block number Next_Up_Normal_Block_ID for the block connected in the Up direction, the block number Next_Down_Reverse_Block_ID for the block connected in the Down direction, and the block number Next_Down_Normal_Block_ID for the block connected in the Down direction. The Switches data dictionary is used to define all switches and their related attributes, including switch ID, switch name, switch points Convergent_Point_ID_List and Divergent_Point_ID_List, switch type Switch_Type, switch group type Switch_Group_Type, and the associated switch Coupled_With_Switch_ID. The Points data dictionary is used to define all turnout points and related attributes, including the Point's ID and the Point's Fouling area, Fouling_Block_ID_List.
4. The method for generating a protective turnout combination for a protected route as described in claim 3, characterized in that, In the interlocking data, the route protection zone is mainly composed of route blocking signals, and is associated with the protection zone in the Overlaps data dictionary through the Overlap_ID attribute in the Signals data dictionary.
5. The method for generating a protective turnout combination for a protected route as described in claim 1, characterized in that, In S107, the method for determining whether the protection path includes a locating branch of the turnout point or a reversing branch of the turnout point includes: The first inner block protected by the associated signal in the protected section is B1, B2 is in front of the Up-side turnout of B1, and B5 is diagonally above the Up-side turnout of B1. Starting from B1, search along the Up direction. Based on the Next_Up_Normal_Block_ID and Next_Up_Reverse_Block_ID of B1, the post-fork positioning branch of B1 in the Up direction is B2 and the post-fork reversal branch is B5. Searching along B2 and B5 towards Up respectively, two protection paths are obtained: path1 via B1 and B2, and path2 via B1 and B5. Among them, protection path1 includes the positioning branch B2 of the turnout point, and protection path2 includes the reverse branch B5 of the turnout point.
6. The method for generating a protective turnout combination for a protected route as described in claim 1, characterized in that, In S107, the methods for finding the turnout SW where the turnout point is located include: Using the ID of the turnout point in the PointS data dictionary as input, traverse the Switches data dictionary. If the Convergent_Point_ID_List or Divergent_Point_ID_List attribute of a switch contains the ID, then the switch is the turnout where the current turnout point is located.
7. The method for generating a protective turnout combination for a protected route as described in claim 1, characterized in that, In S110, the method for determining whether the turnout points constituting SW1 encroach on the fouling of the turnout points constituting SW2 includes: Query the Points data dictionary to find the Fouling_Block_ID_List attribute values of the turnout points that make up SW1 and SW2, which are foulingBlockList1 and foulingBlockList2, respectively. Combined with the Blocks data dictionary, find the front block, rear positioning branch block, and rear reversing branch block of the turnout points contained in SW1. If foulingBlockList2 contains the rear positioning branch block or the rear reversing branch block of the turnout points that make up SW1, it means that the turnout points that make up SW1 encroach on the fouling of the turnout points that make up SW2.