Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Расширение возможностей LD



В LD-диаграмму можно вставить функции и функциональные блоки. Функциональные блоки должны иметь логические вход и выход. Как работает функциональный блок можно показать на примере организации цикла на 10 повторов на базе функционального блока декрементный счетчик CTD. Первая цепь загружает счетчик числом повторов. Вторая цепь - генератор единичных импульсов. Третья - декрементный счетчик с проверкой условия окончания цикла. Для включения в диаграмму функций в них искусственно вводится добавочный логический вход, обозначаемый EN (Enable). Логическое значение на входе EN разрешает или запрещает выполнение функции. Сама функция меняется при добавлении входа EN.

В первой редакции стандарт МЭК определял контакты и обмотки, управляемые фронтами импульсов: контакт |Р| и обмотка (Р) переднего фронта, контакт |N| и обмотка (N) заднего фронта. В настоящее время поддержка таких контактов и обмоток не яв­ляется обязательной, так как аналогичную цепь легко можно по­строить при помощи функциональных блоков R_TRIG и F_TRIG.

Нетрудно заметить, что длина LD-цепей различна в зависимости от сложности. Например, пусть первая цепь состоит из 50 контактов, а вторая из двух. В этом случае шины питания на схеме должны быть широко разнесены, чтобы вместить все соединения первой цепи. Вторая цепь будет выглядеть неоправданно растянутой. Эта особенность РКС всегда вызывала сложности при реализации программирующих станций ПЛК. Если цепь не вмещалась в один экран, ее разрывали и переносили остаток ниже. Аналогично выглядят предложения данного абзаца, выровненные по ширине. Перенос легко читается для одного провода, но цепь может быть разветвленной.

Стандарт МЭК допускает не изображать общую правую шину вообще и выравнивать цепи влево для лучшего зрительного восприятия.

Время выполнения одной LD-цепи не постоянно. Если процессор обнаружил, что цепь разомкнута, то уже нет смысла анализировать ее далее, можно сразу присвоить значение FALSE выходной переменной.

Функция или функциональный блок в LD рассматриваются как исполнительное устройство - аналог реле. Применение функции фактически означает конец LD-диаграммы и начало FBD. Правила построения LD-диаграмм здесь уже не работают.

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

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

Рисунок 7.3 – Изображение секции LD


10. Язык функциональных блок-схем – FBD

Язык FBD (Function Block Diagram) – графический язык программирования высокого уровня, обеспечивающий управление потоками данных всех типов. Позволяет использовать очень мощ­ные алгоритмы простым вызовом функций и функциональных блоков. Удовлетворяет непрерывным динамическим процессам. Замечателен для небольших приложений. Хорош для сложных ве­щей подобно ПИД регуляторам, массивам и т. д. Имеет большую библиотеку блоков. FBD заимствует символику булевой алгебры и, так как булевы символы имеют входы и выходы, которые могут быть соединены между собой, FBD является более эффективным для представления структурной информации, чем язык релейно-контактных схем.

Объекты языка FBD:

EFB (Elementary Function Block) – элементарные функции и элементарные функциональные блоки; они находятся в библиоте­ках. Логика обработки в EFB (программа) написана на языке С и не может быть изменена в редакторе FBD. Изменять можно только параметры блоков;

DFB (Derived Function Block) – функции и функциональные блоки пользователя; они конструируются пользователем из EFB;

UDEFB (User Defined Elementary Function Block) – разработан­ные пользователем на языке С; они оформляются как объекты библиотек.

Для EFB, DFB и UDEFB принято общее обозначение – FFB (Functions/Function Block). Каждый из перечисленных объектов представляет собой подпро­грамму, которая помещается в одну из библиотек, используемых при разработке программы работы ПЛК. Таким образом обеспечи­вается возможность вызова и хранения FFB в форме библиотек.

Разработка программы для ПЛК осуществляется с помощью гра­фического редактора FBD посредством формирования блок-схемы из перечисленных выше FFB, которые объединяются друг с другом ли­бо посредством внешних (фактических) параметров FFB (перемен­ные, соответствующие входам и выходам FFB), т. е. таблично, либо непосредственно линиями связи – графическими связями. Редактиро­вание обычно выполняется с помощью мыши или клавиатуры.

Последовательность (очередность) обработки отдельных FFB в программе (в каждой FBD-секции) определяется потоком данных внутри секции.

Теоретически каждая секция может включать любое число FFB и, соответственно, любое число входов и выходов. Однако жела­тельно разделить сложную программу на ряд логических единиц, т. е. на различные секции.

В дополнение к перечисленным выше объектам языка FBD ре­дактор позволяет поместить текст (комментарий) в секцию FBD. На рисунке 8.1 приведен общий вид секции FBD.

Рисунок 8.1 – Представление секции FBD

Элементарные функции и функциональные блоки – ЕFВ

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

Элементарная функция представляется графически как рамка со входами и одним выходом. Эти входы всегда располагаются слева от рамки, а выход справа.

Название функции, например, тип функции, изображается в центре рамки.

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

Счетчик функции показан над рамкой. Счетчик функции это порядковый номер функции в текущей секции. Счетчики функции не могут изменяться.

Рисунок 8.2 – Графическое изображение элементарной функции

Графическое изображение элементарной функцииприведено на рис. 8.2.

Функции не имеют внутренних состояний (условий) – это ком­бинационные схемы. Одним и тем же значениям входных величин будут соответствовать одни и те же значения величин на выходе для всех (неоднократных) исполнений функций. Например, функ­ция сложения двух величин обеспечивает тот же самый результат при каждом (неоднократном) исполнении.

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

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

Функциональные блоки могут иметь более одного выхода.

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

Номер выполнения функционального блока показан справа от типа функционального блока. Имя экземпляра показано над рамкой. Имя экземпляра является уникальным идентификатором для функционального блока в проекте. Имя экземпляра создается автоматически и имеет следующую структуру: FBI_n

FBI = Экземпляр Функционального Блока

n = порядковый номер функционального блока в проекте

Это автоматически генерируемое имя может быть изменено для наглядности. Имя экземпляра (максимум 32 символа) должно быть уникальным в пределах всего проекта и не является чувствительным к регистру. Имя экземпляра должно соответствовать общим соглашениям об именовании.

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

Рисунок 8.3 – Графическое изображение элементарного функционального блока

Все FFB могут быть вызваны с дополнительными (необязатель­ными) формальными параметрами: EN (входом) и ENO (выходом).

Конфигурирование (включение или выключение) параметров EN и ENO осуществляется в диалоговом окне Property (свойства) FFB, которое вызывается посредством команд Object, Property (Объекты, Свойства), или двойным нажатием левой клавиши (ЛК) мыши на изображении FFB.

Если FFB вызывается с параметрами EN/ENO и при этом значе­ние EN равно нулю, то алгоритмы, определяемые FFB, не будут вы­полняться. В этом случае значение ENO автоматически устанавлива­ется равным 0. Если же значение EN равно 1, то алгоритмы, опреде­ляемые FFB, будут выполнены. После выполнения этих алгоритмов без ошибок значение ENO автоматически устанавливается равным 1. Если же возникает ошибка во время выполнения этих алгоритмов, то значение ENO будет установлено равным 0.

Поведение FFB одинаково как в случае вызова FFB с EN = 1, так и при вызове без параметров EN/ENO.

Связь.

Связи являются соединениями между FFB. Несколько связей могут быть соединены с FFB выходом. Пункты любого такого соединения отмечаются жирной точкой. Входы/выходы, которые будут соединены, должны иметь соответствующие типы данных. Связи могут быть отредактированы в режиме Выбора. Перекрывание с другими объектами разрешается. Связи не могут использоваться для конфигурации контуров, потому что не возможно ясно определить порядок обработки в секции. Контуры должны решаться с помощью фактических параметров.

Несвязанным входам FFB назначается по умолчанию значение ”0”.

Порядок обработки.

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

Используйте команду меню Objects → View FFB execution order, чтобы просмотреть порядок обработки. Это выполняется с помощью отображения номера выполнения (номер в круглых скобках) после имени экземпляра или номера функции (рисунок 8.4).

Рисунок 8.4 – Порядок обработки

Целенаправленное реверсирование в порядке обработки двух FFB может быть произведено с командой меню Objects → Reverse FFB execution order, но только, если потоковое правило будет не нарушено (рисунок 7.6 и 7.7).

Рисунок 8.5 – Изменение порядка обработки двух сетей, размещенных в контуре

На рисунке 8.5 показано как обмен достигается переключением двух FFB, которые связаны через переменную обратной связи контура.

Рисунок 8.6 – Изменение порядка обработки FFB

На рисунке 8.6 показано изменение порядка обработки FFB (или сетей), которые обрабатываются согласно порядку размещения.

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

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





Дата публикования: 2015-04-10; Прочитано: 706 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...