Вверх ↑
Этот топик читают: Гость
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2011-05-10 14:24:19 ЛС | профиль | цитата
   На днях довелось повозиться с набором Lego NXT (для тех, кто не в курсе что это) - меня интересовал не столько сам набор, сколько визуальная среда для программирования контроллера NXT. Выглядит это чудо примерно так:



Среда целиком

Принцип схемопостроения таков: изначально дана только одна стартовая точка с тремя "событиями" (квадрат в левой центральной части изображения). К любому из "событий" цепляются любые другие элементы строго последовательно (на рисунке они соединены линией с круглыми дырками). Есть так же как в hiasm элементы контейнеры (на рисунке это элементы с оранжевой рамкой ), у которых есть только один вход и только один выход. Все контейнеры визуализируют собой ту или иную проверку какого либо условия. Кроме этого есть еще функциональные "события" или "методы" - это те, которые либо выдают, либо принимают какие-то данные (на рисунке их нет), причем среда почему-то никакой разницы между ними не делает и соединять их друг с другом можно как угодно. Проверка состояния всех датчиков и реакция на события от них сделана в виде "менеджеров" - т.е. во все элементы, работающие с данными вделана возможность выбора от куда брать данные: из "потока" или сразу с датчика (так на первом рисунке рука нажимающая кнопку это проверка датчика давления).

И так задача: попробуйте по первой картинке определить, что делает схема и каков ее аналог на hiasm
карма: 26
0
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2011-05-10 14:32:12 ЛС | профиль | цитата
Судя по всему это программа-сервис, которая повторяется из раза в раз с определенным интервалом, при итерации одного цикла жизни проверяется нажатость кнопки, если она нажата, то происходит хрен знает что (возможно, какое-то движение ), а если произошло "отжатие" кнопки, то проигрывается некий звук
карма: 10
0
Ответов: 1536
Рейтинг: 176
#3: 2011-05-10 14:57:14 ЛС | профиль | цитата
Assasin, думаю это всёже не цикл, а вот само событие сопровождаеться звуком.
------------ Дoбавленo в 14.57:
Хотя да, цикл.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 3889
Рейтинг: 362
#4: 2011-05-10 14:57:47 ЛС | профиль | цитата
1) Пишем текст на экране
2) Ждём кнопку
3) При нажатой кнопке работаем приводом
4) При отжатой ругаемся через динамик
5) Вечный цикл (стоп?)
карма: 1

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#5: 2011-05-10 15:10:56 ЛС | профиль | цитата
1nd1g0 писал(а):
Вечный цикл (стоп?)

А нафиг там стоп, это кольцо работает до выключения. Ты же в Винде не останавливаешь RootRing
карма: 22

0
Ответов: 1528
Рейтинг: 57
#6: 2011-05-10 15:17:27 ЛС | профиль | цитата
ковырял на днях этот конструктор, напоминает местами хиасм, но логика там не разбежишься
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#7: 2011-05-10 17:13:47 ЛС | профиль | цитата
Assasin, и 1nd1g0, правильно ответили. Основная рамка это бесконечный Repeat цикл, а внутренняя - If_Else (если датчик сработал, то пищать, иначе ехать вперед - простейшая реакция на препятствие).

Вот так выглядят связи с данными:



на мой взгляд авторы наделали слишком много сущностей:
1) стартовая точка с тремя ветками программы
2) простые элементы
3) элементы контейнеры
4) две точки, определяющие последовательность выполнения команд
5) точки, принимающие и отдающие данные
6) свойства простые (панель внизу)
7) свойства функциональные (там же в панели внизу можно создавать "микро" подпрограммы поведения элемента, изменяя чекбоксы, ползунки и значения параметров)

в hiasm их всего три(базовых):
1) элементы (элементы-контейнеры hiasm это совсем не тоже самое, что элементы-контейнеры в lego - у нас это просто компактная группа элементов, у них же это часть программы, выполняемая так или иначе при том или ином условии)
2) точки
3) свойства

Не совсем понятно почему набор рекомендован детям от 10 лет и выше...
карма: 26
0
Ответов: 146
Рейтинг: 1
#8: 2011-05-10 17:38:33 ЛС | профиль | цитата
Dilma это лего это для детей, и интерфейс они сделали приятный. Он красивый, яркий, красочный... а что ребенку еще надо чтобы его заинтересовать?
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#9: 2011-05-10 17:55:25 ЛС | профиль | цитата
legandox писал(а):
и интерфейс они сделали приятный.

приятный?
1) скролинг схемы работает только через прямоугольник выделения элементов (не нашел другого способа)
2) попытка схватить любой элемент приводит к обрыву всех его связей
3) data линии при прокладке через контейнеры могут обрываться и висеть кусками, уходящими в никуда
4) любое действия на рабочем столе приводит к жуткому миганию и тормозам отрисовки
5) автоматические соединения data линий иногда прокладывают трассы сверху или снизу так, что понять с какой же точкой она соединена не реально
6) что делает сброс data линии на другую data линию кроме обрывания связей в неожиданных местах - так и не смог понять (возможно времени мало потратил на изучение)

Усваиваемость конструктора детьми заявленной возрастной категории к сожалению проверить не получилось, т.к. ребенок, которому был куплен набор гораздо младше. Если у вас есть такие примеры - делитесь, возможно что-то почерпнем для себя.

PS: судя по тому, что выкладывают на ютубе конструктор как раз таки на полную катушку используют далеко не дети
карма: 26
0
Ответов: 146
Рейтинг: 1
#10: 2011-05-10 18:06:55 ЛС | профиль | цитата
Dilma я функциональность интерфейса не сравнивал.. а его визуализация, она приятная... но на сколько она практична я не знаю, так как не работал в этой программе...

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

хочу посмотреть скачать и посмотреть, на эту программу...


карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#11: 2011-05-10 18:10:17 ЛС | профиль | цитата
legandox писал(а):
но на сколько она практична я не знаю

в мире софта практичность и внешний вид обычно стоят на противоположных чашах весов. Нужно стремиться к компромиссу. Но вы безусловно правы - в данном случае главное количество продаж после просмотра роликов с красивыми фантиками
карма: 26
0
Ответов: 5227
Рейтинг: 587
#12: 2011-05-10 18:19:15 ЛС | профиль | цитата
Довелось как-то принимать участие в программировании промышленных контроллеров simens, среда довольно дружелюбная (нечто напоминающая proteus) да и программы там можно как текстом (vhdl) так блок-схему развести.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 146
Рейтинг: 1
#13: 2011-05-10 18:28:06 ЛС | профиль | цитата
Dilma Компромисс, золотую середину порой найти крайне тяжело... А в случае лего это просто конструктор. а программа всего лишь составляющая к нему, вот почему они выбрали стратегию красивого внешнего вида...

а Вы не рассматривали такой программный пакет как LabVIEW?
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#14: 2011-05-10 18:30:46 ЛС | профиль | цитата
Dilma писал(а):
любое действия на рабочем столе приводит к жуткому миганию и тормозам отрисовки

Немудрено при таком графическом интерфейсе, там еще и альфа канал используется, а на неаппратном уровне это серьезные тормоза
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#15: 2011-05-10 18:38:30 ЛС | профиль | цитата
legandox писал(а):
а Вы не рассматривали такой программный пакет как LabVIEW?

только в теории - видел, читал, изучал. Реально никогда в нем не работал. На него все же слишком сильно давит специфика использования - это программирование железа и сборка стендов оператора для мониторинга. Внешний вид говорит о том, что ребята думали прежде всего о функциональности и насколько оно удобно в работе - сказать сложно.
карма: 26
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)