Зміст
Редактор блоків користувачаРедактор Professional
Основне вікно, загальні терміни та поняття.
Редактор блоків користувача на С (Professional).
Загальні терміни та поняття.
Редактор призначений для створення блоків користувача на мові С. На відміну від редактора Basic, він має розширений функціонал, і додаткові можливості.
Редактор доступний у програмі FLProg, починаючи з версії 7.0.
Основне вікно редактора.
Блок, створений редакторі, може бути як один блок, і пакет блоків об'єднаних загальним функціоналом.
Якщо в пакеті міститься один блок, то в бібліотеці блоків користувача він і представляється як один блок. Якщо пакет містить кілька блоків,
то в бібліотеці вони видаються як папка. Порядок блоків у цій папці, назви, розбивка по підпапках визначається на відповідній гілці в дереві редактора блоку.
Тому користувальницький блок, створений у цьому редакторі, далі називатимемо
мультиблок
.
Окремі блоки, що входять у пакет, далі будуть називатися
блоками.
Блоки, що входять до мультиблоку, можуть групуватися в папки (виключно візуальний поділ для зручності), або групи (логічне поділ).
Блоки перенесені на схему проекту
екземплярами блоку
Загальний принцип побудови мультиблоку
Під час створення блоку можна використовувати
параметри
– значення, які користувачі можуть змінювати в процесі створення
проекту в FLProg. Параметри поділяються на загальні параметри та параметри екземпляра. Існують загальні параметри мультиблок, загальні параметри групи, загальні параметри блоку.
Загальні параметри мультиблоку будуть показані в налаштуваннях всіх екземплярів блоків, що входять до мультиблоку при використанні їх у проекті.
При зміні цього параметра в одному екземплярі, значення цього параметра зміниться і в інших екземплярах блоків мультиблоку, що входять до проекту.
Загальні параметри групи будуть показані в налаштуваннях всіх екземплярів блоків, що входять до цієї групи при використанні їх у проекті.
При зміні цього параметра в одному екземплярі, значення цього параметра зміниться і в інших екземплярах блоків цієї групи, що входять до проекту.
Загальні параметри екземпляра будуть показані у налаштуваннях всіх екземплярів цього блоку.
При зміні цього параметра в одному примірнику значення цього параметра зміниться і в інших примірниках
даного блоку, що входять до проекту.
Параметри екземпляра, як і загальні параметри блоку відображаються у всіх екземплярах блоку.
Але за зміни цього параметра він змінюється лише у конкретному екземплярі.
При компіляції проекту, для мультиблоку формується два види коду, що вставляється. Загальний код та код кожного екземпляра
Загальний код вставляється в скетч ОДИН раз незалежно від кількості застосованих у проекті екземплярів блоків.
Код кожного екземпляра вставляється в скетч для кожного екземпляра блоку.
Як і у разі параметрів, існує загальний код мультиблок, загальний код групи, загальний код екземпляра.
Загальний код мультиблоку вставляється в код скетчу один раз при використанні в проекті будь-якого екземпляра блоку, що входить до пакета блоків.
Загальний код групи вставляється в скетч один раз при використанні в проекті будь-якого з екземплярів блоків, що входять до цієї групи.
Загальний код блоку вставляється в скетч один раз при використанні екземплярів цього блоку у проекті.
Код кожного екземпляра вставляється в скетч для кожного екземпляра блоку, що застосовується у проекті
Кожен із цих видів коду поділяється на секції, відповідно до місця вставки в скетч.
Це секції "Declare", "Setup", "Loop", "Functions". Вони відповідають секціям у скетчі Arduino IDE.
Кожна секція розбита на ділянки відповідно до місця вставки коду в секцію.
Код із
Початок секції
вставляється у відповідну секцію скетчу до коду, який вставляється компілятором FLProg для стандартних блоків.
Код із
Кінці секції
вставляється у відповідну секцію скетчу після коду, який вставляється компілятором FLProg для стандартних блоків.
Код секції “Functions” завжди вставляється в кінець скетчу.
Для коду кожного інстансу у секції “Loop” існує додаткова ділянка
Місце вставки блоку
.
Код цієї ділянки вставляється в секції Loop скетчу в місці вставки конкретного екземпляра блоку.
У кожному ділянці коду можливе створення одного чи кількох
елементів коду.
В елементі коду прописується безпосередньо сам код мовою С, який вставлятиметься в скетч.
Для управління видимістю параметрів блоку в проекті, наявністю входів та виходів у блоку в проекті, а також вставкою елементів коду в скетч використовуються
умови.
Для створення умов застосовують як значення параметрів, так і деякі системні значення проекту.
Як і параметри, умови розбиваються на загальні умови та умови кожного екземпляра.
Загальні умови мультиблоку можуть використовувати лише загальні параметри мультиблоку та системні значення проекту.
Ці умови можуть використовуватися для керування в будь-якому інстансі та для будь-якого елемента коду.
Загальні умови групи можуть використовувати системні значення проекту, загальні параметри мультиблоку, загальні параметри груп, до яких входить дана група, загальні параметри цієї групи.
Ці умови доступні для управління у всіх інстансах, що входять до цієї групи, та елементами загального коду цієї групи, та груп, які входять до цієї групи.
Загальні умови екземпляра можуть використовувати системні значення, значення загальних параметрів блоку,
значення загальних параметрів всіх груп в які цей інстанс входить, а також значення загальних параметрів мультиблоку.
Ці умови можуть бути застосовані для управління в даному блоці.
Умови кожного екземпляра можуть використовувати системні значення, значення параметрів даного примірника даного блоку, значення загальних параметрів даного блоку,
значення загальних параметрів всіх груп, у які цей блок входить, а також значення загальних параметрів мультиблоку.
Ці умови можуть застосовуватися для керування в цьому примірнику блоку.
Всі бібліотеки, що використовуються інстансами, завантажуються в мультиблок.
А в кожному конкретному блоці вказується, яку бібліотеку блок використовує.
При компіляції проекту вивантажуються ті бібліотеки, які використовуються екземплярами блоків застосованими у проекті.
А как упаковать PZEM-004T в remotexy?
Спасибо, Альберт
ошибка в описании блока “Блок обнаружения изменения числа”
“Блок служит для обнаружения изменения числа подаваемого на вход “EN” . При изменении значении на выходе”Q” формируется импульс длительностью в один цикл программы. Для блока возможно задание зоны нечувствительности раздельно для каждого направления изменения числа. Эти параметры задаются в редакторе блока.”
вместо первого “EN” должно быть “Value”
что то не так с массивами.
скетч использовал данные из той же строки другого массива. менял названия (ставил не совпадающие цифры), удалял/ ставил блоки – (не копировал а притаскивал новый), проверял / менял настройки. есть 3 разных массива. заполненных. но берёт почему то из одного … созданного первым.
костыль – использование не повторяющихся номеров строк (индексов) . (помогает)
ардуино uno. версия FLP- актуал.
Странно,но у меня поменялись функциями блоки AND и OR
Добрый день. помогите с блоком шаговый мотор. при добавлении второго мотора ( кнопка новый) ничего не происходит.
Здравствуйте ! Спасибо огромное всем кто внес свой вклад в этот проект! Программа сделана интуитивно понятно и за месяц я дошел до коммуникаций но с протоколом Modbus остановился на ошибке 244 . Scada мастер, Uno слейв соединены через Max485. Задача кнопкой на Scada включать диод на Uno и на оборот. Подскажите пожалуйста возможные решения этой проблемы и еще в каких случаях назначать пин pe-de ?
С уважением Влад!
“Переменная (Тэг) в области памяти Holding Registors внешнего слейва опрашиваемого с помощью мастера на данном контролере.” – не хватает запятых?
как добавить свой блок? хочу поделится с часами для матрицы 8*8 )))))
Запись переменной на SD карту. Плата Arduino UNO.
“Data Logger Module Logging Recorder Shield V1.0 For Arduino UNO SD Card One”
Digital #13 – SPI clock
Digital #12 – SPI MISO
Digital #11 – SPI MOSI
Digital #10 – SD Card chip
При выборе CS подключения дает только Pin до 9. Нужно 10.
Что делать?
Добрый день!
В справке по блоку SVCM (отправка переменной через коммуникации) показаны активными два устройства: Arduino Ethernet Wiznet 5100 и ESP8266 WiFi Module. В версии программы 4.3.4 можно выбрать только Arduino Ethernet Wiznet 5100.
В обновлении 6.3.1 ESP8266 WiFi Module также недоступен для выбора.
Подскажите пожалуйста, может нужно что-то доустановить или настроить?
В PID регуляторе параметр “TIME” что означает?
Здравствуйте!
Как осуществить хранение данных во флэш-памяти (программе) вместо SRAM?
Добрый день.
Параметр “Time” – на этот вход подаётся время регулирования (в миллисекундах).” – так и не смог понять на что именно он влияет… Можно где то узнать что это за параметр?
Речь идет о ПИД регуляторе?
Добрый день! Мне требуется отправка по UART данных для MIDI протокола. Нашёл на просторах интернета готовый скетч, там отправка происходит вот таким образом
void noteOn(int chan, int note, int velocity) {
Serial.write( (0x90 | chan) );
Serial.write(note);
Serial.write(velocity);
}
Вопрос: плата Arduino Nano strong (т.е. плата и шилд сразу) при использовании блока матричная клавиатура подключение 2 пин основной 3,4,5,6,7 уже исполняющие
так вот при такой раскладке после прошивки на 4 пине появляется сигнал и ничего с этим не сделать если-же подключать так-же с 8 по 13 то на 10 он наоборот пропадает и ничем его не получить.
Flprog стоит 5.3.0 для 64 виндовс, это можно как-то решить т.к. проект готов и затык только в этом (не резать-же шлейф да сейчас такие шлейфы что :))) )
спасибо
Вопрос: плата Arduino Nano strong (т.е. плата и шилд сразу) при подключении 2 пин основной 3,4,5,6,7 уже исполняющие
так вот при такой раскладке после прошивки на 4 пине появляется сигнал и ничего с этим не сделать если-же подключать так-же с 8 по 13 то на 10 он наоборот пропадает и ничем его не получить.
Flprog стоит 5.3.0 для 64 виндовс, это можно как-то решить т.к. проект готов и затык только в этом (не резать-же шлейф да сейчас такие шлейфы что :))) )
спасибо
Приветствую! Подскажите пожалуйста, какова длина/(время) импульса на выходе блока “Установка события по часам реального времени” и минимальная длина/(время) импульса на входе для срабатывания блоков типа “Триггер”? Плата, Arduino UNO. (Осциллографа нет, а монитором COM порта эти величины с нужной точностью замерять затруднительно.) Или существует формула для этих расчетов?
Добрый день. А если в схеме нужен F Trigger,как быть?
Здравствуйте!
Как из пользовательского блока передать массив?
Здравствуйте подскажите пожалуйста разницу между блоками Bit Change и R Triger
Bit Change выдает импульс при переходе от 0 к 1 и при переходе от 1 к 0. Rtrig только при переходе от 0 к 1.
…имеется в виду, длины импульса и длины паузы.
Здравствуйте уважаемый Сергей Глушенко.
У меня такой вопрос.
Есть ли способ понизить скорость мне случайных чисел в данном блоке, как например в блоке “Generator”, с функцией “Несимметричный мультивибратор”…? А то данный блок “RANDOM”, меняет случайные числа с бешеной скоростью, из-за чего на дисплее не успеваешь разглядеть эти числа…
Здравствуйте, Сергей!
Прежде всего хочу поблагодарить Вас за прекрасную программу. Мне, как в пошлом,инженеру, очень комфортно создавать свой проект в Вашей среде.
Но у меня вопрос, на который не нашел ответа: Я создаю проект с участием нескольких контроллеров ESP8266 NodeMCU с OLED дисплеем. Очень не хватает такого модуля и модуля ESP32 WiFi LoRa с OLED дисплеем в предустановке.Мои контроллеры должны выполнять некоторые действия, и обмениваться между собой данными и информацией по WiFi в реальном времени. Причем, радиус действия WIFI сети каждого из модулей не должен влиять на передачу данных между конечными контроллерами. Поэтому контроллеры самонастраиваются, и записывают данные для входа всех контроллеров WIFI сети в память для постоянного коннекта по цепи (от начального до конечного). Вопрос: Можно ли в Вашей среде создать подобный алгоритм взаимодействия между контроллерами сети?
С уважением, Аркадий
Здравствуйте! Не могу понять в чём причина. В счётчике на уменьшение, при подключении переменных к входу R и выходу <L он не считает вниз, а если убрать с R то счёт идёт но, не совсем правильно(на ноль не сбрасывается). Подскажите, в чём может быть причина?
Здравствуйте подскажите как округлить показания датчика до десятых чтобы температура выводилась в виде 10,1 а не 10,12.
Заходишь в параметры блока конвертации строк, там есть параметр “Количество знаков после запятой”
Подскажите, почему счетчик не видит вход, хотя он добавлен ? Регулируемые бегущие огни.
Добрый вечер!
Как определить и записать максимальное значение аналогового входа за минуту, и записать его на флешку?
Здравствуйте! Подскажите пожалуйста как создать двойное фазоимпульсное управление в char, для этой схемы.
Заранее огромное спасибо!
Добрый день. Подскажите пожалуйста как откорректировать датчик дс18б2хх есть отклонения 1-2 градуса в зависимости от температуры. Заранее спосибо.
Сложением или умножением в зависимости от характеристики отклонения
Здравствуйте, На сериал порт приходит сообщение 18 байт, мне нужно использовать несколько байт из него. Какой функцией выделить (извлечь) например 5-й байт? Или присвоить переменной значение 5-го байта из сообщения? Спасибо.
Здравствуйте! Подскажите пожалуйста как преобразовать String в char. Заранее огромное спасибо!
блоком “получить символ из строки”
Здравствуйте.
Скажите как сделать так что бы при достижении времени установленного в настройках блока на выходе установится высокий уровень не на 1 минуту, а до времени отключения будильник?
В данной версии блока будильника высокий сигнал на выходе пропадает через 1 минуту.
Будильник работает пока условие времени совпадает с будильником. Если необходимо более длительно время, то можно поставить блок TOF на выход Q
Здравствуйте!
В FLProg есть блок MCP23017.
Но ка только в «FLProg» начинает компилировать в «IDE» программа ругается и пишет, что нужны библиотеки MCP23x17.h и MCP23017.h. Без этой библиотеки блок не рабочий.
Где их можно скачать?
здравствуйте. есть ли модуль поддержки драйверов с управлением step-dir-enable? если нет то когда планируется?
Здравствуйте. Не могу запустить версию 5.00
—————————
flp.exe – Системная ошибка
—————————
Запуск программы невозможен, так как на компьютере отсутствует api-ms-win-crt-runtime-l1-1-0.dll. Попробуйте переустановить программу.
—————————
ОК
—————————
Что делать.
Установи Microsoft Visual C++ последний, и все заработает!!
Доброго времени суток! Скажите пожалуйста, какова максимальная частота счета для этого счетчика? При превышении какой частоты счета, следует выбирать “Скоростной счетчик”? Заранее спасибо.
Почему я невозможно соединить вход “R” с выходом “>L”?
Это баг 5 версии или что-то ещё?
Обратные связи запрещены
Доброго времени суток. Блок “умножение” FLProg 4.2.4 версия под Linux ( ось mint 19.1). умножает в 10 раз более установленного значения . Вставить скрин не получается.
Драйвер светодиодов MAX7219 в программе flProg версии 4.2.4 не работает. По крайней мере с семисегментными индикаторами. Попробовал в другой версии (2.5.1) – все работает корректно.