FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Суббота, 10.12.2016, 15:42
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Новый функционал » Новые » Добавить Функции (К «Функциональным блокам» ФБ, добавить Функции)
Добавить Функции
Слимпер
Дата: Вторник, 05.04.2016, 09:59 | Сообщение # 1
Генерал-лейтенант
Группа: Проверенные
Сообщений: 678
Награды: 31
Репутация: 23
Статус: Offline
В некоторых вариантах реализации FBD кроме собственный функциональных блоков, существует возможность создавать функции.
Главное отличие, отсутствие собственной внутренней памяти.

Внедрение этого механизма позволить сильно экономнее расходовать оперативную память.
Это особенно актуально, если в разных частях программы необходимо производить сложные вычисления или работу со строковыми переменными.

Но  тут надо будет следить  за  использованием  внутренних переменных  и триггеров, или за тем чтобы одновременно был активен только один экземпляр функции (используя для этого вход EN)

Просмотрев как сейчас генерируется код  функциональных блоков при передачи в  Arduino IDE:
1.      Создается структура данных  для работы блока;
2.      Для каждого экземпляра ФБ создается экземпляр структурыданных ;
3.      Создается функция ;
4.      В секции loop  при вызове ФБ в функцию передается нужный экземплярструктуры данных, после обработки в эту же структуру возвращается результат.

Мне кажется для введения «Функций» достаточно будет:
--В интерфейсе  ФБ добавить еще одну галочку на подобии EN, назвав ее соответственно Функция
--А при генерации кода в случаи перевода ФБ в режим функция, генерировать только один экземпляр структуры данных и всегда его использовать.
--Добавить при активации входа EN Boolean переменную, на которой будет генерироваться импульс при активации работы блока. (этого и сейчас бывает не хватает)

P.S. Идея возникала, когда создавал набор блоков для удобного(мне) создания древовидного меню настроек с запись их в EEPROM.
Блоки написал, но их можно использовать только на Mega, да и там осторожно, так как при добавлении экземпляра занимается от 50 до 100 байтов ОЗУ, а больше одного блока в работе у
меня и не бывает.


Сообщение отредактировал Слимпер - Пятница, 08.04.2016, 10:11
 
Форум » Новый функционал » Новые » Добавить Функции (К «Функциональным блокам» ФБ, добавить Функции)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика