Вход

Просмотр полной версии : CODESYS V3.5 создание блока программа



alex_ku
14.09.2022, 13:33
Добрый день! Хотел уточнить один момент. Создаю новый блок программа, создаю функциональный блок. Объявляю экземпляр
фунционального блока, выставляю точки входа и выхода в фунцион блок, привязываю переменные к входам и выходам.При запуски программы на входа поступают переменные, а в фунцион блок внутрь не поступают. Проверил в главной программе PRG функц блок отрабатывает. Вопрос что нужно сделать чтобы использовать функц блоки , в других программах. Пробовал обьявлять экземпляр блока как глобальн переменную и обращался к ней, не помогло. Добавлял PUBLIC блоку тоже не получилось. Вопрос как правильно создавать модуль программу и использовать в ней функционал блоки

Евгений Кислов
14.09.2022, 13:35
Добрый день! Хотел уточнить один момент. Создаю новый блок программа, создаю функциональный блок. Объявляю экземпляр
фунционального блока, выставляю точки входа и выхода в фунцион блок, привязываю переменные к входам и выходам.При запуски программы на входа поступают переменные, а в фунцион блок внутрь не поступают. Проверил в главной программе PRG функц блок отрабатывает. Вопрос что нужно сделать чтобы использовать функц блоки , в других программах. Пробовал обьявлять экземпляр блока как глобальн переменную и обращался к ней, не помогло. Добавлял PUBLIC блоку тоже не получилось. Вопрос как правильно создавать модуль программу и использовать в ней функционал блоки

Добрый день.
Вероятно, вы не вызвали функциональной блок.
Покажите скриншотом, как именно вы его вызываете в программе.
Или может выложить ваш проект.

alex_ku
14.09.2022, 13:56
А есть ли разница вызова функц блока из главной программы и из обычной, просто в главной у меня все работает?

Евгений Кислов
14.09.2022, 13:57
А есть ли разница вызова функц блока из главной программы и из обычной, просто в главной у меня все работает?

Если обычная программа вызывается программной, привязанной к задаче, или сама привязана к задаче - то разницы нет.

alex_ku
14.09.2022, 14:03
Мне нужно просто разобраться как работает модуль программа. Пусть пустой проект, создаю программу А., создаю фунцион блок.Обьявляю экземпляр фунц блока в программе А. Подаю на входа блока данные, а они внутрь не проходят. Делаю тоже самое в главной программе, все отрабатывает

alex_ku
14.09.2022, 14:04
62632
высылаю скрин

Евгений Кислов
14.09.2022, 14:05
Мне нужно просто разобраться как работает модуль программа. Пусть пустой проект, создаю программу А., создаю фунцион блок.Обьявляю экземпляр фунц блока в программе А. Подаю на входа блока данные, а они внутрь не проходят. Делаю тоже самое в главной программе, все отрабатывает

Вы привязали программу A к какой-нибудь задаче в конфигурации задач?
Если нет - она не будет выполняться.

alex_ku
14.09.2022, 14:07
с фунциональн блоками я разобрался а как работает блок программа пока нет, как понимаю есть главная программа точка входа PRG, а как взаимодействовать с другими программами не пойму.

alex_ku
14.09.2022, 14:10
мне нужно новую задачу создать, или привязать к существующей.

Евгений Кислов
14.09.2022, 14:12
с фунциональн блоками я разобрался а как работает блок программа пока нет, как понимаю есть главная программа точка входа PRG, а как взаимодействовать с другими программами не пойму.

Есть задачи. К ним привязываются программы. Тогда они выполняются.
Если программа не привязана к задаче - она не выполняется.

Можно вызвать программу, не привязанную к задаче, в программе, привязанной к задаче.
Например, в PLC_PRG вы можете добавить новый элемент и прописать в нем название protection_DG.
Тогда ваша программа protection_DG будет вызываться в программе PLC_PRG, привязанной к задаче MainTask.

Евгений Кислов
14.09.2022, 14:13
мне нужно новую задачу создать, или привязать к существующей.

Это вам решать, но я бы не рекомендовал создавать новые задачи без четкого понимания принципов их работы.

alex_ku
14.09.2022, 14:16
благодарю, все заработало.....Создал задачу и прописал в ней программу...

alex_ku
14.09.2022, 14:19
благодарю, все получилось.