УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

Работа программного контроллера с приоритетом 99


Автор Сообщение
Сообщение создано: 25. 05. 2020 [16:58]
va.dzyuba
Владислав Дзюба
Создатель темы
Зарегистрирован(а) с: 20.06.2019
Сообщения: 16
Добрый день. Потребовалось в проекте под Raspbian (на Raspbery Pi3b) реализовать вместе с собственно SCADA вычислитель с установленным тактом вычисления:
Такт 50 мс
Время выполнения вычислений около 25 мс при ненагруженном процессоре.
По мере увеличения количества сессий росла нагрузка на процессор и было обнаружено что вычислитель не держит такт.
Для контроля такта на шину GPIO был выведен сигнал вычислителя (1 в начале такта, 0 после окончания вычислений) после чего было обнаружено что:
- при нагрузке на процессор 50% так выдерживается, но иногда время выполнения становится близким к длительности такта
- при нагрузке процессора около 94% иногда происходит задержка запуска вычислителя (около 20 мс) соответственно такт уже "уплывает"
- при нагрузке процессора 100% задержки запуска вычислителя превышают 200 мс и появляются достаточно часто (раз в 20-30 циклов вычисления скриншот осциллографа во вложении)
Все процессы кроме вычислителя имеют приоритет 0, вычислитель имеет приоритет 99. Необходимые изменения в limits.conf внесены, при запуске вычислителя сообщений
про невозможность запуска процесса в реальном времени OpenScada не выдаёт.
Кто сталкивался, это нужны какая-то ОС с ядром реального времени или я что-то не так делаю и надо покопаться с настройками того, что есть?

[Сообщение редактировалось 1 раз(а), в последний раз 25.05.2020 в 17:00.]
Сообщение создано: 26. 05. 2020 [10:34]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
http://oscada.org/wiki/Special:MyLanguage/Sub-projects/Embedding_and_PLC#RT
http://oscada.org/wiki/File:QTCfg_sys_tasks_ru.png

Learn, learn and learn better than work, work and work.
Вложенный файл

RPi3_Raspbian9.png (Тип файла: image/png, Размер: 202.55 килобайт) — 1473 загрузок
Сообщение создано: 26. 05. 2020 [14:58]
va.dzyuba
Владислав Дзюба
Создатель темы
Зарегистрирован(а) с: 20.06.2019
Сообщения: 16
Роман, спасибо за ответ, но не совсем понял. Я вижу что на вашем скриншоте тоже есть пропущенные такты и задержка запуска при этом приблизительное соотношение времени исполнения к времени такта как у меня 1:2. Надо добиваться меньшего соотношения?
Насчёт дистрибутива OpenScada под Raspbian под ПЛК попробую.
На всякий случай положу во вложение файл с таблицей задач моего проекта.
Вложенный файл

Pi3bTasks.png (Тип файла: image/png, Размер: 598.38 килобайт) — 1453 загрузок



8924