+7(863)285-04-66

info@promtechautomat.ru

г. Ростов-на-Дону. Социалистическая 74

Использование нескольких языков программирования в одном проекте

Программа

Программа - это POU, способный формировать произвольное число значение во время вычислений. Значения всех переменных программы сохраняются между вызовами. В отличие от функционального блока экземпляров программы не существует. Программа является глобальной во всем проекте.

Нельзя вызывать программу из функции.

Если вызвать программу, которая изменит значения своих переменных, то при следующем вызове ее переменные будут иметь те же значения, даже если она вызвана из другого POU.

В этом заключается главное различие между программой и функциональным блоком, в котором изменяются только значения переменных данного экземпляра функционального блока.

Программа PLC_PRG - это специальный POU, который должен быть в каждом проекте. Эта программа вызывается один раз за цикл управления и является по умолчанию главной программой.

По умолчанию в проекте всегда создается единственная "главная" программа PLC_PRG, выполняемая циклически.

Пример вызова программы на языке ST: PRGexample2;

Рассмотрим совместное использование языков ST (главная программа) и LD (подпрограмма) в одном проекте.

Пусть необходимо изменять значение переменной «а» через 5с после запуска программы. Это простая задача может быть реализована с использованием только одного языка программирования – например LD. Так как нас интересует совместное использование двух языков программирования, то отсчет времени будет реализован на языке LD, а проверка условия на изменение переменной «а» будет реализован на языке ST.

Вначале создаем главную программу PLC_PRG на языке LD

Создание PLC_PRG на языке ST.

На вкладке «Ресурсы» выбираем категорию «Global_Variables» Здесь хранятся глобальные переменные проекта. Объявленные как глобальные, переменные и константы имеют область видимости, включающую весь проект. Более того, сетевые переменные могут служить для передачи данных между несколькими абонентами сети.

Обратите внимание: Если в некотором программном компоненте проекта объявлена локальная переменная, имя которой совпадает с именем глобальной переменной, то в данном компоненте будет работать локальная переменная!

Нельзя давать одинаковое имя двум глобальным переменным.

Объявляем переменную «global» с ее помощью мы будем узнавать, что 5с прошли.

Объявление глобальной переменной.

Теперь необходимо создать подпрограмму на языке LD

Добавление нового объекта POU.

Добавление программы на языке LD.

Программа содержит два блока – таймер, который измеряет необходимый интервал времени (в нашем случае 5с) и обмотку реле, с которой связана глобальная переменная

Подпрограмма на языке LD

Управляющая программа на языке ST

PLC_PRG на языке ST.

В первой строке происходит вызов подпрограммы «prog1» без команды вызова отсчет времени не производится. Вызов подпрограммы также можно производить по условию.