top of page

Rationality vs Functionality codes and Bypass testing

Simple Bypass Testing with any Scanner

By William Trapp


Of all the troubleshooting methods that exist, I cannot stress to you enough the simplicity and effectiveness of simple bypass testing. Essentially there are two types of trouble codes, Rationality codes and functionality codes. Each of these code types act in very different ways, and most technicians either refuse to acknowledge the difference, or just do not understand. The first key to making a quick and accurate diagnosis is to get a good grasp and understanding between these two types of codes.

A rationality code is simply a code that requires the computer to look at certain data parameters over time, and determine if the data being collected from various sensors are matching the results the computer expected to see as it was programmed by the manufacturer. A good example of this type of code would be a P0171 (System too lean Bank 1). Fuel management software in the ECM wants to maintain stochiometric fuel trim, and then tweak the mixture a little lean and a little rich in order to give the converter the gasses it needs to be effective. A P0171 trouble code indicated the ECM has to increase fuel trim past a specified parameter set by the manufacturer in order to achieve stochiometric mixture. It does this my looking at A/F and O2 sensors and making a judgement call. It “Rationalizes” that it has to put increase pulse width too much and therefore must have too much 02 present in the exhaust (Lean condition.

Functionality codes are very black in white in nature when compared to rationality codes. These codes speak in terms of voltage, and often give technicians trouble because of their misunderstood nature. A functionality code is simply the computer making a decision based on a voltage reading and setting a code when it sees something it shouldn’t. It’s almost like having an assistant there with you diagnosing a problem. Imagine you are wanted to check the power and grounds at a horn outside of the car. Most techs would just have a coworker come watch a voltmeter while they pressed the horn button, or they would watch the meter while their friend pressed the button. When a rationality code sets, this is exactly what the computer did for you.

Let’s look at the DTC detection logic behind one of my favorites the P0490 (Evap Vent Control Circuit high. Nearly all vent valves are a simple two wire circuit consisting of a constant 12v source from a fuse and an ECM controlled ground that is switch when the computer requests the Evap system closed. According the the DTC detection logic, a P0499 sets when the ECM detects that the circuit voltage remains high when the Evap vent is commanded shut. This boils down to basic electricity and Kirchoff’s law. In a circuit voltage (potential energy) exists in a circuit until the circuit is complete and the electrons can move through the circuit. When the circuit is not complete electrons cannot flow and voltage drop cannot occur, so the voltage exists through the entire circuit from the side (conventional theory).

The ECM monitors this voltage and looks for the voltage to drop when the circuit is complete and the Evap vent valve is energized. An open in the circuit means that the voltage never drops and the ECM sets a trouble code. Good ECM! This is very useful. The ECM is doing the testing for you. So the best thing you can do is to use this to your advantage. IF you see a circuit high code that come back immediately after its erased, simply install a test light or other known good load into the circuit. Then clear the code, if the code clears, then you have a bad component. Order a new one you’re done diagnosing! The component has an open in the winding and needs replaced.

William Trapp MAEd


bottom of page