- Описание
- Подробнее
Описание
Всех приветствую! Первый раз пишу на уважаемом сайте infostart.ru, надеюсь, не последний)))
Предыстория
Используя специализированное диагностическое ПО для BMW в гаражно-домашних условиях, применительно к своему автомобилю, я, изучая техническую документацию и прочие описания по этим программам, наткнулся на волшебные 3 буквы — API.
Мне всё сразу стало неинтересно и я принял решение — я напишу свою собственную программу для диагностики своего автомобиля.
Зачем? "Потому что могу", — подумал я и буквы "A", "P" и "I" в одном слове — это вызов!
Первым делом я отыскал техническую документацию по API, ознакомился и не нашёл ничего сложного, т.к. опыт работы с разными API уже есть (например, с API Диадок применительно к 7.7 и 8.3, раз уж мы на сайте, посвященном 1С).

Интерфейс разработан для BMW каким-то подрядчиком. Но это не суть.
Документация есть. То, что она на английском, значения не имеет — и так всё понятно)
Естественно, никто специально компоненту для 1С в BMW не писал)) Поэтому, с ходу и не одолеть. Да и мысли про 1С по началу не было.
Сначала я решил написать программу на C#.
Т.к. делал всё на коленке — на старом ноутбуке Lenovo 2010 года (!!!!о ужас, ну и древность), то первым делом надо было выбрать подходящую IDE (или "подходящее", или "подходящий").
Свежую версию Microsoft Visual Studio я отбросил сразу, т.к. всё бы тормозило и я бы лишился удовольствия от процесса. А именно для удовольствия всё и затевалось.
В общем, взял и скачал бесплатный SharpDevelop.
Охапка дров и плов готов. Детали этой разработки, наверно, здесь описывать смысла нет, т.к. C# не 1С. Теоретическую часть опишу ниже, когда доберусь до 1С.
В результате практических экспериментов дома в кабинете в режиме "Симуляция", а затем и в гараже с подключенной к компьютеру машиной, у меня на рабочем столе красовались 3 протестированных, отлаженных программы)))
Первая программа умеет работать со всеми электронными блоками управления BMW — не только читать и стирать ошибки, но и выполнять инженерные функций, предусмотренных прошивками блоков. Кроме этого, программа может определять блоки подключенного автомобиля, видеть все их ошибки и кучей всё стирать.
Вот пару скриншотов (интерфейс, конечно, как в прошлом веке, но содержание важнее формы):


Вторая программа показывает "живые параметры" автомобиля в реальном времени. Выделил её в отдельное приложение, чтобы было проще использовать ту и другую программу.
Суть программы в том, что она по таймеру (типа "ПодключитьОбработчикОжидания()") обращается к контроллерам автомобиля и получает указанные в программе значения. Результат выводится на графике и автоматом сохраняется в текстовый файл с разделителями, чтобы было что потом проанализировать, например, в Excel.
Также, добавил вывод случайных цифр в графики — для настройки.
Вот пример настройки графика:
