Показано с 1 по 7 из 7

Тема: Изменить адрес устройства ModbusTCP в рантайме

  1. #1

    По умолчанию Изменить адрес устройства ModbusTCP в рантайме

    Здравствуйте!
    Есть Modbus TCP подключение 192.168.111.99 на нём два устройства (УВП) с адресами 22 и 23. Одно УВП выступает как основное, а второе - резервное. Обращение всегда происходит к 22, а при потере связи должно выполняться переключение на 23.
    Я настроил подключение для одного УВП (с адресом 22). Все параметры читаются как положено. Также если в проекте поменять адрес на 23 и перекомпилировать, то всё тоже работает.
    Подскажите как мне поменять адрес устройства в рантайме?
    Пробовал через параметр(переменную) записывать в свойство "Адрес устройства" необходимый адрес но ничего не меняется. Также пробовал просто присвоить свойство "Адрес устройства" текстовому полю чтоб в рантайме посмотреть текущий заданный адрес но поле - пустое.
    01.PNG _________ 02.png

  2. #2
    Пользователь Аватар для dreambelarus
    Регистрация
    13.12.2019
    Адрес
    Водоподготовка «Terra Incognita»:))) Юрий Леонидович
    Сообщений
    397

    По умолчанию

    А по какому признаку у вас должно быть переключение между устройствами??? Бит по какому-то каналу или при потере связи???
    Вы уже по-моему этот вопрос задавали ранее что не ответили???
    ...Веселись юноша в юности своей...
    на связи...https://t.me/Dreambelarus2

  3. #3
    Пользователь Аватар для dreambelarus
    Регистрация
    13.12.2019
    Адрес
    Водоподготовка «Terra Incognita»:))) Юрий Леонидович
    Сообщений
    397

    По умолчанию

    Цитата Сообщение от Ellissar Посмотреть сообщение
    Здравствуйте!
    Есть Modbus TCP .........поле - пустое.
    2024-10-27_16-51-35.png Создаем параметр DINT с значением по умолчанию 20 (по умолчанию у меня 1 устройство на 20 адресе, а второе устройство полностью аналогичное на 16 адресе)

    2024-10-27_16-32-16.png Привязываем параметр DINT к адресу устройства (видно что там 0 по умолчанию) в разделе протокол/устройство

    2024-10-27_16-34-12.png Запускаем среду исполнения и видим опрос по первому адресу 20

    2024-10-27_16-33-05.png Меняем адрес устройства через параметр на 16 и видим данные с другого устройства в том же канале

    2024-10-27_16-35-12.png Вот эти же устройства опрашиваются MS3 для примера взял 560 регистр (тут у меня с 16 устройство в ОРС идет деление на 10 поэтому с примером надо на 10 умножать)

    В примере я показал что можно через переменную построить логику выбора устройства.1..2...N если вы знаете как получить признак "не работающего устройства" ))) то это рабочий функционал....или вы хотите воспользоваться штатными средствами резервирования MS4D??? Судя по тому что вы уже освоили тему про признак двух работающих контролеров в предыдущем посту ответ вам известен ))
    Последний раз редактировалось dreambelarus; 27.10.2024 в 15:27.
    ...Веселись юноша в юности своей...
    на связи...https://t.me/Dreambelarus2

  4. #4

    По умолчанию

    Цитата Сообщение от dreambelarus Посмотреть сообщение
    А по какому признаку у вас должно быть переключение между устройствами??? Бит по какому-то каналу или при потере связи???
    Переключение будет просто с кнопки на АРМ.

    Цитата Сообщение от dreambelarus Посмотреть сообщение
    Вы уже по-моему этот вопрос задавали ранее что не ответили???
    Возможно и задавал. Я редко работаю с Masterscada поэтому если писал то наверное забыл.

  5. #5

    По умолчанию

    Цитата Сообщение от dreambelarus Посмотреть сообщение
    2024-10-27_16-51-35.png Создаем параметр DINT с значением по умолчанию ...
    Всё сделал как вы описали, перепроверил несколько раз. Не сработало.
    Какое значение по умолчанию я присваиваю полю адрес это устройство и опрашивается. Если присваиваю, например, 0 то вообще ни одно устройство не на связи, что логично.
    Приём что интересно сам параметр, который хранит адрес, меняется в рантайме, а именно свойство "Адрес" не меняется.
    Пробовал ставить галочки "Подключение по условию" и "Опрос по условию". Присваивал параметрам "Опросить" и "Подключиться" false после этого изменял параметр с адресом и потом снова присваивал true. Всё равно не сработало.

    Может это от версии Masterscada ещё зависит? У меня 1.2.18.29261.

  6. #6

    По умолчанию

    Цитата Сообщение от Ellissar Посмотреть сообщение
    Может это от версии Masterscada ещё зависит? У меня 1.2.18.29261.
    Если верить документации, изменение "настроек протокола/модуля Modbus в RT" добавлено в версии 1.3.2

  7. #7

    По умолчанию

    Цитата Сообщение от Larrrik Посмотреть сообщение
    Если верить документации, изменение "настроек протокола/модуля Modbus в RT" добавлено в версии 1.3.2
    Спасибо. Разработчик ответил также.
    Буду думать как обойти эту проблему.

Похожие темы

  1. Связь c Weintek по ModbusTCP (адрес Slave = 0)
    от aaaSashaMGGU в разделе ПЛК2хх
    Ответов: 3
    Последнее сообщение: 22.10.2023, 14:01
  2. Уставки в рантайме
    от voyva в разделе Master SCADA 4D
    Ответов: 1
    Последнее сообщение: 22.11.2022, 08:35
  3. Пм01 , как сменить адрес устройства?
    от Brandon_heat_dre в разделе Эксплуатация
    Ответов: 5
    Последнее сообщение: 28.10.2019, 21:04
  4. Как узнать базовый ModBus адрес устройства для ModBus ASCII?
    от Александр Подыман в разделе Сервисное ПО
    Ответов: 3
    Последнее сообщение: 03.03.2016, 12:49
  5. изменить Ip-адрес программно
    от michaeladm в разделе Помощь Разработчикам
    Ответов: 2
    Последнее сообщение: 02.09.2010, 17:18

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •