Almost every system in your modern automobile is controlled by onboard computers, especially your engine and transmission functions. (In this document we are focusing on the transmission system).
Nearly all automatic transmissions in vehicles these days are 'electronic'. This means your electronic transmission absolutely relies on the computer to control all its functions such as shift timing, shift sequence, how the shift feels (abrupt or smooth), tranny fluid line pressure, etc. Other systems on the vehicle work in unison with your transmission system as well. The information from the vehicle speed sensor (VSS) affects fuel injection, fuel mixture, ABS, transmission operation, etc. Load information of your engine is commonly taken primarily from the TPS (throttle position sensor) or the MAP sensor (manifold absolute pressure) controlling transmission shifting and downshifting when stepping on the gas or climbing hills, for example. A healthy system depends on many factors and systems working well together at all times.
'Fail Code' condition (commonly known as 'Limp Mode') happens when the vehicle computer recognizes a problem through it's coded/programmed logic. When an electric signal value is sent to the computer from a sensor but is not within the computer's programmed specifications (what the program expects to see and deem normal from that sensor), 'secondary' programs are immediately activated by the computer to strive to protect the transmission from any damage the improper sensor signal is indicating may occur, or may be imminent, or may contribute to.
In other words, the computer is always expecting certain signal values from certain sensors i.e. the temperature sensor, the speed sensor, the throttle position sensor (TPS), or MAP sensor, etc. As long as these signals are what it would normally expect for the current operating conditions and are normal, based on all the other signals it is receiving from other sensors, compared to each other as a group, then it performs normally and accordingly.
However, if the computer all of a sudden receives some crazy signal from one of the sensors that is out of the normal range (not within the parameters expected from this sensor), the computer is programmed to initiate 'emergency' or 'secondary' measures.
What are these measures?
Well, these emergency measures vary depending on the severity of the defective signal. All of this is programmed/coded into the computer's logic by the manufacturer. The manufacturer has decided that as long as a certain expected parameter of a particular signal is sent from a sensor to the computer, all is well. There is usually a little 'window' of values that the computer will accept from any sensor. It expects the signal to fall within this range somewhere.
The manufacturer has also decided that if this signal is higher than their highest expected parameter or lower than their lowest expected parameter, something is wrong either with that sensor or the vehicle conditions that caused it to emit that particular signal. At this point the computer strives to make someone aware of the situation or may even be programmed to take action to try to 'save' the vehicle systems or powertrain somewhat, by itself.
What type of action does the vehicle's computer take?
Well, perhaps the computer will simply cause the 'check engine' light to come on. The signal variation perhaps wasn't severe or critical enough to indicate any mechanical failures but the vehicle's operator is made aware that he or she should have the vehicle checked out electronically to see if a minor sensor has broken down, is starting to deteriorate and send the odd irratic signal or, more seriously, some abnormal mechanical condition has developed in the powertrain, causing the sensor to send unexpected signal values.
This type of condition is commonly referred to as a 'soft code'. (This is not 'limp mode'). Normal vehicle functions may not be affected but if the repair is not made, performance or fuel efficiencies might suffer, or deteriorating mechanical conditions might get worse.
It might very well be that the sensor only malfunctioned or sent an erratic signal one time and all other times was fine. This might indicate an early warning of a sensor that is beginning to wear out or maybe it's simply a matter of a loose connector or connection.
In any case, it is well-advised to always determine the cause of a 'soft code'.
Sometimes, the sensor signal needed to perform all operations normally is extremely out-of-specification, or re-occurring often, or is even non-existent. Now the computer has no choice but to go into a more critical 'survival' mode. With vehicle transmissions, when the computer detects an obvious, dangerous signal value of this sort it will cause the internal tranny-fluid-line-pressure to default to 'high pressure' (in order to protect clutches and bands). The computer also turns off the transmission's electronic shift solenoids which in turn causes the unit to default to a single gear only (usually 2nd or 3rd). All normal signals to vary and control line pressure are overridden and everything defaults to 'full on' so a hazardous 'slipping' condition within the clutch pack cannot occur easily. This theoretically (and practically) is so that the vehicle's driver can hopefully get the damaged vehicle to the next town for repairs.
This condition is commonly called 'Limp Mode' for this reason --- rather than being stranded, you're able to limp to the next town in either second or third gear, with full tranny line pressure being applied, so that the clutch guts won't slip on your trip in and your vehicle will move along slowly but steadily to a service center... (as I said, hopefully).
By the way, interestingly and just as a side note, if the cable harness going to your transmission was ever to become detached, severed or damaged, your transmission would also go into 'limp mode'. (A situation that occurred for a friend of mine while he was out bush trailing).
The vehicle's computer would immediately sense that it has lost contact with the transmission and would set the warning codes, turn on a warning light, and send 'limp mode' signals to the tranny. But because the harness is severed between the computer and the transmission, no computer signals will reach the transmission.
So now what?
Interestingly, manufacturers have designed transmission systems so that these sent 'limp-mode' computer signals have the identical affect on the transmission as what simply taking away supplied power to the shift and line pressure solenoids has, as in the case of a transmission harness being detached or cut. Due to the engineered voltage strategies of the solenoids, when a harness is cut or detached, the transmission simply defaults to a single gear (2nd or 3rd) and line pressure defaults to high, all in order to 'limp' you home.
There are also other interesting situations, when you look at the 'big picture' of the system:
A Throttle Position Sensor (TPS) that improperly sends a reading that it is 'wide-open' when in fact it is physically closed would be detected by the computer as being illogical when it compared this reading with the vehicle speed sensor that perhaps is showing very slow vehicle speed, at the time. The TPS signal by itself in this case cannot be considered wrong (as it is within its programmed parameters) but when compared by the computer with all the other sensor signals of that system, at that time, might not make sense and this may cause a concern. The computer, at this point, unable to 'trust' the collection of signals because together at that time they are not making sense in it's logic, may simply go to 'limp mode' in the transmission, as well, to protect it. It will make the operator aware that something is wrong with one of the sensors, through a dashboard indicator light of some sort ('checkengine' light perhaps) and a mechanic's attention is needed to correct the situation.
So what do mechanics see?
They'll probably scan your computer to pick up the code(s) it has generated using a special electronic tool they attach to your vehicle. This 'Fail Code' condition indicated by your warning light will show up as a certain 'code' reading on a mechanic's computer scanning tool. This code will be cross referenced to a table from the manufacturer and represent a problem with a particular sensor or a group of sensors or system. It gives the mechanic a better idea of where the problem has showed up and which systems or sensors are involved in the malfunction. The table of codes and what each one means, is commonly programmed right into the scanner tool, for quick and easy reference.
i.e. the scanner tool might tell the mechanic that the computer has thrown a code "35" which is the "transmission fluid temperature sensor" and might give the mechanic the recommended values this sensor should provide and what it in fact provided...
A regular scanning of the computer for any set 'hard' or 'soft' codes is something routinely done by most good tuneup shops these days during scheduled service checkups.