Если устройство ModBusTCP привязано к определенному ID - это нормально, только в описании на ус-во это д. б. указано, чтобы пользователь не тыкался перебирая 256 раз.
В описании на МК210 это указано?
Если устройство ModBusTCP привязано к определенному ID - это нормально, только в описании на ус-во это д. б. указано, чтобы пользователь не тыкался перебирая 256 раз.
В описании на МК210 это указано?
То, что адрес ModBusRTU для подключения конфигуратора является и ID для предоставляемых пользователю данных в ModBusTCP мне бы (без доп.комментариев) в голову сразу не пришло. А где-то еще в нескольких местах по руководству не увидел. Так что я, как и топик, а может еще и другие пользователи, ознакомившись с руководством имел бы аналогичный вопрос.
Но интересует эта тема меня мало, можете считать мое сообщение просто репликой, а не вопросом к Вам, capzap.
А в каком месте Конфигуратору для подключения нужен адрес Modbus? Что-то я не увидел.
А вот с тем, что именно адрес слейва нужно указывать при подключении по Modbus/TCP - у меня лично вопросов не возникло. Может быть потому, что до этого с подобными дело имел. Правда, эти подобные представляли из себя шлюзы в RTU, т.ч. там все логично.
Фиг его знает, может эти Mx210-е внутри как шлюзы устроены. Правда непонятно - зачем это наружу показывать?
А может просто по инерции. Помнится, для общения с ПЛК100 по Modbus/TCP мне тоже в настройках адрес нужно было явно указывать.
Но, тут не знаю - может быть это от настройки/программирования самого ПЛК зависит.
Так то, конечно, чистому Modbus/TCP никакой адрес Modbus не нужен, фактически адрес указывает для устройств, которое лежит за устройством Modbus/TCP.
Кстати, разработчики вполне адекватно отреагировали. КМК. О чём спор?
на том скрине что вы в посте скинули и указанно про 255 в заголовке MBAP , я бы и тот же и скинул
в принципе могу скинуть , что бы дополнительно выделить
MBAP_TCP_UNIT_FF.jpg
поскольку в MODBUS TCP
# 0xFF (recommended as non-significant value) or 0x00
то что бы следующий товарищ, кому вдруг понадобится "0x00", поскольку он где то там в недрах мастера намертво прошит
то надо уж сразу все проверить UnitID на возможные варианты (что должны пройти как "допустимые в работе") по спецификации modbus tcp
мне пока нужен 255 (0xFF)Код:if (ADUget.UnitID == 255 || ADUget.UnitID == 0 || ADUget.UnitID == ADUset.UnitID ) { ADUsend.UnitID = ADUget.UnitID ; MY_parsing_function () ; }
У меня сименс конечно можно перенастроить, но хотелось бы что бы работали на стандартных DBшках
что бы работало
MBAP_TCP_PROFACE.jpg
и про RTU и broadcasting = 255
вдруг еще кто еще задаст вопрос про широковещательный 255 в RTU (он же по спецификации "0x00"), то что бы не спорили , то на скрине :
MB_RTU_BC_255.jpg
MB__BC_255.jpg
у меня свеже-скачанный на момент старта топика - v1.16.82.19020
Последний раз редактировалось tkont; 23.09.2019 в 14:39.
codesys 3.5.5.0
вот именно что - not used было бы в самый раз
not used in the case of Modbus TCP addressing.
но овен то пошел своей тропинкой
он этот адрес использует и контролирует - если не выставишь в мастере тот который в конфиге модуля , то модуль не отвечает
с этого и начался топик - про UNIT_ID
его бы вообще не мониторить в модуле, поскольку запрос уже адресован конкретному IP, так нет - в модуле еще и мониторится UNIT_ID , который должен быть not used
ну если уж так приспичило им мониторить , пусть пускают хотя бы FF и 00 по умолчанию как валидные, если до not used не доберутся
codesys 3.5.5.0