step7-pro
голосование
Чего не хватает сайту
поиска
новых статей
статей о подключении оборудования
примеров решения задач
форума
ничего не нужно
поиск


новости
Появился поиск по сайту. Обещаю его улучшить и сделать более адекватным
--------------11.10.11
Новая гостевая книга надеюсь избавит от спама. Еще немного и появится поис и многое другое
--------------11.07.11
C НАСТУПАЮЩИМ НОВЫМ ГОДОМ И РОЖДЕСТВОМ!
--------------30.12.10
Новые статьи по системным функциям и блокам
--------------25.12.10
Теперь у нас новый дизайн, конечно не супер но надеюсь всем понравиться
--------------05.12.10
Форум закрыт по причине ненадобности
--------------08.09.10
Гостевая книга временно отключена из спама
--------------15.10.10
Наш форум forum.step7-pro.ru общайтесь на здоровье!
--------------03.06.10
Наш сайт в twitter Вы сможете подписаться на рассылку новостей и узнавать о новых статьях на нашем сайте.
--------------20.03.10
После долгого перерыва наш сайт снова начал работать
--------------26.02.10
реклама

Создание и открытие функций (FC)

Функции, как и функциональные блоки, расположены в иерархии программы ниже организационного блока. Чтобы функция обрабатывалась CPU, она должна быть вызвана в блоке, расположенном в иерархии выше нее. Однако, в отличие от функционального блока, блок данных не нужен.

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

Создать функцию можно с помощью контекстного меню Insert New Object >Function [Вставить новый блок > Функция]. В диалоговом окне выберете язык программирования.

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

 

Программирование функций

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

Вы должны указать входные и выходные параметры функции (описание "in" и "out") в таблице описания переменных. Вы работаете с таблицей описания переменных таким же образом, как и с таблицей для функционального блока.



Программирование функции таймера в контактном плане
Из каталога элементов программы вставьте эелемент S_OFFDT(запуск таймера с задержкой выключения)
Не забудьте вставить нормально открытый контакт перед входом S и катушку после выхода Q
Установите время задержки на входе TV функции S_OFFDT. Здесь S5T#4s
означает, что определена константа, относящаяся к типу данных S5Time#
(S5T#), определяющая длительность в четыре секунды (4s). Более подробнее об этой функции и о формате времяни вы можете узнать здесь(программирование таймеров)
Функция таймера "#Timer_Function" запускается входным параметром "#Engine_On [Включить_двигатель]". Позднее, когда эта функция вызывается в OB1, она один раз будет
снабжена параметрами для бензинового двигателя и один раз параметрами для дизельного
двигателя (например, Т1 для "PE_Follow_on"). Символические имена этих параметров вы позднее введете в таблицу символов.
Программирование функции таймера в списке операторов

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

Программирование функции таймера в функциональном плане
выделите в сегменте область ввода и введите показанную ниже программу FBD для функции таймера. Более подробнее об этой функции и о формате времяни вы можете узнать здесь(программирование таймеров)

Чтобы функция таймера обрабатывалась, вам нужно вызвать эту функцию в блоке, расположенном более высоко в иерархии блоков (например, в OB1).

 

Вызов функции в OB1

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

Откройте OB1 и в окне для программирования с помощью команды меню Options > Symbol Table [Параметры > Таблица символов]
В Конце таблицы добавьте следующие символы:


Перевод комментариев (в порядке следования):
Время "последействия" для вентилятора дизельного двигателя
Время "последействия" для вентилятора бензинового двигателя
Управление вентилятором
Команда для включения вентилятора бензинового двигателя
Команда для включения вентилятора дизельного двигателя

 

Программирование вызова в контактном плане

Вставьте новый сегмент, а затем в катологе элементов программы выберете и вставьте функцию FC1. Вставьте нормально открытый контакт перед "Engine_On [Включить_двигатель]". и присвойте символические имена.

Точно также в новом сегменте можно вызвать функцию FC1 но для другого двигателя , назначив другие адреса.

Сохраните и закройте блок.

Программирование вызова в списке операторов

Здесь показано все тоже самое , только в виде списка операторов

Программирование вызова в функциональном плане

При программировании в FBD введите в новом сегменте следующие команды:

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

 

<--Предыдущая статья   Следующая статья -->
сделано djoni политика конфидициальности Rambler's Top100