|
Получение данных по запросу в J1939. |
|
|
|
Nov 16 2009, 20:42
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(HARMHARM @ Nov 16 2009, 20:16)  Пробовали запрашивать. Пришли к выводу, что всё, что реализовано, и так бегает без запросов. А NACK в ответ на свои запросы получали? Я не получал. Я сейчас посмотрел (но не всё понял) "SAE J1939-81-2001.Network management.pdf", так там этим самым запросам очень много страниц посвящено. Вроде получается, что самый универсальный запрос, на который кто нибудь да должен ответить, будет с ID=0x18EAFFFE. Тогда если в данных будет, например, 4D FE 00, то даже если кто-нибудь такой запрос получил, но не поддерживает, то он должен NACK (PGN=E8FF) ответить. Т.е. вроде от всех систем NACK-и должны прийти (с разными SA). Если я ту pdf-ку правильно понял конечно. Как будет доступ к машине - попробую и отпишу.
|
|
|
|
|
Dec 17 2009, 11:12
|

Участник

Группа: Участник
Сообщений: 60
Регистрация: 19-03-06
Из: Йошкар-Ола
Пользователь №: 15 388

|
Пытались считать журнал неисправностей (DM2 - Previously active trouble codes). То есть CANID = 18 EA 00 sa (00 - это адрес EDC) "Request PGN"; data = CB FE 00 00 00 00 00 00 (PGN 65227) Так пока в идентификаторе запроса не выставили в Source Address значение, кое-как вытянутое из бошевских представителей, EDC на этот запрос молчал как партизан. Какое - не могу сказать, бошевцы не позволили. Цитата(galjoen @ Nov 17 2009, 20:56)  Попробовал слать сообщение с ID=0x18EAFFFE и данными 0x00E000. Это вроде Address Claim. И на него все отвечать должны, хотя бы NACK. PGN59904 (EA00) "Request PGN" описано в SAE J1939-21 в разделе 5.4.2 начиная со стр.17 Так вот там сказано: "A NACK is not permitted as a response to a global request." А запросили вы pgn57344 - CM1 "Cab Message 1". С очень высокой вероятностью не нашлось блоков, способных выслать этот набор параметров. Кстати, согласно SAE J1939-71 это сообщение должно передаваться периодически с интервалом в 1с, без запроса. Но надо сказать, не все производители соблюдают рекомендации стандарта. Например, тот же Бошевский EDC передаёт сообщение HOURS только по запросу, а не периодически, как указано в стандарте.
|
|
|
|
|
Dec 17 2009, 11:46
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Juray @ Dec 17 2009, 13:50)  data = CB FE 00 00 00 00 00 00 (PGN 65227) Так вроде по стандарту в запросе длина данных всего 3 байта д.б.? А я с запросами в 8 байт и не экспериментировал. А вы запрос с размером данных 3 байта, а всё остальное тоже самое, пробовали посылать? Не отвечает? А насчёт перебора двух младших байт в ID я пробовал - ответов не было (NACK тоже). Раз в секунду запрашивал - каждый следующий раз 2 мл. байта ID на 1 больше. Девайс неделю на ПАЗике катался - точно все варианты перебрал и даже не по 1-му разу. Хотя я в запросе только 3 байта данных посылал. М.б. из-за этого? Надо было 8 слать? А вообще, видимо стоит к попыткам что-нибудь запросить вернутся. А то я уж подумал, что это всё не поддерживается. А какой бы мне PGN запросить чтобы наиболее вероятно ответ получить? 65227? А 8 или 3 байта? Хотя попробую и то и другое - всего 2 варианта. Сейчас задача - вообще хоть какой-нибудь ответ получить.
|
|
|
|
|
Dec 17 2009, 12:48
|

Участник

Группа: Участник
Сообщений: 60
Регистрация: 19-03-06
Из: Йошкар-Ола
Пользователь №: 15 388

|
Цитата(galjoen @ Dec 17 2009, 14:46)  Так вроде по стандарту в запросе длина данных всего 3 байта д.б.? А я с запросами в 8 байт и не экспериментировал. А вы запрос с размером данных 3 байта, а всё остальное тоже самое, пробовали посылать? Тоже пробовали - от этого не зависит. Цитата А насчёт перебора двух младших байт в ID я пробовал - ответов не было (NACK тоже). Многие экономят и не посылают NACK на неподдерживаемые запросы, в расчёте что молчание будет расценено имено как "не поддерживается". Цитата я в запросе только 3 байта данных посылал. М.б. из-за этого? Надо было 8 слать? В блоке-то мы потом реализовали 3-байтный вариант - нормально работает. По стандарту положено 3. Цитата А какой бы мне PGN запросить чтобы наиболее вероятно ответ получить? 65227? Сложный вопрос. Может быть действительно DM2. Или DM1 (65226). Есть варианты 65259 (CI - идентификация компонента) и 65242 (SOFT - версия ПО). Ответ может прибежать транспортным протоколом, если не уложится в 8 байт. Если знать, какие блоки вообще подключены к шине, тогда можно предположить, что у кого стоит спрашивать. Типовой набор - блок двигателя (адрес 0x00) и АБС (0x0B). Двигатель, если сидит на шине, в обязательном порядке должен гнать EEC1 без всяких запросов с интервалом 10 мс. С него, по идее, можно спросить неисправности DM1 и DM2, моточасы и коленвал HOURS (65253), израсходованное топливо LFC (65257). Только вот мне не попадались документы SAE с распределением PGN по блокам.
|
|
|
|
|
Dec 17 2009, 14:09
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Juray @ Dec 17 2009, 15:48)  Сложный вопрос. Может быть действительно DM2. Или DM1 (65226). Есть варианты 65259 (CI - идентификация компонента) и 65242 (SOFT - версия ПО). Ответ может прибежать транспортным протоколом, если не уложится в 8 байт. Ну что же, буду и многобайтные сообщения проверять. В исходном состоянии имеются только 2 многобайтных - FEE3 и FEE1. Цитата Если знать, какие блоки вообще подключены к шине, тогда можно предположить, что у кого стоит спрашивать. Типовой набор - блок двигателя (адрес 0x00) и АБС (0x0B). Так и есть. Но, несмотря на однотипность, отличий полно. Вот, например, с одним ПАЗиком встретился у которого сообщения со скоростью (FEBF) с интервалом 50 mS, а не 100 mS приходили. Цитата Двигатель, если сидит на шине, в обязательном порядке должен гнать EEC1 без всяких запросов с интервалом 10 мс. EEC1 ни у кого не шлёт. Искал чтобы обороты получить... И EEC2 и EEC3 тоже не шлёт. Цитата С него, по идее, можно спросить неисправности DM1 и DM2, моточасы и коленвал HOURS (65253), израсходованное топливо LFC (65257). Попробую разные варианты. А DM1 (FECA) без всякого запроса 1 раз в секунду шлётся. Цитата Только вот мне не попадались документы SAE с распределением PGN по блокам. А я так понял, что разные блоки могут сообщения с одинаковым PGN слать. Т.е. отличие в младшем байте ID будет (0x00/0x0B). А ещё имеются FF08 (ID=18 FF 08 00). Что это такое, в каком документе посмотреть? Хотя, наверное, ерунда какая-нибудь, т.к. там всегда все 8 байт данных FF.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|