Vcp что это такое
Vcp что это такое
Смотреть что такое «VCP» в других словарях:
VCP — VCP, a three letter abbreviation with multiple meanings, including:In geography: *Van Cortlandt Park, New York City.In organizations: *Verband Christlicher Pfadfinderinnen und Pfadfinder, a German Scouting Association. *Vermont Crossroads Press,… … Wikipedia
VCP — steht für: Virtueller COM Port, einem Tunnel durch USB oder Ethernet, der mit UART Protokoll arbeitet Chemin de fer funiculaire Vevey–Chardonne–Mont Pèlerin, die Standseilbahn von Vevey auf den Mont Pèlerin Verband Christlicher Pfadfinderinnen… … Deutsch Wikipedia
VCP — (Video Cassette Player) n. device used to record and play films on cassette tapes, also called a VCR … English contemporary dictionary
VCP — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sigles d’une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres … Wikipédia en Français
VCP — Votorantim Celulose e Papel S. A. (Business » NYSE Symbols) **** Video Cassette Player (Community » Media) **** Video Cassette Player (Academic & Science » Electronics) ** Verband Christlicher Pfadfinder (Community » Religion) * Vulnerability… … Abbreviations dictionary
VCP — vincristine, cyclophosphamide, and prednisone … Medical dictionary
VCP — Sao Paulo Viracopos, Brazil internationale Flughafen Kennung … Acronyms
VCP — Sao Paulo Viracopos, Brazil internationale Fughafen Kennung … Acronyms von A bis Z
VCP — Virtual Control Panel Contributor: GSFC … NASA Acronyms
VCP — abbr. Voluntary Cooperation Program … Dictionary of abbreviations
VCP — • vincristine, cyclophosphamide, and prednisone … Dictionary of medical acronyms & abbreviations
Что такое VAG-CAN PRO?
Протокол обмена данными с контроллерами, которые использует концерн VAG в своих авто (Audi, VolksWagen, Skoda, Seat) уже изучен вдоль и поперек. Это позволило создать внешние инструменты (т.е. имеется ввиду не дилерские) для работы с оборудованием автомобиля.
Чаще используют аппаратный USB или Bluetooth интерфейс и соотвествующее ПО. Диапазон предложений достаточно широк. Существует множество вариантов, начиная от китайских «шнурков», и заканчивая очень распространенным VAG-COM (в России распространен его русифицированный аналог «Вася-диагност»).
VAG-CAN PRO базовые отличия
VAG-CAN PRO умеет делать все тоже самое, что и VAG-COM плюс:
— можно прошить блок ABS
— сделать параметризацию блока BCM (например: задние LED фонари)
— загрузка ZDC-контейнеров в электронные блоки (например, при ошибке AFS после установки ксенона)
— обновить прошивки блоков
— чтение запись EEprom блоков
Подробная информация как и что делать, будет появляться в этом разделе, купить или узнать больше о возможностять можно на сайте:
Версии VAG-CAN PRO
На официальном сайте представлены 2 версии + несколько опций. Сначала об опциях:
Вопросы и ответы
Учитывайте, что Ваш вопрос никто не увидит, пока на него не будет дан ответ или он не пройдет модерацию.
Передумал, скрыть форму отправки.
разве ‘Официальный сайт VAG-CAN PRO’ не польский?
Польский понятно, но на польском тяжело воспринимать информацию.
Кабель «Вася-диагност» подходит к этому софту?
VCP Scripter. Часть 1. API
Вышедшая несколько лет назад пятая версия программы VCP System дала возможность всем, кто использует этот инструмент для кодирования автомобилей концерна VAG, значительно упростить, а самое главное ускорить, выполнение многих рутинных процедур. Конечно, возможности встроенного редактора и доступные методы взаимодействия с пользователем несколько далеки от современных трендов, однако, в большинстве случаев предоставленных возможностей более чем достаточно, ведь, если не большинство, то очень много операций можно свести к банальному выбору из двух: да или нет.
Эта первая заметка в серии, прямо и косвенно посвященных VCP Scripter, и она представляет собой перевод описания функций и процедур, пересисленных в официальном API (доступен на официальном сайте по по этой ссылке) на русский язык с минимальным количеством комментариев с моей стороны.
Итак, давайте посмотрим что нам предлагается в API VCP Scripter актуальной, на момент публикации этой заметки, восьмой версии программы VCP System.
Взаимодействие с пользователем
Вариантов взаимодействия с пользователем очень немного, прямо скажем: в нашем распоряжении всего одна процедура для вывода Writeln() и одна функция AskUserForInput() для ввода.
Процедура позволяет выводить значение строковой переменной s в окно сообщений. Фактически это единственный вариант оперативного вывода информации в окно пользователя.
Функция строит диалоговое окно с полем ввода. Результат ввода возвращается в виде строки.
Взаимодействие с блоками
В этом разделе доступных функций и процедур намного больше. Можно работать как со старыми блоками, использующими протокол KWP2000, так и с новыми, использующими протокол UDS. Конечно, в Scripter представлены не все команды поддерживаемых протоколов, а лишь очень небольшая часть, иногда это даже упрощенная реализация соответствующих команд, но, с другой стороны, вряд ли нужно бОльшее для создания скриптов, выполняющих типовые задачи по смене кодирования в блоках.
Функция возвращает текущее состояние подключения к блоку. В случае успешного подключения к блоку функция возвращает TRUE, в противном случае FALSE.
Процедура закрывает соединение с блоком.
Функция выполняет подключение к блоку с адресом aw, переданному в виде строки, по протоколу TP2.0. В случае успешного подключения к блоку функция возвращает TRUE, в противном случае FALSE.
Функция выполняет подключение к блоку с адресом aw, переданному в виде строки, по протоколу UDS. В случае успешного подключения к блоку функция возвращает TRUE, в противном случае FALSE.
Функция выполняет подключение к блоку с адресом aw, переданному в виде строки, по протоколу TP1.6. В случае успешного подключения к блоку функция возвращает TRUE, в противном случае FALSE.
Функция выполняет подключение к блоку с адресом aw, переданному в виде строки, по протоколу KWP2000/KWP1281. В случае успешного подключения к блоку функция возвращает TRUE, в противном случае FALSE.
Функция вызывает процедуру авторизации в блоке используя в качестве параметра значение login, переданное в виде integer. В случае успешного подключения к блоку функция возвращает TRUE, в противном случае FALSE.
Функция читает значение канала адаптации номер channel, переданного в виде строки. Функция возвращает пустую строку, если в процессе чтения канала произошла ошибка.
Функция записывает значение value, переданное в виде строки, в канал номер channel, переданный в виде integer. В случае успешной записи функция возвращает TRUE, в противном случае FALSE.
Функция позволяет сменить тип диагностической сессии на standard (0), engineer (1) или EndOfLine (2) путем передачи соответствующего значения в параметре session типа integer. В случае успешной смены сессии функция возвращает TRUE, в противном случае FALSE.
Функция читает значение параметра по указанному адресу ID, который передается переменной типа integer. При работе с функцией важно помнить несколько моментов. Первый заключается в том, что в соответствии с протоколом UDS адрес параметра это два байта, т.е. доступный диапазон адресов это 0-0xFFFF (HEX) или 0-65535 (DEC). Второй момент связан с тем, что диапазон 0-65535 поделен на поддиапазоны, в которых находятся определенные функциональные группы (например, каналы адаптаций и измеряемые величины), поэтому используя одну и туже функцию мы можем читать и каналы адаптации, и значение измеряемых величин, и целый ряд других параметров. Наконец, третий момент связан с тем, что длина строки, возвращаемой этой функцией зависит от читаемого параметра и будет меняться в зависимости от того, что вы читаете.
Функция записывает значение DataToWrite, переданного в виде строки, по указанному адресу ID. В случае успешной записи функция возвращает TRUE, в противном случае FALSE.
Функция аналогична функции WriteDataByID(), отличие заключается в том, что эта функция не передает в блок «отпечаток» тестера, изменившего параметр.
Функция читает значение длинного кодирования. Функция возвращает пустую строку, если в процессе чтения произошла ошибка.
Функция записывает значение длинного кодирования codestring, переданного в виде строки. В случае успешной записи функция возвращает TRUE, в противном случае FALSE.
Функция записывает значение короткого кодирования coding, переданного в виде строки. В случае успешной записи функция возвращает TRUE, в противном случае FALSE.
Процедура удаляет все ошибки в блоке, с которым установлено соединение.
Функция читает amount_to_read байт по адресу addr, используя значение ALFID равным alfid. Все параметры передаются в виде переменных типа integer. Результат чтения возвращается в виде строки, длина которой пропорциональна количеству запрашиваемых для чтения байт. Что касается параметра ALFID, то это сокращенное название одного из параметра соответствующей команды протокола UDS. Уверен, многие из вас встречали этот параметр при подготовке датасетов или загрузке контейнеров в VCP. Полностью название этого параметра звучит как Address and Length Format ID, что можно перевести как идентификатор формата адреса и длины. Размер ALFID всегда 1 байт. В API приводится его «стандартное» значение равное 0x44. Для протоколов отличных от UDS «стандартное» значение 0x00. К сожалению, Scripter предлагает сильно упрощенный вариант относительно возможностей, доступных в самом VCP и заложенных оригинальными протоколами, поэтому за один вызов функции мы можем прочитать не более 8 байт. Если нужно прочитать больше, вызывайте функцию еще раз.
Функция осуществляет запись от 1 до 8 байт, переданных в виде строки DataToWrite, по адресу addr, переданному в виде integer, используя параметр ALFID, равным alfid, переданному в виде integer. В случае успешной записи функция возвращает TRUE, в противном случае FALSE.
Функция аналогична функции ReadMemory(), но использует режим прямого чтения. В случае успешной записи функция возвращает TRUE, в противном случае FALSE.
Функция аналогична функции WriteMemory(), но использует режим прямой записи. В случае успешной записи функция возвращает TRUE, в противном случае FALSE.
Функция читает значение короткого кодирования. Функция возвращает пустую строку, если в процессе чтения произошла ошибка.
Процедура позволяет отправить команду UDS протокола напрямую в блок. Я сомневаюсь, что данная процедура будет востребована, с учетом того, что UDS это закрытый протокол. Небольшой комментарий к примеру, приведенному в API для 31 01 03D3 040000 :
Функция возвращает значение версии контейнера ODX из блока в виде строки. Функция возвращает пустую строку, если в процессе чтения произошла ошибка.
Функция возвращает значение ID ODX контейнера в виде строки. Функция возвращает пустую строку, если в процессе чтения произошла ошибка.
Функция возвращает значение версии ПО блока в виде строки. Функция возвращает пустую строку, если в процессе чтения произошла ошибка.
Функция возвращает значение описания блока в виде строки. Функция возвращает пустую строку, если в процессе чтения произошла ошибка.
Функция возвращает значение партномера блока в виде строки. Функция возвращает пустую строку, если в процессе чтения произошла ошибка.
Функции для работы со строковыми представлениями байтовых массивов
В ранних версиях API некоторые из этих функций отсутствовали и пользователям приходилось писать собственные реализации. Как вы уже могли заметить, Scripter ориентирован на работу со строковыми переменными, при этом изначально все протоколы бинарные. Функции перечисленные ниже позволяют с легкостью менять значения в строковых переменных, являющихся строковыми представлениями байтовых массивов.
Функция устанавливает значение бита номер BitNo равным 1 в байте номер ByteNo в строке HexString, представляющей собой последовательность байтов, и возвращает результат в виде новой строки. Байты считаются слева-направо. Нумерация байтов начинается с 1. Нумерация битов начинается с 0.
Функция устанавливает значение бита номер BitNo равным 0 в байте номер ByteNo в строке HexString, представляющей собой последовательность байтов, и возвращает результат в виде новой строки. Байты считаются слева-направо. Нумерация байтов начинается с 1. Нумерация битов начинается с 0.
Функция проверяет значение бита номер BitNo в байте номер ByteNo в строке HexString, представляющей собой последовательность байтов, и возвращает TRUE в случае, если бит установлен в 1, и FALSE в случае, если бит равен 0. Нумерация байтов начинается с 1. Нумерация битов начинается с 0.
Функция заменяет фрагмент в строке HexString, представляющей собой последовательность байтов, новым фрагментом NewBytes, начиная с позиции ByteNo, и возвращает результат в виде новой строки. Нумерация байтов начинается с 1.
Функция возвращает результат преобразования числа input в двочино-десятичный код (BCD) в виде строки. В случае, если длина кода окажется меньше чем digits строка будет автоматически выровнена 0 по левому краю.
Вспомогательные функции
Как следует из заголовка, данные функции могут быть полезными при реализации определенных сценариев в скрипте, например, определении модели автомобиля, логирования действий скрипта в файл и т.п.
Возвращает путь к папке, в которой установлена программа VCP, в виде строки.
Возвращает путь папке из которой был запущен скрипт в виде строки.
Функция возвращает серийный номер адаптера VCP в виде строки.
Функция VIN автомобиля, прочитанный из ЭБУ двигателя, в виде строки.
Процедура формирует задержку выполнения скрипта на amount миллисекунд.
Процедура вызывает перезапуск блока путем имитации цикла выключение-включение зажигания.
Функция осуществляет загрузку датасета DataSetNameToUpload из файла с контейнером ZDC, имя которого передается в виде строки filename. Выполнение команды Erase Full Memory перед записью контейнера определяется переменной EraseFullMem. Файл ZDC должен находится в одной папке со скриптом. Файл ZDC должен быть привязан к адаптеру VCP.
Функция осуществляет загрузку датасета, переданного в виде строки datatoupload. Код доступа, ALFID, начальный адрес загрузки, формат и флаг необходимости выполнения команды Erase Full Memory перед записью контейнера определяется передачей параметров login, Alfid, dataformat, generation и Erasefullmem соответственно.
Функция переключает диагностической сессию на тип, переданный в качестве параметра RawSession. Как вы наверное уже знаете, существует несколько типов сессий, от выбора которого меняется доступный функционал взаимодействия с выбранным блоком по CAN шине.
Функция возвращает текущую версию VCP System.
Функция ожидает получение подстроки data по CAN шине начиная с позиции pos за время не превышающее интервал, указанный в параметре time. Функция возвращает 1 в случае успеха и 0 в противном случае. При использовании функции следует учитывать внутренний формат CAN фрейма в VCP System вида AAA L D[D], где:
Функция запрашивает значение seed для выбранного уровня доступа, переданного в параметре secmode. В случае ошибки функция возвращает пустую строку.
Функция отправляет ключ, переданный в виде строки key для выбранного уровня доступа, переданного в параметре secmode.
Вместо заключения
Что ж на этом, пока все. Это были все процедуры и функции доступные в API VCP Scripter. В следующих заметках я обязательно подробнее расскажу о синтаксисе VCP Scripter и его особенностях. Не могу обещать создание какого-либо полезного скрипта в серии этих заметок, но вот один бесполезный будет точно, потому что на его примере я позволю себе классифицировать сложные места, которые могут возникать при создании скриптов, и подумать над вариантами их упрощения.
Оставайтесь с нами, ведь дальше будет интереснее…
Обновление от 2020.07.17: добавлено описание новых функций.
Что такое VAG-CAN PRO?
Протокол обмена данными с контроллерами, которые использует концерн VAG в своих авто (Audi, VolksWagen, Skoda, Seat) уже изучен вдоль и поперек. Это позволило создать внешние инструменты (т.е. имеется ввиду не дилерские) для работы с оборудованием автомобиля.
Чаще используют аппаратный USB или Bluetooth интерфейс и соотвествующее ПО. Диапазон предложений достаточно широк. Существует множество вариантов, начиная от китайских «шнурков», и заканчивая очень распространенным VAG-COM (в России распространен его русифицированный аналог «Вася-диагност»).
VAG-CAN PRO базовые отличия
VAG-CAN PRO умеет делать все тоже самое, что и VAG-COM плюс:
— можно прошить блок ABS
— сделать параметризацию блока BCM (например: задние LED фонари)
— загрузка ZDC-контейнеров в электронные блоки (например, при ошибке AFS после установки ксенона)
— обновить прошивки блоков
— чтение запись EEprom блоков
Подробная информация как и что делать, будет появляться в этом разделе, купить или узнать больше о возможностять можно на сайте:
Версии VAG-CAN PRO
На официальном сайте представлены 2 версии + несколько опций. Сначала об опциях:
Вопросы и ответы
Учитывайте, что Ваш вопрос никто не увидит, пока на него не будет дан ответ или он не пройдет модерацию.
Передумал, скрыть форму отправки.
разве ‘Официальный сайт VAG-CAN PRO’ не польский?
Польский понятно, но на польском тяжело воспринимать информацию.
Кабель «Вася-диагност» подходит к этому софту?