Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

SCАDA-системы: основные блоки.

Поиск

Программирование на языке FBD.

 

FBD (англ. Function Block Diagram) – графический язык программирования стандарта IEC61131-3. Предназначен для программирования промышленных логических контроллеров (ПЛК). Программирование на нём представляет собой размещение на поле набора логических блоков И, ИЛИ, НЕ, триггеров, таймеров, блоков обработки сигнала и установления связи между ними. Графическая программа состоит из функциональных блоков и соединений между ними. Исполняется сверху вниз и слева направо. Функциональные блоки могут быть написаны на других языках, например IL или ST.

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

Пример: A поделить на B и записать в переменную result

 

Пример языка FBD в TRACE MODE 6.

FBD-программа представляет собой цепочку (диаграмму) последовательно выполняемых функциональных блоков. На рисунке показан вид программы, состоящей из двух блоков, в FBD-редакторе.

Функциональный блок – это графическое изображение вызова встроенной функции Техно FBD (FBD-блока) или функции (функции-блока), определенной пользователем.

Вид FBD-блока показан на следующем рисунке.

В верхней части блока выводится обозначение функции, выполняемой блоком (X && Y на рисунке). Именованные отрезки слева (X и Y), обозначают входы блока (аргументы, переменные или константы функции). Отрезок без имени слева обозначает вход, управляющий выполнением блока (в дальнейшем – вход RUN). Блок выполняется, если RUN=0 (значение по умолчанию).

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

Кроме входов/выходов, некоторые встроенные FBD-блоки имеют внутренние переменные, недоступные пользователю. Переменные FBD-блока (входы/выходы и внутренние) являются глобальными, т.е. сохраняют свое значение между вызовами программы, в том числе при RUN=1.

В нижней части блока выводится его номер и, после двоеточия, номер следующего выполняемого блока (2:1 на рисунке). Номера блоков задаются последовательно при их размещении в рабочем поле редактора; номера следующих выполняемых блоков определяются автоматически при соединении входов и выходов блоков (образовании диаграммы). На блоке, который выполняется первым в программе, после его номера отображается символ В; на блоке, который выполняется последним, – символ Е.

Примеры FBD-блоков

1. Арифметические

Сложение двух элементов (X+Y)

O = X + Y

Пример программы имитирующей непрерывное возрастание некоего параметра (уровень) на постоянную величину

Вычитание (X-Y)

O = X – Y

Умножение (X*Y)

O = X * Y

 

Пример программы обнуления некоторого значения

 

Деление (X/Y)

O = X/Y

Логическое сложение ИЛИ (X || Y)

O = X OR Y

O=0, если одновременно X=0 и Y=0, во всех остальных случаях O=1.

 

Пример программы, имитирующей отработку выходного сигнала при срабатывании любого из условий

 

И (X && Y)

O = X AND Y

O=1, если X и Y одновременно отличны от нуля, во всех остальных случаях O=0.

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

 

 

Больше или равно (>=)

Если IN1 >= IN2, то GE = 1 (TRUE), в противном случае GE = 0 (FALSE).

Меньше или равно (<=)

Если IN1 <= IN2, то LE = 1 (TRUE), в противном случае LE = 0 (FALSE).

Случайная величина в диапазоне [0, 1] (RND)

Этот блок генерирует случайную величину с равномерным законом распределения в диапазоне [0, 1].

Примеры программ имитации различных событий.

1. Имитация равномерного наполнения ёмкости с нулевого уровня до уровня в 15 м.

2. Две одинаковых ёмкости заполняются, скорость заполнения второй ёмкости в два раза больше первой. Ёмкость №1 заполняется с отметки в 20%, ёмкость №2 – 5%, при заполнении любой из емкостей на 80% должна сработать сигнализация. Заполнение прекращается на отметке в 85%.

Лекция №4



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 624; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.140.198.201 (0.009 с.)