привет.
подскажите, есть ли способ прямо в программе менять интервал запуска задачи?
Вложение 77443
Вид для печати
привет.
подскажите, есть ли способ прямо в программе менять интервал запуска задачи?
Вложение 77443
Спасибо за идею, конечно.
Но я хотел бы вызывать эту программу довольно часто (1000 раз в секунду) и менять частоту вызовов очень плавно (шагами по 5%).
Ваш метод не подойдет, потому как нужно будет создать супер задачу, которая сама будет работать с частотой примерно Х10. Это нереально.
А если прям в программе сделать фильтр вызовов с нужной скоростью?
Ну, большой-большой IF на весь код программы (или Действие) и свой таймер?
Подскажите, верно ли я понимаю, что если непосредственно в проект добавить ПОУ как на рисунке
Вложение 77472
затем в конфигурации задач (или любым другим способом) вызывать это ПОУ на разных устройствах из проекта, то на этих устройствах мы получим копии этого "глобального" ПОУ. Подойдёт ли это для задач удобной отладки и масштабирования, когда, например, есть много ПЛК с идентичными проектами, но разными сетевыми настройками, работающие в одной сети.
Какое вообще штатное назначение этих "глобальных" ПОУ?
Да.Цитата:
Подойдёт ли это для задач удобной отладки и масштабирования, когда, например, есть много ПЛК с идентичными проектами, но разными сетевыми настройками, работающие в одной сети.
Именно такое, какое вы описали. На этой вкладке размещаются объекты, которые будут доступны для использования в приложениях всех контроллеров, добавленных в проект.Цитата:
Какое вообще штатное назначение этих "глобальных" ПОУ?
Добрый день. Мне нужно повторить проект сделанный в TIA Portal (ПЛК1200) на СПК1хх [М01] с модулями М110. В Тиа реализован ООП подход: есть ФБ с программой и есть десяток экземпляров блоков данных "привязанных" к ФБ. Очень удобно, чтобы не плодить кучу кода при работе типового оборудования (вроде насосов, например). Сейчас сел за Codesys 3.5 и с ходу не нашёл подобной возможности. Прошу подсказать где поискать и как это здесь правильно реализуется.
Как вариант, буду писать функцию и вызывать её со ссылкой на разные структуры данных, если нет блоков данных, которые можно подтягивать к выполнению ФБ.
Добрый день.
В CODESYS V3.5 экземплярность реализуется на уровне ФБ.
Т.е. каждый экземпляр ФБ получает свой отдельный "блок данных".
Я вам на почту отправил статью, которую наш отдел рекламы планировал опубликовать в относительно ближайшее время.
Вложение 77481
BASIC.ONTIME - это имя ФБ, а fbOntime - имя его экземпляра.
Можно объявить fbOntime_2, fbOntime_3 и т. п. - и это будут отдельные экземпляры, данные которых не будут пересекаться.
Или можно сразу объявить массив из них:
Код:afbOntime: ARRAY [1..3] OF BASIC.ONTIME;