Каталог решений - 1С + BMW

Описание

Всех приветствую! Первый раз пишу на уважаемом сайте 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.

Также, добавил вывод случайных цифр в графики — для настройки.

Вот пример настройки графика:

has been added to your cart:
Оформление заказа