Шина данных

 

Цепочка программы

Программа выполняется в последовательности, заданной цепочкой программы (рис. 1) . Блоки, которые выстроились в цепочку, можно загрузить в NXT. Остальные блоки в рабочей области, которые не встроены в цепочку программы, загружаться не будут.

Показаны Начальная точка и Блоки «Движение» и «Звук» на цепочке программы

Рисунок 1. Вид цепочки программы.

Из начальной точки можно выводить дополнительное цепочки программ, что позволит программе выполнять несколько задач одновременно, например, в программе, управляющей движением робота вперед, можно создать основную цепочку и дополнительную, которая будет управлять рукой робота (рис. 2).

Показана программа с основной и параллельной цепочками

Рисунок 2. Вид цепочки программы.

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

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

Шины данных

Шины данных обеспечивают обмен информацией между программными блоками. Для того, чтобы многие блоки вообще работали, требуется подключение шин данных. Например, выходной сигнал из Программного блока случайных событий может быть отправлен только через шину данных.

Открытие концентраторов данных и создание шин данных

Вы создаете шину данных путем “извлечения” ее из концентратора данных программного блока (рис. 3). Практически все программные блоки имеют концентраторы данных и могут поддерживать шины данных.

Поместив блок в рабочую область, откройте концентратор данных блока, щелкнув по кнопке в нижней левой части блока.

Рисунок 3. Открытие концентратора данных.

Извлечение шины данных

Курсор изменит свою форму, оказавшись над разъемом данных или возле него. Если вы затем нажмете на кнопку мыши и перетащите вправо, шина данных “развернется” так, что ее можно будет подключить к разъему на концентраторе данных другого блока.

Удаление шины данных

Чтобы удалить шину данных, которая размещена между левым и правым разъемами данных, щелкните по правому разъему.

Вход и выход

Шины данных, передающие информацию на блок (т. е, выполняющие ввод), подключены к разъемам, находящимся на левой стороне его концентратора данных (рис. 4). Шины данных, передающие информацию от блока (т. е, выполняющие вывод), подключены к разъемам, находящимся на правой стороне.

Рисунок 4. [A] Входной разъем, [B] Выходной разъем, [C] Числовая шина данных (желтая), [D] Логическая шина данных (зеленая), [E] Текстовая шина данных (оранжевая), [F] Поврежденная шина данных (серая).

Шины данных осуществляют передачу специфических типов данных

Каждая шина данных осуществляет обмен специфическими типами данных между блоками. Например, если шина данных перетянута с логического разъема на концентратор данных блока, ее можно подключить только к логическому разъему на концентраторе данных другого блока.

Окраски шин данных

Шины данных различаются особыми окрасками:

ü  шины, передающие числовые данные, имеют желтую окраску

ü  шины, передающие логические (истина/ложь) данные, имеют зеленую окраску

ü  шины, передающие текстовые данные, имеют оранжевую окраску.

Поврежденные шины данных

Если вы пытаетесь подключить шину данных к разъему несоответствующего типа данных, шина будет "поврежденной" и будет окрашена в серый цвет. Вы не сможете загрузить вашу программу, если она содержит поврежденные шины данных.

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

Данные должны соответствовать возможному диапазону, в котором работает разъем

Если шина данных входа передает значение, не попадающее в допустимый диапазон разъема, к которому она подключена, блок либо проигнорирует такие данные, либо трансформирует данные, попадающие в этот диапазон. Для разъемов, допускающих небольшое количество значений (например, только 0, 1 или 2), разъем проигнорирует входящий сигнал, если передаваемое значение не будет вписываться в диапазон разъема.

Для разъемов, допускающих более широкий диапазон значений (например, 0 – 100), разъем усилит любой входящий сигнал, если он не соответствует диапазону. Например, если разъем питания программного блока перемещения получает входящий сигнал со значением 150, блок преобразует входящее значение в 100 (т.е., в числовое значение, лежащее в пределах диапазона разъема мощности).

Передача данных от входного разъема на выходной разъем

Если для входного разъема есть соответствующий выходной разъем, входящие данные будут проходить от входного разъема на выходной разъем без изменений. В этом случае вы сможете использовать выходной разъем, если входной разъем подключен к шине данных входа; подключение шины данных выхода к такому выходному разъему без подключенной шины данных входа приведет к "поврежденной" шине данных выхода, и она будет окрашена в серый цвет (рис. 5).

Рисунок 5 Вид правильного и неправильного соединения шин.

Схема концентратора данных

Файл справки по каждому программному блоку содержит схему, на которой показаны различные характеристики разъемов на концентраторе данных блока. Например, схема программного блока поддержания активного состояния выглядит так (табл. 1)

Таблица 1. Схема программного блока поддержания активного состояния.

 

Разъем

Тип данных

Возможный диапазон

Что обозначают эти величин

Этот разъем игнорируется если

 

Время до перехода в режим ожидания

число

0-4294967296

Время в миллисекундах до перехода NXT в режим ожидания

 

Удаление шины данных

Чтобы удалить шину данных, которая размещена между левым и правым разъемами данных, щелкните по правому разъему.