Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Передача регистров по modbus rtu

  1. #1

    По умолчанию Передача регистров по modbus rtu

    Добрый день.
    Вопрос по передаче регистров по modbus rtu (rs485). Панель СП307Р (master) - плк160 (slave). Не получается записать сразу целую пачку регистров через функциональную область в панели. Командой Копировать группу реистров, записывается только первый регистр. Приходится прописывать каждый регистр отдельно. Почему так?
    И вопрос к этой же теме, в плк160 я так понимаю группы регистров Modbus(Slave) идут по порядку при определении их в Конфигурации ПЛК и чтобы записать допустим в регистр через одного надо пустой регистр тоже указывать? Можно ли в ручную задавать номера регистра, допустим если ты хочешь пропустить 100шт и начать запись в 101?

  2. #2

    По умолчанию

    Цитата Сообщение от Мак_сим Посмотреть сообщение
    Добрый день.
    Вопрос по передаче регистров по modbus rtu (rs485). Панель СП307Р (master) - плк160 (slave). Не получается записать сразу целую пачку регистров через функциональную область в панели. Командой Копировать группу реистров, записывается только первый регистр. Приходится прописывать каждый регистр отдельно. Почему так?
    И вопрос к этой же теме, в плк160 я так понимаю группы регистров Modbus(Slave) идут по порядку при определении их в Конфигурации ПЛК и чтобы записать допустим в регистр через одного надо пустой регистр тоже указывать? Можно ли в ручную задавать номера регистра, допустим если ты хочешь пропустить 100шт и начать запись в 101?
    В ПЛК слейве адреса начинаются с 0, если нужен 101, то придётся добавить больше 101 регистра.
    Записывать можно сколько угодно регистров из панели в ПЛК, можно с помощью ФО или без неё. Выложите пример как вы записываете группу регистров.
    Тут пример записи 3 уставок (6 регистров, можно больше) группой, нужна только 1 ФО для копирования, остальные ФО чтение, запись в PFW, можно выкинуть. https://owen.ru/forum/showthread.php...age=1062#10613
    Последний раз редактировалось kondor3000; 26.06.2024 в 10:06.

  3. #3

    По умолчанию

    Вот скрины и программы
    Изображения Изображения
    Вложения Вложения

  4. #4
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,108

    По умолчанию

    Цитата Сообщение от Мак_сим Посмотреть сообщение
    Вот скрины и программы
    Ну так нужно не ДВА регистра копировать, а ЧЕТЫРЕ!
    один float - два регистра занимает
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #5

    По умолчанию

    Благодарю, почему то я думал что это количество переменных, а не регистров

  6. #6

    По умолчанию

    Цитата Сообщение от Мак_сим Посмотреть сообщение
    Благодарю, почему то я думал что это количество переменных, а не регистров
    Еще несколько замечаний:
    1) Зачем использовать Float, если у вас только целые числа везде, нет знаков после запятой?
    2) Зачем передавать секунды для таймера, как Float ? Достаточно 1 регистра и целочисленной переменной.
    3) Если хотите копировать регистры группой, не делайте перерывов в адресах. Сделайте адреса подряд.
    4) По проекту в ПЛК, если у вас есть однотипные программы для насосов, достаточно сделать 1 ФБ (функц. блок) и вызвать его несколько раз. Количество программ, сократиться в несколько раз.
    Последний раз редактировалось kondor3000; 26.06.2024 в 10:50.

  7. #7

    По умолчанию

    Подскажите почему не получается присвоить переменную в плк? С панели приходит переменная Word_33=25, но в программе она не присваивает это значение и равна нулю?0.jpg1.jpg2.jpg

  8. #8

    По умолчанию

    Цитата Сообщение от Мак_сим Посмотреть сообщение
    Подскажите почему не получается присвоить переменную в плк? С панели приходит переменная Word_33=25, но в программе она не присваивает это значение и равна нулю?]
    Сам ПЛК получает значение в конфигурации, это глобальная переменная.
    Может в программе объявлена ещё одна локальная переменная с тем же именем. Тогда в локальную не пишется число.
    Либо, на последнем фото плохо видно, возможно в эту же переменную ниже по программе присваивается 0.
    Выкладывать лучше скрины и проект, на фото плохо всё видно.
    Последний раз редактировалось kondor3000; 04.09.2024 в 12:30.

  9. #9

    По умолчанию

    BTRZ_CFC_2.pro
    это проект.
    Проверил, остальные переменные тоже не присваюватся и равны нулю

  10. #10

    По умолчанию

    Цитата Сообщение от Мак_сим Посмотреть сообщение
    BTRZ_CFC_2.pro
    это проект.
    Проверил, остальные переменные тоже не присваюватся и равны нулю
    Потому что у вас дублируются имена переменных в конфигурации и в объявлении PLC_PRG и преимущество у локальных переменных. Удалите дубликаты переменных из объявления PLC_PRG

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 26
    Последнее сообщение: 31.01.2023, 17:42
  2. Ответов: 0
    Последнее сообщение: 03.06.2022, 12:54
  3. ТРМ 148 Карта modbus регистров
    от Eugenek555 в разделе Сетевые технологии
    Ответов: 2
    Последнее сообщение: 14.05.2022, 08:52
  4. Подключение регистров Modbus TCP
    от andrej_s.v в разделе СПК2xx (архив)
    Ответов: 5
    Последнее сообщение: 28.11.2017, 21:16
  5. Ответов: 5
    Последнее сообщение: 19.12.2015, 18:22

Ваши права

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