연구개발 이야기
OBD II PID에 관하여
금메달.아빠
2011. 10. 7. 00:32
OBD II(OBD-II)의 결과를 해석하려면 PID값과 그 결과를 환산해야 한다. 결과값은 정수형으로 받아오므로 적절히 환산해야 한다.
지정가능한 PID를 알아내려고 여기 저기 찾아볼 때 당장 쓰기 쉬운 것은 ScanTool.exe의 소스코드에 들어 있는 formulae함수들이고 여기에도 등장하지 않는 0x50번 대의 숫자들은 위키피디어를 참조하는 것이 좋다. 불행히도 위키피디어 정보는 한글 정보가 없다.
환산식을 포함해서 위키피디어에 A, B등으로 표현되어 있는데 가령 "41 0D 01 02"라면 "010D" 에 대한 응답은 response= 0x0102가 되고 A=0x01, B=0x02이므로 response= A*256 + B
문헌 자료
지정가능한 PID를 알아내려고 여기 저기 찾아볼 때 당장 쓰기 쉬운 것은 ScanTool.exe의 소스코드에 들어 있는 formulae함수들이고 여기에도 등장하지 않는 0x50번 대의 숫자들은 위키피디어를 참조하는 것이 좋다. 불행히도 위키피디어 정보는 한글 정보가 없다.
출처 | 메모 |
http://www.scantool.net/obdwiz/ | 여기는 PID정보는 많이 있는데, 환산정보가 없다. |
http://en.wikipedia.org/wiki/OBD-II_PIDs | 환산식에 대해서도 정확하게 기술되어 있다. |
http://sourceforge.net/projects/scantool/files/ScanTool.net/1.13/ | ScanTool.exe의 소스코드, scantool_net113src.zip |
환산식을 포함해서 위키피디어에 A, B등으로 표현되어 있는데 가령 "41 0D 01 02"라면 "010D" 에 대한 응답은 response= 0x0102가 되고 A=0x01, B=0x02이므로 response= A*256 + B
관련글
[연구개발 이야기] - OBD II 를 이용한 차량 정보 감시/프로그래밍
[연구개발 이야기] - 사다리꼴 공식을 써서 순간 속력으로부터 이동 거리를 구하라