Проектирование программного обеспечения плк zentec в среде разработки zetfbd

Пример программы на языке FBD¶

На рис. 8 приведена FBD диаграмма, состоящая из следующих
функциональных блоков: SR0, AND, TP0.

Рис. 8 – пример FBD диаграммы

Функциональный блок SR0 представляет собой Бистабильный SR-триггер. У
него имеются входы S1, R1 и выход Q1, а так же дополнительный вход EN и
выход ENO, позволяющие включать и выключать выполнение SR0. Выход Q1 с
помощью соединён с входом IN1 блока AND, представляющий собой
«Логическое И». Вход IN2 типа BOOL соединён с литералом «BOOL#1»,
который всегда положительный. Выход OUT блока AND соединён с входом IN
функционального блока TP0, представляющий собой повторитель импульсов.
Вход PT типа TIME, соединён с литералом «T#5s», который задаёт значение
5 секунд.

Если после запуска выполнения данного функционального блока enabled
равно True и переменная S1_IN тоже True, функциональный блок SR0
начинает выполняться. На выходе OUT функционального блока AND будет
значение True как только Q1 у SR0 будет равен True. Следовательно, как
только OUT становится True вход IN функционального блока TP0 принимает
тоже True и начинается отсчёт таймера ET (см. рис. 9).

Рис. 9 – Выполнение FBD диаграммы

Пока данный таймер не достигнет значения PT выход Q у функционального
блока TP0 будет равен True. При достижении таймером ET значения PT, т.е.
через 5 секунд выход Q становится False (см. рис. 10).

Рис. 10 – Выполнение FBD диаграммы

Как только вход IN функционального блока TP0 становится значения FALSE,
счётчик ET сбрасывается в T#0s.

Структура и устройство ПЛК

Любой плк Siemens или аналогичный, других производителей, ориентирован на выполнение конкретных действий. Микроконтроллер опрашивает блоки ввода информации, чтобы принять решение, сформировать на выходе готовую команду. Упрощенно схема стандартного элемента включает:

  • вход;
  • центр;
  • выход.

Входные цепи образованы набором датчиков (аналоговых или цифровых), переключающих устройств, смарт-систем. В центральном блоке расположены: процессор, обрабатывающий команды, модуль памяти и средства коммуникации. Выходные цепи отвечают за передачу сигнала на моторы привода, вентиляцию, осветительную арматуру. Туда же допускается подключить управляющее смарт- устройство архитектуры ардуино или подобное. Необходимо также выполнить условие подключения ПЛК к цепям питания. Без них устройство работать не будет. Внешний компьютер через унифицированный интерфейс используется для отладки, программирования контроллера.

Входы и выходы

В любом контроллере реализованы входы трех типов – дискретные, аналоговые, специальные.

Дискретный вход

Один вход может принять только один сигнал и он будет бинарным. Вход может быть либо включенным, либо выключенным. Один вход — это 1 бит. К этому входу подключают соответствующее оборудование.

Если состояние приборов не удается описать в 1 бит, тогда для работы такого оборудования применяют несколько дискретных входов.

Системное ПО обязательно оснащено драйвером. Он считает физические значения каждого входа в ОЗУ. За счет этого программистам нет нужды понимать, как устроен контролер внутри. Дискретный вход – биты, которые можно читать и изменять из оперативной памяти устройства.

Аналоговый вход

Электрический аналоговый сигнал — это уровень напряжения или тока, соответствующий определенным физическим величинам. Это может быть значение температуры, давления, веса, положения, скорости перемещения, частоты оборотов. Так как ПЛК – это прежде всего вычислительный прибор, то аналоговый сигнал переводится в цифровой. Получается дискретная переменная.

Специальный вход

Обыкновенные входы способны удовлетворить практически все нужды. Необходимость в в спец. входах появляется при трудностях в обработке сигналов.

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

Второй тип таких входов – это входы, которые могут мгновенно запускать команды пользователей с прерываниями на выполнения основного ПО.

Дискретный выход

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

Human machine interface (HMI)

The library contains basic functions support HMI. This can be used if your PLC has a display (LCD). You can make character or graphical menu with which to perform the following functions:

  • View values of schema points ()
  • Set the values of set points ()

Watchpoints is used to display the values of the signals for operator. Setpoints are used to set the reference values, used in the operation of the circuit. Each watchpoint and setpoint has the associated text caption, that can be displayed on LCD. Moreover, for setpoints are stored maximum and minimum values of the signal that it can receive.

To get the value of the watchpoint, use the function:

bool fbdHMIGetWP(tSignal index, tHMIdata *pnt);
// index - number of watchpoint (0..watch points count-1)
// pnt - pointer to data struct:
typedef struct {
    tSignal value;              // current point value
    tSignal lowlimit;           // low limit for value (only for setpoints)
    tSignal upperLimit;         // upper limit for value (only for setpoints)
    DESCR_MEM char *caption;    // pointer to text caption (asciiz)
} tHMIdata;

If the point exists, the function returns and the data in the structure of , otherwise the function returns a value . Items and not used.
To get the value of the setpoint, use the function:

bool fbdHMIGetSP(tSignal index, tHMIdata *pnt);
// index - number of setpoint (0..set points count-1)
// pnt - pointer to data structure

If the point exists, the function returns and the data in the structure of , otherwise the function returns a value . Watchpoints and setpoints numbering starts with 0.
To set the new setpoint value, use the function:

void fbdHMISetSP(tSignal index, tSignal value);
// index - number of setpoint (0..set points count-1)
// value - new value of setpoint

Охарактеризуйте язык функциональных блок-схем fbd.

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

2. Что такоеEFB,DFB,UDEFB?

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

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

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

3.Каково назначение
входовENи выходовENOфункциональных блоков?

Все 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.

4. Какую структуру имени, присваиваемого
автоматически, имеет FFB?

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

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

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

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

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

5.Для чего служат связи?

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

6. Какое значение
назначается по умолчанию несвязанным
входамFFB?

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

Языки программирования и среды разработки

У каждого производителя имеется своя среда программирования, «заточенная» под конкретные модели ПЛК. Однако производители пришли к соглашению, что будут использовать унифицированные языки программирования, подходящие для разных контроллеров.

Наиболее простым и наглядным языком программирования ПЛК, входящим в каждую среду разработки является язык релейных схем LD (Ladder Diagram

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

Другой язык, имеющий обширный функционал – FBD (Function Block Diagram)

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

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

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

Другие полезные материалы:

Настройка ПЧ для работы на несколько двигателей Особенности работы частотников при однофазном питании Коротко о программируемых логических контроллерах

§5. Пространственная и временная когерентность излучения источника. Время и длина когерентности

Различают
пространственнуюивременнуюкогерентность излучения источника.Пространственнаякогерентность
связана с конечными (неточечными)
размерами источника. Онaповодит к уширению интерференционных
полос на экране и при некоторой ширине
источникаDполному
исчезно­вению интерференционной
картины.

Объясняется
пространственная некогерентность
следующим образом. Если источник имеет
ширину D,то каждая
светящаяся полоска источника с координатойx′ даст на экране свою
интерференционную картину. В резyльтaтeразличные смещенные относительно друг
друга интерференционные картины на
экране наложатся, друг на друга, что
приведет к размазыванию интерференционных
полос, а при некоторой ширине источникаD — к полному исчезновению
интерференционной картины на экране.

Можно
показать, что интерференционная картина
на экране исчезнет, если угловая ширина
источника, φ=D/l,видимая из центра экрана, больше отношенияλ/d:

. (1)

Временная
когерентность
связана со
немонохроматичностью излучения
источника. Она приводит к уменьшению
интенсивности интерференционных полос
при удалении от центра интерференционной
картины и последующему ее обрыву.
Например, при наблюдении интерференционной
картины с использованием немонохроматического
источника и бипризмы Френеля на экране
наблюдается от 6до
10полос. При использовании
высокомонохроматичного лазерного
источника излучения число интерференционных
полос на экране достигает нескольких
тысяч.

Найдем
условие обрыва интерференции из-за
немонохроматичности источника,
излучающего в интервале длин волн (λλΔλ). Положениеm-го максимума на экране определяется
условием

. (2)

где λλ/n
—длина волны с
показателем преломленияn.Отсюда следует, что каждой длине волныλсоответствует своя интерференционная
картина. При увеличенииλпроисходит
смещение интерференционой картины тем
большее, чем больше порядок интерференции
(номер интерференционной полосы)m.
В результате может оказаться, чтоm-ый
максимум для длины волныλΔλналожится на (m+1)-ый максимум для
длины волныλ.При
этом интерференционное поле междуm-ым
и (m+1)-ым максимумами для длины волныλравномерно заполнится
интерференционными максимумами из
интервала (λλΔλ) и экран
окажется равномерно освещенным, т.е. ИК
оборвется.

Условие
обрыва интерференционной картины

. (3)

Откуда
согласно (2)

, (4)

что дает для порядка интерференции(номера
интерференционной полосы), при которой
произойдет обрыв ИК

. (5)

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

(6)

Подставляя
(5) в (6),найдем оптическую
разность хода лучей 1и
2,при которой происходит исчезновение
интерференции на экране

(7)

При
Δ>Lкогинтерференционная
картина не наблюдается. Величина
называетсядлиной (продольной) когерентности,
а величина

(8)

временем когерентности.
Переформулируем (6)в
терминах частоты излучения. Учитывая,
чтоλcν,
получим

или
. (9)

Тогда
согласно (7)

, (10)

а согласно (8)

или
(11)

Получили
связь между временем когерентности
τкоги шириной частотного
интервала Δνизлучения источника.

Для
видимого диапазона (400–700) нм с шириной
интервала Δλ=300нм при
средней длине волныλ=550нм длина когерентности составляет
порядкаLког=10−6м, а
время когерентности порядкаτког=10−15с. Длина когернтности лазерного излучения
может достигать нескольких километров.
Отметим, что время излучения атома имеет
порядок 10−8 c, а длины волновых
цугов составляют порядка L
= 3м.

Цикл программы и Базовый таймер

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

Длительность этого интервала зависит только от скорости работы устройства, настройка такого соотношения в системе zetFBD отсутствует. Устройство выполняет шаги с максимально возможной скоростью. 

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

Гарантия срабатывания блоков в каждом шаге позволяет использовать следующую особенность: многие логические значения выходов, сигнализирующие о возникновении события, работают по принципу «одиночного срабатывания». Это значит, что такой выход выдает 0 в течение большинства шагов выполнения схемы. Только при возникновении события он выдает 1, в течение только одного шага выполнения схемы, а на следующих шагах снова выдается 0. Такая одиночная 1 только в течение одного шага (в течение одной единицы дискретного времени) обязательно будет обработана соответствующими блоками. Само собой разумеется, что если такой выход подключить к физическому дискретному выходу устройства – он будет включаться на время 1 шага схемы, который может длиться от 100 мксек до 1000 мсек, что неправильно, т.к. внешние системы не должны быть зависимы от времени выполнения шага устройства. Поведение таких выходов удобно тем, что для них передний фронт и уровень – одно и то же, при необходимости иметь передний фронт можно просто использовать этот выход, без анализа фронта.

Для синхронизации с реальным временем используется блок «таймер», работа которого определяется Базовым таймером системы.

Любое количество блоков «таймер» используют один аппаратный «базовый» таймер устройства, настраиваемый на определенный постоянный интервал срабатывания.Базовый таймер — это интервал времени, за который гарантированно успевает выполниться вся программа контроллера без учета оптимизации.

Важно понимать:

  • Цикл системы всегда динамический. Система внутренней оптимизации будет стремиться выполнить программу за минимальное время;
  • Базовый таймер задает интервал времени, которому кратны все пользовательские таймеры;
  • Если время динамического цикла выполнения программы будет больше времени базового таймера, то устройство выдаст ошибку (см. документ D080813 — Коды ошибок)

Принцип работы ПЛК

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

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

Для управления ПЛК, его программирования используется бытовой ПК. Несколько отдельных микроконтроллеров образуют каскад с усложненными задачами. Системы «умный дом», автоматика включения двигателя насоса для закачки воды в накопительный бак давно содержат в себе подобные блоки.

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

Первый этап работы устройства состоит из экспресс-теста задействованного оборудования. Одновременно идет загрузка операционной среды, управляющих программ. Все как в настольном ПК при старте Windows. Предусмотрена пошаговая отработка команд (отладка), при которой допускается мониторинг, корректировка переменных.

Для простоты восприятия рабочий, шаговый режим ПЛК разбит на типовые циклы. Они повторяются во время функционирования устройства. В каждом цикле, «маршрутной карте» заключаются 3 действия:

Завершается цикл быстрым переходом к первому этапу «урока».

История создания

В 60 годах 20 века для управления телефонными станциями, промышленным оборудованием использовались сложные схемы с реле. Они не отличались повышенной надежностью или ремонтопригодностью. Инженерам одной из компаний, американской General Motors, была поставлена цель по созданию нового оборудования. Задачи, на которые оно было рассчитано, выглядели так:

  1. Упрощение отладки, замены.
  2. Относительная дешевизна.
  3. Гибкость, удобство модернизации.
  4. Снижение риска отказов.

Терминология, объясняющая, что такое ПЛК (PLC), внесена в международные и европейские стандарты качества МЭК, EN.

Работа с постоянной памятью контроллера (ППЗУ)

Все переменные проекта располагаются в области оперативной памяти (ОЗУ) и имеют свойство «Сохранение в ПЗУ». Физически, при активном свойстве, данные из ОЗУ копируется (записывается) в ПЗУ.Запись переменных в энергонезависимую память выполняется устройством между шагами расчета схемы. Если переменная в ОЗУ изменяется с высокой частотой, а устройство будет производить запись безусловно, то из-за ограниченного количества циклов перезаписи, ППЗУ будет испорчено через некоторое время работы.

Такая проблема решается следующим образом – пользователь должен установить на схему блок «Запись переменных» и подать на его вход признак необходимости записи. Его можно формировать либо по таймеру, либо по событию изменения переменной (если переменная изменяется не часто), или по другому событию.

На данной диаграмме показан способ записи значения из ОЗУ в ПЗУ. Когда в переменную Set_temp мастер сети произведет запись, на выходе rdy появится фронт, который будет подан на вход en блока EEPROM. Этот сигнал произведет инициализацию записи всей памяти устройства. 

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

Устранение неполадок при открытии файлов FBD

Общие проблемы с открытием файлов FBD

DART Pro 98 User-definied Complex Restoration Filters не установлен

Дважды щелкнув по файлу FBD вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла». В этом случае обычно это связано с тем, что на вашем компьютере не установлено DART Pro 98 User-definied Complex Restoration Filters для %%os%%. Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.

Совет: Если вам извстна другая программа, которая может открыть файл FBD, вы можете попробовать открыть данный файл, выбрав это приложение из списка возможных программ.

Установлена неправильная версия DART Pro 98 User-definied Complex Restoration Filters

В некоторых случаях у вас может быть более новая (или более старая) версия файла CADfix Geometry Database File, не поддерживаемая установленной версией приложения. При отсутствии правильной версии ПО DART Pro 98 User-definied Complex Restoration Filters (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии, который старая версия не может распознать.

Совет: Иногда вы можете получить общее представление о версии файла FBD, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).

Резюме: В любом случае, большинство проблем, возникающих во время открытия файлов FBD, связаны с отсутствием на вашем компьютере установленного правильного прикладного программного средства.

Даже если на вашем компьютере уже установлено DART Pro 98 User-definied Complex Restoration Filters или другое программное обеспечение, связанное с FBD, вы все равно можете столкнуться с проблемами во время открытия файлов CADfix Geometry Database File. Если проблемы открытия файлов FBD до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы. Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):

Презентация на тему: » FBD В cреде CoDeSys 2.3.9. Язык FBD Язык FBD (Functional Block Diagram, Диаграмма Функциональных Блоков) является языком графического программирования,» — Транскрипт:

1

FBD В cреде CoDeSys 2.3.9

2

Язык FBD Язык FBD (Functional Block Diagram, Диаграмма Функциональных Блоков) является языком графического программирования, так же, как и LD, использующий аналогию с электрической (электронной) схемой. Программа на языке FBD представляет собой совокупность функциональных блоков (functional flocks, FBs), входа и выхода которых соединены линиями связи (connections). Эти связи, соединяющие выхода одних блоков с входами других, являются по сути дела переменными программы и служат для пересылки данных между блоками. Каждый блок представляет собой математическую операцию (сложение, умножение, триггер, логическое или и т.д.) и может иметь, в общем случае, произвольное количество входов и выходов. 2

3

Язык FBD Практика показывает, что FBD является наиболее распространенным языком стандарта IEC. Графическая форма представления алгоритма, простота в использовании, повторное использование функциональных диаграмм и библиотеки функциональных блоков делают язык FBD незаменимым при разработке программного обеспечения ПЛК. Вместе с тем, нельзя не заметить и некоторые недостатки FBD. Хотя FBD обеспечивает легкое представление функций обработки как «непрерывных» сигналов, в частности, функций регулирования, так и логических функций, в нем неудобным и неочевидным образом реализуются те участки программы, которые было бы удобно представить в виде конечного автомата. 3

4

Пример программы на языке FBD 4

5

Язык FBD Редактор FBD — графический редактор. Он работает со списком цепей, каждая из которых состоит из логических или арифметических выражений, вызовов функций, программ или функциональных блоков, инструкций возврата и перехода. Наиболее важные функции вы можете найти в контекстном меню, которое вызывается правой кнопкой мыши или сочетанием клавиш +. 5

6

Позиция курсора Текстовый курсор может устанавливаться в любую часть FBD цепи, содержащую текст. Выбранный текст выделяется синим и может быть изменен. Текущую позицию графического курсора можно увидеть по прямоугольнику с пунктирной границей. Далее на примере приводится список всех возможных позиций курсора: 1) Любое поле с текстом (обведены черным): 6

7

Позиция курсора 2) Любой вход блока: 3) Любой оператор, функция или функциональный блок. 4) Выход блока, если к нему присоединена переменная или инструкция перехода. 7

8

Позиция курсора 5) Пересечение линий над присваиванием, переходом или возвратом: 6) Место за самым правым объектом схемы («последняя позиция курсора»; используется для выбора всей схемы) 8

9

Графический редактор FBD 9

10

Вход Добавляет вход оператора. Некоторые операторы могут иметь переменное число входов (например, ADD может иметь два и более входа). 10

11

Выход Добавляет новое присваивание к уже существующему. Это позволяет передать одно значение сразу нескольким переменным. 11

12

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

13

Присваивание Эта команда вставляет инструкцию присваивания в схему. 13

14

Переход Эта команда вставляет инструкцию перехода. 14

15

Возврат Эта команда вставляет инструкцию возврата Return. 15

16

Инверсия C помощью этой команды можно инвертировать входы, выходы, инструкции перехода или возврата. Символ отрицания – небольшая окружность на месте соединения. 16

17

Set/Reset При помощи этой команды вы можете определить Set- и Reset-выходы. Set-выход обозначается буквой S, а Reset-выход – буквой R. 17

18

Редактор FBD в online режиме 18

19

Пример программы на языке FBD 1 19

20

Пример программы на языке FBD 2 20

21

Пример программы на языке FBD 3 21

22

Пример программы на языке FBD 4 22

23

Конец Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий