Просмотр полной версии : МОХА Nport Ethernet-RS485
Андрей Чернов
25.06.2025, 12:17
Добрый день, коллеги!
Требуется опросить пр200 через МОХА в спк110. Почитав форум нашел информацию что необходимо формировать запросы через библиотеку owencommunication.
Оформил это следующим образом.
84513
84514
84515
Как видно tcp.client подключился, но блок tcp.request постоянно выдает error timeout.
в 518 регистре на пр200 лежит просто константа типа "123" для понимания что опрос таки произошел.
у пр200 адрес 16
моха настроена на TCP Server Mod всеми четырьмя портами.
OPC сервером напрямую с контактов пр200 опрос идет.
Ищу подсказок что я мог сделать не так.
вы наверное опрашиваете по Modbus TCP (не разглядывал программу), а надо в режиме Com Over TCP. То есть опрос фактически идет в RTU режиме, завернутый в TCP через преобразователь.
Вроде для ПЛК это есть, с настройками не подскажу.
Андрей Чернов
25.06.2025, 12:33
надо в режиме Com Over TCP.
у блока tcp.request установлен флаг IsRtuOverTcpMode
Com Over TCP.
RTU over TCP, так правильнее.
а порт на rs485 у moxa на TCP server 502 ?
4001, по-моему. По умолчанию. Но, если поменять на 502, он от этого шлюзом rtu/tcp не станет
OPC сервером напрямую с контактов пр200 опрос идет.
Так тем же OPC (если он RTU over TCP умеет) опросите через nport. Или любым другим клиентом, который умеет. На nport через телнет можно активность отследить, как на сетевом порту, так и на последовательных.
imaex ну так я к тому же, типа 4001 порт в моксе, а в программе не поменяли и оставили 502-й порт.
Может он поменял в моксе. Видел же, наверное, когда "Operating settings" настраивал.
Андрей Чернов
25.06.2025, 14:01
а порт на rs485 у moxa на TCP server 502 ?
порт 502 да
84518
Совет прежний - добейтесь ответа в любом клиенте, умеющем RTU over TCP. Чтобы убедиться в работоспособности канала. Потом уже СПК мучайте.
Sergey361
25.06.2025, 14:10
А если таймаут побольше 50 ms поставить?
Андрей Чернов
27.06.2025, 08:46
Вопрос решился.
У моей моха 4 порта rs485 и каждый порт необходимо опрашивать отдельным tcp.client. Далее возникла проблема что мастер опрашивает случайный порт в моха. Решил это тем, что каждому порту дал разный порт (502, 503, 504, 505). Надеюсь в будущем это кому-нибудь пригодится.
Там дефолтные значения для номеров портов с 1-го по 4-ый - с 4001 по 4004 соответственно. Когда меняли, могли бы и внимание обратить и подумать. А по-хорошему и ни к чему менять было, тем паче, что 502-ой под modbus tcp зарезервирован. На ровном месте себе проблему создали.
Андрей Чернов
27.06.2025, 09:06
Знал бы прикуп, жил бы в Сочи
Ну, мне бы в голову не пришло одинаковые номера портов для всех интерфейсов выставить. Вон, разработчики дивайса даже не удосужились запрет на такое поставить.
Андрей Чернов
27.06.2025, 09:25
О эти гении форума, которые решают вступить в беседу когда вопрос решен. Скрывают свои знания от необразованных людишек пытаясь показать себя выше их.
Одинаковые номера портов прекрасно работают в драйвере Modbus Slave на RapidScada с указанием устройства соответственно. Вполне себе удобно, когда устройство поддерживает несколько сокетов подключения и умеет так работать.
Не рассираешься портами.
О эти гении форума, которые решают вступить в беседу когда вопрос решен. Скрывают свои знания от необразованных людишек пытаясь показать себя выше их.
Вы же скромно промолчали о том, что наваракосили, не так ли? А все "тайные знания" содержатся в "NPort 5000 Series User Manual", которое нужно было просто хотя бы по диагонали прочитать.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot