Управление преобразователем из контроллера по modbus RTU.
Преобразователь открывает и закрывает ворота и должен сделать это за одну секунду.
Надо в течении секунды двигаться с большой скоростью, потом перейти на маленькую скорость и остановится по датчику.
С остановкой по датчику на низкой скорости проблем нет, но двигаться с большой скоростью в течении заданного времени не получается.
Точность у меня +/- 0.3 секунды.
Визуально выглядит что ворота переходят на медленную скорость в произвольном месте.
Какая точность управления вообще достижима?
Обмен с преобразователем делал на библиотечном устройстве. Сейчас думаю что лучше делать:
1. Попробовать отключить модуль (остановить обмен для этого модуля можно средствами библиотеки), записать в модуль новое значение скорости. В заданное время включить модуль и записать флаг Puls для применения новой скорости
2. Добавить отдельное Modbus устройство (generic) с тем же адресом и попытаться отправить команду через него.
3. Может стоит посмотреть на настройку "задача цикла шины" (у меня main task стоит) и настройку "всегда обновлять переменные" (у меня вкл.2 всегда в задаче цикла шины). Может изменение этих настроек помочь?




Ответить с цитированием
