Справка

 Содержание

 Библиотека блоков
   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»» параметров данного пункта.


9

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

не в сети 1 неделя

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

782
Комментарии: 15Публикации: 391Регистрация: 04-02-2018

54 комментария к “Справка”

  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

Оставьте комментарий

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