Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projects:carmon [2015/03/18 14:18] – admin | projects:carmon [2026/10/25 19:30] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| As electronic systems installed in cars are becoming more and more complex these days, the probability of their failure rapidly increases. Due to this complexity aspect, post-mortem analysis of such failure is quite often problematic, | As electronic systems installed in cars are becoming more and more complex these days, the probability of their failure rapidly increases. Due to this complexity aspect, post-mortem analysis of such failure is quite often problematic, | ||
| To mitigate this problem and simplify identification of the failure root cause, it would be nice if it might be possible to continuously monitor electronic systems in the car, providing for possibility to identify on-the-fly any non-standard patterns in their behavior, as well as collect appropriate set of information which could be later used during post-mortem problem analysis. | To mitigate this problem and simplify identification of the failure root cause, it would be nice if it might be possible to continuously monitor electronic systems in the car, providing for possibility to identify on-the-fly any non-standard patterns in their behavior, as well as collect appropriate set of information which could be later used during post-mortem problem analysis. | ||
| + | ===== Goals ===== | ||
| + | * collecting operational data | ||
| + | * analyzing data on-the-fly | ||
| + | * detecting potential problems on-the-fly | ||
| + | * informing car driver about problems found | ||
| + | * storing collected data in central database | ||
| + | * off-line data analysis | ||
| + | ===== Architecture ===== | ||
| + | ==== On-board monitoring system ==== | ||
| + | ==== Central database and expert system ==== | ||
| + | ==== Data processor ==== | ||
| + | == Display distance between DPF rejuvenations == | ||
| + | < | ||
| + | $ grep DPFDIST * | cut -d ',' | ||
| + | gawk '{aa = strtonum(" | ||
| + | $ echo "set terminal x11; set grid; plot '/ | ||
| + | </ | ||
| + | == Display Injector corrections == | ||
| + | < | ||
| + | $ grep ECU01AD * | cut -d ',' | ||
| + | gawk ' | ||
| + | {i1=strtonum(" | ||
| + | i3=strtonum(" | ||
| + | print i1-64, i2-64, i3-64, i4-64, i1+i2+i3+i4-256; | ||
| + | $ cut -d ' ' -f 1 /tmp/injraw > / | ||
| + | $ cut -d ' ' -f 2 /tmp/injraw > / | ||
| + | $ cut -d ' ' -f 3 /tmp/injraw > / | ||
| + | $ cut -d ' ' -f 4 /tmp/injraw > / | ||
| + | $ grep -v "0 0 0 0 0" /tmp/injraw | cut -d ' ' -f 5 > / | ||
| + | $ echo "set terminal x11; set grid; plot '/ | ||
| + | $ echo "set terminal x11; set grid; plot '/ | ||
| + | $ echo "set terminal x11; set grid; plot '/ | ||
| + | $ echo "set terminal x11; set grid; plot '/ | ||
| + | $ echo "set terminal x11; set grid; plot '/ | ||
| + | </ | ||
| + | == Display DPF differential pressure == | ||
| + | < | ||
| + | $ grep ECU01EF * | cut -d ',' | ||
| + | $ echo "set terminal x11; set grid; plot '/ | ||
| + | </ | ||
| + | == Detect data loss == | ||
| + | < | ||
| + | $ find ./ | sort | while read line ; do echo $line; grep ECU $line | cut -d ',' | ||
| + | gawk ' | ||
| + | {difft = ct - pt; if (difft < 0) difft += 60000; if ((difft > 30) && (difft < 500)) \ | ||
| + | print pt, | ||
| + | </ | ||
