Примеры программ на fbd

Язык FBD очень прост в освоении и удобен как для схемотехников, не имеющих специальной подготовки в области программирования, так и для начинающих осваивать мир электроники, автоматики и робототехники. Весь процесс программирования в FBD-системе заключается в соединении линиями связи готовых элементарных блоков. Практически каждый функциональный блок в Horizont-Configurator имеет графическое изображение, принятое при разработке функциональных схем электронных устройств. Блоки представлены в виде прямоугольников, внутри которых имеется обозначение функции, и являют собой операции над входными переменными.

Линии связи, которыми соединяют функциональные блоки, указывают распространение сигнала. Функциональная диаграмма системы управления, построенная в Horizont-Configurator, имеет сходство с электрическими схемами и может быть откомпилирована в файл прошивки для микроконтроллера AVR.

Horizont-Configurator Проект

Программирование ПЛК на FBD с нуля. Урок 2. Логические функции

  • Порты микроконтроллера (сразу конфигурируются как входы или выходы)
  • Логические блоки (НЕ, И, ИЛИ, Исключающее ИЛИ)
  • Логические константы
  • Триггеры (RS, SR, D, DC, RTRIG, FTRIG)
  • Логический генератор
  • Генератор импульсов
  • Блоки для работы с числами (Арифм. операции, Сравнение и т.д.)
  • Таймеры
  • Счетчики
  • Индикаторы
  • Элементы памяти

В меню Файл выберем «Новый проект», дадим ему название и зададим тип микроконтроллера, например, ATMega8. Нажмем несколько раз «применить» в появляющихся окнах.

После проделанных действий у нас появится поле для нашего проекта, а в левой панели необходимые элементы. Теперь перетащим элементы на рабочее поле. Нам понадобятся: Вход PinD1 из раздела «Порт D», Выходы PinC1, PinC2, Pin3, PinC4 из раздела «Порт C», две логические константы из раздела «Логические блоки» и Логическое НЕ из того же раздела. Развернуть элементы зеркально можно в правой панели «Свойства» с помощью изменения свойства «Turn» на «180 град».

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

Зададим значения для логических констант последовательно выделив их и изменив значение «Value» в правой панели «Свойства» на «true».

Программа FBD для PLC на запуск двигателя звезда-треугольник

Читайте также:
Инструкция по пользованию программой

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

Среди списка файлов можно без труда найти файл «имя проекта.hex» — это и есть файл прошивки. Загрузить файл в микроконтроллер можно, например, с помощью программы-загрузчика PonyProg2000.

В качестве еще одного тестового примера попробуем сделать систему управления роботом для соревнований Кегельринг из статьи «Робот для соревнований».

Нам понадобятся: Вход PinD1 из раздела «Порт D», Выходы PinC1, PinC2, Pin3, PinC4 из раздела «Порт C», два Логических НЕ и Триггер FTRIG из раздела «Логические блоки», два Таймера с задержкой отключения из раздела «Таймеры/Счетчики» и Счетчик милисекунд из того же раздела.

Счетчик милисекунд необходим для нормальной работы таймеров (он использует внутренний Timer0 микроконтроллера). Установим его «Делитель» на 1 MHz в правой панели. Триггер FTRIG отслеживает падающий фронт логического сигнала.

При изменении состояния входа «FTRIG» с 1 на 0, происходит формирование короткого импульса на его выходе. Данный импульс поступает на входы блоков Таймеров с задержкой отключения, данные блоки формируют необходимые по длительности интервалы высокого уровня на своих выходах.

Сигнал с вывода первого Таймера с задержкой отключения поступает на выходы PinC1 и PinC2, управляющие первым мотором. Блок «Логическое НЕ» необходим для реализации инверсии мотора. Аналогичным образом работает другая цепь Таймера с задержкой отключения, которая управляет вторым мотором. Интервалы для таймеров можно установить изменив свойство «T» в правой панели свойств.

Зададим значение равное 1800 милисекунд для первого таймера и 2400 милисекунд для второго. Таким образом, при изменении состояния входа нашей схемы с 1 на 0, в тот момент, когда робот наткнется на черную ограничительную линию, триггер сформирует короткий импульс, запускающий таймеры. Направление вращения моторов инвертируется и робот начнет двигаться назад. Когда первый таймер перестанет работать, другой таймер еще 600 милисекунд будет обеспечивать вращение второго мотора в обратном направлении и робот повернется на небольшой угол. Когда и второй таймер закончит свою работу, робот снова поедет в прямом направлении.

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

Читайте также:
Программы для стиральной машины indesit wisl 105

В текущей версии (0.3.0.60) поддерживаются следующие микроконтроллеры AVR: ATmega128, ATmega1284, ATmega1284P, ATmega128A, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164A, ATmega164P, ATmega164PA, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega16A, ATmega16HVA, ATmega16HVA2, ATmega16HVB, ATmega16M1, ATmega32, ATmega323, ATmega324A, ATmega324P, ATmega324PA, ATmega325, ATmega3250, ATmega3250P, ATmega3250PA, ATmega325A, ATmega325P, ATmega325PA, ATmega328, ATmega328P, ATmega329, ATmega3290, ATmega3290P, ATmega3290PA, ATmega329A, ATmega329P, ATmega329PA, ATmega32A, ATmega32C1, ATmega32HVB, ATmega32M1, ATmega406, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega64, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega645, ATmega6450, ATmega6450A, ATmega645A, ATmega649, ATmega6490, ATmega6490A, ATmega649A, ATmega649P, ATmega64A, ATmega64C1, ATmega64HVE, ATmega64M1, ATmega8, ATmega8515, ATmega8535, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega8A, ATmega8HVA, ATtiny13, ATtiny13A, ATtiny1634, ATtiny167, ATtiny2313, ATtiny2313A, ATtiny24, ATtiny24A, ATtiny25, ATtiny261, ATtiny261A, ATtiny4313, ATtiny43U, ATtiny44, ATtiny44A, ATtiny45, ATtiny461, ATtiny461A, ATtiny48, ATtiny84, ATtiny84A, ATtiny85, ATtiny861, ATtiny861A, ATtiny87, ATtiny88.

Это оригинальная статья myROBOT.ru
Постоянный адрес статьи: http://myrobot.ru/articles/mc_horizont-configurator.php

Источник: myrobot.ru

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

Презентация на тему: » 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 Конец Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям.

Источник: www.myshared.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru