|
Получение данных по запросу в J1939. |
|
|
|
 |
Ответов
|
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.
|
|
|
|
|
Dec 17 2009, 15:56
|

читатель даташитов
   
Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999

|
Цитата(galjoen @ Dec 17 2009, 16:09)  EEC1 ни у кого не шлёт. Искал чтобы обороты получить... И EEC2 и EEC3 тоже не шлёт. Обороты из FEF1 часто получаются. Цитата А я так понял, что разные блоки могут сообщения с одинаковым PGN слать. Т.е. отличие в младшем байте ID будет (0x00/0x0B). Да, встречалось. Цитата А ещё имеются FF08 (ID=18 FF 08 00). Что это такое, в каком документе посмотреть? Хотя, наверное, ерунда какая-нибудь, т.к. там всегда все 8 байт данных FF. FFxx это всё проприетарные расширения. New Holland например почти всё так гоняет.
|
|
|
|
Сообщений в этой теме
galjoen Получение данных по запросу в J1939. Nov 12 2009, 15:58 galjoen Попробовал сделать как тут описал - ничего не полу... Nov 14 2009, 12:29 HARMHARM Пробовали запрашивать. Пришли к выводу, что всё, ч... Nov 16 2009, 17:16  galjoen Цитата(HARMHARM @ Nov 16 2009, 20:16) Про... Nov 16 2009, 20:42   HARMHARM Цитата(galjoen @ Nov 16 2009, 22:42) А NA... Nov 17 2009, 00:37    galjoen Попробовал слать сообщение с ID=0x18EAFFFE и данны... Nov 17 2009, 17:56     HARMHARM Возможно, хотя на практике такого не видел. ПАЗики... Nov 17 2009, 20:08      galjoen Ну вот, например, PGN=FEC1. Это пробег в 5 метрах ... Nov 17 2009, 21:22       HARMHARM Разница, видимо, не в китайскости, наверняка китай... Nov 18 2009, 06:37 Juray Да что китайсы - в натуральном бошевском EDC-7 обн... Dec 15 2009, 20:20 galjoen Цитата(Juray @ Dec 15 2009, 23:20) В запр... Dec 16 2009, 14:23     Juray Цитата(galjoen @ Dec 17 2009, 17:09) EEC1... Dec 18 2009, 10:59      galjoen Цитата(Juray @ Dec 18 2009, 13:59) EEC1 -... Dec 18 2009, 14:00       Juray Цитата(galjoen @ Dec 18 2009, 17:00) Ну н... Jan 26 2010, 10:02        galjoen Цитата(Juray @ Jan 26 2010, 13:02) Странн... Jan 27 2010, 10:39 Juray Распределение адресов определено в таблицах ... Jan 28 2010, 03:17 galjoen Цитата(Juray @ Jan 28 2010, 06:17) Распре... Jan 28 2010, 12:16 Juray Ага, оно самое. Jan 29 2010, 01:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|