Способ, шлюзовой блок и инструмент для дистанционной загрузки файла

Иллюстрации

Показать все

Изобретение относится к способу, шлюзовому блоку и инструменту для дистанционной загрузки файлов. Техническим результатом является оптимизация загрузки за счет обеспечения дистанционной загрузки в вычислительные устройства одного и того же файла. Способ содержит этапы, на которых: вычислительные устройства подсоединяют к соответствующим портам ввода/вывода шлюзового блока, соединяющего все эти вычислительные устройства с одним инструментом дистанционной загрузки файла; при помощи одного из вычислительных устройств в инструмент дистанционной загрузки направляют (74) информационный кадр, содержащий идентификатор вычислительного устройства, причем этот идентификатор является одинаковым для всех вычислительных устройств, подключенных к шлюзовому блоку; и при помощи шлюзового блока идентификатор вычислительного устройства заменяют (76) идентификатором порта, индивидуально идентифицирующим порт ввода/вывода шлюзового блока, к которому подключено вычислительное устройство, в информационном кадре, направляемом в инструмент дистанционной загрузки. 2 н. и 16 з.п. ф-лы, 8 ил.

Реферат

Приоритет настоящего изобретения испрашивается по французской заявке 0854248, поданной 26 июня 2008 года, содержание которой (текст, чертежи и формула изобретения) включено в настоящую заявку в качестве ссылки.

Изобретение касается способа, шлюзового блока и инструмента для дистанционной загрузки одного и того же файла одновременно в несколько вычислительных устройств.

В частности, изобретение касается дистанционной загрузки такого файла в вычислительные устройства, принадлежащие к одному семейству, которые затем устанавливают на разных автотранспортных средствах в момент их сборки на производственном конвейере.

В дальнейшем тексте настоящего описания, если загружаемый файл содержит команды или код исполнения программного обеспечения, речь будет идти также о дистанционной загрузке программного обеспечения.

Из уровня техники известны способы и системы дистанционной загрузки файлов в бортовые вычислительные устройства автотранспортных средств, например, описанные в документе FR-А-2719924. В этом документе указаны различные последовательные этапы процедуры, применяемой во время сборки транспортных средств или в послепродажной сети изготовителя, при коррекции поставки путем обмена файла.

Впоследствии эту функцию дистанционной загрузки оптимизировали, чтобы она была совместимой с требованиями потока производства транспортных средств, в котором загрузку всех вычислительных устройств одного и того же транспортного средства осуществляют одновременно. Можно, например, указать документ FR-А-2825813, в котором описана такая оптимизация.

Однако появление новых бортовых функциональных возможностей и все более сложных регламентных требований приводит к постоянному увеличению объема памяти бортовых запоминающих устройств и к увеличению времени для дистанционной загрузки этих запоминающих устройств.

На некоторых заводах эту операцию осуществляют в конце производственного конвейера непосредственно перед тем, как транспортное средство покинет конвейер самоходом, что не всегда позволяет загрузить все данные для всех вычислительных устройств (в настоящее время загружают только калибровочную часть вычислительных устройств управления двигателем), так как расширение основного производственного потока завода приводит к большим капитальным затратам с точки зрения инфраструктуры.

Несмотря на то, что калибровочная часть программного обеспечения обычно содержит элементы адаптации программного обеспечения и его приведения в соответствие для данного транспортного средства, все равно остается потребность в дистанционной загрузке совокупности данных вычислительного устройства, если коррекция поставки предполагает изменение стратегии кодирования.

Если в потоке полное программное обеспечение не загружено в течение всего времени, необходимого поставщику для поставки новых деталей, сборку транспортных средств продолжают с предыдущим определением изделия. В результате приходится отзывать эти транспортные средства и корректировать определение в послепродажный период (используя возможность загрузки полного программного обеспечения в послепродажный период, когда требования к срокам являются менее жесткими).

Для решения этой проблемы некоторые изготовители в настоящее время используют на каждом заводе так называемую площадку или оперативную зону. Речь идет о дистанционной загрузке программного обеспечения в момент поставки вычислительных устройств поставщиком непосредственно перед их отправкой на склад, откуда они будут доставляться на конвейер сборки автотранспортных средств.

Эта площадка или оперативная зона требует наличия дополнительных промышленных инструментов дистанционной загрузки, число которых должно быть достаточным, чтобы не останавливать сборочный конвейер в ходе внесения коррекций.

Ниже приведены требования, связанные одновременно с дистанционной загрузкой на конвейере сборки транспортных средств и в оперативной зоне во время коррекции программного обеспечения, чтобы понять, в чем заключаются их различия.

На конвейере сборки транспортных средств редко собирают два идентичных транспортных средства подряд. Действительно, транспортные средства проходят на конвейере, например, с разными силовыми установками, разными опциями и т.д.

По сути дела транспортные средства собирают на конвейере одно за другим в зависимости от заказов, поступивших от заказчиков, поэтому загрузку совокупности разного программного обеспечения производят во время прохождения каждого транспортного средства перед постом инструмента дистанционной загрузки.

В вышеупомянутом документе FR-А-2825813 описаны способ и система, специально адаптированные для такой ситуации.

В оперативной зоне ситуация является совсем другой, так как в данном случае требуется обновить одно и то же программное обеспечение в нескольких только что поставленных вычислительных устройствах одного типа. При существующем уровне технике, чтобы осуществить эту операцию, оператор должен подключить инструмент дистанционной загрузки к вычислительному устройству при помощи соответствующего жгута и запустить операцию обновления программного обеспечения. Такую операцию следует повторять многократно соответственно числу требующих коррекции вычислительных устройств.

Процедура дистанционной загрузки, хотя и является оптимизированной для загрузки каждого вычислительного устройства отдельно, остается совсем не оптимизированной в общем масштабе. Действительно, если необходимо произвести коррекцию программного обеспечения на тысяче вычислительных устройств, оператор вынужден запускать операцию тысячу раз.

Вместе с тем, время, занимаемое для осуществления тысячи таких операций, не должно приводить к остановке сборочного конвейера. После внесения коррекции в вычислительное устройство его перемещают на сборочный конвейер. Это требует наличия достаточного количества инструментов, чтобы всегда иметь под рукой достаточное число скорректированных вычислительных устройств для обеспечения непрерывности процесса производства.

Кроме того, существует ряд дополнительных трудностей, например, когда транспортное средство еще не собрано, когда не все вычислительные устройства транспортного средства доступны для инструмента диагностики от центрального разъема транспортного средства и особенно когда необходимо обеспечивать непрерывность процесса производства, поэтому возникает потребность в разработке соответствующего способа.

Вышеупомянутые трудности могут встречаться не только во время дистанционной загрузки файла, содержащего код программного обеспечения, но также во время загрузки любого типа файла.

Настоящее изобретение призвано решить эти проблемы и предложить решение для дистанционной загрузки в вычислительные устройства одного и того же файла, размер которого не совместим с дистанционной загрузкой на сборочном конвейере.

В связи с этим, объектом изобретения является способ дистанционной загрузки одного и того же файла одновременно в несколько вычислительных устройств перед их установкой на транспортных средствах, при этом способ содержит следующие этапы:

- эти вычислительные устройства подсоединяют к соответствующим портам ввода/вывода шлюзового блока, соединяющего все эти вычислительные устройства с одним и тем же инструментом дистанционной загрузки файла,

- при помощи одного из вычислительных устройств в инструмент дистанционной загрузки направляют информационный кадр, содержащий идентификатор вычислительного устройства, причем этот идентификатор является одинаковым для всех вычислительных устройств, подключенных к шлюзовому блоку, и

- при помощи шлюзового блока идентификатор вычислительного устройства заменяют идентификатором порта, способным индивидуально идентифицировать порт ввода/вывода шлюзового блока, к которому подключено вычислительное устройство, в информационном кадре, направляемом в инструмент дистанционной загрузки.

В вышеупомянутом способе, поскольку направляемый информационный кадр содержит идентификатор порта ввода/вывода, с которым соединено вычислительное устройство, инструмент дистанционной загрузки может идентифицировать порт, к которому подключено это вычислительное устройство. Это позволяет отличать кадры, передаваемые вычислительным устройством, подключенным к этому порту, от кадров, передаваемых вычислительными устройствами, подключенными к другим портам ввода/вывода. Таким образом, дистанционная загрузка происходит не вслепую, так как ответы одного вычислительного устройства можно дискриминировать от ответов других вычислительных устройств, в которые в это же время загружают этот же файл. При этом становится возможным применять следующие функциональные возможности:

- синхронизацию между вычислительными устройствами, или

- обнаружение нарушений во время дистанционной загрузки файла, или

- проверку нормального хода дистанционной загрузки файла в каждое вычислительное устройство при помощи одного инструмента дистанционной загрузки.

Кроме того, этот способ не требует никакого изменения протокола связи между инструментом дистанционной загрузки и вычислительными устройствами. Действительно, идентификатором порта ввода/вывода заменяют только содержимое поля информационного кадра, в котором должен содержаться идентификатор вычислительного устройства. Так, для передачи кадров через шлюзовой блок можно использовать стандартные протоколы, такие как протокол CAN (Controller Area Network).

Согласно варианту выполнения изобретения, способ дополнительно содержит направление инструментом дистанционной загрузки информационного кадра, содержащего идентификатор порта ввода/вывода, к которому подключено вычислительное устройство, и замену при помощи шлюзового блока этого идентификатора порта идентификатором вычислительного устройства перед передачей этого кадра в вычислительное устройство, подключенное к одному порту ввода/вывода, соответствующему этому идентификатору порта.

В варианте способ содержит запуск инструментом дистанционной загрузки новой обработки для дистанционной загрузки файла одновременно во все вычислительные устройства, как только все вычислительные устройства направили в инструмент дистанционной загрузки информационный кадр, указывающий, что ранее запущенная обработка корректно завершена.

В варианте способ содержит сравнение списка идентификаторов портов, составленный на основании идентификаторов портов, содержащихся в информационных кадрах, указывающих на корректное завершение ранее запущенной обработки для дистанционной загрузки файла, со списком идентификаторов портов ввода/вывода, к которым подключены вычислительные устройства, для идентификации вычислительных устройств, в которых предыдущая обработка еще не завершена или завершена некорректно.

В варианте способ содержит повторный запуск ранее запущенной обработки во всех вычислительных устройствах, которые не указали, что ранее запущенная обработка корректно завершена.

В варианте информационные кадры соответствуют протоколу CAN (Control Area Network).

Эти варианты осуществления способа имеют следующие преимущества. Замена идентификатора порта идентификатором вычислительного устройства перед передачей кадра в вычислительное устройство позволяет адресовать информационный кадр на конкретное вычислительное устройство, тогда как все вычислительные устройства содержат одинаковый идентификатор вычислительного устройства, причем для этого нет необходимости изменять вычислительное устройство или протокол связи с этим вычислительным устройством;

- запуск следующей обработки в вычислительных устройствах при получении кадров, указывающих на завершение предыдущей обработки, позволяет быстрее по времени осуществлять последовательность операций обработки, необходимых для дистанционной загрузки файла в эти вычислительные устройства, поскольку нет необходимости выжидать заранее определенное минимальное время между двумя последовательными операциями обработки, запущенными инструментом дистанционной загрузки;

- сравнение списка полученных идентификаторов портов со списком идентификаторов портов, к которым подключены вычислительные устройства, позволяет обнаруживать вычислительные устройства, не завершившие предыдущей обработки, что позволяет отслеживать ход дистанционной загрузки файла в каждое из вычислительных устройств;

- повторный запуск предыдущей обработки, если вычислительное устройство не указало инструменту дистанционной загрузки о корректном завершении предыдущей обработки, позволяет запускать повторно предыдущую обработку, только если это действительно необходимо.

Объектом настоящего изобретения является также шлюзовой блок для дистанционной загрузки одного и того же файла одновременно в несколько вычислительных устройств перед их установкой на транспортные средства, при этом шлюзовой блок содержит несколько первых портов ввода/вывода, выполненных с возможностью разъемного подключения к соответствующим вычислительным устройствам, второй порт ввода/вывода, выполненный с возможностью подключения к инструменту дистанционной загрузки файла во все эти вычислительные устройства, и контроллер, выполненный с возможностью передачи информационного кадра, принятого на одном из первых портов ввода/вывода, на второй порт ввода/вывода, при этом информационный кадр, принятый на первом порте ввода/вывода, содержит идентификатор вычислительного устройства, причем этот идентификатор является одинаковым для всех вычислительных устройств, и этот контроллер выполнен с возможностью замены в кадре, переданном на второй порт ввода/вывода, идентификатора вычислительного устройства идентификатором порта, способным индивидуально идентифицировать порт ввода/вывода шлюзового блока, через который принят этот информационный кадр.

В варианте шлюзовой блок содержит контроллер, выполненный с возможностью замены идентификатора порта идентификатором вычислительного устройства в кадре, переданном на один из первых портов ввода/вывода.

В варианте шлюзовой блок содержит средства хранения информации, содержащие первую таблицу замены, в которой каждый первый порт ввода/вывода связан с идентификатором порта, предназначенным для замены идентификатора вычислительного устройства в кадре, передаваемом на второй порт ввода/вывода, и вторую таблицу замены, в которой каждый первый порт ввода/вывода связан с идентификатором порта, предназначенным для замены идентификатором вычислительного устройства в информационном кадре, передаваемом на первый порт ввода/вывода, при этом идентификаторы портов, содержащиеся в первой и второй таблицах, являются разными для одного и того же порта ввода/вывода.

Использование разных идентификаторов портов в зависимости от того, передается информационный кадр в вычислительное устройство или в инструмент дистанционной загрузки, позволяет контроллеру определять на основании этого идентификатора порта, следует ли передавать этот кадр в вычислительное устройство или в инструмент дистанционной загрузки.

Наконец, объектом изобретения является также инструмент дистанционной загрузки одного и того же файла одновременно в несколько вычислительных устройств перед их установкой на транспортное средство, отличающийся тем, что инструмент дистанционной загрузки выполнен с возможностью запуска новой обработки для дистанционной загрузки файла одновременно во все вычислительные устройства, как только все эти вычислительные устройства направили в инструмент дистанционной загрузки информационный кадр, указывающий, что ранее запущенная обработка корректно завершена.

В варианте инструмент выполнен с возможностью сравнения списка идентификаторов портов, составленного на основании идентификаторов портов, содержащихся в информационных кадрах, указывающих на корректное завершение ранее запущенной обработки для дистанционной загрузки файла, со списком идентификаторов портов ввода/вывода, к которым подключены вычислительные устройства, для идентификации вычислительных устройств, в которых предыдущая обработка еще не завершена или завершена некорректно.

В варианте инструмент выполнен с возможностью повторного запуска ранее запущенной обработки во всех вычислительных устройствах, которые не указали на корректное завершение ранее запущенной обработки.

Изобретение будет более очевидно из нижеследующего описания, представленного исключительно в качестве неограничительного примера, со ссылками на прилагаемые чертежи, на которых:

Фиг.1 - схематичный вид архитектуры системы дистанционной загрузки одного и того же файла одновременно в несколько вычислительных устройств.

Фиг.2 и 3 - вид таблиц замены, используемых системой, показанной на фиг.1.

Фиг.4, 5 и 6 - блок-схемы способа обмена данными между вычислительными устройствами и инструментом дистанционной загрузки системы, показанной на фиг.1.

Фиг.7 - блок-схема способа дистанционной загрузки одного и того же файла одновременно в несколько вычислительных устройств при помощи системы, показанной на фиг.1.

Фиг.8 - блок-схема этапа способа, показанного на фиг.7.

На фиг.1 показана система 2 дистанционной загрузки одного и того же файла одновременно в несколько вычислительных устройств.

Например, файл является файлом, содержащим код исполнения программного обеспечения. Этот код исполнения содержит команды для исполнения вычислительными устройствами, в которые загружают файл.

Вычислительные устройства, в которые необходимо загрузить файл, являются вычислительными устройствами, предназначенными для установки на транспортном средстве, таком как автотранспортное средство. В данном случае автотранспортное средство является легковым автомобилем.

Все эти вычислительные устройства являются идентичными или, во всяком случае, однотипными. Например, эти вычислительные устройства могут быть вычислительными устройствами управления двигателем, вычислительными устройствами управления коробкой передач, вычислительными устройствами управления системой ABS (Antiblock Breaking System), вычислительными устройствами управления подвеской или вычислительными устройствами салона автомобиля.

Для упрощения фиг.1 показаны только четыре вычислительных устройства 4-7. Например, вычислительные устройства 4-7 являются вычислительными устройствами управления двигателем.

Все эти вычислительные устройства являются строго идентичными, поэтому подробно будет описано только вычислительное устройство 4.

Вычислительное устройство 4 содержит энергонезависимое перезаписываемое запоминающее устройство 8. Например, этим запоминающим устройством 8 является запоминающее устройство NVRAM (Non Volatile Random Memory). Например, речь может идти о запоминающем устройстве, известном под термином «флэш-память» или «флэш-Eprom». Это запоминающее устройство 8 содержит файлы. Эти файлы могут содержать команды, исполняемые вычислительным устройством 4. В данном случае речь идет о командах для управления двигателем транспортного средства.

Вычислительное устройство 4 содержит также несколько соединителей 10-12, позволяющих соединять это вычислительное устройство с разными приборами транспортного средства, на котором его устанавливают. В частности, одним из этих соединителей является соединитель 11, предназначенный для соединения с шиной CAN. Однако на фиг.1 эти вычислительные устройства находятся в оперативной зоне и, следовательно, не установлены в транспортном средстве.

Необходимо отметить, что, поскольку эти вычислительные устройства 4-7 являются идентичными друг другу, каждое из этих вычислительных устройств содержит одинаковый идентификатор вычислительного устройства. В частности, этот идентификатор вычислительного устройства используют для идентификации этого вычислительного устройства в бортовой сети передачи данных транспортного средства, если оно установлено на транспортном средстве. Например, сетью передачи данных является шина CAN транспортного средства.

Система 2 позволяет дистанционно загружать один и тот же файл одновременно в запоминающее устройство 8 каждого из вычислительных устройств 4-7. Для этого система 2 содержит блок питания 16, выполненный с возможностью обеспечения питания каждого из вычислительных устройств 4-7.

Система 2 содержит также инструмент 18 дистанционной загрузки, соединенный с каждым из вычислительных устройств 4-7 через шлюзовой блок 20.

Инструмент 18 выполнен с возможностью дистанционной загрузки одновременно в каждое из запоминающих устройств 8 вычислительных устройств 4-7 одного и того же файла. Например, загружаемый файл является обновлением файла, уже существующего в запоминающем устройстве 8. Для этого инструмент 18 содержит интерфейс человек-машина, включающий в себя, например, экран 24 и клавиатуру 26. Таким образом, пользователь этого инструмента 18 может вводить данные и отслеживать ход дистанционной загрузки файла.

Инструмент 18 выполнен на основе программируемого вычислительного устройства 28, выполненного с возможностью исполнения команд, записанных в запоминающем устройстве. Для этого вычислительное устройство 28 соединено с запоминающим устройством 30, содержащим команды для исполнения способа, показанного на фиг.7.

Инструмент 18 подключают к порту 34 ввода/вывода шлюзового блока 20.

Шлюзовой блок 20 позволяет инструменту 18 передавать информационные кадры одновременно в каждое из вычислительных устройств 4-7 и принимать в ответ информационные кадры, направляемые каждым из этих вычислительных устройств 4-7 в инструмент 18.

Для этого порт 34 соединен с контроллером 36 шины CAN. Этот контроллер 36 соединен с четырьмя дополнительными портами 38-41 ввода/вывода. Порты 38-41 соединяют соответственно с вычислительными устройствами 4-7.

Контроллер 36 управляет обменами данными между, с одной стороны, портом 34 и, с другой стороны, портами 38-41. Эти обмены данными происходят в виде обменов информационными кадрами. Информационные кадры содержат поля, которые должны содержать идентификатор отправителя кадра и/или идентификатор получателя кадра. Эти информационные кадры соответствуют стандарту CAN (Control Area Network).

Контроллер 36 соединен с запоминающим устройством 44, содержащим две таблицы 46 и 48 замены идентификаторов. Эти таблицы 46 и 48 либо загружают при помощи инструмента в шлюзовой блок 20, либо заранее записывают в запоминающее устройство 44.

Эти таблицы 46 и 48 более детально показаны соответственно на фиг.2 и 3.

Таблица 46 связывает с каждым идентификатором вычислительного устройства идентификатор порта, предназначенный для его замены, когда вычислительное устройство направляет информационный кадр в инструмент 18. В частности, первая колонка этой таблицы 46 содержит идентификаторы CAN1, CAN2, CAN3 и CAN4, соответствующие портам 38-41 ввода/вывода. Вторая колонка таблицы 46 содержит идентификатор вычислительного устройства, используемый вычислительными устройствами 4-7 в каждом кадре, передаваемом этими вычислительными устройствами. В данном случае этот идентификатор, обозначенный ID-N, является одинаковым для всех вычислительных устройств 4-7, поскольку эти вычислительные устройства являются идентичными. Этот идентификатор ID-N может индивидуально идентифицировать вычислительное устройство на шине автотранспортного средства, когда это вычислительное устройство установлено на транспортном средстве.

Наконец, последняя колонка связывает с каждым идентификатором ID-N идентификатор порта, предназначенный для его замены с целью обеспечения идентификации инструментом 18 вычислительного устройства, передавшего этот информационный кадр. Например, эта третья колонка последовательно содержит идентификаторы ID-1, ID-2, ID-3 и ID-4.

Таблица 48 содержит идентификаторы порта, которые необходимо использовать для обращения к конкретному вычислительному устройству. Первая колонка содержит идентификатор порта 34, обозначенный в данном случае CANX. Вторая колонка последовательно содержит идентификаторы ID-A, ID-B, ID-C и ID-D, соответствующие портам 38-41. Наконец, третья колонка таблицы 48 содержит идентификатор, который должен заменить идентификатор, содержащийся во второй колонке, когда инструмент 18 передает кадр в одно из вычислительных устройств 4-7. В данном случае эта четвертая колонка содержит в каждой строке одинаковый идентификатор, то есть идентификатор ID-N. Действительно, вычислительные устройства 4-7 находятся только в режиме отслеживания информационных кадров, содержащих этот идентификатор ID-N.

На фиг.4 показан способ передачи информационного кадра от инструмента 18 во все вычислительные устройства 4-7. Первоначально на этапе 60 инструмент 18 направляет в шлюзовой блок 20 кадр, содержащий идентификатор ID-N для идентификации получателя этого кадра.

На этапе 62 контроллер 36 направляет этот кадр одновременно на совокупность портов 38-41. На этапе 64 порты 38-41 ретранслируют принятый кадр без изменения в вычислительные устройства 4-7. Вычислительные устройства 4-7 обрабатывают этот кадр, поскольку он содержит соответствующий им идентификатор ID-N.

На фиг.5 показан способ передачи информационного кадра от инструмента 18 только на одно из вычислительных устройств 4-7. Например, этот способ описан для частного случая, когда инструмент 18 направляет кадр только в вычислительное устройство 4.

Первоначально на этапе 66 инструмент 18 направляет в шлюзовой блок 20 информационный кадр, содержащий идентификатор ID-A для идентификации получателя этого кадра. Этот кадр поступает через порт 34. Затем на этапе 68 контроллер 36 заменяет идентификатор ID-A идентификатором ID-N вычислительного устройства и направляет этот измененный кадр только на порт 38. На этапе 68 контроллер 36 использует таблицу 48 для замены идентификатора ID-A идентификатором ID-N.

На этапе 70 вычислительное устройство 4, подключенное к порту 38, принимает этот кадр и обрабатывает его с учетом того, что он содержит идентификатор ID-N.

На фиг.6 показан способ передачи данных от конкретного вычислительного устройства в инструмент 18. Способ, показанный на фиг.6, описан для частного случая, когда информационный кадр направляется в инструмент 18 вычислительным устройством 4.

Первоначально на этапе 74 вычислительное устройство 4 направляет на порт 38 кадр, содержащий идентификатор ID-N для идентификации отправителя этого кадра. Этот кадр поступает в контроллер 36.

На этапе 76 контроллер 36 заменяет содержащийся в этом кадре идентификатор ID-N идентификатором ID-1. Для этого контроллер использует таблицу 46. Затем контроллер 36 на этапе 78 передает этот кадр, в котором идентификатор ID-N был заменен идентификатором ID-1, в инструмент 18 через порт 34.

На этапе 80 инструмент 18 принимает этот информационный кадр и может определить, через какой порт ввода/вывода был принят этот кадр, на основании содержащегося в этом кадре идентификатора ID-1. Таким образом, инструмент 18 может идентифицировать вычислительное устройство, передавшее этот кадр, поскольку в данном случае только одно вычислительное устройство подключено только к одному порту ввода/вывода.

Далее со ссылками на способ, показанный на фиг.7, следует более подробное описание работы системы 2 для случая, когда загружаемый дистанционно кадр содержит код исполнения программного обеспечения.

Первоначально на этапе 90 вычислительные устройства 4-7 поступают в оперативную зону.

Затем на этапе 92 считывают номер программного обеспечения, содержащегося в их запоминающем устройстве 8. Например, этот номер указан на этикетке, приклеенной на вычислительном устройстве, или его можно считать при помощи электронного считывателя, соединенного с вычислительным устройством, поскольку этот номер записан также в запоминающем устройстве 8.

На этапе 94 считанный номер сравнивают с номером программного обеспечения, которое необходимо использовать для сборки транспортного средства. Например, номер программного обеспечения, которое необходимо использовать для сборки транспортного средства, получают из сборочной номенклатуры транспортного средства. Если номер программного обеспечения, записанный в запоминающем устройстве 8, соответствует номеру программы, указанному в сборочной номенклатуре, никакого обновления программного обеспечения не требуется, и способ прекращается на этапе 96.

В противном случае на этапе 98 вычислительные устройства, программное обеспечение которых необходимо обновить, отбирают и доставляют в оперативную зону.

Наконец, на этапе 100 эти вычислительные устройства подключают к инструменту 18 через шлюзовой блок 20.

На этапе 102 оператор вводит число вычислительных устройств, подключенных к шлюзовому блоку 20, например, при помощи клавиатуры 26.

Затем на этапе 104 инструмент 18 направляет запрос на начало сеанса программирования в вычислительные устройства 4-7. Этот запрос направляется одновременно на совокупность вычислительных устройств 4-7 согласно способу, описанному со ссылками на фиг.4.

В данном случае запрос соответствует конкретному информационному кадру, содержимое которого определено стандартным протоколом связи, например, таким как протокол Keyword 2000 или ISO15765.

В ответ на этот запрос на этапе 106 различные вычислительные устройства определяют, что запрошен сеанс программирования, и проверяют, возможен ли этот сеанс программирования. Например, на этапе 106 каждое вычислительное устройство проверяет, установлено ли оно на автотранспортном средстве, находящемся в движении. При утвердительном ответе вычислительное устройство запрещает сеанс программирования на этапе 108, и способ прекращается.

Этап 106 позволяет блокировать программирование вычислительных устройств, если, например, автотранспортное средство, на котором они установлены, находится в процессе использования.

В противном случае на этапе 110 инструмент 18 дистанционно загружает в запоминающее устройство 8 каждого из вычислительных устройств файл, содержащий код исполнения новой версии программного обеспечения, устанавливаемого в эти вычислительные устройства. Например, дистанционная загрузка состоит в последовательном запуске следующих операций обработки в каждом из вычислительных устройств:

- идентификация изделия;

- разблокировка доступа к запоминающему устройству 8;

- стирание в запоминающем устройстве 8 предыдущей версии загружаемого программного обеспечения;

- запись в запоминающее устройство 8 данных, соответствующих новой версии программного обеспечения;

- автоматический контроль целостности нового кода, записываемого в запоминающее устройство 8; и

- запись в зоне идентификации нового номера загружаемого программного обеспечения.

Для запуска каждой из этих операций обработки инструмент 18 одновременно направляет в каждое из вычислительных устройств запрос на запуск обработки. В ответ на этот запрос запуска каждое вычислительное устройство осуществляет запрошенную обработку. В конце каждой запрошенной обработки каждое вычислительное устройство направляет в инструмент 18 ответ в виде конкретного информационного кадра, чтобы сообщить ему, что запрошенная обработка корректно завершена.

Более подробное описание этого этапа 110 представлено ниже со ссылками на фиг.8.

После этапа 110 во время этапа 112 инструмент 18 опять считывает в зоне идентификации каждого из вычислительных устройств номер программного обеспечения, содержащийся в его запоминающем устройстве. На этапе 112 каждое из вычислительных устройств отправляет номер программного обеспечения, записанный в зоне идентификации, используя способ, представленный на фиг.6.

Затем во время этапа 114 инструмент 18 сравнивает номер, считанный в запоминающем устройстве каждого из вычислительных устройств, с номером программного обеспечения, ожидаемым согласно сборочной номенклатуре транспортного средства. Инструмент 18 может идентифицировать вычислительное устройство, которое, возможно, не содержит правильный номер, так как способ, показанный на фиг.6, используется вычислительными устройствами на этапе 112.

Если эти номера совпадают, на этапе 116 вычислительные устройства обесточивают, затем их отключают на этапе 118 от шлюзового блока 20. Перепрограммированные таким образом шлюзовые блоки направляют в зону хранения до использования на автотранспортном средстве.

Если на этапе 114 считанный номер программного обеспечения не соответствует указанному в сборочной номенклатуре, вычислительное устройство может быть отбраковано или перепрограммировано.

На фиг.8 более подробно представлен возможный пример осуществления этапа 110 способа, показанного на фиг.7.

На этапе 130 инструмент 18 направляет в каждое из вычислительных устройств 4-7 запрос, позволяющий запустить одну из операций обработки, предназначенных для осуществления на этапе 110. Этот запрос направляют в каждое из вычислительных устройств с использованием способа, описанного со ссылками на фиг.4.

В ответ на этапе 132 каждое из вычислительных устройств 4-7 начинает параллельно выполнять обработку, запрошенную инструментом 18.

В случае необходимости, если запрошенная обработка является продолжительной, на этапе 134 во время исполнения обработки вычислительными устройствами инструмент 18 направляет на все вычислительные устройства запрос о состоянии исполнения запрошенной обработки вычислительными устройствами. Этот запрос передают согласно способу, представленному на фиг.4. В ответ каждое из вычислительных устройств на этапе 136 указывает, что запрошенная обработка находится в процессе исполнения или, наоборот, что запрошенная обработка корректно завершена. Во время этапа 136 ответ каждого из вычислительных устройств передается в инструмент 18 согласно способу, показанному на фиг.6. Этапы 134-136 повторяют, например, через равномерные промежутки времени. Равномерный промежуток времени равен, например, 250 миллисекундам. Таким образом, повторение этапов 134-136 позволяет инструменту 18 очень точно отслеживать ход исполнения запрошенной обработки.

Когда вычислительное устройство завершает исполнение запрошенной обработки, оно передает информационный кадр для оповещения об этом инструмента 18. Передачу этого кадра осуществляют согласно способу, показанному на фиг.6.

Затем на этапе 138 инструмент 18 проверяет, получил ли он столько же информационных кадров, оповещающих его о корректном завершении обработки, сколько вычислительных устройств подключено к шлюзовому блоку 20. При положительном результате он возвращается на этап 130 для немедленного запуска следующей обработки.

При отрицательном результате на этапе 140 инструмент 18 идентифицирует вычислительное устройство или вычислительные устройства, которые не ответили, что запрошенная обработка корректно завершена. Например, во время этапа 140 инструмент 18 составляет список вычислительных устройств, ответивших, что они корректно завершили обработку, на основании идентификаторов порта, содержащихся в кадрах, переданных на этапе 136. Затем этот список сравнивают со списком идентификаторов порта, к которым на данный момент подключены предназначенные для программирования вычислительные устройства. Разница между этими двумя списками позволяет инструменту 18 идентифицировать порты ввода/вывода, к которым подключены вычислительные устройства, не завершившие корректно запрошенную обработку.

Затем для каждого вычислительного устройства, которое не завершило корректно запрошенную обработку, делают одну или несколько попыток повторного исполнения запрошенной обработки. Например, число попыток ограничено тремя для каждого вычислительного устройства.

В частности, во время этапа 144 инструмент 18 направляет запрос, способный повторно запустить обработку в вычислительном устройстве, которое некорректно завершило запрошенную обработку. На этапе 144 применяют способ связи, показанный на фиг.5. Таким образом, этот запрос передается только на это вычислительное устройство.

Затем на этапе 146 в отв