The KWP2000 protocol has turn into a de facto normal in automotive diagnostic apps. It is standardized as ISO 14230-3. KWP2000 describes the implementation of a variety of diagnostic providers you can accethrough the protocol. You can run KWP2000 on various transportation layers such as K-line (serial) or CAN.
As KWP2000 utilizes messages of variable byte lengths, a transportation protocol is important on layers with only a nicely described (short) message duration, these kinds of as CAN. The transportation protocol splits a very long KWP2000 concept into pieces that can be transferred around the network and reassembles those pieces to recover the unique information.
KWP2000 runs on CAN on different transport protocols this sort of as ISO TP (ISO 15765-2), TP 1.6, TP 2. (Volkswagen), and SAE J1939-21. For KWP2000, the Automotive Diagnostic Command Set supports only the ISO TP (standardized in ISO 15765-2) and manufacturer-precise VW TP 2. transport protocols.
The diagnostic products and services readily available in KWP2000 are grouped in functional units and discovered by a one particular-byte code (ServiceId). The standard does not define all codes for some codes, the conventional refers to other SAE or ISO standards, and some are reserved for company-unique extensions. The Automotive Diagnostic Command Established supports the following providers:
• Diagnostic Management
• Data Transmission
• Saved Details Transmission (Diagnostic Difficulty Codes)
• Input/Output Manage
• Remote Activation of Regimen
Add/Obtain and Prolonged services are not part of the Automotive Diagnostic Command Set.
Diagnostic Company Format
Diagnostic companies have a popular information structure. Just about every services defines a Ask for Concept, Positive Response Concept, and Damaging Reaction Information. The Request Message has the ServiceId as first byte, moreover additional service-defined parameters. The Positive Response Concept has an echo of the ServiceId with little bit 6 established as very first byte, as well as the assistance-described reaction parameters.
The Unfavorable Response Information is ordinarily a 3-byte information: it has the Damaging Response ServiceId as initial byte, an echo of the unique ServiceId as 2nd byte, and a ResponseCode as 3rd byte. The only exception to this structure is the unfavorable reaction to an EscapeCode provider listed here, the third byte is an echo of the consumer-described provider code, and the fourth byte is the ResponseCode. The KWP2000 standard partly defines the ResponseCodes, but there is place left for manufacturer-precise extensions. For some of the ResponseCodes, KWP2000 defines an mistake dealing with course of action. Due to the fact both beneficial and damaging responses have an echo of the requested services, you can normally assign the responses to their corresponding ask for.
KWP2000 expects a diagnostic session to be started with StartDiagnosticSession and terminated with StopDiagnosticSession. Having said that, StartDiagnosticSession has a DiagnosticMode parameter that establishes the diagnostic session style. Relying on this variety, the Eu may perhaps or may perhaps not assist other diagnostic companies, or operate in a restricted mode the place not all Ecu capabilities are out there. The DiagnosticMode parameter values are maker specific and not described in the standard. For a diagnostic session to continue to be energetic, it ought to execute the TesterPresent service periodically if no other company is executed. If the TesterPresent company is lacking for a sure period of time of time, the diagnostic session is terminated, and the Eu returns to normal operation mode.
A GetSeed/Unlock mechanism may well guard some diagnostic providers. Nevertheless, the applicable products and services are remaining to the maker and not defined by the standard.You can execute the GetSeed/Unlock system by way of the SecurityAccess services. This defines various ranges of stability, but the company assigns these degrees to selected companies.
Use the Read/WriteMemoryByAddress solutions to add/obtain information to specific memory addresses on an Eu. The tackle is a three-byte quantity in KWP2000 and a 5-byte amount (four-byte handle and a single-byte extension) in the calibration protocols. The Add/Obtain purposeful device solutions are really producer specific and not nicely defined in the typical, so they are not a excellent way to supply a standard add/download mechanism.
Use the ReadDataByLocal/CommonIdentifier services to accessibility Ecu facts in a way equivalent to a DAQ checklist. A Nearby/CommonIdentifier describes a record of Eu quantities that are then transferred from the Ecu to the tester. The transfer can be both solitary price or periodic, with a slow, medium, or rapidly transfer price. The transfer charges are producer unique you can use the SetDataRates service to established them, but this environment is manufacturer certain. The Automotive Diagnostic Command Established supports single-point measurements.
Diagnostic Problems Codes
A big diagnostic aspect is the readout of Diagnostic Problems Codes (DTCs). KWP2000 defines a number of solutions that access DTCs centered on their group or position.
KWP2000 defines expert services to modify inner or exterior European alerts. A single instance is redirecting Ecu sensor inputs to stimulated indicators. The manage parameters of these instructions are producer certain and not outlined in the typical.
Remote Activation of a Regime
These solutions are similar to the ActionService and DiagService features of CCP. You can invoke an European inner plan discovered by a Regional/CommonIdentifier or a memory deal with. Contrary to the CCP circumstance, execution of this regime can be asynchronous that is, there are independent Commence, Quit, and RequestResult products and services. The control parameters of these instructions are producer particular and not outlined in the typical.
For extra facts about the KWP2000 Conventional, refer to the ISO 14230-3 conventional.