Программная смена сетевого адреса modbus.

В этом форуме можно обсудить интерфейс программы, работу встроенных блоков, взаимодейсткие с Ардуино IDE и т.д.
Ответить
Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Программная смена сетевого адреса modbus.

#1

Сообщение Rovki » 13.12.2017{, 19:15}

Приходится часто использовать коммуникации .В случае производства небольшой партии одинаковых устройств работающих с RS485 приходится прошивать разные адреса устройств если их несколько в сети .Хорошо было бы что бы была возможность программно менять через сетевой регистр (выбранный) адрес устройства .Например во всех устройствах по умолчанию адрес 1 .НО если я ставлю в сеть еще одно устройство ,то я временно выключаю 1 устройство ,подключаю второе с адресом 1 и меняю его сетевой адрес ,например 2 .Адрес 2 записывается в энергонезависимую память и теперь в сети 2 устройства с адресом 1 и 2 .Во многих китайских модулях с RS485 такая возможность есть .Возможно ли такое реализовать в FLprog?
Электронщик до мозга костей и не только

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Программная смена сетевого адреса modbus.

#2

Сообщение nalnik » 14.12.2017{, 06:22}

Rovki

после записи адреса нужно сделать reset.
Вложения
5475167.jpg
4612737.jpg
7411605.jpg
Последний раз редактировалось nalnik 14.12.2017{, 07:48}, всего редактировалось 1 раз.
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Программная смена сетевого адреса modbus.

#3

Сообщение Sancho » 14.12.2017{, 09:08}

Rovki писал(а):НО если я ставлю в сеть еще одно устройство ,то я временно выключаю 1 устройство ,подключаю второе с адресом 1 и меняю его сетевой адрес ,например 2
Сделайте загрузочный проект с адресом, например, 111, и Вам при добавлении устройств по одному не придётся ничего отключать... Или не используйте в сети работающий адрес 1.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Программная смена сетевого адреса modbus.

#4

Сообщение support » 14.12.2017{, 09:49}

Rovki писал(а):.Возможно ли такое реализовать в FLprog?
 Да возможно. Ветка модбас в дереве проекта - специальные возможности -  Задание Slave адреса.
Вытягиваете это пункт на схему, создается блок. Какое значение на входе блока будет (Byte), такой и будет адрес слейва. Меняется на лету без рестарта контроллера. Ну а задавать его можно как через EEPROM, ну или просто задать его микриками на плате.
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Программная смена сетевого адреса modbus.

#5

Сообщение Rovki » 14.12.2017{, 13:51}

support писал(а):Ну а задавать его можно как через EEPROM, ну или просто задать его микриками на плате.
Спасибо .Склоняюсь к программой задаче адреса ,без перепрошивки самого проекта
Электронщик до мозга костей и не только

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Программная смена сетевого адреса modbus.

#6

Сообщение Sancho » 14.12.2017{, 14:30}

Rovki писал(а):Склоняюсь к программой задаче адреса ,без перепрошивки самого проекта
Анатолий, здесь все об этом и говорят. Просто адрес назначенный Вами из регистра будет сохранятся в EEPROM и загружаться при перезагрузке. Наверно, придётся сделать лишь блокировку первоначальной записи при значении ноль в регистре - при старте контролера.
Уверен, разберётесь и придумаете.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Программная смена сетевого адреса modbus.

#7

Сообщение Rovki » 14.12.2017{, 15:03}

первоначально во всех будет адрес 1 .
Электронщик до мозга костей и не только

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Программная смена сетевого адреса modbus.

#8

Сообщение Sancho » 14.12.2017{, 17:39}

Rovki писал(а):первоначально во всех будет адрес 1 .
Я поступил бы так:
Сделать загрузочный проект с адресом по умолчанию, например, 111, и Вам при добавлении устройств по одному не придётся ничего отключать...
Или, как Вы хотите, не используйте в проекте сети устройство с адресом 1, что-бы ничего не отключать на время смены адреса у нового устройства.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Программная смена сетевого адреса modbus.

#9

Сообщение Rovki » 14.12.2017{, 19:47}

Не буду плодить тем ,спрошу у знатоков FL тут.
Память сетевых регистров совмещенная или разделенная (разные области памяти ) для дискрит инпут и холдинг регистров .Иначе спрошу-
0 бит дискрипт регистра оказывается в нулевом бите холдинг регистра с адресом 0 или это разные регистры  .?
Последний раз редактировалось Rovki 14.12.2017{, 19:53}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Программная смена сетевого адреса modbus.

#10

Сообщение support » 14.12.2017{, 20:42}

Области памяти разделённые. 0 регистр в области HoldingRegisters и 0 InputRegistr - это разные данные.
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Программная смена сетевого адреса modbus.

#11

Сообщение Rovki » 14.12.2017{, 21:00}

А дискрит инпут и холдинк то же раздельные ? Если так то я могу использовать 0,1....50 дискрипт инпут  и холдинг регистры 0,1....10 ?
Просто я хочу иметь возможность из модуля ввода читать дискретные входа как дискрит инпут (по битно) ,так и сразу все через холдинг регистр(сразу все) используя промежуточную переменную для связи этих разных областей .Вот как то так 
Вложения
4114882.jpg
Последний раз редактировалось Rovki 14.12.2017{, 21:01}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Программная смена сетевого адреса modbus.

#12

Сообщение support » 14.12.2017{, 21:13}

Нет, дискреты то же отдельная область, так что прочитать дискреты как холдинг регистр не получится.
А вот по вашей схеме да - получится (я просто не сразу её разглядел внимательно).
Вы можете прекрасно использовать одновременно 0,1....50 дискрипт инпут  и холдинг регистры 0,1....10 ? и это будут разные области памяти
Автор программы FLProg.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Программная смена сетевого адреса modbus.

#13

Сообщение support » 14.12.2017{, 21:23}

Только схему записи в регистр немного измените, по вашей схеме работать не будет
Вложения
6401596.png
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Программная смена сетевого адреса modbus.

#14

Сообщение Rovki » 14.12.2017{, 21:28}

Спасибо ,все ясно ,просто в ПР области совмещены ,поэтому уточнил .

Добавлено (14.12.2017, 21:25)
---------------------------------------------
support писал(а):Только схему записи в регистр немного измените, по вашей схеме работать не будет
Спасибо

Добавлено (14.12.2017, 21:28)
---------------------------------------------
Аналогично хочу сделать управление выходами - либо через флаги (по битно) ,либо через холдинг регистр (сразу все биты)
Электронщик до мозга костей и не только

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Программная смена сетевого адреса modbus.

#15

Сообщение Rovki » 14.12.2017{, 22:26}

вот такая схема будет работать?
Вложения
6004089.jpg
Электронщик до мозга костей и не только

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Программная смена сетевого адреса modbus.

#16

Сообщение support » 14.12.2017{, 22:34}

Да эта будет
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Программная смена сетевого адреса modbus.

#17

Сообщение Rovki » 15.12.2017{, 21:08}

В Каскаде будет шаблон модуля ввода \вывода ,так что пользователю да же знать не нужно будет адреса регистрови задавать),они будут прописаны в шаблоне  ,а просто подключай входа \выхода .Будут 4 дискретных входа ,4 аналоговых входа ,4 релейных выхода ,2 транзисторных выхода (ШИМ) .

Связь с модулем будет по вайфай

Добавлено (15.12.2017, 21:08)
---------------------------------------------
Что то не стабильно работает смена сетевого адреса ,то работает при смене ,то не работает- какой то адрес записывает не понятно ,в результате таймауты ...
Вложения
3303160.jpg
Последний раз редактировалось Rovki 15.12.2017{, 00:02}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Mihail_K
Рядовой
Сообщения: 15
Зарегистрирован: 18.09.2016{, 02:17}
Репутация: 0
Откуда: Калуга

Программная смена сетевого адреса modbus.

#18

Сообщение Mihail_K » 22.02.2020{, 09:23}

support писал(а):
14.12.2017{, 09:49}
Меняется на лету без рестарта контроллера.
У меня без рестарта не получилось. Как написано во втором сообщении, после смены адреса контроллер перезагружаю. У меня работает стабильно.

Ответить

Вернуться в «Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!)»