Просмотр полной версии : Передача регистров по modbus rtu
Добрый день.
Вопрос по передаче регистров по modbus rtu (rs485). Панель СП307Р (master) - плк160 (slave). Не получается записать сразу целую пачку регистров через функциональную область в панели. Командой Копировать группу реистров, записывается только первый регистр. Приходится прописывать каждый регистр отдельно. Почему так?
И вопрос к этой же теме, в плк160 я так понимаю группы регистров Modbus(Slave) идут по порядку при определении их в Конфигурации ПЛК и чтобы записать допустим в регистр через одного надо пустой регистр тоже указывать? Можно ли в ручную задавать номера регистра, допустим если ты хочешь пропустить 100шт и начать запись в 101?
kondor3000
26.06.2024, 09:47
Добрый день.
Вопрос по передаче регистров по 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?t=10555&page=1062#10613
Вот скрины и программы
Ну так нужно не ДВА регистра копировать, а ЧЕТЫРЕ!
один float - два регистра занимает
Благодарю, почему то я думал что это количество переменных, а не регистров:confused:
kondor3000
26.06.2024, 10:40
Благодарю, почему то я думал что это количество переменных, а не регистров:confused:
Еще несколько замечаний:
1) Зачем использовать Float, если у вас только целые числа везде, нет знаков после запятой?
2) Зачем передавать секунды для таймера, как Float ? Достаточно 1 регистра и целочисленной переменной.
3) Если хотите копировать регистры группой, не делайте перерывов в адресах. Сделайте адреса подряд.
4) По проекту в ПЛК, если у вас есть однотипные программы для насосов, достаточно сделать 1 ФБ (функц. блок) и вызвать его несколько раз. Количество программ, сократиться в несколько раз.
Подскажите почему не получается присвоить переменную в плк? С панели приходит переменная Word_33=25, но в программе она не присваивает это значение и равна нулю?784417844278443
kondor3000
04.09.2024, 10:58
Подскажите почему не получается присвоить переменную в плк? С панели приходит переменная Word_33=25, но в программе она не присваивает это значение и равна нулю?]
Сам ПЛК получает значение в конфигурации, это глобальная переменная.
Может в программе объявлена ещё одна локальная переменная с тем же именем. Тогда в локальную не пишется число.
Либо, на последнем фото плохо видно, возможно в эту же переменную ниже по программе присваивается 0.
Выкладывать лучше скрины и проект, на фото плохо всё видно.
78444
это проект.
Проверил, остальные переменные тоже не присваюватся и равны нулю
78444
это проект.
Проверил, остальные переменные тоже не присваюватся и равны нулю
Потому что у вас дублируются имена переменных в конфигурации и в объявлении PLC_PRG и преимущество у локальных переменных. Удалите дубликаты переменных из объявления PLC_PRG
kondor3000
04.09.2024, 12:09
78444
это проект.
Проверил, остальные переменные тоже не присваюватся и равны нулю
То о чём я и писал, надо из программы удалить все повторяющиеся имена (локальные), в том числе Word_33 78445 кроме одной
Эту оставить - MB_Set_Hz_HDW2: INT;
Глобальные переменные не надо 2 раз объявлять, они доступны из любой части программы.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot