Довідка

 Зміст

 Бібліотека блоків
   FBD
    Інший
     Меню
      Основний блок меню

Основний блок меню




Відеоурок на каналі "Ключ до Ардуїно"




Блок є конструктором для створення однорівневих або багаторівневих меню в проекті. Конфігурується блок за допомогою редактора блоку.


Розділ параметрів редактора блоку містить чотири закладки:
«Дерево меню»
"Управління меню"
"Управління значенням"
«Виходу»

1.Закладка «Дерево меню» служить і створення основного списку пунктів меню. У лівій частині знаходиться безпосередньо дерево меню та кнопки управління пунктами меню.


1.1. Кнопки керування пунктами меню

1.1.1. 'Підняти пункт меню' – служить для переміщення виділеного пункту меню вгору в межах своєї гілки.


1.1.2 "Опустити пункт меню" – служить для переміщення виділеного пункту меню вниз, в межах своєї гілки.


1.1.3 "Перемістити пункт меню" - служить для переміщення виділеного пункту меню з однієї гілки до іншої.


1.1.4 "Видалити пункт меню" – для видалення виділеного пункту меню.


1.2. У правій частині закладки «Дерево меню» відображаються параметри вибраного пункту меню. Для кожного типу меню є свій набір параметрів.

1.2.1. Установки основного пункту меню.


1.2.1.1. Поле "Назва меню" служить для введення імені для всього меню

1.2.1.2. Кнопка «Додати новий пункт меню» використовується для створення нового пункту меню в межах основного меню.


1.2.2. Параметри інших пунктів меню.
Верхня частина настройок однакова для всіх типів пунктів меню.


1.2.2.1. "Назва пункту меню" - Служить для введення імені меню.

1.2.2.2. "Додаткові рядки" - створення додаткових рядків, прив'язаних до пункту меню. При створенні таких рядків на блоку з'являються виходи (і в даному випадку «AStr1» і «AStr2»), куди будуть виводитися значення даних рядків. Якщо у якогось пункту меню значення рядка не встановлено, то при виборі в меню цього пункту на відповідному виході буде виводитися порожній рядок. Не задані рядки відображаються похилим текстом Not defined.


1.2.2.3. "Група параметрів" - При установці даного чек-боксу пункт меню перетворюється на груповий. Груповий пункт не має значення, але до нього можна додавати інші пункти меню, включаючи групові. При знятті цього чек-боксу, пункт меню знову стає звичайним.

1.2.2.4. "Вхід для прямого переходу в меню" - При установці даного чек-боксу, у блоку з'являється вхід по передньому фронту імпульсу, на якому відбувається безпосередній перехід на даний пункт меню. Ім'я входу відповідає індексу пункту меню у дереві меню.


1.2.2.5. "Вихід активності пункту меню" - При установці даного чек-боксу у блоку з'являється вихід на якому при активності даного пункту меню з'являється високий логічний рівеньь. Ім'я виходу відповідає індексу пункту меню у дереві меню.

1.2.3. Нижня частина параметрів змінюється залежно від виду та типу пункту меню.


1.2.3.1. Груповий пункт меню


1.2.3.1.1. Рядок на виході 'Val' » текст рядка який буде з'являтися на виході 'Val' блоку при активності даного пункту меню.

1.2.3.1.2. Кнопка «Додати підменю» - служить для додавання нового пункту меню до дочірні цього групового пункту.

1.2.3.2. Звичайні пункти меню (зі значенням).


1.2.3.2.1. Загальне для всіх типів пунктів меню


1.2.3.2.1.1. "Тип змінної" - Вибір типу даних, що зберігаються в цьому пункті меню.

1.2.3.2.1.2. «Зберегти в EEPROM» - При установці даного чек-боксу значення пункту меню зберігатиметься в незалежній пам'яті.

1.2.3.2.2. Для типів даних Integer, Long integer, Unsigned long integer, Byte


1.2.3.2.2.1. Формат конвертації - Вибір, в якому вигляді буде представлятися значення пункту меню на виході Val блоку.

1.2.3.2.2.2. "Макс." - Завдання максимального значення для цього пункту меню. У разі зняття даного чек-боксу обмеження на максимальне значення відсутнє.

1.2.3.2.2.3. "Мін." - Встановлення мінімального значення для цього пункту меню. У разі зняття даного чек-боксу обмеження на мінімальне значення відсутнє.

1.2.3.2.2.4. "Крок" - Завдання кроку зміни значення

1.2.3.2.3. Тип даних Float.


1.2.3.2.3.1. "Кількість знаків після коми" - Вибір кількості знаків після коми при виведенні значення на вихід "Val" блоку.

1.2.3.2.3.2. "Макс." - Завдання максимального значення для цього пункту меню. У разі зняття даного чек-боксу обмеження на максимальне значення відсутнє.

1.2.3.2.3.3. "Мін." - Встановлення мінімального значення для цього пункту меню. У разі зняття даного чек-боксу обмеження на мінімальне значення відсутнє.

1.2.3.2.3.4. "Крок" - Завдання кроку зміни значення

1.2.3.2.4. Для типу даних Boolean


1.2.3.2.4.1. Формат конвертації - Вибір, в якому вигляді буде представлятися значення пункту меню на виході Val блоку.

1.2.3.2.4. 2. "Текст для 'True'" - Текст на виході блоку "Val" при значенні пункту меню True якщо вибрано формат конвертації "Власний текст"

1.2.3.2.4. 3. "Текст для 'False'" - Текст на виході блоку "Val" при значенні пункту меню False якщо вибрано формат конвертації "Власний текст"

1.2.3.2.5. Для типу даних Char


1.2.3.2.5.1. Формат конвертації - Вибір, в якому вигляді буде представлятися значення пункту меню на виході Val блоку.

2. Закладка "Управління меню"


2.1. "Вхід 'Reset'" - При установці даного чек-боксу у блоку з'явиться вхід 'Reset'. По передньому фронту імпульсу цьому вході меню перетворюється на перший пункт головного меню.

2.2. "Входи "Меню вгору"/"Меню вниз"" - При установці даного чек-боксу у блоку з'являться входи "MU" та "MD". По передньому фронту імпульсу на вході MU меню перейде на попередній пункт в межах свого батька. На передньому фронті імпульсу на вході 'MD' меню перейде на наступний пункт у межах свого батька.

2.3. "Переключати пункти меню по кільцю" - при установці даного чек-боксу переміщення по пунктах меню буде здійснюватися по кільцю. При досягненні першого пункту менюу справах їхнього батька буде здійснено перехід на останній. І навпаки. При знятті даного чек-боксу при досягненні крайніх пунктів меню в межах їхнього батька перехід по пунктах меню в цьому напрямку буде зупинено.

2.4. "Входи "Увійти в меню"/"Вийти з меню"" - При установці даного чек-боксу у блоку з'являються входи "ETM" та "ExTM". При активності групового пункту меню на передньому фронті імпульсу на вході «ETM» меню перейде на перший дочірній пункт даного групового пункту меню. За відсутності у групового пункту меню дочірніх елементів жодних дій не буде. При активності будь-якого пункту меню переднього фронту на вході «ExTM» буде проведено перехід на батьківський для активного пункту меню пункт. Якщо батьківським пунктом є головне меню – жодних дій зроблено не буде.

2.5. "Скидати по передньому фронту на вході 'En'" - при встановленні даного чек-боксу при кожному вході в меню (передньому фронті на вході 'En') меню буде встановлюватися на перший пункт головного меню. При знятті даного чек-боксу при кожному новому вході в меню воно залишатиметься на тій позиції, на якій залишилася при останній активації.

3. Закладка «Керування значенням»


3.1. «Входи «Значення+»/«Значення -»» - При установці даного чек-боксу у блоку з'являються входи 'V+' та 'V-'. На передньому фронті на вході 'V+' значення активного пункту меню змінюється на заданий у властивостях меню крок у бік збільшення. Якщо у властивостях пункту меню встановлено максимальне значення, то при досягненні цього значення зміна зупиняється. По передньому фронту на вході 'V-' значення активного пункту меню змінюється на заданий у властивостях меню крок у бік зменшення. Якщо у властивостях пункту меню встановлено мінімальне значення, то при досягненні цього значення зміна зупиняється. Якщо активний груповий пункт меню, жодних дій не відбувається. Можливі три режими зміни значення.

3.1.1. "На один крок при кожному імпульсі" - Значення пункту меню змінюватиметься на один крок при кожному передньому фронті на входах "V+" або "V-".

3.1.2. 'З прискоренням' – По передньому фронту на вході “V+” або “V-” значення зміниться на один крок. Але якщо утримувати високий рівень на вході протягом часу, вказаного в полі «Час початку прискорення», то значення почнуть автоматично змінюватися в тому ж напрямку на один крок з періодом, зазначеним у полі «Період оновлення значення», доки не буде знято високий рівень з входу.

3.1.3. "З подвійним прискоренням" – По передньому фронту на вході "V+" або "V-" значення зміниться на один крок. Але якщо утримувати високий рівень на вході протягом часу вказаного в полі «Час початку прискорення» значення почнуть автоматично змінюватися в тому ж напрямку на один крок з періодом зазначеним у полі «Період оновлення значення». Якщо продовжувати утримувати високий рівень, то через час (вважається з моменту переднього фронту на вході) вказаний у полі «Час початку другого прискорення» період зміни значень зміниться на вказаний у полі "Період змін значень на другому рівні". Значення будуть змінюватися, доки не буде знято високий рівень з входу.

3.2. "Входи безпосереднього введення цифр" - При установці даного чек-боксу у блоку з'являються входи для безпосереднього введення цифр (B0 … B9). При переході на не груповий пункт меню передній фронт на будь-якому з цих входів переводить значення пункту в режим зміни та відразу вводить символ, що відповідає входу (0 … 9). Наступні передні фронти на цих входах додають відповідні символи до значення, що набирається.

3.3. "Вхід"," - При установці даного чек-боксу на додаток до цифрових входів у блоку з'являється вхід ".". Передній фронт на цьому вході призводить до додавання символу "." до значення, що набирається. Працює лише з пунктами меню типу Float.

3.4. «Вхід «-»» - У разі встановлення даного чек-боксу на додаток до цифрових входів у блоку з'являється вхід «-». Передній фронт на цьому вході призводить до додавання символу «-» на початку значення, що набирається. Якщо цей символ вже був на початку значення, то він буде прибраний.

3.5. "Вхід "Backspase"" - При установці даного чек-боксу на додаток до цифрових входів у блоку з'являється вхід "<". Передній фронт на цьому вході до видалення останнього набраного символу.

4. Закладка «Виходу»


4.1. «Вихід «Активний груповий пунктменю»» - У разі встановлення даного чек-боксу у блоку з'являється вихід «AG». При активності групового пункту меню цьому виході виставляється високий логічний рівень.

4.2. "Вихід "Активно головне меню"" - При установці даного чек-боксу у блоку з'являється вихід "AMM". При активності будь-якого пункту меню, що є безпосередньо дочірнім до головного меню, на цьому виході виставляється високий логічний рівень.

4.3. "Вихід "Ім'я батьківського меню" - При установці даного чек-боксу у блоку з'являється вихід "NPM". На нього виводиться ім'я пункту меню, що є батьківським для активного в даний момент пункту.

Постійні входи виходи блоку.

Вхід "En" - Вхід активності меню. При низькому логічному рівні на даному вході блок не реагує на стан входів, на цифрових виходах блоку встановлюється низький логічний рівень, а на малих виходах – порожній рядок. При високому рівні на цьому вході блок працює у нормальному режимі.

Вихід "Name" - На цьому виході під час роботи блоку виводиться ім'я поточного активного пункту меню.

Вихід «ValStr» - На цьому виході під час роботи боку виводиться значення не групового пункту меню відповідно до заданих налаштувань перетворення. Якщо активний груповий пункт меню – на цей вихід виводиться рядок, записаний у полі «Рядок на виході Val» параметрів даного пункту.


10

Автор публікації

Офлайн 3 тижні

Сергей Глушенко

759
Коментарі: 15Публікації: 389Реєстрація: 04-02-2018

53 коментарі до “Довідка”

  1. ошибка в описании блока “Блок обнаружения изменения числа”

    “Блок служит для обнаружения изменения числа подаваемого на вход “EN” . При изменении значении на выходе”Q” формируется импульс длительностью в один цикл программы. Для блока возможно задание зоны нечувствительности раздельно для каждого направления изменения числа. Эти параметры задаются в редакторе блока.”

    вместо первого “EN”  должно быть  “Value”

    0
  2. что то не так с массивами.
    скетч использовал данные из той же строки другого массива.  менял названия (ставил не совпадающие цифры), удалял/ ставил блоки – (не копировал а притаскивал новый), проверял / менял настройки. есть 3 разных массива. заполненных.  но берёт почему то  из одного … созданного первым.
    костыль  – использование не повторяющихся номеров строк (индексов) .  (помогает)
    ардуино uno. версия FLP- актуал.

    0
  3. Здравствуйте ! Спасибо огромное всем кто внес свой вклад в этот проект! Программа сделана интуитивно понятно и за месяц я дошел до коммуникаций но с протоколом Modbus остановился на ошибке 244 . Scada мастер, Uno слейв  соединены через Max485. Задача кнопкой на Scada включать диод на Uno и на оборот. Подскажите пожалуйста возможные решения этой проблемы и еще в каких случаях назначать пин pe-de ?

    С уважением Влад!

    0
  4. Добрый день!

    В справке по блоку SVCM (отправка переменной через коммуникации) показаны активными два устройства: Arduino Ethernet Wiznet 5100  и ESP8266 WiFi Module. В версии программы 4.3.4 можно выбрать только Arduino Ethernet Wiznet 5100.

    В обновлении 6.3.1 ESP8266 WiFi Module также недоступен для выбора.

    Подскажите пожалуйста, может нужно что-то доустановить или настроить?

    3
  5. Добрый день.

    Параметр “Time” – на этот вход подаётся время регулирования (в миллисекундах).” – так и не смог понять на что именно он влияет… Можно где то узнать что это за параметр?

    0
  6. Добрый день! Мне требуется отправка по UART данных для MIDI протокола. Нашёл на просторах интернета готовый скетч, там отправка происходит вот таким образом


    1. void noteOn(int chan, int note, int velocity) {
          Serial.write( (0x90 | chan) );
          Serial.write(note);
          Serial.write(velocity);
      }

    2. Всю голову сломал как сделать это в данной программе, ничего не получается. Подскажите плиз какие есть варианты.
    3. получается там из массива подставляются переменные и пакетом отсылаются на порт
    4. вообщем вот от сюда брал скетч http://forum.amperka.ru/threads/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B1%D0%B0%D1%80%D0%B0%D0%B1%D0%B0%D0%BD%D1%8B-%D0%BD%D0%B0-arduino-%D0%BA%D1%80%D0%B8%D0%B2%D1%8B%D0%BC%D0%B8-%D1%80%D1%83%D0%BA%D0%B0%D0%BC%D0%B8.15477/
    0
  7. Вопрос: плата Arduino Nano strong (т.е. плата и шилд сразу) при использовании блока матричная клавиатура подключение 2 пин основной 3,4,5,6,7 уже исполняющие
    так вот при такой раскладке после прошивки на 4 пине появляется сигнал и ничего с этим не сделать если-же подключать так-же с 8 по 13 то на 10 он наоборот пропадает и ничем его не получить.
    Flprog стоит 5.3.0 для 64 виндовс, это можно как-то решить т.к. проект готов и затык только в этом (не резать-же шлейф да сейчас такие шлейфы что :)))   )
    спасибо

    0
  8. Вопрос: плата Arduino Nano strong (т.е. плата и шилд сразу) при подключении 2 пин основной 3,4,5,6,7 уже исполняющие
    так вот при такой раскладке после прошивки на 4 пине появляется сигнал и ничего с этим не сделать если-же подключать так-же с 8 по 13 то на 10 он наоборот пропадает и ничем его не получить.
    Flprog стоит 5.3.0 для 64 виндовс, это можно как-то решить т.к. проект готов и затык только в этом (не резать-же шлейф да сейчас такие шлейфы что :)))   )
    спасибо

    0
  9. Приветствую! Подскажите пожалуйста, какова длина/(время) импульса на выходе блока “Установка события по часам реального времени” и минимальная длина/(время) импульса на входе для срабатывания блоков типа “Триггер”? Плата, Arduino UNO.  (Осциллографа нет, а монитором COM порта эти величины с нужной точностью замерять затруднительно.) Или существует формула для этих расчетов?

    0
  10. xatabmail250986

    Здравствуйте, у меня такой вопрос, я хочу запрограммировать Ардуинку на определенный алгоритм вращения шагового двигателя. У меня есть шаговик Nema23 и Драйвер DM556. Я столкнулся с проблемой: В вашей программе для управления шаговиком используется 4 вывода а у меня от драйвера на Ардуино только 2

     2019-11-10 12:23:12

    Аватар

    xatabmail250986

    (PUL, DIR) и земля. Подскажите как я могу реализовать мое подключение с вашей программой?

    0
  11. Здравствуйте уважаемый Сергей Глушенко.

    У меня такой вопрос.

    Есть ли способ понизить скорость мне случайных чисел в данном блоке, как например в блоке “Generator”, с функцией “Несимметричный мультивибратор”…? А то данный блок “RANDOM”, меняет случайные числа с бешеной скоростью, из-за чего на дисплее не успеваешь разглядеть эти числа…

    0
  12. Здравствуйте, Сергей!

    Прежде всего хочу поблагодарить Вас за прекрасную программу. Мне, как в пошлом,инженеру, очень комфортно создавать свой проект в Вашей среде.

    Но у меня вопрос, на который не нашел ответа: Я создаю проект с участием нескольких контроллеров ESP8266 NodeMCU с OLED дисплеем. Очень не хватает такого модуля и модуля ESP32 WiFi LoRa с OLED дисплеем в предустановке.Мои контроллеры должны выполнять некоторые действия, и обмениваться между собой данными и информацией по WiFi в реальном времени. Причем, радиус действия  WIFI сети каждого из модулей не должен влиять на передачу данных между конечными контроллерами. Поэтому контроллеры самонастраиваются, и записывают данные для входа всех контроллеров WIFI сети в память для постоянного коннекта по цепи (от начального до конечного).  Вопрос: Можно ли в Вашей среде создать подобный алгоритм взаимодействия между контроллерами сети?

    С уважением, Аркадий

    0
  13. Здравствуйте! Не могу понять в чём причина. В счётчике на уменьшение, при подключении переменных к входу R и выходу <L он не считает вниз, а если убрать с R то счёт идёт но, не совсем правильно(на ноль не сбрасывается). Подскажите, в чём может быть причина?

     

    0
  14. Здравствуйте, На сериал порт приходит сообщение 18 байт, мне нужно использовать несколько байт из него. Какой функцией выделить (извлечь) например 5-й байт? Или присвоить переменной значение 5-го байта из сообщения? Спасибо.

    0
  15. Здравствуйте.

    Скажите как сделать так что бы при достижении времени установленного в настройках блока на выходе установится высокий уровень не на 1 минуту, а до времени отключения будильник?

    В данной версии блока будильника высокий сигнал на выходе пропадает через 1 минуту.

    0
  16. Здравствуйте!

    В FLProg есть блок MCP23017.

    Но ка только в «FLProg» начинает компилировать в «IDE» программа ругается и пишет, что нужны библиотеки MCP23x17.h и MCP23017.h.  Без этой библиотеки блок не рабочий.

    Где их можно скачать?

    0
  17. Здравствуйте.  Не могу запустить версию 5.00

    —————————

    flp.exe – Системная ошибка

    —————————

    Запуск программы невозможен, так как на компьютере отсутствует api-ms-win-crt-runtime-l1-1-0.dll. Попробуйте переустановить программу.

    —————————

    ОК

    —————————

    Что делать.

    1
  18. Доброго времени суток! Скажите пожалуйста, какова максимальная частота счета для этого счетчика? При превышении какой частоты счета, следует выбирать “Скоростной счетчик”? Заранее спасибо.

    0

Залишити коментар

Войти с помощью: