This is topic Вопрос про ModBusRTU in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Здравствуйте, помогите начинающему разработчику. У меня есть несколько вопросов: 1. Есть функции R_Exception(7), и например Rout_Float(3) и Rin_Float(4). Что означают эти функции? 2. Можно ли в режиме реального времени изменить сетевой адрес устройства, если можно то каким образом? 3. Как уведомить пользователя о том, что запрос на запись параметра по какому-то адресу не прошел?
Заранее благодарен. С уважением Сидоров АЛександр
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
3. В канале должен появиться признак недостоверности (атрибут 4, I)
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
Спасибо. Но я не понимаю, почему нельзя изменить сетевой адрес. Ведь сам стандарт ModBus против этого ничего не имеет, это ограничения TM?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В Trace Mode изменение в реальном времени не предусмотрено. Для каких целей Вам это необходимо?
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
Для управления параметрами конфигурации блока контроля удаленно. Т.е. если сетевой адрес устройства изменился, то нужно будет переделывать весь проект? Я имею ввиду для функций ModBus нужно будет изменить все сетевые адреса в ручную.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Еще можно изменить настройки файла ip_modbus, который находится в папке узла. Он подчитывается во время загрузки узла в монитор.
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
Я имею ввиду не ModBus TCP/IP, ModBusRTU
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
Я имею ввиду не ModBus TCP/IP, а ModBusRTU. Простите, опечатался.
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
И еще хотел бы спросить, как делать групповой запрос, для нескольких каналов? И как его потом "распихивать" по каналам?
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
И еще хотел бы спросить, как делать групповой запрос, для нескольких каналов? И как его потом "распихивать" по каналам?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Тогда можно, изменив атрибут (94, IA_C1, МРВ – C1) C1 – значение первого байта (0x00000000FF00) удаленного адреса.
Групповой запрос создается автоматически, если: 1) считываемые регистры должны идти подряд 2) индексы каналов должны монотонно возрастать
Также групповой запрос можно создать с помощью канала Call с типом вызова ChGroupReq.
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
Я не совсем понимаю. Например, у меня есть, 12 каналов, которые имеют индексы по возрастанию. И для каждого канала я применяю функцию Rin_Float(4) для опроса устройства (т.е. у меня 12 Rin_Float(4)). А как сделать, чтобы была одна, и значения расходились на каждый канал?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Когда Вы делаете групповой запрос, то в результате источником\приемников все равно 12, но запрашивает данные только первый и распределяет их по каналам.
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
Спасибо. Все получилось.
Posted by Вяткин Н В (Участник № / Member № 1853) on :
Вопрос индексы каналов это ID каналов?
"Тогда можно, изменив атрибут (94, IA_C1, МРВ – C1) C1 – значение первого байта (0x00000000FF00) удаленного адреса.
Групповой запрос создается автоматически, если: 1) считываемые регистры должны идти подряд 2) индексы каналов должны монотонно возрастать
Также групповой запрос можно создать с помощью канала Call с типом вызова ChGroupReq"
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Да, здесь подразумевалось ID каналов.
Posted by Вяткин Н В (Участник № / Member № 1853) on :
"индексы каналов должны монотонно возрастать"
это значит возростать с различным шагом или идти подряд, так же как регистры?
что происходит, если этой монотонности нет? опрос идет по каждому каналу отдельно?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Возрастать означает, что ID канала с большим номером регистра должен быть больше ID канала с меньшим. Т.е. "возрастать с различным шагом".
Если такой монотонности нет, то групповой запрос не создается.