расскажи это девайс сам маппинг RTU регистров и адресов из Modbus TCP запроса подхватывает или еще что внутри надо настраивать?
расскажи это девайс сам маппинг RTU регистров и адресов из Modbus TCP запроса подхватывает или еще что внутри надо настраивать?
Dmitriy Murashov
SPS Software Engineer Automation Engineering RUS
murdemon, не хочу отвечать голословно, словами из мануала. С Вашего позволения, отвечу после того, как исследую устройство "живьем".
Чтобы работать через Modbus TCP надо было брать Moxa NGate ModbusTCP -> Modbus RTU.
В данном случае либо писать свой опрос, либо доставлять такую же моха на 485 интерфейс ПЛК в режиме сервера или клиента уже моховского.
murdemon, наконец исследовал коробочку MGate MB3170 на стенде.
Из настроек изменил только самые необходимые, расширенную настройку не проводил:
1. Установил режим RTU Slave;
2. Записал IP-Адрес, такой же, как в проекте;
3. Изменил настройки последовательного интерфейса (шины RS-485);
4. Все остальные настройки оставил по умолчанию.
Пользовался конфигуратором "MGate Manager". Коробочка также поддерживает конфигурирование через web-интерфейс.
В проекте CoDeSys модуль дискретных выходов описан как "Modbus TCP Slave" под мастером сети типа "Modbus TCP Master" (см. проект). В настройках "Modbus TCP Slave" указал IP Моксы, 502 порт, номер модуля выходов в сети RS-485 (параметр "Unit-ID"). Собственно, все.
Всю остальную работу берет на себя софт, прошитый в MGate.
Заработало сразу же, под тем же проектом (см. первое сообщение). Всё четко, без проблем.
Как будет работать в реальной конфигурации, какие тонкие настройки понадобятся - посмотрим. На данный момент считаю вопрос закрытым.
ОК это хорошо... те у вас за MGate на 485 подключено много modbus rtu модулей? И MGate всасывает много IP адресов или один и тот же IP с разными сокет портами? (просто 1 MGate на 1 модуль 485, немного накладно получается)
Dmitriy Murashov
SPS Software Engineer Automation Engineering RUS
Да, к одному MGate будет подключено на шине RS-485 много модулей. Для этой конкретной шины для всех модулей будет указан один сокет (IP-Адрес + Номер порта). А обращение к конкретному модулю на этой шине будет производиться по уникальному "Unit-ID". Этот параметр и есть адрес модуля на шине RS-485 (modbus rtu в данном случае).
Помимо этого, к ПЛК, через хаб, будет подключаться по несколько конвертеров MGate. Таким образом будет создаваться множество шин RS-485 для одного ПЛК, а не две(три), как в базовой конфигурации СПК270.