Страница 1 из 1
Добавлено: 11 май 2010, 07:30
mnl
Помогите пожалуйста сконфигурировать контроллер Decont-A9 для работы в режиме Modbus-slave через ethernet интерфейс.
То до чего я сам смог додуматься почему-то не работает
Первое, что я сделал это описал виртуальный интерфейс
На этом этапе вопросов никаких не возникло, а вот дальше уже появились.
Например, нужно ли описывать устройство Modbus Мастер? И если нужно то далеко не все параметры настроек мне очевидны.
1)Какой должен быть Физ. адрес?
2)Какой должен быть IP адрес если нужно чтоб подключение было возможно с любого?
Добавлено: 12 май 2010, 07:43
mnl
Мда, что-то тут не густо с ответами ну или с уточняющими вопросами.
В дополнение хочу сказать, что после всех моих настроек контроллер устанавливает соединение на 502 порту но ни на один запрос не отвечает. Компонент MODBUS Slave вроде как настроен.
Добавлено: 12 май 2010, 17:05
Максим
IP адрес если равен 0, то контроллер принимает любого мастера.
Физический адрес, это однобайтовый адрес контроллера по протоколу MODBUS.
Добавлено: 13 май 2010, 07:03
mnl
На сколько я понимаю, физический адрес в TCP/IP реализации протокола MODBUS не должен иметь значения(контроллер это же не мост), но даже если привести все в соответствие контроллер все равно отмалчивается.
В чем может быть причина? Я сейчас для тестовых целей пытаюсь получить значение дискретного входа который реализован на самом контроллере. Меня тут немного смущает то, что я не могу в настройках компонента MODBUS Slave указать тип данныз BYTE для функции №2. Мне же не 16 бит нужно получить, а всего один. Может тут что-то не так?
Добавлено: 13 май 2010, 19:05
Светлана
Если проблема не разрешилась, пожалуста, вышлите мне конфигурацию контроллера Decont, который не отвечает по MODBUS и запрос, который ему отправляется
vss@dep.ru
Добавлено: 17 май 2010, 13:09
Максим
Меня тут немного смущает то, что я не могу в настройках компонента MODBUS Slave указать тип данныз BYTE для функции №2. Мне же не 16 бит нужно получить, а всего один. Может тут что-то не так?
Для типа "Дискретные ВХОДЫ" поле тип не используется, т.к обмен идет по битам.
Мы провели проверку и у нас все заработало.
Запрос: de aa 00 00 00 06 01 02 00 09 00 01
Ответ: de aa 00 00 00 04 01 02 01 29
Добавлено: 17 май 2010, 13:13
Максим
На сколько я понимаю, физический адрес в TCP/IP реализации протокола MODBUS не должен иметь значения(контроллер это же не мост), но даже если привести все в соответствие контроллер все равно отмалчивается.
Физический адрес имеет огромное значение, когда на одной сесии сидит два слейва с разными адресами.
В конфигурации вы поставили физический адрес 2, а в запросах которые вы прислали в письме стоит физический адрес 1.
Может в этом проблема?
Адреса должны совпадать.
Добавлено: 19 май 2010, 13:01
mnl
В конфигурации вы поставили физический адрес 2, а в запросах которые вы прислали в письме стоит физический адрес 1.
Это следы эксперементов.
В той конфигурации которую я вам отправил адрес в настройках и в запросе был правильный.
То что у вас контроллер отвечает на запросы это хорошо и как минимум это говорит о том, что я ничего не упустил в настройках, но вот беда, в моем случае контроллер на запрос не отвечает.
Запрос такой:
Код: Выделить всё
ReqId|PrtId|PktSz|Ad|Fn| Reg | Len
00 01 00 00 00 06 01 02 00 09 00 01
От вашего примера этот запрос отличается только идентификатором
Что еще может влиять на такое поведение контроллера?
Вот еще раз
ссылка на файл проблемной конфигурации.
По своему IP он пингуется нормально и сессия по 502 пору устанавливается, а вот ответов нет.
Добавлено: 20 май 2010, 09:07
Максим
Какой дистрибутив вы используете?
Какой IP у мастера?
Попробуйте использовать для контроля входящих пакетов на PC программу ETHEREAL.
http://www.dep.ru/downloads/pub/Util/et ... 0.99.0.exe
Даю ссылку на drivers.so. Залейте его в A9. В журнале сообщений он будет писать принимаемые и отправляемые пакеты по интерфейсу V1.
http://www.dep.ru/downloads/pub/Util/temp1/drivers.rar
Добавлено: 21 май 2010, 09:18
mnl
Какой дистрибутив вы используете?
Install_depDecont-5.4.1.69.exe
Какой IP у мастера?
У контроллера IP: 192.168.3.233
Кстати шлюз у контроллера не настроен так как за пределы локальной сети выход не требуется.
У мастера: 192.168.3.49
Даю ссылку на drivers.so. Залейте его в A9. В журнале сообщений он будет писать принимаемые и отправляемые пакеты по интерфейсу V1.
После добавления этого файла в журнале сообщений появились такие записи:
Код: Выделить всё
[2EAEF2C8] Rx: 00 01 00 00 00 06 01 02 00 09 00 01
[2EAEF2C8] Rx: 00 01 00 00 00 06 01 02 00 09 00 01
На один запрос их там почему-то две появляется.
Если послать запрос где указан неправильный физический адрес то запись в журнале будет только одна.
Добавлено: 24 май 2010, 10:19
Максим
Есть предположение что в стабильном MODBUS-TCP Slave не работает.
Попробуйте последнийй тестовый дистрибутив.
Добавлено: 24 май 2010, 14:18
mnl
Действительно, после установки тестовой версии дистрибутива контроллер сразу стал отвечать.
Проблема решена, спасибо!