реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Получение данных по запросу в J1939.
galjoen
сообщение Nov 12 2009, 15:58
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Например, простейший случай. Я хочу запросить Total Averaged Information с PGN=00FE4D и Default Priority=7. Для этого мне нужно послать запрос с PGN=00EA00, а в нём, в 3-х байтах данных указать запрашиваемый PGN=FE4D.
Т.е. запрос будет выглядеть так:
ID = 18 E0 00 00 и 3 байта данных в такой последовательности: 4D FE 00
Правильно?
А в ответ, не позже через 200 милисекунд, я получу:
ID = 1C FE 4D 00 и 8 байтов данных: XX XX XX XX XX XX XX XX.
Правильно?
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 14 2009, 12:29
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Попробовал сделать как тут описал - ничего не получилось. То ли запрос у меня неправильный, то ли блок на такие запросы не отвечает. Буду дальше пробовать... Ни у кого лога J1939 с запросами нет?
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Nov 16 2009, 17:16
Сообщение #3


читатель даташитов
****

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



Пробовали запрашивать. Пришли к выводу, что всё, что реализовано, и так бегает без запросов.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 16 2009, 20:42
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 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-ку правильно понял конечно. Как будет доступ к машине - попробую и отпишу.
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Nov 17 2009, 00:37
Сообщение #5


читатель даташитов
****

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



Цитата(galjoen @ Nov 16 2009, 22:42) *
А NACK в ответ на свои запросы получали? Я не получал.

Не получал.
Может нет модуля, который бы ответил. Или в нём не реализована эта функция вообще.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 17 2009, 17:56
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Попробовал слать сообщение с ID=0x18EAFFFE и данными 0x00E000. Это вроде Address Claim. И на него все отвечать должны, хотя бы NACK. Никакого отклика не получил. Думаю, что там всё урезано до безобразия. В сети сообщений полно, но большинство с фиктивными данными, никак не изменяющимися и не имеющими отношения к реальности. Например, даже оборотов двигателя я не нашёл (всегда 1300), давление масла бывает 4.8 атмосферы и 0, большинство температур и давлений фиктивные (ошибок не было) и т.д. Это я о ПАЗ-ике с китайским двигателем cummins...
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Nov 17 2009, 20:08
Сообщение #7


читатель даташитов
****

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



Возможно, хотя на практике такого не видел. ПАЗики, правда, мне не попадались smile.gif
Видел, что есть пустые поля в сообщении, если используется только часть байтов.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 17 2009, 21:22
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Ну вот, например, PGN=FEC1. Это пробег в 5 метрах на бит. Первые 4 байта общий, вторые 4 - за поезду (trip). Хотя не понятно, что считать поездкой. Ну да не важно. Это сообщение ВСЕГДА приходит со всеми 8-ю байтами =0. Как и с PGN=FEE0 (тож к пробегу относится) - там тоже все 8 байт всегда =0. Хотя мы на этом ПАЗике поездили...
А вот ЛИАЗ с катерпиллером полностью своему J1578 соответствует. Там пробеги, температуры, давления, топливо, скорости - всё соответствуют. Он не китайский что ли?
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Nov 18 2009, 06:37
Сообщение #9


читатель даташитов
****

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



Разница, видимо, не в китайскости, наверняка китайцам софт не дают smile.gif, а в качестве реализации. Может у них по требованию программные модули отключаются или типа того.
Trip, насколько я понял - то ли от включения зажигания, то ли от кнопки "сброс суточного одометра" на приборке.
Кстати, в отличие от FEE0, FEC1 встречается часто и имеет данные.
Go to the top of the page
 
+Quote Post
Juray
сообщение Dec 15 2009, 20:20
Сообщение #10


Участник
*

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



Да что китайсы - в натуральном бошевском EDC-7 обнаружилось, что он еще не всякому вопрошающему соизволит ответить даже NACK.
В запросе нужен определённый адрес источника.

Ну и опции по умолчанию поурезаны, бошевцы приезжали, включали.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Dec 16 2009, 14:23
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Juray @ Dec 15 2009, 23:20) *
В запросе нужен определённый адрес источника.

Уточните пожалуйста, лучше на примере, что значит определённый адрес?
Go to the top of the page
 
+Quote Post
Juray
сообщение Dec 17 2009, 11:12
Сообщение #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 только по запросу, а не периодически, как указано в стандарте.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Dec 17 2009, 11:46
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 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 варианта. Сейчас задача - вообще хоть какой-нибудь ответ получить.
Go to the top of the page
 
+Quote Post
Juray
сообщение Dec 17 2009, 12:48
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 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 по блокам.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Dec 17 2009, 14:09
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 18:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016