Читайте также: |
|
Пользовательские (или производные) функциональные блоки DFB являются функциональными блоками, которые сконструированы пользователем из EFB-объектов в среде Concept-DFB.
В DFB не существует различий между функцией и функциональным блоком. Не принимая во внимание их внутреннюю структуру, к ним всегда обращаются как к функциональным блокам.
Назначение DFB (EXAMP) представляется внутри блока, а обозначение имени экземпляра DFB (FBI_3_7) - над блоком.
Имя экземпляра устанавливается автоматически, но оно может редактироваться.
Порядок расчета диаграмм FBD
Порядок обработки в первую очередь определяется порядком при размещении FFB. Если FFB впоследствии соединяются с помощью графических связей, порядок обработки определяется потоком данных в соответствии со следующим правилом – вычисление функции или блока возможно, если известны значения всех его входов.
Используйте команду меню Objects → View FFB execution order, чтобы просмотреть порядок обработки. Это выполняется с помощью отображения номера выполнения (номер в круглых скобках) после имени экземпляра или номера функции.
Поменять порядок расчета можно с помощью меток и условных переходов:
>>LAB – переход на метку "LAB";
LAB: – определение метки "LAB".
Если линия связи слева от символа перехода находится в состоянии true, то исполнение программы переходит на соответствующую метку.
Рисунок 1.4. Пример FBD-программы с использованием меток и переходов
В случае если z1 AND z2 будет равно true, то вычисление второй операции будет пропущено, и сразу продолжено вычисление третьей.
Специальный переход RETURN прекращает выполнение FBD программы. Если RETURN встречается в основной программе, прерывается её выполнение и начинается выполнение следующей ниже программы. В функциях и функциональных блоках происходит возврат в место вызова. Использование перехода RETURN аналогично по смыслу оператору RETURN в текстовых языках.
Примечание: В системе CONCEPT в языках FBD и LD нельзя менять порядок вычислений с помощью меток и переходов.
Редактор FBD
Размер поля для размещения блоков из 23 строк и 30 столбцов.
В процессе конфигурирования каждый функциональный блок (FFB) размещается в ячейках логической сетки. Если FFB помещаются вне ячейки сетки или в случае перекрытия их с другими FFB, то появляется сообщение об ошибке и FFB не будет размещен в этой ячейке. Внешние параметры, задаваемые в явном виде на входах/выходах FFB, могут пересекаться другим объектом, но не должны нарушать границы ячеек сетки.
Элементы панели инструментов, применяемых для редактирования программы на FBD показаны на рисунке и могут быть вызваны из главного меню Objects.
Функции кнопок панели инструментов:
Select – выделение одного объекта или группы;
Link – связывание входов и выходов объекта;
FFB – установка функционального блока;
Invert – инверсия входа/выхода блока;
Text – добавление текстового комментария;
FFB Selection – выбор функционального блока из библиотеки.
Чтобы вставить FFB в ячейку сетки, достаточно набрать команду меню Objects ► Select FFB…
Диалоговое окно FFBs from Library будет открыто.
С помощью командной кнопки Library...в этом диалоговом окне осуществляется выбор библиотеки, из которой будут выбираться FFB. В поле Group отображаются группы функциональных блоков, содержащихся в выбранной библиотеке. Содержание группы отображается в соседнем поле EFB Type.
Кнопка FFB Sorted показывает все алгоритмы библиотеки в алфавитном порядке.
В этом режиме текстовом поле FFB при вводе начальных символов имени блока будут найдены блоки, начинающиеся с этих символов.
Для отображения созданных пользовательских функциональных блоков (DFB) используется кнопка DFB.
В появившемся списке DFB Type отображаются функциональные блоки пользователя.
Базируясь на логике программы, входу/выходу FFB с помощью редактора переменных можно назначить: переменную (variable), константу (literal), прямой адрес (direct address).
Нелокализованная переменная, назначаемая входу/выходу, может использоваться как маркер, т. е. для создания контуров или для передачи значений между различными секциями.
С помощью локализованной переменной, связанной с конкретным адресом, входу/выходу может быть назначен сигнал ввода/вывода аппаратного обеспечения.
Чтобы просмотреть список всех объявленных переменных или входов/выходов и сделать выбор из этого списка, используйте командную кнопку Lookup.
Если переменная не была объявлена, используйте командную кнопку Variable Editor... для того, чтобы вызывать диалоговое окно редактирования переменных для добавления нелокализованных переменных, констант, входных или выходных параметров.
Чтобы привязать переменную к входу/выходу блока необходимо дважды щелкнуть по входу блока.
Кроме назначения переменных на вход функционального блока может быть подан выход другого блока. Если линия связи, обеспечивающая соединение с другим FFB, зафиксирована, то это соединение будет контролироваться редактором FBD. Если же подобное соединение запрещено, то будет выдано сообщение о его запрещении и линия связи не будет сгенерирована. В процессе формирования связей между FFB допускаются перекрытия и перекрещивания с другими связями и FFB.
Для всех входов всех блоков должна быть установлена связь. При отсутствии такой связи при проверке программы/секции будет выведено сообщение об ошибке.
Текстовые комментарии не могут перекрываться с FFB, но могут перекрываться с линиями связи. Комментарии не занимают память в ПЛК, потому что они, как правило, не загружаются в ПЛК.
Примечание: В системе CONCEPT в языках FBD и LD нельзя менять порядок вычислений с помощью меток и переходов.
Язык LD
Рисунок 1.5. Графические символы языка LD
С каждым контактом или обмоткой может быть связана булева переменная. С контактами связываются: входные, выходные, внутренние переменные и константы; с обмотками – внутренние и выходные. Значение переменной, связанной с контактом, определяет замкнутость этого контакта. И наоборот, состояние обмотки определяет значение связанной с ней переменной.
Для изображения входных контактов существует несколько символов:
Прямой контакт (замыкающий)
Обратный контакт (размыкающий)
Контакт с обнаружением заднего (negativ) фронта
Контакт с обнаружением переднего (positiv) фронта
Прямой контакт считается замкнутым, если переменная с ним связанная имеет значение true. Обратный контакт считается замкнутым, если переменная равна false. Контакт с обнаружением переднего фронта считается замкнутым, если значение переменной на предыдущем цикле работы контроллера равно false, а на текущем равно true. Контакт с обнаружением заднего фронта считается замкнутым, если значение переменной на предыдущем цикле работы контроллера равно true, а на текущем равно false. Логика работы контактов показана на рисунке.
Используется несколько типов обмоток:
Прямая обмотка
Обратная обмотка
Обмотка с установкой в состояние true (set–обмотка)
Обмотка со сбросом состояния false(reset–обмотка)
Состояние обмотки и значение связанной с ней переменной зависит от состояния контактов, к которым обмотка подключена. Если контакты слева от обмотки создают замкнутую цепь, то прямая обмотка считается замкнутой, а связанная с ней переменная out1 принимает значение true. При размыкании цепи прямой обмотки переменная out1 принимает значение false. Для обратной обмотки разомкнутая цепь означает, что значение переменной out2 равно true. А замыкание цепи приводит к переключению переменной out2 в значение false.
Обмотки с установкой состояния могут только устанавливать значение связанной переменной в true при замыкании цепи. Сброс переменной обмоткой с установкой состояния невозможен. И наоборот, обмотка со сбросом состояния может только сбрасывать значение своей переменной в false.
Дата добавления: 2015-11-26; просмотров: 197 | Нарушение авторских прав