Считывание OBD2 слишком быстро
Я пишу программу для создания телеметрического приложения, которое будет считывать параметры с моего VW Golf mk4 2001 года выпуска через OBD2 с помощью кабеля, совместимого с ELM327.
Пока что у меня всё получается. Проблема в том, что программа работает слишком медленно (3–4 значения в секунду). Некоторые проблемы могут быть связаны с моим программным обеспечением, некоторые — с ограничениями протокола OBD2 в моём автомобиле, но давайте предположим, что всё дело в моём программном обеспечении, и я собираюсь улучшить его, чтобы оно работало как можно быстрее.
Я прочитал в документации к кабелю, что автомобилю, использующему стандарты OBD2 до 2002 года, запрещено считывать значения быстрее, чем за 100 миллисекунд до установки. В нем говорится, что проблемы могут возникнуть, но они не вдаются в подробности.
У меня такой вопрос: знает ли кто-нибудь, какие проблемы могут возникнуть при чтении информации с OBD2, и можно ли устранить эти проблемы, если они возникнут, просто отсоединив и снова подсоединив клеммы аккумулятора к автомобилю?
Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/6463/reading-obd2-too-fast
Вы заметите, что большинство программных инструментов OBD редко отображают более 4–5 параметров за один просмотр. Я также сталкивался с проблемами при попытке считать слишком много значений одновременно.
Исходя из собственного опыта, я бы посоветовал разработать стратегию опроса с использованием различных значений. Например, вам действительно нужно проводить опрос только
Хитрость заключается в том, чтобы чаще опрашивать тех, кто меняется чаще.
В следующий раз, когда вы будете в машине с бортовым компьютером, переключитесь на отображение мгновенного расхода топлива и посмотрите, как часто меняется значение. В моей машине оно меняется каждую секунду. Я бы сказал, что одна секунда — это отличный базовый показатель, потому что он позволяет без проблем считывать 9 параметров PID с интервалом в 100 мс каждую секунду.