Fault diagnosis method and device based on tree correlation structure, equipment and medium

By constructing a fault diagnosis method with a tree-like relational structure, the problems of repetitive alarms and insufficient logical association in the vehicle fault diagnosis system are solved, achieving efficient and accurate fault diagnosis and optimizing system resource utilization.

CN121644309APending Publication Date: 2026-03-10DONGFENG COMML VEHICLE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-25
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing vehicle fault diagnosis systems suffer from problems such as excessive repetitive alarm messages, inability to establish logical connections between faults, and inability to dynamically adjust diagnostic strategies based on vehicle status when faced with complex faults in high-precision positioning controllers, resulting in low diagnostic efficiency.

Method used

A fault diagnosis method based on a tree-like association structure is constructed. By establishing a fault diagnosis tree, the relationship between nodes and vehicle operating status parameters are used to filter out and identify derived fault codes, dynamically adjust the diagnosis strategy, and prioritize the diagnosis of critical faults.

Benefits of technology

It effectively reduced the rate of repeated alarms and false alarms, improved the efficiency and accuracy of fault diagnosis, optimized the utilization of system resources, and enhanced the response speed and adaptability of the diagnostic system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121644309A_ABST
    Figure CN121644309A_ABST
Patent Text Reader

Abstract

The invention discloses a fault diagnosis method, device, equipment and medium based on a tree association structure, and the method comprises the steps: constructing a fault diagnosis tree, enabling each node in the fault diagnosis tree to correspond to a fault code of a fault diagnosis item, and enabling the nodes to be connected according to the association relation of the fault diagnosis items; obtaining a current diagnosis result corresponding to each fault diagnosis item, and writing the current diagnosis result into a corresponding node in the fault diagnosis tree; filtering the fault codes of the fault diagnosis items which are identified as derivatives according to a filtering rule based on the association relationship of the nodes in the fault diagnosis tree and the current diagnosis result; and the fault code list is updated according to the filtering result, so that repeated warning among the functional modules can be reduced, the fault false alarm rate is remarkably reduced, the diagnosis response speed is improved, and the occupation of system resources is effectively reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of vehicle fault diagnosis, in particular to a fault diagnosis method and device based on tree association structure, equipment and medium. BACKGROUND

[0002] With the rapid development of intelligent auxiliary driving technology, the intelligent level of vehicles is continuously improving. As a key component in the intelligent driving system, the high-precision positioning controller is becoming increasingly important. The high-precision positioning controller is responsible for providing accurate position information of the vehicle, providing basic support for advanced functions such as autonomous driving and intelligent navigation. However, the existing vehicle fault diagnosis system has many deficiencies when facing complex faults of high-precision positioning controllers, and it is difficult to meet the requirements of high precision, high efficiency and high reliability of fault diagnosis for intelligent driving systems.

[0003] The existing vehicle fault diagnosis system usually adopts a module-independent diagnosis method, and each module detects its own faults and reports them. For example, when the positioning system appears abnormal, the automatic driving module, navigation module, etc. that rely on positioning data will also trigger fault alarms respectively. This independent diagnosis mechanism leads to the generation of a large amount of repeated alarm information, increases the complexity of the system, and makes it difficult for maintenance personnel or the system to quickly locate the core problem, reducing the diagnosis efficiency.

[0004] During vehicle operation, there is a logical association between some faults. For example, the loss of engine heartbeat signal may mean that the vehicle's power system has a serious problem, at which time the abnormal alarm of the positioning system may be secondary, or even indirectly caused by engine failure. However, the existing system fails to establish such a logical association between faults, and cannot screen secondary faults based on core faults. The lack of such conditional coupling causes all fault information to be treated equally, without distinguishing between primary and secondary, further increasing the complexity of diagnosis.

[0005] The vehicle has different needs for fault diagnosis in different operating states (such as high-speed driving, low-speed driving, parking, etc.). For example, when driving at high speed, some faults have a greater impact on vehicle safety and need to be diagnosed first; while in the parking state, all modules of the vehicle can be more comprehensively detected. However, the traditional fault diagnosis system cannot dynamically adjust the diagnosis strategy according to the real-time state of the vehicle, lacks a real-time filtering mechanism, and thus the diagnosis process cannot adapt to different operating scenarios, reducing the diagnosis efficiency and adaptability.

[0006] Therefore, there is an urgent need for a new fault diagnosis method and system that can effectively solve the deficiencies of existing technology and improve the efficiency and accuracy of fault diagnosis. SUMMARY

[0007] The application provides a fault diagnosis method, device and equipment based on a tree-shaped association structure and a medium, and can solve the technical problem of difficulty in locating fault causes of a vehicle-mounted fault diagnosis system caused by overload of fault information.

[0008] In a first aspect, the embodiments of the application provide a fault diagnosis method based on a tree-shaped association structure, which comprises the following steps: constructing a fault diagnosis tree, wherein each node in the fault diagnosis tree corresponds to a fault code of a fault diagnosis item, and nodes are connected according to an association relationship of the fault diagnosis items; obtaining a current diagnosis result corresponding to each fault diagnosis item, and writing the current diagnosis result into a corresponding node in the fault diagnosis tree; based on the association relationship of the nodes in the fault diagnosis tree and the current diagnosis result, filtering a fault code of a fault diagnosis item identified as a derivative according to a filtering rule; updating a fault code list according to a filtering result.

[0009] In combination with the first aspect, in an implementation mode, the step of constructing the fault diagnosis tree comprises the following steps: setting a front fault diagnosis item serving as a root fault cause as a parent node of the fault diagnosis tree based on an association relationship of the fault diagnosis items; setting a back fault diagnosis item caused by the front fault diagnosis item as a corresponding child node to establish an association relationship between the fault diagnosis items.

[0010] In combination with the first aspect, in an implementation mode, the step of constructing the fault diagnosis tree further comprises the following steps: adding a vehicle running state parameter as a condition node to the fault diagnosis tree, the condition node is associated with a node of at least one fault diagnosis item, and the condition node does not serve as a fault diagnosis result; wherein the vehicle running state parameter comprises a vehicle speed and an automatic driving mode state signal.

[0011] In combination with the first aspect, in an implementation mode, the filtering rule comprises the following steps: if a current diagnosis result of a back fault diagnosis item is a fault occurrence and a current diagnosis result of a corresponding front fault diagnosis item is also a fault occurrence, filtering a fault code of the back fault diagnosis item; if the current diagnosis result of the back fault diagnosis item is a fault occurrence and the current diagnosis result of the corresponding front fault diagnosis item is no fault, retaining the fault code of the back fault diagnosis item.

[0012] In combination with the first aspect, in an implementation, based on the correlation relationship of the nodes in the fault diagnosis tree and the current diagnosis result, the fault codes of the fault diagnosis items identified as derived are filtered according to a filtering rule, including: starting from a post fault diagnosis item node in the fault diagnosis tree, traversing to a pre fault diagnosis item node along the correlation relationship; if the current diagnosis result of a post fault diagnosis item node is fault, determining whether there is a directly correlated pre fault diagnosis item node; if there is no directly correlated pre fault diagnosis item node, retaining the fault code of the post fault diagnosis item node; if there is, and the pre fault diagnosis item node of the pre fault diagnosis item node is also fault, filtering the fault code of the post fault diagnosis item, and continuing to traverse starting from the pre fault diagnosis item node as a new starting point; if there is, but the current diagnosis result of the pre fault diagnosis item node is no fault, retaining the fault code of the post fault diagnosis item.

[0013] In combination with the first aspect, in an implementation, the current diagnosis result corresponding to each fault diagnosis item is obtained, and the current diagnosis result is written into the corresponding node in the fault diagnosis tree, and the method further includes: determining the fault type corresponding to the fault diagnosis item, wherein the fault type includes an overtime monitoring fault, a single event monitoring fault and a continuous monitoring fault; if the fault type corresponding to the fault diagnosis item is the overtime monitoring fault and the single event monitoring fault, if no valid signal for resetting the overtime counter is received within a preset monitoring period, determining that the current diagnosis result is fault; if the fault type corresponding to the fault diagnosis item is the continuous monitoring fault, taking the fault diagnosis result reported by the corresponding functional module in real time as the corresponding current diagnosis result.

[0014] In combination with the first aspect, in an implementation, after updating the fault code list according to the filtering result, the method further includes: sending the fault code list to a vehicle control unit, so that the vehicle control unit performs vehicle state management or fault warning.

[0015] The second aspect provides a fault diagnosis device based on a tree-shaped correlation structure, including: a construction module configured to construct a fault diagnosis tree, wherein each node in the fault diagnosis tree corresponds to a fault code of a fault diagnosis item, and the nodes are connected according to the correlation relationship of the fault diagnosis items; an acquisition module configured to acquire a current diagnosis result corresponding to each fault diagnosis item and write the current diagnosis result into a corresponding node in the fault diagnosis tree; a filtering module configured to filter fault codes identified as derived fault diagnosis items according to a filtering rule based on the association relationship of nodes in the fault diagnosis tree and the current diagnosis result; an updating module configured to update a fault code list according to a filtering result.

[0016] In a third aspect, an embodiment of the present application provides a fault diagnosis device based on a tree-shaped association structure, which comprises a processor, a memory, and a fault diagnosis program based on a tree-shaped association structure stored in the memory and executable by the processor. When the fault diagnosis program based on a tree-shaped association structure is executed by the processor, the steps of the fault diagnosis method based on a tree-shaped association structure according to any one of the preceding aspects are implemented.

[0017] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, which stores a fault diagnosis program based on a tree-shaped association structure. When the fault diagnosis program based on a tree-shaped association structure is executed by a processor, the steps of the fault diagnosis method based on a tree-shaped association structure according to any one of the preceding aspects are implemented. The technical scheme provided by the embodiments of the present application has the following beneficial effects: By constructing a fault diagnosis tree, each node in the fault diagnosis tree corresponds to a fault code of a fault diagnosis item, and nodes are connected according to the association relationship of fault diagnosis items. The current diagnosis result corresponding to each fault diagnosis item is acquired, and the current diagnosis result is written into the corresponding node in the fault diagnosis tree. The fault codes of the fault diagnosis items identified as derived are filtered according to a filtering rule based on the association relationship of nodes in the fault diagnosis tree and the current diagnosis result. The fault code list is updated according to the filtering result, which reduces the repeated warnings of each module and the overall false positive rate, effectively helps to improve the fault diagnosis efficiency, and greatly reduces the data processing burden and communication load of the controller, optimizes the utilization efficiency of CPU and bus resources. BRIEF DESCRIPTION OF DRAWINGS

[0018] Figure 1 A flowchart of an embodiment of the fault diagnosis method based on a tree-shaped association structure of the present application; Figure 2 An association relationship diagram of the fault diagnosis tree of the present application; Figure 3 A specific flowchart of the fault diagnosis based on a tree-shaped association structure of the present application; Figure 4Fig. 1 is a schematic diagram of a function module of an embodiment of the fault diagnosis device based on a tree-shaped association structure according to the present application; Figure 5 Fig. 2 is a schematic diagram of a hardware structure of the fault diagnosis device based on a tree-shaped association structure according to the present application. DETAILED DESCRIPTION

[0019] In order to enable persons skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by persons skilled in the art without creative labor fall within the scope of protection of the present application.

[0020] In order to make the purpose, technical solutions and advantages of the present application clearer, the embodiments of the present application will be described in further detail below with reference to the drawings.

[0021] In a first aspect, the embodiments of the present application provide a fault diagnosis method based on a tree-shaped association structure.

[0022] In an embodiment, the fault diagnosis method based on a tree-shaped association structure comprises the following steps. Figure 1 Figure 1 Fig. 1 is a schematic diagram of a flow of the fault diagnosis method based on a tree-shaped association structure according to the present application. As shown in Fig. 1, the fault diagnosis method based on a tree-shaped association structure comprises the following steps. Figure 1 Step S101, constructing a fault diagnosis tree, wherein each node in the fault diagnosis tree corresponds to a fault code of a fault diagnosis item, and the nodes are connected according to the association relationship of the fault diagnosis items.

[0023] In an embodiment, the step of constructing the fault diagnosis tree comprises: setting a preposed fault diagnosis item serving as a root cause as a parent node of the fault diagnosis tree based on the association relationship of the fault diagnosis items; and setting a postposed fault diagnosis item caused by the preposed fault diagnosis item as a corresponding child node, so as to establish the association relationship between the fault diagnosis items.

[0024] ​​It is worth mentioning that all fault diagnosis items can be pre-stored in the fault diagnosis tree, and each node m_ptrDiagnoseFrameLeaf in the fault diagnosis tree points to a fault diagnosis item. Taking the two fault diagnosis items of "ADCU no response and" and "engine profile accumulation" as examples, "ADCU no response" is the root cause of the abnormal phenomenon of "engine profile accumulation". According to the association relationship between the two, when the fault diagnosis tree is constructed, "ADCU no response" is set as the front fault diagnosis item and as the parent node, and "engine profile accumulation" is set as the post fault diagnosis item triggered by the front fault diagnosis item and as the corresponding child node. In this way, the association between the two fault diagnosis items is fixed in the structure of the diagnosis tree. The connection relationship of other fault diagnosis item nodes is similar, and the fault diagnosis tree can be constructed.

[0025] As a preferred embodiment, the constructing the fault diagnosis tree further comprises: adding a vehicle running state parameter as a condition node to the fault diagnosis tree, the condition node is associated with the node of at least one fault diagnosis item, and the condition node is not a fault diagnosis result. Wherein, the vehicle running state parameter includes vehicle speed and automatic driving mode state signal.

[0026] Wherein, the automatic driving mode state signal specifically includes an ADMode signal, and the ADMode signal includes an Engage state and an Enable state. The Engage state is used to indicate whether the automatic driving system is in an activated state (AD is ready but not entered), and the Enable state is used to indicate whether the automatic driving system is in an enabled state (AD is ready and entered).

[0027] In this embodiment, the vehicle running state parameter is added as a condition node to the fault diagnosis tree, which can help to determine whether some fault diagnosis items need to be filtered. For example, when the vehicle is in a non-automatic driving mode (the Enable state is False), only the fault diagnosis related to the automatic driving function (such as "abnormal path planning") should not be triggered logically. By associating the Enable state as a condition node with these diagnosis items, it can be realized that all related fault diagnoses are automatically shielded and reported in the non-automatic driving mode, thereby fundamentally avoiding the interference of a large number of invalid alarms to the driver or maintenance personnel.

[0028] Exemplarily, the connection relationship between the front fault diagnosis item and the post fault diagnosis item in the constructed fault diagnosis tree is as shown in Figure 2 , which includes: Establish the association between the location map and each fault DTC code, the function interface is: Void KTDiagnseSetGetLocationMapDataCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the planning map and each DTC code, the function interface is: void KTDiagnseSetGetDecisionMapDataCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the location data and each DTC code, the function interface is: void KTDiagnseSetGetPositionDataCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the decision map start error and each DTC code, the function interface is: void KTDiagnseSetEngineDecisionMapStartCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the location map start error and each DTC code, the function interface is: void KTDiagnseSetEngineLocationMapStartCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the area management module start error and each DTC code, void KTDiagnseSetEngineAreaManagerModuleStartCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the itinerary list format error and each DTC code, the function interface is: void KTDiagnseSetItineraryListFormatCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the itinerary list setting too frequently and each DTC code, void KTDiagnseSetItineraryListSetTooOftenCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the format error of third-party route data and each DTC code: void KTDiagnseSetThirdPartyPathDataFormatCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the loss of fusion PVT data and each DTC code, and the function interface is: void KTDiagnseSetFusionPVTLoseCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the app positioning point not sent and each DTC code: void KTDiagnseAppPositionNoSendCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the heading angle deviation too large and each DTC code: void KTDiagnseHeadingAngleTooLargeCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the engine sending profile accumulation and each DTC code: void KTDiagnseProfileUpRushCompose(std::vector<DiagnoseComposePtr_>&); Establish the association between the IVI-SD packet failure and each DTC code: void KTDiagnseIVIPackagCompose(std::vector<DiagnoseComposePtr_>&).

[0029] In step S102, the current diagnosis result corresponding to each fault diagnosis item is obtained, and the current diagnosis result is written into the corresponding node in the fault diagnosis tree.

[0030] For example, each fault diagnosis item is diagnosed by the corresponding fault diagnosis module according to the corresponding diagnosis rule, and the fault diagnosis result is output. For all fault diagnosis items, the diagnosis result is set using KTDiagnseFrameItem() after diagnosis is completed.

[0031] The function interface for setting the fault diagnosis result is: void KTDiagnoseFrameItem(const DTCType&eDTCType, const bool&state). The input parameters include: the specific fault diagnosis item content (const DTCType&eDTCType); and the diagnosis result of the corresponding item (const bool&state), wherein True indicates no fault, and False indicates that a fault occurs. The logic flow is to associate the obtained fault diagnosis result pointer m_stDtcItemLeaf, and execute the assignment function KTDiagnoseItemLeaf().

[0032] In an embodiment, the fault type corresponding to the fault diagnosis item is determined, wherein the fault type includes a timeout type monitoring fault (Time type), a single event monitoring fault (Once type), and a continuous monitoring fault (Keep type).

[0033] If the fault type corresponding to the fault diagnosis item is a timeout type monitoring fault and a single event monitoring fault, if no valid signal for resetting the timeout counter is received within a preset monitoring period, it is determined that the current diagnosis result is a fault. If the fault type corresponding to the fault diagnosis item is a continuous monitoring fault, the fault diagnosis result reported in real time by the corresponding functional module is taken as the corresponding current diagnosis result.

[0034] An example is described by taking a timeout type monitoring fault (Time type) as an example. The diagnosis logic of this type of fault is periodically executed by a specific processing function (for example, KTDiagnoseItemDeal()).

[0035] The system presets a timeout threshold (for example, u_time) for each timeout type fault item. The processing function is monitored by a counter (for example, u_tick). If the value of the counter accumulates to exceed the timeout threshold since the last valid signal indicating normality is received, and no new valid signal is received during this period, the system determines that the current diagnosis state of the fault item is “fault” (for example, the associated state flag m_stDtcItemLeaf is set to false).

[0036] The valid signal indicating normality is provided by other functional modules through a unified interface KTDiagnoseFrameItem(). Whenever this signal is received, the system resets the corresponding counter (for example, u_tick=0) to indicate that the communication link or functional state is normal; if not, the counter is accumulated (for example, u_tick++) at each diagnosis period.

[0037] To avoid false alarm caused by transient unstable state in system power-on initialization process, the embodiment introduces power-on delay strategy. Specifically, in the initial stage after system startup (for example, u_tick<10), the timeout judgment logic is not executed temporarily, thereby leaving time for each module to establish stable communication, effectively improving system reliability and reducing the false judgment rate of timeout type monitoring faults.

[0038] For Keep type fault items, the state of such faults is continuously monitored by the corresponding functional module and is reported in real time through an interface (such as KTDiagnoseFrameItem). Therefore, the dedicated diagnosis processing function (such as KTDiagnoseItemDeal()) does not need to perform additional periodic calculation or timeout judgment, and can be a null operation in specific implementation.

[0039] In step S103, based on the association relationship of the nodes in the fault diagnosis tree and the current diagnosis result, the fault codes of the fault diagnosis items identified as derived are filtered according to a filtering rule.

[0040] In an embodiment, the filtering rule includes: if the current diagnosis result of a post fault diagnosis item is fault and the current diagnosis result of the corresponding pre fault diagnosis item is also fault, filtering the fault code of the post fault diagnosis item; if the current diagnosis result of the post fault diagnosis item is fault and the current diagnosis result of the corresponding pre fault diagnosis item is no fault, retaining the fault code of the post fault diagnosis item.

[0041] Specifically, the filtering rule is described as follows: starting from the post fault diagnosis item (for example, engine profile accumulation) as the starting point, if the current diagnosis result of the post fault diagnosis item is fault false and the current diagnosis result of the pre fault diagnosis item (for example, ADCU no response) is also fault false, only reporting the fault (ADCU no response) of the pre fault diagnosis item; if the post fault diagnosis item is fault false and the pre fault diagnosis item is no fault true, only reporting the fault (engine profile accumulation) of the post fault diagnosis item.

[0042] Specifically, based on the association relationship of the nodes in the fault diagnosis tree and the current diagnosis result, the fault codes of the derived fault diagnosis items are filtered according to a filtering rule, including: taking a posterior fault diagnosis item node in the fault diagnosis tree as a starting point, traversing to an anterior fault diagnosis item node along the association relationship; if the current diagnosis result of a posterior fault diagnosis item node is a fault, it is judged whether there is a directly associated anterior fault diagnosis item node; if there is no directly associated anterior fault diagnosis item node, the fault code of the posterior fault diagnosis item node is retained; if there is, and the anterior fault diagnosis item node of the anterior fault diagnosis item node is also a fault, the fault code of the posterior fault diagnosis item is filtered, and the traversal is continued with the anterior fault diagnosis item node as a new starting point; if there is, but the current diagnosis result of the anterior fault diagnosis item node is no fault, the fault code of the posterior fault diagnosis item is retained.

[0043] For example, the filtering calculation is implemented by a specific filtering function, for example: (KTDiagnoseFrameCompose::KTDiagnoseCompose (Dtc_&v_Dtc_)).

[0044] The input and output parameters of the function are both references of a fault code list (for example, v_Dtc_). The algorithm directly operates on the input fault diagnosis result list, and the filtered result directly updates the list (v_Dtc_), which embodies its high efficiency.

[0045] The core logic of the filtering function is to traverse a pre-generated "association relationship set". The set (for example, m_vDiagnoseContent) is a vector, and each element of the vector is a pointer (for example, DiagnoseComposePtr_) pointing to an independent logical association subnet (that is, a branch or subtree of the fault diagnosis tree).

[0046] The algorithm traverses each pointer in the set by loop: void KTDiagnoseFrameCompose::KTDiagnoseCompose (Dtc_&v_Dtc_) If there is an association relationship, it is called through the association pointer: for (auto ptr_compose_ : m_vDiagnoseContent) if (ptr_compose_){ ptr_compose_->KTDiagnoseCompose(vDtc); / / When the returned result has a connection relationship, each established connection relationship will be traversed to find the diagnostic item associated with m_vDiagnoseContent that has a connection relationship.

[0047] Taking the established connection relationship of four fault items A, B, C, and D as an example, assume that A and B / D are related as successors and predecessors, and B and C are related as successors and predecessors. When performing calculations, the outer layer traverses the A and B items that have a relationship, and the inner layer traverses the child nodes of each item. The specific filtering calculation process is as follows: The algorithm first processes fault item A. Upon finding that A's state is "transmission fault" (false), the algorithm enters the connection relationship A / B (adding B to the list of child nodes to be traversed, m_vDiagnoseFrameContent), checks the state of B, and if B's ​​state is also false, then A's state is set to true; then it enters the connection relationship A / D, and similarly executes the connection relationship for D; if A has no other connection relationships, v_Dtc is updated; similarly, if B is false, it enters the connection relationship B / C, executes the connection relationship for C, and updates v_Dtc.

[0048] Step S104: Update the fault code list based on the filtering results.

[0049] In one embodiment, after updating the fault code list based on the filtering results, the method further includes: sending the fault code list to the vehicle controller for vehicle status management or fault warning. That is, the final filtered fault code list v_Dtc_ will be sent to the vehicle domain controller for display on the instrument panel, thereby providing the driver or maintenance personnel with the most direct and fundamental fault information.

[0050] As an example, a list (e.g., std::vector) will be initialized to temporarily store the final results of this diagnostic cycle.<Dtc_> vDtcs;). This list is initially empty and is used to collect the fault diagnosis items after preliminary screening. The function enters a loop that iterates through each fault diagnosis item in the global diagnosis item array (e.g., m_ptrDiagnoseFrame[u_dtc_type]). For the currently iterated diagnosis item, the following operations are performed: The diagnostic calculation function corresponding to the diagnostic item (i.e., KTDiagnoseItemDeal()) is called to update its latest diagnostic status (e.g., update the status value in m_stDtcItemLeaf). This step ensures that the status of all fault items is the latest valid status for the current period, and in particular, it completes the timeout determination for timeout faults.

[0051] After obtaining the latest status, if the system determines that the current diagnostic item is a root node (i.e., in the previous association calculation, it was marked with a compose state set to true because it was the parent node and its child nodes also failed), then this diagnostic item is the root cause of other failures. It itself has been retained, while all its derived failures (child nodes) have been filtered out. Therefore, the system skips this diagnostic item and does not add it to the vDtcs list. If the current diagnostic item is not a root node (e.g., GetCompose() == false), then its diagnostic code (DTC) and status are added to the vDtcs list. After all diagnostic items have been traversed, the vDtcs list contains all the failure items that were not initially filtered out and need to be considered. At this point, the system calls the association calculation function again to perform a global filter on the vDtcs list. This step ensures that there are no derived relationships between the remaining failure items in the list, thus obtaining the most concise and fundamental failure list.

[0052] The vDtcs list after the above filtering process is sent to the vehicle microcontroller (MCU) through a communication interface (e.g., the KTPlatMidDTCSendToMCU function) to drive the instrument display or trigger other vehicle control strategies.

[0053] In a specific embodiment, the functional interfaces used to implement fault diagnosis based on a tree-like association structure include: External call interface (class): KTDiagnoseFrameWrapper; The module's main function interface (class) is KTDiagnoseFrameManager; KTDiagnoseFrameManager::KTDiagnoseFrameItem() / / All modules; use this function to set faults during execution. Abstract interface (class): KTDiagnoseFrameItem; Different derived fault item interfaces (classes): KTDiagnoseFrameItemKeep, KTDiagnoseFrameItemOnce, KTDiagnoseFrameItemTime; Handling fault broadcast filtering conditions (calculating connection relationships) interface (class) KTDiagnoseFrameCompose Input parameters include: each diagnostic item is executed during normal operation or under abnormal conditions using KTDiagnoseFrameItem(); and the fault status is set to True or False.

[0054] The output parameters include: KTPlatMidDTCSendToMCU(dtcnumbers, buff, bufflen).

[0055] The logical flow includes: (1) initialization of the diagnostic module, initialization of the data channel, and acquisition of version information; (2) the module performs internal related fault detection: system memory, CPU, and network detection; (3) receiving the ADMode signal, calculating the Engage and Enable states, calculating vehicle speed information, and changing DTCEnableStates and DTCEnableSpeedStates through KTDiagnoseFrameItem() to facilitate subsequent judgment of the connection relationship of fault broadcasting; (4) whether IVI is sent after the fault diagnosis button is pressed; (5) processing and sending of fault diagnosis results: m_DiagnoseManager.KTDiagnoseFrameDeal(), which performs the following processes: During initialization, the `KTDiagnoseFrameManager` class creates an array `m_ptrDiagnoseFrame[MAXNumberDTCTypes]` to store the fault diagnosis list. Each array item contains the DTC code, diagnosis cycle, diagnosis delay time, and diagnosis result. Initialization pointers point to different types: Keep / Once / Time. Connections between diagnostic items are established (i.e., filtering relationships; if a preceding fault has a problem, a subsequent fault will not be reported). The `m_ptrDiagnoseFrame` array list items are traversed, and `KTDiagnoseItemDeal()` is calculated for each item. The `KTDiagnoseItemDeal()` function adds a fault diagnosis delay and timeout judgment logic during initialization (for Time and Once type faults). If the fault is a terminal node, the diagnosis result pointed to by `m_ptrDiagnoseFrame` is retrieved and stored in the `vDtc` structure array. If a connection relationship exists, the connection relationship is calculated and `vDtc` is updated: `KTDiagnoseCompose(vDtc)`. Finally, `vDtc` is sent to the MCU. (Load) (3) Other modules of the APP perform external diagnostics and call KTDiagnoseFrameItem() to return the diagnostic results to the diagnostic module.

[0056] The fault diagnosis method based on a tree-like association structure provided in this application establishes logical causal relationships between fault diagnostic codes. Based on this, it achieves dynamic identification and suppression of derivative faults through a logical backtracking strategy from symptoms to causes. This solution effectively overcomes the shortcomings of fault information overload in existing technologies, resulting in significant benefits including: a substantial reduction in false alarm rates and duplicate warnings between modules, improved response speed of the diagnostic system, and optimized utilization of system computing and communication resources, thereby improving the overall accuracy and efficiency of vehicle fault diagnosis.

[0057] Secondly, embodiments of this application also provide a fault diagnosis device based on a tree-like association structure.

[0058] In one embodiment, reference is made to Figure 4 , Figure 4 This is a functional module diagram of an embodiment of the fault diagnosis device based on a tree-like association structure according to this application. Figure 4 As shown, the fault diagnosis device based on a tree-like association structure includes: A construction module is used to construct a fault diagnosis tree, wherein each node in the fault diagnosis tree corresponds to a fault code of a fault diagnosis item, and the nodes are connected according to the association relationship of the fault diagnosis items. The acquisition module is used to acquire the current diagnosis result corresponding to each fault diagnosis item and write the current diagnosis result into the corresponding node in the fault diagnosis tree. A filtering module is used to filter fault codes identified as derived fault diagnosis items according to filtering rules, based on the association relationship between nodes in the fault diagnosis tree and the current diagnosis result. The update module is used to update the fault code list based on the filtering results.

[0059] Furthermore, in one embodiment, the building module is also used for: Based on the association relationship of fault diagnosis items, the preceding fault diagnosis item, which is the root cause of the fault, is set as the parent node of the fault diagnosis tree. The subsequent fault diagnosis items triggered by the preceding fault diagnosis items are set as corresponding child nodes to establish the association between fault diagnosis items. Furthermore, in one embodiment, the building module is also used for: Vehicle operating status parameters are added as condition nodes to the fault diagnosis tree. The condition node is associated with at least one node of the fault diagnosis item, and the condition node is not used as a fault diagnosis result. The vehicle operating status parameters include vehicle speed and autonomous driving mode status signals.

[0060] Furthermore, in one embodiment, the filtering rules include: If the current diagnosis result of the subsequent fault diagnosis item is a fault, and the current diagnosis result of the corresponding preceding fault diagnosis item is also a fault, then the fault code of the subsequent fault diagnosis item is filtered. If the current diagnostic result of the subsequent fault diagnosis item is that a fault has occurred, while the current diagnostic result of the corresponding preceding fault diagnosis item is that there is no fault, then the fault code of the subsequent fault diagnosis item is retained.

[0061] Furthermore, in one embodiment, the filtering module is also used for: Starting from the subsequent fault diagnosis item node in the fault diagnosis tree, traverse the preceding fault diagnosis item node along the association relationship; If the current diagnosis result of a post-fault diagnosis item node is that a fault has occurred, then determine whether there is a directly related pre-fault diagnosis item node. If there is no directly associated preceding fault diagnosis item node, then the fault code of the following fault diagnosis item node is retained; If it exists, and the preceding fault diagnosis item node of the preceding fault diagnosis item node is also faulty, then the fault code of the following fault diagnosis item is filtered, and the traversal continues with the preceding fault diagnosis item node as the new starting point. If a fault exists, but the current diagnostic result of the preceding fault diagnosis item node is no fault, then the fault code of the following fault diagnosis item is retained.

[0062] Furthermore, in one embodiment, the acquisition module is further configured to: Determine the fault type corresponding to the fault diagnosis item, wherein the fault type includes timeout monitoring fault, single event monitoring fault, and continuous monitoring fault; If the fault type corresponding to the fault diagnosis item is a timeout monitoring fault or a single event monitoring fault, if no valid signal for resetting the timeout counter is received within the preset monitoring period, the current diagnosis result is determined to be a fault. If the fault type corresponding to the fault diagnosis item is a continuous monitoring fault, the fault diagnosis result reported in real time by the corresponding functional module will be used as the corresponding current diagnosis result.

[0063] Furthermore, in one embodiment, the update module is also used to: The fault code list is sent to the vehicle controller for vehicle status management or fault warning.

[0064] The functions of each module in the above-mentioned fault diagnosis device based on tree-like association structure correspond to the steps in the above-mentioned fault diagnosis method based on tree-like association structure, and their functions and implementation processes will not be described in detail here.

[0065] Thirdly, embodiments of this application provide a fault diagnosis device based on a tree-like association structure. The fault diagnosis device based on the tree-like association structure can be a personal computer (PC), a laptop computer, a server, or other device with data processing capabilities.

[0066] Reference Figure 5 , Figure 5 This is a schematic diagram of the hardware structure of a fault diagnosis device based on a tree-like association structure, as described in an embodiment of this application. In this embodiment, the fault diagnosis device based on a tree-like association structure may include a processor, a memory, a communication interface, and a communication bus.

[0067] The communication bus can be of any type and is used to interconnect the processor, memory, and communication interface.

[0068] The communication interface includes input / output (I / O) interfaces, physical interfaces, and logical interfaces used for interconnecting devices within the fault diagnosis equipment based on a tree-like association structure, as well as interfaces used for interconnecting the fault diagnosis equipment based on a tree-like association structure with other devices (such as other computing devices or user equipment). Physical interfaces can be Ethernet interfaces, fiber optic interfaces, ATM interfaces, etc.; user equipment can be displays, keyboards, etc.

[0069] Memory can be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, optical storage, hard disk, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), etc.

[0070] The processor can be a general-purpose processor, which can call a fault diagnosis program based on a tree-like association structure stored in memory and execute the fault diagnosis method based on a tree-like association structure provided in the embodiments of this application. For example, the general-purpose processor can be a central processing unit (CPU). The method executed when the fault diagnosis program based on a tree-like association structure is called can be referred to in the various embodiments of the fault diagnosis method based on a tree-like association structure in this application, and will not be repeated here.

[0071] Those skilled in the art will understand thatFigure 5 The hardware structure shown does not constitute a limitation of this application and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0072] Fourthly, embodiments of this application also provide a computer-readable storage medium.

[0073] The present application provides a computer-readable storage medium storing a fault diagnosis program based on a tree-like association structure, wherein when the fault diagnosis program based on the tree-like association structure is executed by a processor, it implements the steps of the fault diagnosis method based on the tree-like association structure described above.

[0074] The method implemented when the fault diagnosis program based on the tree-like association structure is executed can be referred to in various embodiments of the fault diagnosis method based on the tree-like association structure of this application, and will not be repeated here.

[0075] It should be noted that the sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0076] The terms "comprising" and "having," and any variations thereof, in the specification, claims, and accompanying drawings of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus. The terms "first," "second," and "third," etc., are used to distinguish different objects, etc., and do not indicate a sequence, nor do they limit "first," "second," and "third" to different types.

[0077] In the description of the embodiments of this application, terms such as "exemplary," "for example," or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplary," "for example," or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary," "for example," or "for instance" is intended to present the relevant concepts in a concrete manner.

[0078] In the description of the embodiments of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more.

[0079] In some processes described in the embodiments of this application, multiple operations or steps are included in a specific order. However, it should be understood that these operations or steps may not be executed in the order they appear in the embodiments of this application, or they may be executed in parallel. The sequence number of the operation is only used to distinguish different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed sequentially or in parallel, and these operations or steps may be combined.

[0080] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device to execute the methods described in the various embodiments of this application.

[0081] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A failure diagnosis method based on a tree-structured association structure, characterized by, The fault diagnosis method based on the tree association structure comprises the following steps: constructing a fault diagnosis tree, wherein each node in the fault diagnosis tree corresponds to a fault code of a fault diagnosis item, and nodes are connected according to the association relationship of the fault diagnosis items; obtaining current diagnosis results corresponding to each fault diagnosis item, and writing the current diagnosis results into corresponding nodes in the fault diagnosis tree; based on the association relationship of the nodes in the fault diagnosis tree and the current diagnosis results, filtering fault codes of fault diagnosis items identified as derived according to a filtering rule; updating a fault code list according to the filtering result.

2. The tree-association structure-based fault diagnosis method according to claim 1, wherein The step of constructing the fault diagnosis tree comprises the following steps: based on the association relationship of the fault diagnosis items, setting a front fault diagnosis item as a parent node of the fault diagnosis tree, wherein the front fault diagnosis item is a root cause of a fault; setting a rear fault diagnosis item triggered by the front fault diagnosis item as a corresponding child node, so as to establish the association relationship between the fault diagnosis items.

3. The tree-association structure-based fault diagnosis method according to claim 2, wherein The step of constructing the fault diagnosis tree further comprises the following steps: adding a vehicle running state parameter as a condition node to the fault diagnosis tree, wherein the condition node is associated with at least one node of the fault diagnosis items, and the condition node is not a fault diagnosis result; wherein the vehicle running state parameter comprises a vehicle speed and an automatic driving mode state signal.

4. The tree-association structure based fault diagnosis method according to claim 2, wherein, The filtering rule comprises the following steps: if the current diagnosis result of the rear fault diagnosis item is a fault, and the current diagnosis result of the corresponding front fault diagnosis item is also a fault, then filtering the fault code of the rear fault diagnosis item; if the current diagnosis result of the rear fault diagnosis item is a fault, and the current diagnosis result of the corresponding front fault diagnosis item is no fault, then retaining the fault code of the rear fault diagnosis item.

5. The tree-association structure based fault diagnosis method according to claim 4, wherein, Based on the association relationship of the nodes in the fault diagnosis tree and the current diagnosis results, filtering fault codes of fault diagnosis items identified as derived according to a filtering rule comprises the following steps: starting from a rear fault diagnosis item node in the fault diagnosis tree, traversing to a front fault diagnosis item node along the association relationship; if the current diagnosis result of a rear fault diagnosis item node is a fault, then determining whether there is a directly associated front fault diagnosis item node; if there is no directly associated front fault diagnosis item node, then retaining the fault code of the rear fault diagnosis item node; if there is a directly associated front fault diagnosis item node, and the front fault diagnosis item node of the front fault diagnosis item node is also a fault, then filtering the fault code of the rear fault diagnosis item, and continuing to traverse from the front fault diagnosis item node as a new starting point; if there is a directly associated front fault diagnosis item node, but the current diagnosis result of the front fault diagnosis item node is no fault, then retaining the fault code of the rear fault diagnosis item.

6. The tree-association structure based fault diagnosis method according to claim 1, wherein, The step of obtaining current diagnosis results corresponding to each fault diagnosis item and writing the current diagnosis results into corresponding nodes in the fault diagnosis tree further comprises the following steps: determining a fault type corresponding to the fault diagnosis item, wherein the fault type comprises an overtime type monitoring fault, a single event monitoring fault and a continuous monitoring fault; If the fault type corresponding to the fault diagnosis item is the timeout monitoring fault and the single event monitoring fault, if no valid signal for resetting the timeout counter is received within a preset monitoring period, it is determined that the current diagnosis result is a fault occurrence; If the fault type corresponding to the fault diagnosis item is the continuous monitoring fault, the fault diagnosis result reported by the corresponding functional module in real time is taken as the corresponding current diagnosis result.

7. The tree-association structure based fault diagnosis method according to claim 1, wherein, After the fault code list is updated according to the filtering result, the following is further included: The fault code list is sent to the vehicle control unit, so that the vehicle control unit performs vehicle state management or fault warning.

8. A failure diagnosis apparatus based on a tree-structured association structure, characterized by comprising: a failure diagnosis unit that diagnoses a failure of a device based on the tree-structured association structure. The fault diagnosis device based on the tree-shaped association structure comprises: A construction module is configured to construct a fault diagnosis tree, wherein each node in the fault diagnosis tree corresponds to a fault code of a fault diagnosis item, and nodes are connected according to the association relationship of the fault diagnosis items; An acquisition module is configured to acquire a current diagnosis result corresponding to each fault diagnosis item, and write the current diagnosis result into a corresponding node in the fault diagnosis tree; A filtering module is configured to filter the fault codes of the derived fault diagnosis items according to a filtering rule based on the association relationship of the nodes in the fault diagnosis tree and the current diagnosis result. An updating module is configured to update a fault code list according to a filtering result.

9. A failure diagnosing apparatus based on a tree-structured association structure, characterized by comprising: The fault diagnosis device based on the tree-shaped association structure comprises a processor, a memory, and a fault diagnosis program based on the tree-shaped association structure stored on the memory and executable by the processor, wherein when the fault diagnosis program based on the tree-shaped association structure is executed by the processor, the steps of the fault diagnosis method based on the tree-shaped association structure according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a fault diagnosis program based on the tree-shaped association structure, wherein when the fault diagnosis program based on the tree-shaped association structure is executed by the processor, the steps of the fault diagnosis method based on the tree-shaped association structure according to any one of claims 1 to 7 are implemented.