Прочие уроки


На предыдущих уроках (урок 1, урок 2) я рассказал, как рисовать интерфейс панели Nextion HMI, как управлять панелью с помощью Arduino. В этом уроке я расскажу, как решать обратную задачу – управлять платой Arduino с помощью панели Nextion HMI.
На уроке мы расширим проект предыдущего урока, добавим управление вентилятором, который будет включатся при превышении температуры выше заданного предела, и выключаться при снижении температуры ниже второго предела. Уставки будут задаваться с панели, и сохраняться в энергонезависимой памяти контроллера Arduino. Кроме того сделаем на панели выключатель света (двухпозиционный) и кнопку при помощи которой будем включать фонарь (например что бы подавать сигнал инопланетянам).
FLProg + Nextion HMI. Урок 2
12.02.2018 03.02.2018 от Сергей Глушенко

В прошлом уроке я рассказал о панели Nextion HMI и о создании проектов для этой панели в редакторе Nextion Editor. В этом уроке я расскажу, как с помощью программы FLProg с платы Arduino управлять этой панелью. Для примера соберём простейшую погодную станцию, которая будет считывать данные с датчика температуры и влажности DHT-22 и отображать их …
FLProg + Nextion HMI. Урок 1
12.02.2018 03.02.2018 от Сергей Глушенко

Добрый день.
Хочу рассказать об одном очень интересном проекте компании ITEAD STUDIO — цветной ЖК дисплей + резистивный сенсор касаний с собственным контроллером, управляемые по UART “Nextion HMI”. Данный проект появился на краудфандинговой платформе Indiegogo и при заявленных 20000 долларах проект собрал более 45000 долларов.
Один из пользователей программы FLProg прислал мне образец такой панели для ознакомления. Начав работать с ней, я был восхищён её возможностями, при очень демократичной цене. По возможностям она очень близко подходит к промышленным HMI панелям, а её редактор представляет собой практически полноценную SCADA систему. Поэтому я интегрировал управление этой панелью в проект FLProg.
В этой серии уроков я расскажу, как работать с этой панелью, и управлять ею из программы FLProg. Первый урок будет посвящён программе Nextion Editor и созданию проекта визуализации в ней.
Объединение плат Arduino в информационное UART кольцо
12.02.2018 03.02.2018 от Сергей Глушенко

Начиная с версии 1.10.5, программа FLProg позволяет объединять несколько плат Arduino в кольцевую UART сеть. Сначала рассмотрим, как это происходит. Платы соединяются между собой в соответствии со схемой, изображённой на заглавной иллюстрации. Предположим, что плата 1 отсылает через UART пакет данных содержащий идентификаторы платы, переменной, а так же значение переменной. Плата 2 принимает данный пакет и если данные из этой переменной ей не нужны, то просто отправляет этот пакет дальше. Если в соответствии с программой значение данной переменной необходимо контроллеру, то значение из пакета копируется во внутреннюю переменную, и пакет так же отправляется дальше по кольцу.
Когда таким образом пакет, пройдя всё кольцо, вернётся к плате, отправившей его, передача пакета прекратится.
Таким образом, данные из пакета доступны любой плате подключённой к кольцу, и инициатором отправки пакета так же может быть любая из плат.
Сторожевой таймер для автоматического перезапуска микроконтроллера
12.02.2018 23.01.2018 от Сергей Глушенко

Автоматический перезапуск микроконтроллера (МК) после программного зависания — хорошо известный эффективный способ повышения надёжности функционирования МК систем. Устройство, осуществляющее эту функцию, называется сторожевым таймером или WDT (WatchDog Timer). Несмотря на широкую номенклатуру выпускаемых специализированных микросхем для WDT [1], во многих случаях предпочтительнее использовать более доступные таймеры 555. Интернет предлагает богатое разнообразие подобных схем и …
Рубрики Прочие уроки Метки Строжевой таймер, watch dog, wdt
Как прошить Arduino Pro Mini с помощью Arduino Uno
12.02.2018 02.01.2018 от Сергей Глушенко

Порывшись в своих запасах нашел пару Arduino Pro Mini и задался вопросом, а как собственно их прошивать? Порывшись в сети, нашёл вот это: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248295911. У меня как раз есть один контроллер Arduino Uno. проверил на практике — работает….. Соответствие выводов: Arduino Uno Arduino Pro Mini RX …
Управление нагрузкой переменного тока
12.02.2018 02.01.2018 от Сергей Глушенко
У многих пользователей периодически возникает вопрос защиты от помех при коммутации мощной нагрузки. естественно опторазвязка с реле, но как показывает практика макетка на столе работает, а собираешь в корпус и начинаются глюки в момент переключения реле. Экраны и RC цепочки помогают но не всегда, на мой взгляд твёрдотельное реле выход из положения. Нет контактов а …
Рубрики Прочие уроки Метки MOC3041, MOC3061
Программирование ESP8266 с помощью FLPROG
12.02.2018 02.01.2018 от Сергей Глушенко

Доброго времени суток Уважаемые коллеги Хочу поделится с Вами своими опытами проектирования и загрузки проектов в ESP8266 с помощью FLPROG. Создал вот такой пример и загрузил в ESP8266 напрямую через Ардуино IDE. Все делается легко и просто как мы привыкли загружать скетчи в ардуино. Точно так же мы выберем ESP8266 смотря какая плата у Вас и нажимаем загрузить и вуаля радуемся …
Рубрики Прочие уроки Метки ESP8266 1 комментарий
Фазное регулирование нагрузки переменного тока с помощью FLProg
12.02.2018 26.12.2017 от Анатолий
Выдался свободный денёк и я решил наконец то опробовать блок скоростного счетчика в режиме линии задержки. Этот режим создавался в основном для реализации фазного регулирования нагрузки, но до сих пор я не успевал его обкатать в реальном применении. Думаю уже пора.
Первый урок по работе с программой FLProg


У программистов в качестве первого урока принято использовать “Hello World”, у программистов микроконтроллеров помигать светодиодом, ну а у электриков и электронщиков собрать схему управления контактором. Поскольку основными пользователями программы как раз они и являются, собирать на первом уроке будем как раз данную схему.
Стандартная схема управление контактором
Заменим эту схему контроллером Ардуино. Оставим в стороне вопросы помехозащищённости и экранировки. Эта тема для отдельного и очень большого разговора. Наша цель — создать в программе FLProg соответствующую логику. Поэтому накидаем тестовую схему подключения.
Роль контактора в данной тестовой схеме выполняет светодиод «Контактор». Теперь попробуем запрограммировать контроллер.
Запускаем программу FLProg, нажимаем кнопку «Создать новый проект».

Откроется окно выбора контроллера и языка программирования проекта.

Для создания проекта можно использовать любой из двух языков программирования (FBD и LAD) являющимися стандартами в области программирования промышленных контроллеров. В этом уроке мы создадим проекты на обоих языках.
Обратите внимание, что после создания проекта на одном из языков сменить его будет невозможно!
При нажатии кнопки выбора контроллера откроется соответствующее окно, в котором будут представлены поддерживаемые программой платы.
В данном списке выбираем нужный контроллер.
Выбранный для проекта контроллер можно сменить в любой момент.
Для начала создадим проект на языке LAD.
Ladder Diagram (LD, LAD, РКС) – язык релейной (лестничной) логики. Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Язык ориентирован на специалистов по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании. Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами. Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина — если ток течет; ложь — если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной. Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.

Рабочее окно программы FLProg на языке FBD состоит из нескольких полей:
- Основное меню программы
- Дерево проекта (в данном уроке оно не используется, его рассмотрим в последующих уроках)
- Дерево установленного оборудования. В нём представлено оборудование (промежуточные реле, реле времени, генераторы…), которое используется в проекте. В новом проекте в нём присутствуют только входы и выходы контроллера.
- Библиотека блоков. В ней находится оборудование, которое возможно применить в проекте. В данном уроке нас будет интересовать только папка «Базовые блоки»
- Область схемы, в которой и будет собственно рисоваться схема. Схема в FLProg представляет собой набор плат с оборудованием.
Для начала вытащим на область схемы контакты кнопок. Это возможно сделать двумя путями.
- Перетащить соответствующий вход из папки «Свободные входы–выходы контроллера» дерева установленного оборудования на область схемы
- Перетащить блок «Контакт» из папки «Базовые элементы» библиотеки блоков.
В результате на схеме появится УГО (условно – графическое обозначение) контакта. В случае перетаскивания его из дерева установленного оборудования контакт окажется сразу привязанным к цифровому входу – выходу платы. Если блок контакта был вытащен из библиотеки элементов, он будет абстрактным контактом без какой – либо привязки.
И любом случае контакты необходимо параметрировать. Для этого делаем двойной клик на контакте. Открывается окно редактирования блока.
В первую очередь на закладке «Параметры» выбирается привязка контакта к выходу платы (если контакт выбран в библиотеке блоков).
После этого появляются новые параметры. «Зашита от дребезга» и «Подтягивающий резистор». Поскольку в соответствии со схемой кнопки подключены к GND, ставим галочку «Подтягивающий резистор». «Зашиту от дребезга» можете не устанавливать, в этой схеме в ней нет необходимости.
На закладке «Надпись к блоку» пишем название кнопки, что бы оно отображалось на схеме.
На закладке «Информация» можно посмотреть информацию о данном устройстве.
Таким же способом вытаскиваем остальные кнопки и контакты реле перегрузки.
После этого перетаскиваем из библиотеки блоков устройство «Катушка». Так же двойной клик на нём и открывается окно параметрирования катушки.
Назначаем катушку промежуточным реле «К1» дважды кликнув на соответствующем пункте списка.
Теперь надо выставить состояние контактов.
В программе FLProg состояние контакта соответствует уровню на привязанном входе платы. Если на входе платы 0 – контакты разомкнуты, если 5В – замкнуты. Поскольку кнопки в соответствии со схемой подключены к GND и включены встроенные подтягивающие резисторы, при замкнутой кнопке на входе платы будет 0, а при отпущенной кнопке 5В. В соответствии с этими правилами выставляем соответствие контактов. Это можно так же сделать двумя путями.
- Дважды кликнув на контакт и выбрав нужное состояние в редакторе блока

- Кликнуть правой кнопкой по контакту и в выпавшем меню выбрать нужный пункт.

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

Для создания блок-контакта контактора можно перетащить контакт К1 из дерева установленного оборудования на схему.
В результате должна получиться вот такая схема. Я думаю, любой электрик поймёт её работу (с учётом инвертирования состояния контактов привязанных к входам платы Ардуино).
Таким образом, первая плата закончена. Назовем её «Плата управления». Для того что бы присвоить название плате делаем двойной клик по её заголовку.

Откроется окно редактирования заголовка платы.
Зелёный кружок в заголовке обозначает, что плата корректна и ошибочных блоков на ней нет. В случае наличия таких блоков он будет красным.
Теперь создадим ещё одну плату, нажав на кнопку «Добавить плату»

На ней будем управлять выходами платы Ардуино. Для этого перетаскиваем на вторую плату четыре катушки из библиотеки блоков и привязываем их к выходам платы Ардуино. Должна получиться такая картинка
Катушки с привязанными выходами платы соотносятся так: при включении катушки в проекте на выходе платы Ардуино будет 5В при выключении 0
Затем перетаскиваем из дерева установленного оборудования необходимые контакты (два контакта промежуточного реле, и контакт входа реле перегрузки), после чего рисуем необходимую схему и называем плату «Управление выходами».
Стрелочка в заголовке платы даёт возможность свернуть плату, что позволяет экономить место на рабочем поле и ускоряет работу программы при больших схемах. При клике на стрелочку плата либо сворачивается, либо разворачивается.
Загрузка в контроллер для обоих языков одинакова, так что мы рассмотрим её в конце урока, а пока создадим аналогичный проект на языке FBD.
FBD (Function Block Diagram) – графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.
Создадим новый проект на языке FBD.

Поля 1, 2, 4, 5 в окна программы аналогичны полям на языке LAD. Поле 3 здесь содержит дерево тэгов (входов, выходов и переменных). Здесь нет предварительно созданных входов, их нужно создавать при необходимости. Для создания нового входа нужно нажать кнопку «Добавить вход» или дважды кликнуть по пункту «Добавить вход» в дереве тэгов.

Откроется окно создания входа

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

Открывается окно настройки переменной

Выбираем тип переменной Boolean и заполняем параметры
Блоки входа на языке FBD соответствуют реальным выходам платы, следующим образом. Когда на реальном входе 0 – на выходе блока – False, когда на входе платы 5B на выходе блока True.
Для запоминания состояния контактора используем 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 выбирается плата, порт и производится заливка в контроллер скетча.







Вложения
- LogoFlprog
Дата добавления: 11.12.2017 19:25 Размер файла: 174 КБ Кол-во скачиваний: 1316
Документация

Описание RemoteXY и взаимодействие с программой FLProg
04.02.2018 02.01.2018 от Сергей Глушенко

Описание RemoteXY (взятое с официального сайта) и взаимодействие с программой FLProg.
Справочник языка для программирования Ардуино
12.01.2018 02.01.2018 от Сергей Глушенко

Справочник языка для программирования Ардуино. Описан полностью язык программирования. А также информация о наиболее популярных контроллерах. Предлагаю писать, что вы хотите дополнительно видеть в этой книге. Сачать электронную книгу Автор boss220v
Рубрики Документация Метки Документация
КаСкада. Руководство к действию PDF
02.01.2018 от Сергей Глушенко

Руководство по подключению Ардуино к Андроид устройствам с помощью FLProg и KaScada. Скачать pdf файл Автор boss220v
Рубрики Документация Метки KaScada
КаСкада. Руководство к действию (электронная книга).
02.01.2018 от Сергей Глушенко

Руководство к действию. Содержит описание всех компонентов. Подключение модуля Wi Fi. Подключение при помощи FLProg. Особенности соединения в FLProg. И реальный урок с реальным проектом. Книга интересна будет, прежде всего, начинающим флопцам. В дальнейшем буду добавлять новые уроки, и обновлять ссылку на книгу. Книга в электронном формате, самораспаковывающаяся. Может ругаться антивирус, разрешайте установку. Скачать электронную …
Рубрики Документация Метки KaScada
FLProg Начальный уровень книга 3
04.02.2018 30.12.2017 от Сергей Глушенко

FLProg Начальный уровень, третья книга из серии о FLProg. Логическое продолжение предыдущих книг. Уроки усложняются, теория позволит получить больше знаний о электротехнике. И самое гланое в книге есть ссылки на уроки. Вы можете скачать открыть файлы в программе и более подробно изучать тему. Книга основана на знаниях всего сообщества ардуинщиков и флопцев ( любителей FLProg …
FLProg интерфейс программы 3 издание
02.01.2018 30.12.2017 от Сергей Глушенко

FLProg интерфейс программы_3 изд. Кто скачал до этого FLProg интерфейс программы, или FLProg основы- скачайте эту книгу, вместо них. Старую версию книг удалите..В книге добавлены новые материалы. Также добавлены изменения которые нас ждут в версии 2.3.1. Книга в электронном виде. Для винды. Если ругается антивир. разрешайте загрузку. Книга поможет изучить только интерфейс программы. Первые шаги …
Рубрики Документация Метки Документация
ПУЭ Правила устройства электроустановок
30.12.2017 от Сергей Глушенко

ПУЭ Правила устройства электроустановок. Материал для общего развития. Скачать с Яндекса Автор boss220v
Рубрики Документация Метки Документация
FLProg Старт. Обучение для новичков.
30.12.2017 от Сергей Глушенко

FLProg Старт. Обучение для новичков, и детей. В довольно простой форме рассмотренны первые уроки, настройки, требования по железу. Книга прежде всего предназначена для новичков. С нулевым уровнем в знаниях в электротехники. Книга в электронном виде, самораспаковывающаеся. Может ругаться антивир. Разрешайте загрузку. Скачать с Яндекс Автор boss220v
Рубрики Документация Метки Документация
Основы FLProg
30.12.2017 от Сергей Глушенко

Книга самораспаковывающаяся. Не бойтесь открывать. Готов к критике. Возможно дальнейшее создание «настольной» книги с примерами или справочной информации по работе с программой визуального программирования FLProg Скачать с Яндекса Автор boss220v
Рубрики Документация Метки Документация
EasyBuilderPro для Weintec
30.12.2017 от Сергей Глушенко

Данная программа озволяет сделать связку: HMI панель оператора от Weintek(с помощью EasyBuilderPro) + контроллер Arduino c модулем RS-485 (с помощью FLProg) по ModBus. Подробности в этой теме на форуме. Скачать с Яндекса
FLProg для начинающих — Урок 1
![]()
2015, Arduinoprom.ru — блог Чилингаряна Грачика. Все авторские права на тексты принадлежат ему.
При размещении текстов и видеоматериалов на сторонних ресурсах активная гиперссылка ОБЯЗАТЕЛЬНА.
Все логотипы и товарные знаки, размещенные на сайте, принадлежат только их законным владельцам (правообладателям).