Content
Custom block editorProfessional Editor
Main window, General terms and concepts.
Editor of custom blocks in C (Professional).
General terms and concepts.
The editor is designed to create custom blocks in the C language. Unlike the Basic editor, it has advanced functionality and additional features.
The editor is available in the Pprog program starting from version 7.0.
The main editor window.
A block created in the editor can be either a single block or a package of blocks United by common functionality.
If the package contains a single block, then it is represented as a single block in the library of user blocks. If a package contains several blocks,
they are represented as a folder in the library. The order of blocks in this folder, the names, and the breakdown by subfolders are set on the corresponding branch in the tree of the block editor.
Therefore, the custom block created in this editor will be called multi block.
The individual blocks included in the package will be calledblocks.
Blocks included in a multiblock can be grouped into folders (purely visual separation for convenience), or groups (logical separation).
Blocks transferred to the project diagram are called the instances of the block
General principle of building a multiblock
When creating a block, you can use parameters – user-defined values that can be changed during the creation process
project in FLProg. Parameters are divided into General parameters and instance parameters. There are General multiblock parameters, General group parameters, and General block parameters.
The General parameters of the multiblock will be shown in the settings of all instances of blocks included in the multiblock when using them in the project.
If you change this parameter in one instance, the value of this parameter will also change in other instances of multiblock blocks included in the project.
Общие параметры группы будут показаны в настройках всех экземпляров блоков входящих в эту группу при использовании их в проекте.
При изменении этого параметра в одном экземпляре, значение этого параметра изменится и в других экземплярах блоков этой группы входящих в проект.
General instance parameters will be shown in the settings of all instances of this block. If you change this parameter in one instance, the value of this parameter will also change in other instances
of this block included in the project.
Instance parameters, as well as General block parameters, are shown in all instances of the block. But when you change this parameter, it changes only in a specific instance.
When compiling a project, two types of inserted code are generated for a multiblock. Common code, and the code of each instance
The shared code is inserted into the sketch ONCE, regardless of the number of block instances used in the project.
The code of each instance is inserted into the sketch for each instance of the block.
As with parameters, there is a common multiblock code, a common group code, and a common instance code.
The General multiblock code is inserted into the sketch code once when any instance of the block included in the block package is used in the project.
The General code of the group is inserted into the sketch once when using any of the instances of blocks included in this group in the project.
The common block code is inserted into the sketch once when using instances of this block in the project.
The code of each instance is inserted into the sketch for each instance of the block used in the project
Each of these types of code is divided into sections, according to the place of insertion in the sketch
Это секции “Declare”, “Setup”, “Loop”, “Functions”. They correspond to the sections in the sketch in the Arduino IDE.
Each section is divided into sections according to where the code is inserted into the section.
Код из The start of the sectionit is inserted in the corresponding section of the sketch before the code that is inserted by the program compiler for standard blocks.
Код из The end of the section it is inserted in the corresponding section of the sketch after the code that is inserted by the program compiler for standard blocks.
The code of the “Functions " section is always inserted at the end of the sketch.
For the code of each instance, there is an additional section in the “Loop” section Place to insert the block.
The code from this section is inserted in the loop section of the sketch at the insertion point of a specific instance of the block.
In each section of the code, you can create one or more code elements. In the code element, the C code itself is written directly, which will be inserted into the sketch.
To control the visibility of block parameters in the project, the presence of inputs and outputs for the block in the project, as well as the insertion of code elements in the sketch, use Conditions.
Both parameter values and some of the project's system values are used to create conditions. Like parameters, conditions are broken down into General conditions, and the conditions of each instance.
General multiblock conditions can only use General multiblock parameters, and system project values. These conditions can be used for management in any instance, and for any code element.
General conditions of a group can use the system values of the project, General parameters of the multiblock, General parameters of the groups that this group belongs to, General parameters of this group. These conditions are available for management in all instances that are part of this group, and elements of the General code of this group, and groups that are part of this group.
General conditions of an instance can use system values, values of General parameters of this block, values of General parameters of all groups that this instance belongs to,
as well as the values of the General parameters of the multiblock. These conditions can be applied to the control in this block.
The conditions of each instance can use system values, the value of the parameters of the instances of a given block, the values of General parameters
this block, values of common parameters of all groups in which this unit is included, as well as the values of General parameters multiblock. These conditions can be applied to control in this instance of the block.
All libraries used by instances are loaded into the multiblock.
And in each specific block, it is specified which library the block uses. When compiling a project, only those libraries that are used by the block instances used in the project are unloaded.
А как упаковать 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) – все работает корректно.