|
Получение данных по запросу в 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 например почти всё так гоняет.
|
|
|
|
|
Dec 18 2009, 10:59
|

Участник

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

|
Цитата(galjoen @ Dec 17 2009, 17:09)  EEC1 ни у кого не шлёт. Искал чтобы обороты получить... И EEC2 и EEC3 тоже не шлёт. EEC1 - ОБЯЗАТЕЛЬНОЕ сообщение. Двигатель может не передавать ничего из остальных приписанных ему параметров, но свои обороты он сообщать должен, если он сидит на шине. Есть в шине сообщения с SA=00 ? Если такие есть, но нет EEC1, то контроллер двигателя неправильно настроен. EEC2 и EEC3 - сообщения вспомогательные. Цитата(galjoen @ Dec 17 2009, 17:09)  А я так понял, что разные блоки могут сообщения с одинаковым PGN слать. Т.е. отличие в младшем байте ID будет (0x00/0x0B). Зависит от PGN. Есть универсальные - например, любой блок может послать Request, выдать инфу о своих неисправностях, сообщить версию ПО и т.п. Но есть и специфические, за которые отвечает конкретный блок. Например, АБС бесполезно спрашивать о температуре двигателя - зато может сообщить блок двигателя, а контроллер кондиционера ничего не может сказать о колёсной скорости - это епархия АБС. И т.п. Цитата(HARMHARM @ Dec 17 2009, 18:56)  Обороты из FEF1 часто получаются. Из CCVS? Это как? Конечно, в принципе, по скорости можно вычислить обороты - зная передаточный коэффициент КПП на текущей передаче, а также состояние педали сцепления. И то - на нейтрали и при выжатом сцеплении обороты так определить нельзя. Цитата(HARMHARM @ Dec 17 2009, 18:56)  FFxx это всё проприетарные расширения. Именно. Весь диапазон FF00-FFFF определен как "Manufacturer Assigned".
Сообщение отредактировал Juray - Dec 18 2009, 11:00
|
|
|
|
|
Dec 18 2009, 14:00
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Juray @ Dec 18 2009, 13:59)  EEC1 - ОБЯЗАТЕЛЬНОЕ сообщение. Двигатель может не передавать ничего из остальных приписанных ему параметров, но свои обороты он сообщать должен, если он сидит на шине. Есть в шине сообщения с SA=00 ? Если такие есть, но нет EEC1, то контроллер двигателя неправильно настроен. EEC2 и EEC3 - сообщения вспомогательные. Ну нет там EEC1. А с 00, в младшем байте ID, сообщений большинство. Вот FEF2 - мгновенный расход, например. А из PGN F0xx имеется только: Код ID данные 18 F0 00 0F FF FF FF FF 0F FF FF FF - всегда (кто такой 0F (SA) в ID? Больше вроде нигде он не встречается) 18 F0 01 00 FF FF FF FF FF FF FF FF 18 F0 01 0B CF FF F0 FF FF 0D FF FF Это с завода так. Никто там ничего никогда не перестраивал и вообще не подключался. И работает. М.б. потому, что коробка механическая? Надо будет на автомате глянуть. А как там вообще что-нибудь настроить можно?
|
|
|
|
Сообщений в этой теме
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 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
|
|
|