☰ Зміст LAD
Основний блок меню




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




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


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

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