A SCADE-based interlocking system, an interlocking control method, a device and a storage medium
By adopting a vertically layered architecture based on SCADE, the flexibility and stability of the rail transit interlocking system are realized, the adaptability and maintenance challenges of the existing system under diverse needs are solved, and the system's compatibility and scalability are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING HOLLYSYS
- Filing Date
- 2023-02-21
- Publication Date
- 2026-06-16
Smart Images

Figure CN116301748B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to, but is not limited to, rail transit technology, and more specifically, to a SCADE-based interlocking system, interlocking control method, device, and storage medium. Background Technology
[0002] Rail transit includes not only subways, but also a layered, integrated rail transit network, namely the integration of four networks: trunk railways, intercity railways, suburban railways, and urban rail transit.
[0003] Computer-controlled interlocking systems, as fundamental signaling equipment in rail transit, control the interdependent relationships between routes, signals, and switches, and are a crucial technical measure to ensure train operation safety. However, existing interlocking systems cannot meet diverse product requirements, primarily in the following ways: 1. Urban rail transit interlocking systems lack universality for special lines, special scenarios, or transitions from one scenario to another, necessitating product redesign if the line changes; 2. Interlocking systems primarily utilize SCADE (Safety-Critical Application Development Environment) for logical function implementation, failing to fully leverage its architectural design advantages; 3. Each module of the interlocking system revolves around physical control logic, resulting in tight coupling between modules, making maintenance and expansion difficult, and increasing the risk of modifications to one function affecting other normal functions. Summary of the Invention
[0004] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.
[0005] One embodiment of this disclosure provides a SCADE-based interlocking system, employing a vertically layered architecture, including a low-level general layer built using SCADE tools and an application logic layer, wherein:
[0006] The underlying general layer includes:
[0007] General-purpose library functions are designed to provide verified and validated general-purpose logic modules;
[0008] The public data layer is configured to provide the data structure definitions upon which the general library functions are based;
[0009] The application logic layer includes:
[0010] Multiple independent business plugins, each with its own independent processing logic and data structure definition, are configured to implement interlocking logic for various application scenarios.
[0011] The general framework is set to be responsible for the overall operation of the program, and implements interlocking functions by calling the general library functions and the business plugins.
[0012] In an exemplary embodiment of this disclosure, wherein,
[0013] The general framework is set as the overall control flow of the management program. The overall control flow includes the following processes abstracted from the interlocking function: checking the interlocking conditions, processing after the conditions are met, processing after the conditions are not met, and waiting processing that requires continuous monitoring.
[0014] The interlocking logic implemented by the business plugin includes the interlocking conditions specified in the corresponding application scenario, the processing logic after the conditions are met, and the processing logic after the conditions are not met.
[0015] In an exemplary embodiment of this disclosure, wherein,
[0016] The business plugin includes a general plugin connected to the general framework, and the general plugin includes at least one of the following: basic logic plugin, fixed logic plugin, and integrated plugin of basic library functions.
[0017] In an exemplary embodiment of this disclosure, wherein,
[0018] The business plugin also includes at least one of the following:
[0019] Specific application scenario plugins connect to the general framework through the first plugin interface;
[0020] The customized engineering plugin connects to the general framework through the second plugin interface.
[0021] In an exemplary embodiment of this disclosure, wherein,
[0022] The interlocking system is a rail transit interlocking system.
[0023] In an exemplary embodiment of this disclosure, wherein,
[0024] The first plug-in interface and the second plug-in interface are plug-in translation interfaces;
[0025] The instrumentation translation interface retains the SCADE interface definition through the SCADE instrumentation function;
[0026] The general framework uses the SCADE interface to define and call specific application scenario plugins and / or engineering customization plugins to implement interlocking functions.
[0027] This disclosure also provides an interlocking control method in one embodiment, employing the SCADE-based interlocking system described in any embodiment of this disclosure, the method comprising:
[0028] Interlock condition check;
[0029] The process can be initiated if the interlocking conditions are met; or if the interlocking conditions fail; or the process can be initiated while continuously monitoring and awaiting further action.
[0030] In an exemplary embodiment of this disclosure, wherein,
[0031] The interlocking condition check and post-check processing include the interlocking conditions and processing specified in different application scenarios.
[0032] An embodiment of this disclosure also provides an interlocking control electronic device, including a processor and a memory storing a computer program, wherein the processor, when executing the computer program, can implement the interlocking control method described in any embodiment of this disclosure.
[0033] An embodiment of this disclosure also provides a non-transient computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, can implement the interlocking control method described in any embodiment of this disclosure.
[0034] The SCADE-based interlocking system of this disclosure adopts a vertically layered architecture, including a bottom-level general layer and an application logic layer built based on the SCADE tool. The bottom-level general layer includes: general library functions, configured to provide verified and confirmed general logic modules; and a common data layer, configured to provide the data structure definitions upon which the general library functions are based. The application logic layer includes: multiple independent business plugins, each with its own independent processing logic and data structure definitions, configured to implement interlocking logic in various application scenarios; and a general framework, configured to be responsible for the overall operation of the program, implementing interlocking functions by calling the general library functions and the business plugins. In this interlocking system, the layers and logic plugins are independent, reducing coupling. Furthermore, the shift from single-customization to plugin-based management greatly reduces the impact of subsequent maintenance and upgrades on the fixed architecture, while isolating special and general functions, reducing the impact of new requirements introduced during the engineering phase on existing stable functions, and improving flexibility.
[0035] After reading and understanding the accompanying diagrams and detailed descriptions, the other aspects can be understood. Attached Figure Description
[0036] The accompanying drawings are provided to further understand the technical solutions of the present invention and constitute a part of the specification. They are used together with the embodiments of the present invention to explain the technical solutions of the present invention, and do not constitute a limitation on the technical solutions of the present invention.
[0037] Figure 1This is a schematic diagram of an interlocking system according to an embodiment of the present disclosure;
[0038] Figure 2 This is a schematic diagram illustrating the connection between a service plugin and a general framework according to an embodiment of this disclosure;
[0039] Figure 3 This is a flowchart of an interlocking control method according to an embodiment of the present disclosure;
[0040] Figure 4 This is a schematic diagram of an interlocking control electronic device according to an embodiment of the present disclosure. Detailed Implementation
[0041] This disclosure describes several embodiments, but these descriptions are exemplary and not restrictive, and it will be apparent to those skilled in the art that more embodiments and implementations are possible within the scope of the embodiments described herein.
[0042] In the description of this disclosure, words such as "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment described as "exemplary" or "for example" in this disclosure should not be construed as being more preferred or advantageous than other embodiments. The word "and / or" in this document describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. "Multiple" refers to two or more. Furthermore, to facilitate a clear description of the technical solutions of the embodiments of this disclosure, the terms "first" and "second" are used to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" do not necessarily imply differences.
[0043] In describing representative exemplary embodiments, the specification may have presented methods and / or processes as a specific sequence of steps. However, the method or process should not be limited to the specific order of steps described herein, to the extent that it does not depend on such a specific order. As will be understood by those skilled in the art, other sequences of steps are also possible. Therefore, the specific order of steps set forth in the specification should not be construed as a limitation of the claims. Furthermore, the claims relating to the method and / or process should not be limited to the steps performed in the order written, and those skilled in the art will readily understand that these orders may be varied and still remain within the spirit and scope of the embodiments disclosed herein.
[0044] To address the challenges of deploying traditional computer-based interlocking systems across various application scenarios during the later stages of interlocking, this disclosure proposes a SCADE-based interlocking system, such as... Figure 1 As shown, a vertically layered architecture is adopted, including a low-level general layer built based on the SCADE tool and an application logic layer, wherein:
[0045] The underlying general layer includes:
[0046] General-purpose library functions are designed to provide verified and validated general-purpose logic modules;
[0047] The public data layer is configured to provide the data structure definitions upon which the general library functions are based;
[0048] The application logic layer includes:
[0049] Multiple independent business plugins, each with its own independent processing logic and data structure definition, are configured to implement interlocking logic for various application scenarios.
[0050] The general framework is set to be responsible for the overall operation of the program, and implements interlocking functions by calling the general library functions and the business plugins.
[0051] In an exemplary embodiment of this disclosure, the general framework is the kernel.
[0052] In an exemplary embodiment of this disclosure, the general framework is configured as an overall control flow of a management program, which includes the following processes abstracted from interlocking functions: checking interlocking conditions, processing after the conditions are met, processing after the conditions are not met, and waiting processing that requires continuous monitoring.
[0053] The interlocking logic implemented by the business plugin includes the interlocking conditions specified in the corresponding application scenario, the processing logic after the conditions are met, and the processing logic after the conditions are not met.
[0054] In an exemplary embodiment of this disclosure, the business plugin includes a general plugin connected to the general framework, and the general plugin includes at least one of a basic logic plugin, a fixed logic plugin, and an integrated plugin of basic library functions.
[0055] In an exemplary embodiment of this disclosure, wherein,
[0056] The business plugins also include at least one of the following: a specific application scenario plugin, which connects to the general framework through a first plugin interface; and a customized engineering plugin, which connects to the general framework through a second plugin interface.
[0057] Business plugins are determined by the complex and ever-changing application environments. For example, the application scenarios of urban rail transit differ from those of mainline railways, and the inspection conditions for signal opening also differ. Therefore, plugins are responsible for specifying the conditions to be checked and the processing required after the check is passed. A plugin is an independent component that contains independent processing logic and data structure definitions, and its purpose is to enhance or extend specific functions.
[0058] Each plugin operates on an equal footing, with no dependencies and operating independently and in isolation, implementing its own functionality based on its own data and logic. This design ensures system stability while significantly improving compatibility and maintainability.
[0059] In an exemplary embodiment of this disclosure, the interlocking system is a rail transit interlocking system.
[0060] In an exemplary embodiment of this disclosure, wherein,
[0061] The first plug-in interface and the second plug-in interface are plug-in translation interfaces;
[0062] The instrumentation translation interface retains the SCADE interface definition through the SCADE instrumentation function;
[0063] The general framework uses the SCADE interface to define and call specific application scenario plugins and / or engineering customization plugins to implement interlocking functions.
[0064] For plugins specific to certain application scenarios and customized plugins for specific projects, the framework extends through plugin interfaces. Different application scenarios within the same framework use a unified plugin interface, with different compilation sources achieving final integration, thus ensuring the framework's universality. Figure 2 As shown.
[0065] Unlike traditional C, SCADE differs in its compiled function and primitive design, making the reorganization of SCADE blocks more complex than C code.
[0066] When SCADE defines the same function in different projects, the only difference in the actual compiled C code is the function name. The input and output parameters are of types automatically generated by SCADE, meaning that SCADE itself will perform a layer of encapsulation and translation.
[0067] For example, designing a function: INT8U API_Fun(INT8U index), the C code generated by SCADE could be:
[0068] typedef struct{
[0069] IXL_INT8U / *DevNo / * / index;
[0070] }inC_API_Fun;
[0071] typedef struct{
[0072] IXL_INT8U / *DevType / * / FunOut;
[0073] }OutC_API_Fun;
[0074] Therefore, you cannot directly call the generic library functions generated by SCADE.
[0075] To integrate SCADE-generated functions into a generic library, instrumentation functions from kcg_imported_function.h are used to mask these differences, ensuring consistency across the general framework. A special API instrumentation translation function is introduced, employing an interface-oriented design. This means that without altering the interface definitions of each SCADE, replaceable drawer-style APIs (Temp_API_Fun) are implemented within the instrumentation functions. Temp_API_Fun serves as the function called by the generic architecture, encapsulating the implementation of void API_Fun(&inC,&outC).
[0076] Through instrumentation translation, mature library functions implemented in SCADE are loaded into SCADE, enabling joint design with operators within SCADE. Finally, by scheduling kernel-derived extension points, different plugins are connected to complete appropriate functions.
[0077] The interlocking system of this disclosure, based on the flexible configuration of application functions, achieves isolation from customized functions of each project. Both variable and static components are encapsulated within plug-ins, thereby achieving flexible and stable adaptation to external requirements.
[0078] This disclosure also provides an interlocking control method in one embodiment, employing the SCADE-based interlocking system described in any embodiment of this disclosure. The method is as follows: Figure 3 As shown, it includes:
[0079] Interlock condition check;
[0080] The process can be initiated if the interlocking conditions are met; or if the interlocking conditions fail; or the process can be initiated while continuously monitoring and awaiting further action.
[0081] In an exemplary embodiment of this disclosure, wherein,
[0082] The interlocking condition check and post-check processing include the interlocking conditions and processing specified in different application scenarios.
[0083] One embodiment of this disclosure also provides an interlocking control electronic device, such as... Figure 4 As shown, it includes a processor 40 and a memory 50 storing a computer program, wherein when the processor executes the computer program, it can implement the interlocking control method described in any embodiment of this disclosure.
[0084] An embodiment of this disclosure also provides a non-transient computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, can implement the interlocking control method described in any embodiment of this disclosure.
[0085] The SCADE-based interlocking system of this disclosure adopts a vertically layered architecture, including a bottom-level general layer and an application logic layer built based on the SCADE tool. The bottom-level general layer includes: general library functions, configured to provide verified and confirmed general logic modules; and a common data layer, configured to provide the data structure definitions upon which the general library functions are based. The application logic layer includes: multiple independent business plugins, each with its own independent processing logic and data structure definitions, configured to implement interlocking logic in various application scenarios; and a general framework, configured to be responsible for the overall operation of the program, implementing interlocking functions by calling the general library functions and the business plugins. In this interlocking system, the layers and logic plugins are independent, reducing coupling. Furthermore, the shift from single-customization to plugin-based management greatly reduces the impact of subsequent maintenance and upgrades on the fixed architecture, while isolating special and general functions, reducing the impact of new requirements introduced during the engineering phase on existing stable functions, and improving flexibility.
[0086] In any one or more exemplary embodiments of this disclosure, the described functionality may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functionality may be stored as one or more instructions or code on or transmitted via a computer-readable medium and executed by a hardware-based processing unit. The computer-readable medium may comprise a computer-readable storage medium corresponding to a tangible medium such as a data storage medium, or a communication medium comprising any medium facilitating the transfer of a computer program from one place to another, for example, according to a communication protocol. In this manner, the computer-readable medium may generally correspond to a non-transitory tangible computer-readable storage medium or a communication medium such as a signal or carrier wave. The data storage medium may be any available medium accessible by one or more computers or one or more processors to retrieve instructions, code, and / or data structures for implementing the techniques described in this disclosure. Computer program products may comprise computer-readable media.
[0087] For example, and not as a limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disc storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and is accessible by a computer. Furthermore, any connection may also be referred to as a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but rather refer to non-transient tangible storage media. As used herein, disks and optical discs include compact optical discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, or Blu-ray discs, where disks typically reproduce data magnetically, while optical discs use lasers to reproduce data optically. The above combinations should also be included within the scope of computer-readable media.
[0088] Instructions can be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Therefore, the term "processor" as used herein can refer to any of the above-described structures or any other structures suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described herein can be provided within dedicated hardware and / or software modules configured for encoding and decoding, or incorporated into combined codecs. Furthermore, the techniques can be fully implemented in one or more circuit or logic elements.
[0089] The technical solutions of the embodiments of this disclosure can be implemented in a wide range of at least two devices or apparatuses, including wireless mobile phones, integrated circuits (ICs), or a set of ICs (e.g., chipsets). Various components, modules, or units are described in the embodiments of this disclosure to emphasize functional aspects of a device configured to perform the described techniques, but they do not necessarily need to be implemented through different hardware units. Rather, as described above, the various units can be combined in codec hardware units or provided by a collection of interoperable hardware units (including one or more processors as described above) combined with suitable software and / or firmware.
Claims
1. A SCADE-based interlocking system, characterized in that, The architecture adopts a vertical layered structure, including a low-level general layer built based on the SCADE tool and an application logic layer, wherein: The underlying general layer includes: General-purpose library functions are designed to provide verified and validated general-purpose logic modules; The public data layer is configured to provide the data structure definitions upon which the general library functions are based; The application logic layer includes: Multiple independent business plugins, each with its own independent processing logic and data structure definition, are configured to implement interlocking logic for various application scenarios. A general framework is set up to be responsible for the overall operation of the program, and implements interlocking functions by calling the general library functions and the business plugins. The business plugins include general plugins connected to the general framework, application scenario-specific plugins, and engineering-customized plugins. The specific application scenario plugin is connected to the general framework through the first plugin interface; The customized engineering plugin is connected to the general framework through a second plugin interface; The first plug-in interface and the second plug-in interface are plug-in translation interfaces; The instrumentation translation interface retains the SCADE interface definition through the SCADE instrumentation function; The general framework uses the SCADE interface to define and call the specific application scenario plugins and / or engineering customization plugins to achieve interlocking functions. The general framework is set as the overall control flow of the management program. The overall control flow includes the following processes abstracted from the interlocking function: checking the interlocking conditions, processing after the conditions are met, processing after the conditions are not met, and waiting processing that requires continuous monitoring. The interlocking logic implemented by the business plugin includes the interlocking conditions specified in the corresponding application scenario, the processing logic after the conditions are met, and the processing logic after the conditions are not met.
2. The SCADE-based interlocking system according to claim 1, wherein, The general-purpose plugin includes at least one of the following: basic logic plugin, fixed logic plugin, and integrated plugin of basic library functions.
3. The SCADE-based interlocking system according to claim 1, wherein, The interlocking system is a rail transit interlocking system.
4. An interlocking control method, employing a SCADE-based interlocking system as described in any one of claims 1-3, the method comprising: Interlock condition check; The process shall be carried out only if the interlocking conditions are met. Or take action if the interlocking conditions fail; Alternatively, continue monitoring and await further action.
5. The interlocking control method according to claim 4, wherein, The interlocking condition check and post-check processing include the interlocking conditions and processing specified in different application scenarios.
6. An interlocking control electronic device, comprising a processor and a memory storing a computer program, wherein, When the processor executes the computer program, it can implement the interlocking control method as described in any one of claims 4-5.
7. A non-transient computer-readable storage medium storing a computer program, wherein, When the computer program is executed by the processor, it can implement the interlocking control method as described in any one of claims 4-5.