PDA

Просмотр полной версии : Странное поведение К-104


NikVic
05.07.2016, 11:27
День добрый!

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

Вводная следующая: на шине CANBus находятся два ТЭКОНа (адреса 01 и 02), генератор тока (03) и контроллер К-104 (04). Генератор тока с ТЭКОНами нормально работает, при подключении шины на USB-адаптер в "телепорте" видны все четыре устройства, нареканий на связь нет. При подключении telnet-ом на K-104 он успешно "пингует" адреса 01-03 на шине CANBus.

Однако при попытке подключиться к шине через "Телепорт" при помощи К-104 видится только он один, адреса 01-03 не отвечают. Попытки вручную послать UDP-пакет в адрес К-104 показывают ещё более странную ситуацию. Например, запрашиваю заводской номер К-104 (параметр F0 01):
<< 10 41 04 01 01 F0 00 37 16
>> 68 04 04 68 01 04 48 26 73 16
т.е. успешно передаётся заводской номер 2648 с адреса 04 – что соответствует конфигурации К-104. Но когда я пытаюсь обратиться к ТЭКОН-ам (или к генератору тока), ответ приходит всё равно от К-104! Например, пытаюсь считать заводской номер ТЭКОНа 01:
<< 10 41 01 01 01 F0 00 34 16
>> 68 04 04 68 01 04 48 26 73 16
Более того, если попробовать отправку на заведомо несуществующий адрес (05) – всё равно приходит такой же ответ. Контрольная сумма проверяется контроллером корректно, т.е. если допустить ошибку в ней, возвращается байт Е5. Но никакой обмен по CANBus по факту невозможен, на любой запрос отвечает только сам К-104. В чём может быть проблема?!

NikVic
06.07.2016, 08:26
Проблема решена, спасибо техподдержке.

Оказывается, вопреки руководству (п. 2.3.3.4 "Если посылка адресована к модулю магистрали CAN-BUS, формируется посылка в требуемом формате, и инициализируется передача данных в магистраль CAN-BUS. При получении ответного сообщения происходит обратное преобразование данных, после чего они передаются через сеть Ethernet обратно") всё работает не так. Для запроса параметра из другого устройства нужно использовать функцию 11, таким образом запрос в примере выше должен выглядеть так:
10 40 04 11 01 01 F0 47 16

Dmitriy
26.07.2016, 14:59
Добрый день! Нужно внимательнее читать приложение №1 http://kreit.ru/cont/i/documents/prot_d1.pdf , так же для проверки ваших действий у нас установлено тестовое оборудование ( реквизиты оборудования тут http://kreit.ru/news/2014/168.html)