КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Функциональные блоки (FB)
Системные функциональные блоки (SFB) и системные функции (SFC) Глобальные блоки данных Экземплярные блоки данных Функции (FC) Функциональные блоки (FB) ЛЕКЦИЯ №8 ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ FBD.
Функциональные блоки (FB) относятся к блокам, которые программируются пользователем. Функциональный блок – это логический блок "с памятью". В качестве памяти ему назначается экземплярный блок данных. В экземплярном DB сохраняются параметры, передаваемые FB, и статические переменные. Временные переменные хранятся в стеке локальных данных. Данные, сохраняемые в экземплярном DB, не теряются, когда исполнение FB завершено. Однако, данные, сохраняемые в стеке локальных данных, теряются, когда исполнение FB завершено. FB содержит программу, которая исполняется всегда, когда FB вызывается другим логическим блоком. Функциональные блоки облегчают программирование часто встречающихся сложных функций. Экземплярный блок данных назначается каждому вызову функционального блока, который передает параметры. Вызывая более одного экземпляра FB, можно с помощью одного FB управлять более чем одним устройством. Например, FB для некоторого класса двигателей может управлять различными двигателями, используя различные наборы экземпляров данных для разных двигателей. Данные для каждого двигателя (например, скорость, накопленное время работы и т. д.) могут быть сохранены в одном или нескольких экземплярных DB. На рисунке 7.1 показаны формальные параметры FB, который использует фактические параметры, сохраненные в экземплярном DB.
Рисунок 7.1 – Связь формальных параметров FB, использующего фактические параметры, сохраненные в экземплярном DB
В STEP 7 в общем случае нет необходимости назначать фактические параметры формальным параметрам FB. Однако имеется исключение из этого правила. Фактические параметры должны быть назначены в следующих ситуациях: • для параметра вход/выход (in/out) сложного типа данных (например, STRING, ARRAY или DATE_AND_TIME) • для всех параметрируемых типов (например, TIMER, COUNTER или POINTER) STEP 7 назначает фактические параметры формальным параметрам FB следующим образом: • Если фактические параметры указываются в операторе вызова: команды FB используют предоставленные фактические параметры. • Если фактические параметры не указываются в операторе вызова: команды FB используют значение, сохраненное в экземплярном DB. В следующей таблице показано, каким переменным FB должны быть назначены фактические параметры. Таблица 7.1 – Назначение фактических параметров переменным FB
Присвоение начальных значений формальным параметрам. Можно присвоить начальные значения формальным параметрам в разделе описаний FB. Эти значения записываются в экземплярный DB, связанный с FB. Нет необходимости назначать фактические параметры формальным параметрам в операторе вызова, STEP 7 использует значения, сохраненные в экземплярном DB. Этими значениями также могут быть начальные значения, которые были введены в таблицу описания переменных FB.
Дата добавления: 2014-01-14; Просмотров: 3113; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |