reference: Link
Diagnostic Trouble Code:
When Fault occurs in vehicle, associated ECU captures it and stores it in memory as fault code. This is specific number for type of Fault and is called Diagnostic Trouble Code. This information can be retrieved either by tools at service station or by in vehicle methodologies.
Operation Cycle:
Operation Cycle is the state in which ECU is operational. This is designer specific and it can be based on specific vehicle modes also. (Ex: Running, Pre-Running, Cranking)
Monitor Routine:
Monitor Routine or Test Routine is the program which runs every operation cycle at some periodicity. They check whether the fault is still injected or active or not. Accordingly counter for the maturity of the fault for active and inactive will be decided. Maturity of the fault confirms the DTC for active and inactive state.
Clearing the DTC:
DTC clearing is done using the ISO command for requesting Clear from the tester. The service ID is 14 for clearing the current DTCs(Fault code).
DTC status Bits:
Each DTC will have Status byte that provides the status information of DTC. Each bit in the status bytes has meaning and provides different information. Let’s start with LSB
Bit0 => This Bit is “testFailed”. This bit provides the information about the fault (Error) is still active (injected) or not. If Fault is still injected or Active, then the value is 1 otherwise the value is 0. Ex: Fault “Short Circuit” is still active.
Bit1 => This Bit is “testFailedThisOperationCycle”. This bit indicates whether the fault is occurred anytime during the current operation cycle. If Fault has occurred in the current operation cycle, then the value is 1 otherwise the value is 0.
Bit2 => This Bit is “pendingDTC”. This bit indicates whether the fault is occurred anytime during the current operation cycle. The only difference between “testFailedThisOperationCycle” and “pendingDTC” is “testFailedThisOperationCycle” is cleared at the end of current operation cycle (least bothering whether the fault is still active or inactive) and “pendingDTC” is cleared only when in next operation cycle the monitor routine is run and the result shows pass(fault is not present). So if Fault is still injected or Active in the current operation cycle, then the value is 1 otherwise if the Fault was active in previous operation cycle and is inactive (i.e monitor routine is run and fault is inactive) in the current operation cycle, then the value is 0.
Bit3 => This Bit is “confirmedDTC”. This bit informs that fault is continuously active for specific monitor routines and is matured enough in the current operation cycle so that it can be said Confirmed. If fault is active and matured, then the value is 1 otherwise the value is 0.
Bit4 => This Bit is “testNotCompletedSinceLastClear”. This bit informs that monitor routine is not run in the current operation cycle(once after Clearing the DTC is done). The reason for not running in the current operation cycle can be because particular pin is inactive in the operation cycle(Ex: Parked or hibernate vehicle mode). If the monitor routine is not completed this operation cycle, then the value is 1 otherwise the value is 0.
Bit5 => This Bit is “testFailedSinceLastClear”. This bit informs monitor routine has reported that test has failed (at least once Bit0 is set) in any operation cycle at least once after clearing the DTC action is performed. If the fault has occurred after clear DTC is performed, then the value is 1 otherwise the value is 0.
Bit6 => This Bit is “testNotCompletedThisOperationCycle”. This bit informs that the monitor routine is still not run during this current operation cycle. This is because the pin is not active for this operation cycle or when the request is sent from the tester, the monitor routine is not run. If the monitor routine is not run this operation cycle, then the value is 1 otherwise the value is 0.
Bit7 => This Bit is “warningIndicatorRequested”. This bit is used to bring into the attention of the user or driver when the fault occurs. If fault occurs and any monitor is required for specific fault, then the value is 1 otherwise the value is 0.
댓글 없음:
댓글 쓰기