Тема / Topic: RTM как сервер MODBUS TCP/IP. Нет данных от сервера.
vector1980
Junior Member / Новичок
Участник № / Member № 8211
отправлено / posted
Здравствуйте. Необходимо использовать RTM как MODBUS TCP сервер. Modbus-клиент связь с сервером устанавливает, но передачи данных нет. Подробнее. На объекте уже работает проект ТМ6.10.2 созданный подрядчиком, содержащий три узла - три рабочие станции, ARM1, ARM2, ARM3. ARM1 опрашивает контроллер в монопольном режиме, ARM2 и ARM3 берут данные по ethernet с ARM1. Мне необходимо доработать проект, забирать данные с АРМ3 по MODBUS TCP в стороннее приложение. Индивидуальный номер узла ARM3 - 3, IP адрес компьютера в рабочей сети предприятия - 192.168.250.12. Нужным каналам узла ARM3 установил флаг "регистратор", в свойствах узла установлены на нужном адаптере флаги "приём" и "посылка", в папке рабочего проекта узла ARM3 создан файл TMcom_xx.cnf: SLVPUIP=0 SLAVE_TCPADDR=192.168.250.12 DEBUGON=400 END_OF_CNF
В итоге, клиент (тестирую с помощью Modscan32) связь с MODBUS-сервером ARM3 устанавливает, но данных нет. В логе профайлера ошибка типа WRN_TCP:SLAVE check wrong unit addr1, но ошибки в адресе быть не может, проверено многократно. Пробовал создавать новый узел в рамках данного проекта с единственным тегом "синусоида", та же история. Пробовал создать новый, тестовый проект, с чистого листа, связь есть и данные ожидаемо получаю! Но, нужно доработать существующий проект... В чём может быть дело, куда смотреть?
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
WRN_TCP:SLAVE check wrong unit addr1 - цифра после текста это адрес устройства для которого получен запрос как видно он явно != 3
vector1980
Junior Member / Новичок
Участник № / Member № 8211
отправлено / posted
Nico, спасибо за скорый ответ. Но, можно поподробнее, где это корректируется? В каком месте? Очевидно на стороне клиента?
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |
vector1980
Junior Member / Новичок
Участник № / Member № 8211
отправлено / posted
Поправил в запросе, Device id = "номер узла в проекте" = 3 В результате: (10:58:25) WRN_TCP:SLAVE check wrong unit addr3
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |
vector1980
Junior Member / Новичок
Участник № / Member № 8211
отправлено / posted
Заработало, после того как подставил id=4. Как это объяснить? Если отсчёт с "0", тогда id для узла №3 = 2, если с "1", то id = 3. Откуда 4?
Сообщения / Posts 23 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
в ModBus адрес устройства с 1, поэтому (номер узла - 1) чтоб достучаться до 0 узла
Сообщения / Posts 879 | Из / From: Россия
| IP / IP: IP адрес / IP address |
vector1980
Junior Member / Новичок
Участник № / Member № 8211