Блок пользователя содержащий другие блоки пользователя.
Блок пользователя содержащий другие блоки пользователя.
Кто пробовал делать блоки пользователя содержащие другие блоки пользователя и в свою очередь имеющие в себе еще блоки пользователя? Ну, по типу матрешки.
Да уж...
Проблем не возникнет с компиляцией и работоспособностью?
Да уж...
Проблем не возникнет с компиляцией и работоспособностью?
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок пользователя содержащий другие блоки пользователя.
В пользовательский блок FBD вообще нельзя воткнуть другой пользовательский блок - нет вкладки "пользовательские".
Последний раз редактировалось Boroda 24 июн 2016, 12:16, всего редактировалось 1 раз.
Блок пользователя содержащий другие блоки пользователя.
огород в огороде, проще нарисовать пользовательский блок с использованием элементов других пользовательских блоков или идей.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок пользователя содержащий другие блоки пользователя.
А как, допустим, вставить ПБ на СИ состоящий из одной строчки (например, Out=In1 xor In2 xor In3 xor In4;) в ПБ на FBD? Стандартного-то блока XOR для переменных типа Byte нет. Лепить FBD огород:slavas писал(а):огород в огороде
- прочитать бит0/1/2/3/4/5/6/7 переменной IN1
- прочитать бит0/1/2/3/4/5/6/7 переменной IN2
- каждую пару заксорить
- записать биты0/1/2/3/4/5/6/7 в переменную темп
- прочитать бит0/1/2/3/4/5/6/7 переменной темп
- прочитать бит0/1/2/3/4/5/6/7 переменной IN3
- каждую пару заксорить
- записать биты0/1/2/3/4/5/6/7 в переменную темп
- и т.д.
Представляете себе размер коробочки?
Тоже самое с побитовым сдвигом вправо/влево (ну тут можно делением/умножением обойтись), AND и OR.
Последний раз редактировалось Boroda 24 июн 2016, 13:26, всего редактировалось 1 раз.
Блок пользователя содержащий другие блоки пользователя.
Комментирую дальше. Вероятно, что блоки не должны будут содержать одинаковые (имена) переменные.
Добавлено (24.06.2016, 14:10)
---------------------------------------------
Добавлено (24.06.2016, 14:10)
---------------------------------------------
Вот если в пользовательском блоке нет одинаковых переменных, или вообще нет переменных, то по идее его можно было бы использовать в своем блоке? Было бы крайне удобно и не надо было бы повторять логику нужного имеющегося блока.Boroda писал(а):В пользовательский блок FBD вообще нельзя воткнуть другой пользовательский блок - нет вкладки "пользовательские".
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок пользователя содержащий другие блоки пользователя.
Так они и так перед компиляцией преобразуются.Max писал(а):если в пользовательском блоке нет одинаковых переменных
[spoiler=Спойлер]Было в блоке пользователя:
byte N_byte;
unsigned long time;
unsigned long time_old;
byte bsumm;
byte bsumm_in;
Стало в Arduino IDE (два блока на плате):
byte N_byte_125723286_1;
unsigned long time_125723286_1;
unsigned long time_old_125723286_1;
byte bsumm_125723286_1;
byte bsumm_in_125723286_1;
и второй
byte N_byte_125723286_2;
unsigned long time_125723286_2;
unsigned long time_old_125723286_2;
byte bsumm_125723286_2;
byte bsumm_in_125723286_2;[/spoiler]
Добавлено (24.06.2016, 14:28)
---------------------------------------------
Правда тогда наверное переменная блока в блоке будет например такой: byte Temp_125723286_1_789723286_1, а если вложение будет десятым, то сами представляете, что будет. Тут палка о двух концах... А когда длина имени переменной превысит 255 символов - у компилятора крыша съедет...
Последний раз редактировалось Boroda 24 июн 2016, 14:41, всего редактировалось 1 раз.
Блок пользователя содержащий другие блоки пользователя.
а как вы вообще собираетесь вставлять блоки?
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Блок пользователя содержащий другие блоки пользователя.
А пока никак не получится, и предположу, что Автор так же думает, потому как базовай функционал писался давно и все уже забылось. А трогать работающее чревато последствиями.slavas писал(а):а как вы вообще собираетесь вставлять блоки?
Добавлено (24.06.2016, 16:59)
---------------------------------------------
Поэтому, если надо сделать какую-либо хитрую коробочку - открываю Arduino.cc или Arduino.ru и пытаюсь на СИ наваять, благо опыта в программировании на ST, Асме и Бейсике навалом.
Последний раз редактировалось Boroda 24 июн 2016, 17:01, всего редактировалось 1 раз.
Блок пользователя содержащий другие блоки пользователя.
Ну, это понятно...Boroda писал(а):А пока никак не получится
Есть свои специфичные блоки (для себя) и хотелось бы их задействовать (так же для себя) не делая повторно работу, которую уже делал... Вот и весь смысл темы.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей