В прошлой статье я представил проект FLProg. Сейчас я желаю поведать, как трудиться в данной программе.У программистов в качестве первого урока принято применять “Hello World”, у программистов микроконтроллеров помигать светодиодом, ну а у электронщиков и электриков собрать схему управления контактором. Потому, что главными пользователями программы именно они и являются, собирать на первом уроке будем именно данную схему.
Смотрите кроме этого: Управление Arduino посредством Excel
Хороший сутки. День назад на форуме программы FLProg пользователем Rw6cm был выложен весьма занимательный пост. Я сделал вывод, что информация из него может оказаться увлекательной более широкому кругу людей и переношу его ко мне. Авторский текст сохранён без трансформаций.Пример, как из Excel руководить Arduino и приобретать эти.
Информация возможно нужна приверженцам Excel и опытным базы VBA. Пример реализован в FLProg 1.10.5 на Windows7 — 32 и 64, и MsOffice 2007. Все нужное для его повтора находится в архиве.
Стандартная схема управление контакторомЗаменим эту схему контроллером Ардуино. Покинем в стороне вопросы помехозащищённости и экранировки. Эта тема для отдельного и большого беседы. Отечественная цель — создать в программе FLProg соответствующую логику. Исходя из этого накидаем тестовую схему подключения.Роль контактора в данной тестовой схеме делает светодиод «Контактор».
Сейчас попытаемся запрограммировать контроллер. Запускаем программу FLProg, нажимаем кнопку «Создать новый проект».Откроется окно языка программирования и выбора контроллера проекта.Для проекта возможно применять любой из двух языков программирования (FBD и LAD) являющимися стандартами в области программирования промышленных контроллеров.
В этом уроке мы создадим проекты на обоих языках.Обратите внимание, что по окончании создания проекта на одном из языков поменять его будет нереально!При нажатии кнопки выбора контроллера откроется соответствующее окно, в котором будут представлены поддерживаемые программой платы.В данном перечне выбираем необходимый контроллер. Выбранный для проекта контроллер возможно поменять в любую секунду.Для начала создадим проект на языке LAD.Язык LADLadder Diagram (LD, LAD, РКС) – язык релейной (лестничной) логики.
Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Язык ориентирован на экспертов по автоматизации, трудящихся на промышленных фирмах. Снабжает наглядный интерфейс логики работы контроллера, облегчающий не только задачи фактически ввода и программирования в эксплуатацию, но и стремительный поиск неполадок в подключаемом к контроллеру оборудовании.
Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, воображающий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание либо отсутствие тока в данной цепи соответствует результату логической операции (истина — в случае если ток течет; неправда — в случае если ток не течет). Главными элементами языка являются контакты, каковые возможно образно уподобить паре контактов реле либо кнопки.
Пара контактов отождествляется с логической переменной, а состояние данной пары — со значением переменной. Различаются нормально замкнутые и нормально разомкнутые контактные элементы, каковые возможно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.Рабочее окно программы FLProg на языке FBD имеет несколько полей:
- Главное меню программы
- Дерево проекта (в данном уроке оно не употребляется, его разглядим в последующих уроках)
- Дерево установленного оборудования. В нём представлено оборудование (промежуточные реле, реле времени, генераторы…), которое употребляется в проекте. В новом проекте в нём присутствуют лишь выходы и входы контроллера.
- Библиотека блоков. В ней находится оборудование, которое вероятно применить в проекте. В данном уроке нас будет интересовать лишь папка «Базисные блоки»
- Область схемы, в которой и будет фактически рисоваться схема. Схема в FLProg является набором плат с оборудованием.
Для начала вытащим на область схемы контакты кнопок. Это вероятно сделать двумя дорогами.
- Перетащить соответствующий вход из папки «Свободные входы–выходы контроллера» дерева установленного оборудования на область схемы
- Перетащить блок «Контакт» из папки «Базисные элементы» библиотеки блоков.
В следствии на схеме покажется УГО (условно – графическое обозначение) контакта. При перетаскивания его из дерева установленного оборудования контакт окажется сходу привязанным к цифровому входу – выходу платы. В случае если блок контакта был вытащен из библиотеки элементов, он будет абстрактным контактом без какой – или привязки.И любом случае контакты нужно параметрировать.
Для этого делаем двойной клик на контакте. Раскрывается окно редактирования блока.Прежде всего на закладке «Параметры» выбирается привязка контакта к выходу платы (в случае если контакт выбран в библиотеке блоков).Затем появляются новые параметры. «Зашита от дребезга» и «Подтягивающий резистор». Потому, что в соответствии со схемой кнопки подключены к GND, ставим галочку «Подтягивающий резистор». «Зашиту от дребезга» имеете возможность не устанавливать, в данной схеме в ней нет необходимости.
На закладке «Надпись к блоку» пишем наименование кнопки, что бы оно отображалось на схеме.На закладке «Информация» возможно взглянуть данные о данном устройстве.Таким же методом извлекаем контакты и остальные кнопки реле перегрузки.Затем перетаскиваем из библиотеки блоков устройство «Катушка». Так же двойной клик на нём и раскрывается окно параметрирования катушки.Назначаем катушку промежуточным реле «К1» два раза кликнув на соответствующем пункте перечня.Сейчас нужно выставить состояние контактов.
В программе FLProg состояние контакта соответствует уровню на привязанном входе платы. В случае если на входе платы 0 – контакты разомкнуты, в случае если 5В – замкнуты. Потому, что кнопки в соответствии со схемой подключены к GND и включены встроенные подтягивающие резисторы, при замкнутой кнопке на входе платы будет 0, а при отпущенной кнопке 5В.
В соответствии с этими правилами выставляем соответствие контактов. Это возможно так же сделать двумя дорогами.
- Два раза кликнув на контакт и выбрав необходимое состояние в редакторе блока
- Кликнуть правой кнопкой по контакту и в выпавшем меню выбрать необходимый пункт.
Должно оказаться вот такое состояние контактов (противоположное типовой схеме по обрисованной ранее причине)Ну и сейчас возможно начать рисовать схему в соответствии с типовой схемой пускателя. Соединения рисуются путём наведения курсора на начальный вывод элемента, нажатия левой кнопки, и, не отпуская кнопки, соединение тянется до второго соединяемого вывода.
В случае если при приближении курсора с идущим за ним соединением вывод окрашивается в оранжевый цвет — значит, это соединение к нему возможно подключитьДля создания блок-контакта контактора возможно перетащить контакт К1 из дерева установленного оборудования на схему.В следствии обязана оказаться вот такая схема. Я думаю, любой электрик осознает её работу (с учётом инвертирования состояния контактов привязанных к входам платы Ардуино).Так, первая плата закончена.
Назовем её «Плата управления». Для того что бы присвоить наименование плате делаем двойной клик по её заголовку.Откроется окно редактирования заголовка платы.Зелёный кружок в заголовке обозначает, что плата корректна и ошибочных блоков на ней нет. При наличия таких блоков он будет красным.
Сейчас создадим ещё одну плату, надавив на кнопку «Добавить плату»На ней будем руководить выходами платы Ардуино. Для этого перетаскиваем на вторую плату четыре катушки из библиотеки блоков и привязываем их к выходам платы Ардуино.
Обязана оказаться такая картина Катушки с привязанными выходами платы соотносятся так: при включении катушки в проекте на выходе платы Ардуино будет 5В при выключении 0После этого перетаскиваем из дерева установленного оборудования нужные контакты (два контакта промежуточного реле, и контакт входа реле перегрузки), по окончании чего рисуем нужную схему и именуем плату «Управление выходами». Стрелочка в заголовке платы даёт возможность свернуть плату, что разрешает экономить место на рабочем поле и активизирует работу программы при громадных схемах.
При клике на стрелочку плата или сворачивается, или разворачивается.Загрузка в контроллер для обоих языков однообразна, так что мы разглядим её в конце урока, а до тех пор пока создадим подобный проект на языке FBD.Язык FBDFBD (Function Block Diagram) – графический язык программирования стандарта МЭК 61131-3. Программа образуется из перечня цепей, делаемых последовательно сверху вниз. При программировании употребляются комплекты библиотечных блоков.
Блок (элемент) — это подпрограмма, функция либо функциональный блок (И, Либо, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Любая отдельная цепь является выражением , составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. В цепи блоки выполняются строго в порядке их соединения.
Итог вычисления цепи записывается во внутреннюю переменную или подается на выход контроллера.Создадим новый проект на языке FBD.Поля 1, 2, 4, 5 в окна программы подобны полям на языке LAD. Поле 3 тут содержит дерево тэгов (входов, выходов и переменных). Тут нет предварительно созданных входов, их необходимо создавать при необходимости.
Для нового входа необходимо надавить кнопку «Добавить вход» либо два раза кликнуть по пункту «Добавить вход» в дереве тэгов.Откроется окно создания входаВыбираем цифровой, появляются новые параметры. Записываем наименование входа, выбираем необходимый вход платы Ардуино, и ставим галочку «Включить подтягивающий резистор».Таким же образом добавляем все нужные входыЗатем создаем переменную, несущую ответственность за состояние контактора.
Для этого или нажимаем на кнопку «Добавить переменную» или делаем двойной клик на пункте «Добавить переменную» в дереве тэгов.Раскрывается окно настройки переменнойВыбираем тип переменной Boolean и заполняем параметрыБлоки входа на языке FBD соответствуют настоящим выходам платы, следующим образом. В то время, когда на настоящем входе 0 – на выходе блока – False, в то время, когда на входе платы 5B на выходе блока True.Для запоминания состояния контактора используем RS триггер.
Его нужно перетащить из папки «Триггеры» библиотеки блоков на рабочее поле схемы.RS-триггерRS-триггер, либо SR-триггер — триггер, что сохраняет собственное прошлое состояние при нулевых входах и меняет собственное выходное состояние при подаче на один из его входов единицы.При подаче единицы на вход S (от англ. Set — установить) выходное состояние делается равным логической единице. А при подаче единицы на вход R (от англ.
Reset — скинуть) выходное состояние делается равным логическому нулю.При логическом нуле на обоих входах на выходе удерживается последнее состояние. При логических единицах на обоих входах при RS триггера выход устанавливается в логический ноль, а при SR триггера в логическую единицу. Для того что бы включился контактор нужно подать на вход S сигнал со входа «Пуск».
Для этого перетаскиваем из дерева тэгов вход «ПУСК» на рабочую область схемы. В случае если отыскать в памяти о том, что при нажатии кнопки Пуск на вход платы подаётся логический 0, то ясно, что нужно инвертировать сигнал с кнопки. Для этого наведём курсор на вход S триггера и кликнем правой кнопкой мыши. В открывшимся меню в пункт выберем «Инвертировать»По окончании чего соединяем вход S триггера с выходом блока входа «Пуск».
Создание соединения происходит, так же как и в языке LAD.Остановка контактора происходит в случае если: Надавлена кнопка «СТОП» (лог.1 на блоке входа «Стоп» ) Либо надавлена кнопка «Катастрофический СТОП» (лог.1 на блоке входа «Катастрофический стоп» ) Либо сработало тепловое реле (лог.1 на блоке входа «КТ1» ). Значит, нам нужен блок Либо с тремя входами.Перетаскиваем его из библиотеки блоков из папки «Базисные блоки».По умолчанию у блока Либо два входа. Для того что бы добавить третий, выделяем блок и нажимаем кнопку «Добавить вход».Переносим нужные входы из дерева тэгов и соединяем со входами блока Либо.
А выход блока Либо соединяем с входом R триггера.После этого забираем из дерева тэгов переменную «выход триггера» и Состояние контактора соединяем со входом данной переменной. Обязана оказаться такая схема:На этом закончим первую плату и назовём ее, как и на LADе – «Плата управления».По окончании чего создадим новую плату и сходу назовём её «Управление выходами». Потом создадим выходы платы в соответствии со схемой.
Для этого нужно кликнуть на кнопку «Добавить выход» дли сделать двойной клик на пункте «Добавить выход» в дереве тэгов. Выходы создаём цифрового типа.Перетащим на вторую плату созданные выходы, вход КТ1 и переменную «Состояние контактора» После этого соединим блоки в соответствии со схемой. Нужные воды блоков инвертируем.Обратите внимание, что при перетаскивании на схему блоков входа, выхода либо переменной изначально у них нет входов либо выходов.
Они появляются при подведении курсора к блоку в месте их будущего размещения.С созданием схем закончили. Сейчас нужно залить программу в контроллер. Для этого нажимаем кнопку «Компилировать проект».В следствии раскрывается окно Arduino-IDE с открытым скетчем, в который была преобразована созданная схема.В программе Arduino-IDE выбирается плата, порт и производится заливка в контроллер скетча.
Случайная статья:
- Lexand sta-7.0: мощный 7-дюймовый android-навигатор с гигагерцевым процессором
- Computex 2014: asus rog – игровые системы g20 и gr8, ноутбук gk500 и монитор swift pg278q
FLProg видеоурок 1
Похожие статьи:
-
Toп-3 программ для создания логотипов
Стать денежно свободным грезит любой из нас. Для этого, как минимум, нужно будет открыть собственный дело и обзавестись собственным логотипом. Как раз…
-
Министерство энергетики США одобрило проект создания самой идеальной в мире цифровойкамерыс матрицей в 3,2 Гп.Камераэта будет воображать собой «глаз»…
-
На прошлых уроках (урок 1, урок 2) я поведал, как рисовать интерфейс панели Nextion HMI, как руководить панелью посредством Arduino. В этом уроке я…