Hello everyone,
I have a '08 SAAB 93 TTID (with many polution issues), and this forum was very helpful to me since I found customs PIDs to check the status of the DPF and his regenerations.
But I have to continue the diagnosis (because I think the DPF clogging is only a consequense from a bigger problem).
The DPF status experience bring me some ideas :
My engine is bi-Turbocharged, Turbo flow are commanded by wastegate. Then the air is cooled by intercooler.
I have an EGR cooler, EGR valve (obviously), throttle butterfly, Swirl flaps in the intake manifold.
Then, after combustion : the DPF, with sensors (not used by the ECU for regen. but only to indicate a full DPF and put the limp-home mode on).
(For now, I think only have access the Mass Air Flow meter, and throttle position)
All those sensors are not used in standard PIDs, do you think it is possible to get the codeline and add custom PIDs for each information ?
I think especially to :
- The input command to the Variable-Geometry Turbochargers
- the EGR cooler By-pass command/position ?
- the EGR valve command/position?
- the Swirl flaps command/position ?
- the pressure sensors on the DPF ?
- Exaust gas temperature sensor?
Shortly, all the sensors on the Intake and Exhaust functions....
Thanks for your help and advice.
With the help from cintakc in this topic :
https://torque-bhp.com/forums/?wpforumaction=viewtopic&t=11909.0
I finally succeeded to test many adresses...
But the first results are not so conclusive:
In first time I try adresses from 220000 to 2201FF :
Type ELM327: Wi-Fi
Write (19:37:36,287): ATZ
Read (19:37:37,284):
ELM327 v1.5
>
Write (19:37:37,372): ATH1
Read (19:37:37,425): ATH1
OK
>
Write (19:37:37,453): ATSP6
Read (19:37:37,467): ATSP6
OK
>
Write (19:37:37,484): ATSH7E0
Read (19:37:37,671): ATSH7E0
OK
>
Write (19:37:37,759): ATFCSH7E0
Read (19:37:37,828): ATFCSH7E0
OK
>
Write (19:37:37,868): ATFCSD300010
Read (19:37:37,891): ATFCSD300010
OK
>
Write (19:37:37,916): ATFCSM1
Read (19:37:38,015): ATFCSM1
OK
>
Write (19:37:38,039): ATCRA7E8
Read (19:37:38,060): ATCRA7E8
OK
>
Write (19:37:38,096): 220000
Read (19:37:38,388): 220000
7E8 03 7F 22 11
>
Write (19:37:38,421): 220001
Read (19:37:38,636): 220001
7E8 03 7F 22 11
>
and so on...
There is never : NO DATA.
With the list from AA0000 to AA01FF (because I know that with Torque, I use the PID AA0118 to read my DPF's status)
I get the results :
ELM327 v1.5
>
Write (19:57:22,963): ATH1
Read (19:57:23,016): ATH1
OK
>
Write (19:57:23,044): ATSP6
Read (19:57:23,054): ATSP6
OK
>
Write (19:57:23,071): ATSH7E0
Read (19:57:23,269): ATSH7E0
OK
>
Write (19:57:23,357): ATFCSH7E0
Read (19:57:23,417): ATFCSH7E0
OK
>
Write (19:57:23,435): ATFCSD300010
Read (19:57:23,461): ATFCSD300010
OK
>
Write (19:57:23,482): ATFCSM1
Read (19:57:23,678): ATFCSM1
OK
>
Write (19:57:23,737): ATCRA7E8
Read (19:57:23,822): ATCRA7E8
OK
>
Write (19:57:23,852): AA0000
Read (19:57:24,186): AA0000
7E8 03 7F AA 31
>
Write (19:57:24,246): AA0001
Read (19:57:24,597): AA0001
NO DATA
>
Write (19:57:24,687): AA0002
Read (19:57:25,008): AA0002
NO DATA
>
Write (19:57:25,084): AA0003
Read (19:57:25,382): AA0003
NO DATA
>
Write (19:57:25,441): AA0004
Read (19:57:25,811): AA0004
NO DATA
>
Write (19:57:25,904): AA0005
Read (19:57:26,226): AA0005
7E8 03 7F AA 31
>
Write (19:57:26,287): AA0006
Read (19:57:26,640): AA0006
NO DATA
>
Write (19:57:26,689): AA0007
Read (19:57:27,024): AA0007
7E8 03 7F AA 31
>
Write (19:57:27,073): AA0008
Read (19:57:27,382): AA0008
7E8 03 7F AA 31
>
[...]
Write (19:58:30,427): AA011F
Read (19:58:30,695): AA011F
NO DATA
>
Write (19:58:30,743): AA0120
Read (19:58:31,063): AA0120
NO DATA
[...]
It's always the same answer, but I know that sometimes there is "NO DATA".
I notice that the adress from which one I was waiting answer just seems to be skipped...
Must I deduct that I have a PID where the test is skipped ?
Thanks.
Check your AA01xx's ATCRA7E8 command.
You may need ATCRA5E8?
Anything with 7F is a negative response.
7F 22 11 means service 22 (live data) is not supported
7F AA 31 means request out of range.
Most of the things you're looking for are standard J1979 PIDs (Google it and you'll find a big list). Have you tried these?
If they don't work then you'll need the GM specific ones, which look like they will be Service 21 as Service 22 is not supported.
Therefore they would be 21 00 through to 21 FF rather than 22 00 00 to 22 FF FF.
Your initialisation looks fine as you're getting responses from the engine (7E8).
Thank you very much to everyone,
CintaKC, Capp777 and Chrispy.
I finally did it !
I've tried the 4096 first bytes (AA0000 to AA0FFF) and I've already get 68 responses. Including the famous AA0118 ! Very nice !
I really don't know what to do with everything now ! ^^'
Any Idea to find the correct Equations to FINALLY get those PID into Torque ?! ^^
There is any Walkthrough to go on ? 😀
Hi,
If you want to see the first 68 responses, here they are :
https://docs.google.com/spreadsheets/d/1brJ3eABu1wugKtFw5HZzaL8FLlPE0JCzJnLRz5J1v48/edit?usp=sharing
Do you have access to the sheet ?
if we are talking about a 1993 car, I doubt that at that time there was already a system for diagnostics via CAN bus
What pins of OBD2 connector in your car are involved?
maybe your car already has a more modern engine?
Hi Cintakc,
My car is a 2008 car.
SAAB 93 Aero TTID (93 is the model for this brand : Nine-Three).
Now it is clear
try this PIDs and give answers to them
1a9a
1a90
1a97
Just tested :
>
Write (15:51:44,269): 1A9A
Read (15:51:44,521): 1A9A
NO DATA
>
Write (15:51:44,581): 1A90
Read (15:51:44,823): 1A90
NO DATA
>
Write (15:51:44,882): 1A97
Read (15:51:45,123): 1A97
NO DATA
and
>
Write (15:55:18,972): AA1A9A
Read (15:55:19,278): AA1A9A
NO DATA
>
Write (15:55:15,849): AA1A90
Read (15:55:16,088): AA1A90
NO DATA
>
Write (15:54:32,001): AA1A07
Read (15:54:32,247): AA1A07
NO DATA
ATCRA7E8 - for this PIDs
What does mean ATCRA5E8 et ATCRA7E8 ?
Do I try every 65535 results with each command ?
How do I know that there is no PID available in other ranges ?
(ex : between "27000 and 27FFFF" or "WW0000 and WWFFFF" or anything else? )
There's the results :
>
Write (17:39:15,054): 1A9A
Read (17:39:15,354): 1A9A
5A 9A 07 D4
>
Write (17:39:15,386): 1A90
Read (17:39:15,815): 1A90
7F 1A 78
013
0: 5A 90 59 53 33 46
1: 48 34 36 50 39 38 31
2: 31 34 36 32 31 36 00
>
Write (17:39:15,898): 1A97
Read (17:39:16,204): 1A97
00E
0: 5A 97 5A 31 39 44
1: 54 52 20 20 20 20 20
2: 20 00 00 00 00 00 00
>
Write (17:39:16,280): AA1A9A
Read (17:39:16,597): AA1A9A
7F AA 12
>
Write (17:39:16,660): AA1A90
Read (17:39:17,000): AA1A90
7F AA 12
>
Write (17:39:17,032): AA1A07
Read (17:39:17,385): AA1A07
7F AA 12
I will put this data into the scanner and maybe I can see the formulas
Great ! Tell me what ! 😀
For your information, I did the first 12288 adresses...
And from 4096 to 12288 there is no data.
So, still 68 PIDs.
see this thread, your engine diagnostics is similar to the Opel engine
https://torque-bhp.com/forums/?wpforumaction=viewtopic&t=3646.0
try commands like this in terminal and give answers
atz
ath1
atd1
atsp6
atsh7e0
atcra5e8
aa0118
Yes, I've Already see this... It's by this thread that I found the AA0118 for the DPF regeneration status.
SAAB 93 '08 is the same car that the Vectra CDTI (biturbo) and the Cadillac BLS.
(the base engine is a Fiat 1.9 JTD. The ECU is a Bosch EDC16C39.
It's from General Motors (Cadillac, Vauxhall/Opel, SAAB))
Cintakc, this is answers to the commands you asked:
Write (20:26:49,736): ATH1
Read (20:26:49,866): ATH1
OK
>
Write (20:26:49,901): ATD1
Read (20:26:49,914): ATD1
OK
>
Write (20:26:49,935): ATSP6
Read (20:26:49,957): ATSP6
OK
>
Write (20:26:49,982): ATSH7E0
Read (20:26:50,097): ATSH7E0
OK
>
Write (20:26:50,127): ATCRA5E8
Read (20:26:50,140): ATCRA5E8
OK
>
Write (20:26:50,162): AA0118
Read (20:26:50,484): AA0118
5E8 7 18 14 64 CE 00 1D 00
yes, everything is correct your engine has a protocol similar to that of Opel
try create this conditional PID and check how it will work
PID: aa0118
Long name: DPF parametr
Short name: DPF
min: 0
max: 100
Scale: x1
Unit:-
Equation: R3
Header: 7e0
Start: atcra5e8\nath1\natd1
Stop: atcra7e8\nath1\natd1
in the Profile write initialization string
atsp6\natsh7e0\n20
Thank you, I'll try this after work.
I have configure the App with your parameters.
PS: I just notice something on this website (during searching how to configure Init String ^^):
https://fredstoolbox.wixsite.com/obddash/custom-init-string
It is mentionned :
Custom initialization string :
SAAB
ATSP3\nATIB96\nATIIA13
Does it ring a bell to you ?