Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Логические реле SIEMENS Logo!, часть 3: Программирование в Logo Soft Comfort — таймеры и сообщения – CS-CS.Net: Лаборатория Электрошамана

Программирование в Logo Soft Comfort: более сложная схема

Ну что? И сейчас продолжаем веселиться с Logo и Logo Soft Comfort. На этот раз поразбираемся с парой фишек, которые точно вам сгодятся: это таймеры, настройка параметров блоков и вывод текстовых сообщений на экран. Зная их, можно мутить уже более сложные проекты.

Вспоминаем, что там у нас было? У нас была простая программка из прошлой части, в которой мы поставили пять штук импульсных реле с центральным управлением, если говорить обычными словами, и вывели их на кнопки. И ещё сделали кнопку «Выключить всё».

Теперь хорошо бы поиздеваться над ней дальше. Там, где свет — там ещё и вентиляторы в санузлах, верно? Ну или хотя бы один вентилятор. Вот щас мы его сюда и добавим. А заодно разберём кусочек схемы из щита Мурманска и добавим крутые статусные тексты на экран Logo — мол «Вентилятор в работе ещё хх минут».

1. Таймеры и их параметры. Добавляем вентилятор в схему!

Давайте сделаем самое простое управление вентилятором (которое у меня в Москве и прижилось): вышел из ванной, нажал кнопку — вентилятор заработал на сколько-то минут. Поработал — и сам отключился. Это решение оказалось самым простым и надёжным. Я даже себе так и не дописал другую автоматику.

Заведём себе ещё один вход (кнопка управления вентилятором) и выход (на сам вентилятор). Пущай это будут I8 и Q12.

Добавим блок входа на схему. У нас там было задействовано 6 штук входов (по I6), поэтому среда нам автоматом предложит блок I7. Но нам-то нужен восьмой вход (I8)!

Вот сейчас я покажу то, как это дело поменять. Тыкаем два раза мышкой на блок — и нам открывается окно, где можно его настроить. Это окошко отличается для разных блоков (и там выводятся разные настройки). Для блока I тут можно выбрать номер входа, которым он будет. Ставим для нас восьмой.

Настройки параметров входа I в Logo Soft Comfort

Также сразу, чтобы не бегать в окошко «Simulation parameters», можем настроить то, как этот блок симулировать. У нас это тоже будет кнопка, конечно же.

Настройки параметров симуляции входа I в Logo Soft Comfort

И теперь про таймеры — реле времени. Наверное, чтобы не ходить вокруг да около, выпишу их особенности и отличия от реле ABB CL:

  • Настраиваются таймеры так же, как и там: в окошке задаём параметры времени в разных вариантах: «часы:минуты», «минуты:секунды» или «секунды:сотые».
  • Таймеры бывают с задержкой на включение (On-Delay), на выключение (Off-Delay), и той и другой (On-Off-Delay), генератор импульсов (Pulse generator), формирователь короткого импульса (Wipe relay), а также годовые или недельные.
  • Большинство таймеров в Logo запускаются по входу Trg. Но если в реле ABB CL таймер сбрасывался, если Trg отключали, то тут таймер будет считать до победного конца. Скинуть его может только сигнал по входу «R«. Причём если в те моменты, когда таймер считает, пинать его через Trg — то таймер начинает отсчёт сначала (но не выключается).
    Это немного неудобно в реале: если мы нажали кнопку вентилятора, то он начнёт считать свои 20 минут. Если мы случайно ткнули кнопку, то он начнёт считать свои 20 минут снова, с этого же момента. В реле ABB CL он бы забил на эти нажатия и отработал бы один раз.
    Пожалуй, это самое главное отличие, и для меня оно было неприятно. Если вам хочется иметь таймер, который работал так же, как в реле CL — то возьмите Wiping relay: он управляется одним импульсом и не сбивает отсчёт (гм, надо проверить это).
  • Так же, как и в других реле, параметры таймеров пользователь может редактировать через меню Logo. В реле ABB CL там выводились только обозначения таймеров как Tx, а тут выводится название блока на схеме (это я потом покажу в посте).

Мы сейчас для примера делаем самое простое реле. Используем таймер Off-Delay: задержка выключения. Кнопка нам его запускает в работу, и таймер считает свои 20 минут вентилятора. Когда он досчитает — он выключится.

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

Добавляем реле Off Delay для управления вентилятором в Logo Soft Comfort

В справке пишут примерно так:

Справка по реле Off Delay в Logo Soft Comfort (мутная)

Краткий примерный перевод:

  • Вход «Trg» при переходе значения с 1 к 0 (спад сигнала) запускает отсчёт времени;
  • Вход «
    R
    » немедленно сбрасывает время в ноль и останавливает отсчёт, выключая выход. Он имеет приоритет над «Trg»: выключить таймер можно всегда, даже если «Trg» активирован.
  • Выход «Q» включается в 1, когда по сигналу «Trg» идёт отсчёт времени.

Это нам и надо. Вешаем на Trg нашу кнопку, а на выход таймера — Q12 Logo, на котором будет вентилятор. Вот и вся схема готова!

Установили реле Off Delay для управления вентилятором

Готова? Неа! А время кто будет настраивать? Не Пушкин же! Два раза щёлкаем на блок и попадаем в окно его настроек. Блок я здесь переименовал в Vent Time. Зачем это надо — вы потом поймёте и сильно обрадуетесь этой фишке!

Настройка параметров реле времени в Logo Soft Comfort

Можно ввести нужное время (и выбрать, в чём оно меряется). Видна галочка «Retentivity», которая включает режим памяти времени: если питание Logo отключить и потом включить, то такой таймер будет всё равно продолжать считать с того места, на котором он остановился. Про галочку «Protection Active» расскажу позже. Совсем через немного времени.

После того, как мы настроили время, схемой можно пользоваться — она будет работать.

Но мы — это ж не мы, если не подумаем о пользователе? Вот он ткнул наш вентилятор. Работает он у него 20 минут. А если ему этого много, и он решил его выключить пораньше?

Не думайте, что этим надо занимать мозги. Иногда это делается на потоке. Например, чем-то от соседей завоняет, ты ткнул вентилятор, чтобы он вытянул воздух. Крутится он себе, ты про него и забыл (но 20 минут ещё не прошло). А потом мельком проходишь мимо санузлов и думаешь: «А, во, можно и отрубить его».

Давайте сделаем мою стандартную фишку: выключение чего-нибудь той же кнопкой, но с длинным нажатием. Возьмём ещё одно реле времени, но теперь с задержкой на включение (On-Delay) и поставим его параллельно кнопке управления. Выставим там время в 2 секунды, а его выход (если сигнал на входе держится больше 2 секунд, то выход включается) ткнём на вход «R» реле времени.

Вот какая схема получится:

Добавили реле On Delay для ручного выключения вентилятора

Погоняем её в симуляторе. Вот сейчас я ткнул I8 и у меня пошёл отсчёт времени (пока делал скриншот, насчиталось 27 секунд). Вентилятор включен:

Симулируем схему вентилятора: он работает себе

Теперь нажмём на кнопку ещё раз. Вход «Trg» блока «Vent Time» активировался, и он, гад, обнулил свой отсчёт. Но заодно активировался и вход «Trg» блока «Vent Off», и там пошёл отсчёт времени:

Симулируем схему вентилятора: ручное выключение считает себе

Если сейчас отпустить кнопку, то блок «Vent Off» не досчитает до 2 секунд и отключится. А вот если кнопочку подержать, то будет вот чего:

Симулируем схему вентилятора: ручное выключение сработало

Блок «Vent Off» досчитает до 2 секунд и выдаст сигнал на выходе. А этот сигнал пойдёт на вход «R» блока «Vent Time». И сбросит его в исходное состояние. Наш вентилятор выключится раньше его нормального времени работы. Задачка выполнена.

Даю подсказку, как сделать так, чтобы при кратковременных нажатиях на кнопку отсчёт не обнулялся, и время считалось до победного конца. Как сейчас стоит эта задача? «Чтобы если вентилятор работает, то отсчёт времени не обнулялся». Как я ругаю заказчиков: «…а теперь перепиши это более понятно». Перепишем: «Чтобы вход Trg работал (включался) только если вентилятор выключен».

О! А вот это уже решаемо: взять сигнал с выхода блока и объединить его с «И» и «НЕ». Тогда описание этого куска схемы должно выглядеть так: «ЕСЛИ (I1 = 1)

И (Q12 НЕ = 1) ТОГДА Trg = 1″.

Ща мы и узнаем, нафига была нужна галочка «Protection Active» в настройках блока реле времени ;). И заодно нафига мы давали блокам реле времени понятные имена.

Как вы думаете? Охота ли вам останавливать программу (и тушить оборудование) и садиться за комп, чтобы поправить и залить новую программу в Logo только ради того, чтобы исправить время работы вентилятора с 20 минут на 25 минут?

КОНЕЧНО ЖЕ НЕТ! Не, если это будет какая-нить ушлая фирма, то она специально может так сделать, чтобы почаще наладчика вызывали. А наладчик будет гнуть пальцы: «Ууу… ну это надо всё оборудование останавливать, перепрограммировать! Это будет стоить денег, вы же понимаете?». А заказчик будет считать убытки, которые он из-за простоя оборудования понёс.

Чтобы такого не было, мы можем дать пользователю возможность самому крутить некоторые параметры программы! За нас всё уже придумано. Заходим в меню «Program» (если программа сейчас работает — то надо нажать кнопку Esc» на Logo):

Меню доступа к параметрам программы в Logo

И выбираем пункт «Set Parameter». В некотором случае нас могут попросить программу остановить, а в некотором всё работает и так.

Меню доступа к параметрам программы в Logo

И чего мы тут видим? А видим мы тут наши родные названия блоков из нашей схемы!! Именно поэтому вбить в схему их можно только латиницей (обычно Logo кириллицу не отображает)! Сразу всё понятно, если разработчик о нас позаботился и вбил понятные названия, конечно. Если названия блокам не дать, то они останутся стандартные (B008 или какие-нибудь B044).

Выбор параметра для настройки внутри Logo

Тыкаем на наш параметр «Vent Time» и можем его менять как хотим. Всё просто, и не надо исправлять программу ради одной фигульки.

Можно настроить время работы вентилятора напрямую из Logo

Важный момент! Однако, если снова залить программу в Logo, то все параметры вернутся на те значения, которые были указаны в программе. Для юзера это выглядит как «настройки сбросились на значения по умолчанию». Не забудьте про это!

Хорошо. Но тут пока что есть один косяк. Юзеру надо настраивать только время работы вентилятора. А вот время работы длинного нажатия на кнопку — не надо. Оно должно быть стандартным для всего проекта. Да и кнопок с таким длинным нажатием может быть десяток — зачем нам путать юзера огромным списком фигни?

Вот как раз для этого и есть галочка «Protection Active» в настройках блока. Если она стоит — то параметры блока пользователь менять уже не может.

Включаем защиту от изменения параметра в Logo Soft Comfort

Поставим её для блока «Vent Off». Выключенные от пользователя параметры помечаются значком «-» (минусом) около времени отсчёта. А включенные — «+» (плюсиком).

Теперь всё хорошо: для пользователя у нас есть только один параметр, который он и может крутить так, как ему захочется.

Теперь лишних параметров нет в списке Logo

Конечно же, мы можем отрубить изменение всех параметров и говорить что «…не, ну это денег стоит». Тут уже всё зависит не от Logo, а от совести и отношения к людям. Я делаю так, как показал: системные тайминги скрываю, а те, которые можно крутить (время работы, время задержки запуска генератора или таймаута переключения рубильника) — конечно же оставляю.

3. Изменение размеров страницы схемы (чтобы влезла схема побольше).

Идём дальше. Схемы-то растут, да? Чего делать, если не влезем на одну страницу? А вот чего: добавить себе страниц. Называется это в этой среде «Page Layout»:

Программирование в Logo Soft Comfort: изменяем число страниц в проекте

Выставим две страницы по вертикали. Теперь можно нарисовать большую схему (это, кстати, как раз схема моего любимого Мурманска).

Программирование в Logo Soft Comfort: схема на две страницы (Мурманск)

Печатается это так, как нарисовано. Границы страниц соблюдаются, и эта наша схема будет напечатана на двух листах А4. Так что с печатью тут всё отлично! Ура!

4. Придурочный редактор соединений. Ктулхизм.

И вот щас мы снова возвращаемся к тому, насколько местами среда Logo Soft Comfort ублюдочная. Вот вам кусочек схемы (мы его потом будем разбирать). А ну-ка угадайте, что здесь с чем соединяется? Для человека, который не знаком с Logo Soft Comfort и ни разу там ничего не чертил, это будет не схема, а абсурд и полная жесть с трешем.

Среда Logo Soft Comfort хреново рисует соединения

А если так? Понятнее, да? 😉

Среда Logo Soft Comfort хреново рисует соединения - то, что получилось

В общем, как вы уже поняли, среде похер как идут соединения. Она рисует их как попадётся. Поэтому схему в процессе рисования надо приводить в порядок и такие мутные соединения окучивать и растаскивать.

Делается это так: кликаем на одно из соединений (любое) и получаем вокруг него маркеры. Если тащить за синие — то вся палка линии тащится целиком. Если за красные — то тащится только один угол линии (и можно вытянуть из него ещё один угол, если надо).

Среда Logo Soft Comfort хреново рисует соединения - правим

А вот вам ещё один такой же образчик. Для среды всё нормально — ей-то понятно, что и куда идёт.

Среда Logo Soft Comfort хреново рисует соединения - ненаглядно

А теперь и нам понятно:

Среда Logo Soft Comfort хреново рисует соединения - добавили наглядности

Но порыдать, как вы поняли, всё равно есть над чем. Я бы даже смешные скриншоты на память делал бы.

И есть ещё одна штука, которая может сгодиться. Это обрезка соединений («Cut connections»). Она нужна, чтобы разорвать линию соединения на схеме. Сначала мы рисуем соединение туда, куда оно должно идти. А потом режем его на две части.

Вот тут у меня так порезаны сигналы центрального выключения на группы комнат:

Программирование в Logo Soft Comfort: разрезанные соединения

5. Более сложная схема (часть Мурманска). Центральное выключение света по комнатам.

А вот, раз такое дело пошло, то сейчас я покажу вам тот кусочек, который я расктулхивал, полностью. Это кусочек щита в Мурманск:

Программирование в Logo Soft Comfort: управление светом с выключением по помещениям

Что он делает? Он позволяет нам любой кнопкой в пределах комнаты выключить эту комнату целиком. Скажем, лежите вы в этой самой детской у кровати, у вас навключено разного света, и вы спать хотите. Вместо того, чтобы щёлкать отдельнымми кнопками, вы нажимаете любую и держите её пару секунд. И весь свет гаснет, но только в этой комнате.

Сделано это вот как: с каждой кнопки сигнал идёт на своё импульсное реле для управления светом. И этот же сигнал через логическое «ИЛИ» (блок B014) собирается в кучу и подаётся на реле времени задержки включения On-Delay так же, как это было для длинного нажатия на кнопку вентилятора в начале этого поста.

Если любая кнопка нажата коротко — то ничего не будет. А если длинно — то B028 сработает и выдаст нам сигнал на блок B034. Этот блок — тоже «ИЛИ». Он работает по любому сигналу: локального выключения (вся комната) или сигналу «ALL_Off» (вся квартира). Вот и вся технология. Блоки «ИЛИ» нам тут нужны для того, чтобы сигналы не смешивались и не влияли друг на друга.

Ну что? Какой же это у нас крутой контроллер (и щит), который не может написать на экране что-то типа «Генератор не запустился, таймаут, ошибка» или «Подъёмник включен, едем вверх, текущий этаж: 5ый». А чего это он не может? МОЖЕТ! Причём сделано это ОЧЕНЬ КРУТО!!! В СТО РАЗ КРУЧЕ, ЧЕМ В РЕЛЕ ABB CL! Ща расскажу!

Нам нужен блок «Message texts«. Вот он:

Блок вывода текстовых сообщений в Logo Soft Comfort

Этот блок ставится на схему так же, как и остальные. Если на его входе управления будет «1», то он отобразит на экране Logo некое сообщение. Какое и как оно настраивается — это мы сейчас изучим. А пока дорисуем парочку таких блоков в нашу схему:

Выводим сообщения в Logo: добавили два блока Message

Обратите внимание на такие фишки, которые могут вам сгодиться:

  • Мы повесили оба блока на выход вентилятора. Мы хотим, чтобы когда вентилятор работает, нам писали про это. А когда он не работает — выводился статус ламп освещения (включен или нет каждый выход).
  • Чтобы блоки работали попеременно, мы инвертировали вход у одного из блоков. Про это говорит нам точка около входа. Инверсия включается двойным щелчком мышки по контакту входа. И выключается также.
  • Блоки сообщений обязательно требуют, чтобы их выход был куда-то подключен (их можно воткнуть в разрыв перед выходом Q, например). Если это не надо — возьмите блок «Open connector» («X») и подцепите его на выход. Я так у себя и сделал.
  • Если вы хотите, то вы можете поменять цвет подсветки экрана Logo. Делается это при помощи маркеров, которые тут зовутся «Flag», но обозначаются буквой «M». Если поставить любой маркер и ткнуть его параметры, то там можно вычитать, что M25 = белый, M28 = оранжевый, M29 = красный.
  • Само сообщение может требовать подтверждения пользователя (чтобы он дошёл до Logo и нажал «OK», мол: «Понял я, хорошо»). Такие сообщения называются «Acknowledge message» и нужны, если у нас требуется вмешательство пользователя. Ну, не знаю… например, «Закончилась суспензия в баке! Налейте её в бак и нажмите ОК» или «Ошибка открытия привода. Проверьте привод! Работа остановлена!».

А вот дальше — тыкаем два раза на блок сообщений и попадаем в… в рай! Дело в том, что в других реле (у ABB CL, например) сообщение — это единый общий текст, который можно или вывести на экране, или не вывести целиком. А вот у Logo текст сообщения может быть большим шаблоном, куда можно вписать разные параметры: состояния входов/выходов, текущие параметры разных блоков (например, остаток времени работы нашего вентилятора). Сообщения можно выводить только построчно (затрагивать одну строчку на экране, не меняя другие) или сразу единым экраном.

Вот как этот редактор выглядит:

Выводим сообщения в Logo: редактор блока сообщения

Слева вверху можно настроить приоритет сообщения и выбрать блоки, параметры которых мы будем отображать. Справа снизу есть сам редактор сообщений. Зелёная часть — это та часть экрана, которая будет видима сразу. Синяя — та, которую можно прокрутить кнопками. Лучше укладываться в зелёную часть.

В нашем примере мне случайно повезло, потому что групп света у меня оказалось пять штук. Когда я накидывал этот пример, я даже не думал про то, что покажу сообщения. Давайте накатаем сообщение, в котором будут выводиться сразу все статусы линий света. Вот такое:

Выводим сообщения в Logo: набиваем своё сообщение, как хотим

А теперь подставим туда параметры выходов. Я там выделил кнопочку «ON/OFF». Она как раз и позволяет вставить нужный параметр. Открывается окошко, в котором можно выбрать вход, выход, маркер (флаг) или состояние выхода какого-то внутреннего блока. А заодно можно написать свой текст для состояния «1» и «0».

Выводим сообщения в Logo: вставляем состояние любого сигнала

Вдумайтесь, как это круто!! Например, если у нас где-то внутри есть свой таймер отсчёта таймаута запуска генератора (выдали команду запустить генератор и ждём для примера минуту — если за минуту не стартанул — значит авария). Вот чтобы не выводить специально внутри программы-схемы это состояние на флаг, можно взять выход с этого таймера напрямую и написать для состояния «1» текст «запуск…», а для состояния «0» текст «ждёт запуска». И выставить это значение перед словом: «Генератор: «. Это ОЧЕНЬ КРУТО!

Только для того, чтобы можно было выводить кириллицу, в проекте надо поменять кодовую страницу сообщений. Я этого делать не стал и оставил для нашего примера обычные ON-OFF. Вот что у меня получилось в шаблоне:

Выводим сообщения в Logo: создали сообщение для статусов освещения

Теперь сделаем второе сообщение для вентилятора. Если можно вставить любой параметр любого блока — то давайте вставим время, которое осталось до выключения вентилятора. Выбираем наш блок «Vent Time» и справа берём его параметр «Remaining Time» (оставшееся время) и жмём кнопку «Insert Parameter»:

Выводим сообщения в Logo: создаём сообщение для вывода задержки вентилятора

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

Выводим сообщения в Logo: сообщение статуса света в работе

А вот фотка с реального Logo и его экрана:

Пример текстового сообщения на дисплее Logo (свет)

Теперь стартанём вентилятор. В этот момент предыдущее сообщение отключается и сразу же включается другое:

Выводим сообщения в Logo: сообщение статуса вентилятора в работе

Вот так оно выглядит на Logo вживую:

Пример текстового сообщения на дисплее Logo (вентилятор)

7. Доводим и наш пример с вентилятором до ума окончательно.

И теперь доведём нашу схемку управления вентилятором в ванной до логического конца (это типа домашнее задание о том, как сделать так, чтобы при кратком нажатии на кнопку отсчёт времени не обнулялся). Вот что получилось:

Программирование в Logo Soft Comfort: полный пример схемы управления вентилятором санузла

У нас тут добавился блок B008 — логическое «И». Так как это «И» — то оно никогда не сработает, если неиспользуемые входы не подключить к статусу «Hi» (единице): условие «И» никогда не сойдётся, ибо неподключенные входы всегда будут равны логическому нулю.

Что мы делаем? Мы берём выход после Q12 (напрямую с таймера «Vent Time» сделать это нельзя, иначе Logo зациклится — среда про это предупреждает; сделать можно только через маркер M или выход Q). Прям на входе «И» инвертируем его (там стоит точка) и соединяем с входом от кнопки I8.

Теперь если вентилятор выключен (Q12 = 0) на инвертированном входе блока «И» будет логическое 1. Если нажать кнопку — то сигналы совпадут по «И», и сигнал пройдёт на Trg. Наш блок «Vent Time» включится и включит нам Q12. Теперь на инвертированном входе блока «И» будет ноль — и сигнал от кнопки не будет проходить на Trg. Блин, это реально как мои родные микросхемы =) Те же приёмы из раннего детства! =)

8. Заключение.

Это будет самое краткое заключение из всего, что было. Камрады! Я… у меня так получилось, что Logo меня АДСКИ ВТАЩИЛ. И я разжевал и показал даже то, что совсем не хотел показывать — про сообщения и всякие куски из Мурманска.

Не просите меня выложить схемы или примеры к постам. Тут всё настолько расписано, что если вы захотите — то вы сделаете всё сами. Такой пример у меня есть: один суровый дяденька «из органов», который первый раз в жизни увидел этот Logo, в итоге настолько в нём разобрался (и это в прошлом году со мной за чаем, без этих постов), что выдал потом: «Это охеренская штука! Я буду её своим по работе советовать! И сам буду программировать под свою квартиру!».

А кто не хочет разбираться — тому тупое копирование примеров не поможет. Извините! =) Жжом дальше!

Хочу всё знать. Язык Logo | GeekBrains

Язык программирования для самых юных читателей.

https://d2xzmw6cctk25h.cloudfront.net/post/999/og_cover_image/9e694a8f0343fae22e17288a62bbcecb

В 1967 году Сеймур Пейперт и Идит Харель задались целью вовлечь в стремительно развивающийся мир программирования детей, причём даже тех, кто с трудом умеет писать. Так появился один из самых старых и популярных образовательных языков программирования - Logo. За 50 лет он получил почти 250 модификаций, среди которых есть русскоязычные, в частности, Логомиры и Перволого.

Вообще Logo до сих пор очень активно используется в школьном и даже дошкольном образовании, а в ряде стран (Англия, Австралия) - это обязательный предмет образовательной программы. Язык Scratch, который сегодня так стремительно набирает популярность, основывается на принципах, заложенных в Logo, усовершенствовав лишь графическую и функциональную составляющие. Так что представляет из себя этот язык и возможно ли найти работу, где он будет востребован? Давайте разбираться.

Черепашьи бега

Забудьте “Hello World!”, изучение Logo начинается со знакомства с черепахой. Это не просто логотип языка, это базисный элемент, цель которого вовлечь ребенка в мир программирования. Черепашья графика - принцип организации вывода графической информации, при котором объект, перемещаясь из нулевой в заданную точку, “рисует” линию. Собственно, название появилось после наблюдения за черепахами, которые перемещаясь по пляжам, оставляют за собой канавку в песке. С подобным типом графики можно поработать во многих языках(Python, C#, Ruby), но именно в Logo она является важнейшим инструментом.

Синтаксис

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

Возвращаясь к нашим черепахам, базовое упражнение в Logo - перемещение, которое задается командами FORWARD (FD, ВПЕРЕД, вп...) и BACKWARD (BK, НАЗАД, нд...) и добавлением значения длины требуемого отрезка в пикселах. Собственно после этого можно нажимать кнопку выполнения и созерцать результат.

Команд в базовых версиях Logo всего около 30, а самое сложное, что постигают дети на этом уровне программирования - это циклы. Выглядят они следующим образом:

  переменная х

  повторить 255 {
     х = х + 1
     цвет RGB( х, х, х)
     вперед х
     направо 75
  }

С одной стороны - ничего сложного, с другой - уже что-то похожее на взрослое программирование.

За всей этой мишурой и простоватостью, немногие способны разглядеть тот простой факт, что Logo - функциональный язык программирования, способный исполнять серьёзные операции. Просто взгляните на рекурсивное определение факториала в UCBLogo:

to factorial :N
  ifelse :N = 0 [output 1] [output :N * factorial :N - 1]
end

to print_factorial :i :N
  repeat :N - :i + 1 [(print :i [! =] factorial :i)
                      make "i sum :i 1]
end

print_factorial 0 16

Действительно, испытав на себе влияние Smalltalk и Lisp, Logo своим примером доказывает, что ФП - не необходимость научиться мыслить иначе, а повод очистить свой разум от стереотипов.

Востребованность

Естественно, что изучив язык Logo в любой из 250 реализаций, вы не сможете найти работу, где бы этот навык пригодился (на момент написания текста, по всей России нашлось 2 вакансии, где Logo шёл в самом конце списка требований. По всему миру нашлось около 40 подобных вакансий). Это прекрасный язык для получения представления о программировании и для общего развития вашего ребенка. А для работы вы наверняка отыщите множество языков куда удобнее и функциональнее.

Полезные ссылки

https://people.eecs.berkeley.edu/~bh/logo.html - ссылка на модификацию UCBLogo, пример из который был описан чуть выше. Также здесь необходимая документация и рекомендуемые книги;

https://turtleacademy.com/ - достаточно простой обучающий сайт, где каждый сможет обучиться языку Logo, не устанавливая при этом специальное ПО. Реализация немного хромает, поэтому приготовьтесь прыгать с русского на английский язык и обратно;

http://el.media.mit.edu/logo-foundation/index.html - язык Logo был разработан в MIT, именно на сайте института и хранится официальная страница, где вы можете подробнее изучить историю и получить первозданные исходные файлы;

http://www.int-edu.ru/logo/products.html - все отечественные реализации Logo вы можете найти здесь. К сожалению, за большую часть из них придётся заплатить;

http://younglinux.info/sites/default/files/logo_kturtle.pdf - пожалуй, одной большой русскоязчной книги хватит для изучения языка.

LOGO! 8 в деталях. LOGO! Soft Comfort

Введение

ПО LOGO! Soft Comfort может быть загружено по следующей ССЫЛКЕ.

LOGO! Soft Comfort предлагает пользователю различные возможности для наглядного отображения сигналов.

Один из самых удобных и простых в освоении пакетов программирования для контроллеров. При тестировании больших программ часто возникает вопрос:

Вид программы в LOGO! Soft Comfort

Сначала рассмотрим разорванное соединение перед блоком B096.

Сигнал поступает из блока B016 на той же странице, иначе в идентификаторе была бы дополнительно указана страница, например, 5/B016, если блок находится на странице 5 диаграммы.

Кликом правой кнопки мыши на символе B016 открывается окно с пунктом меню „Go to partner“ …

… для автоматического перехода к источнику сигнала. Здесь необходимо задержаться для идентификации функции сигнала.

Для большей наглядности следует присвоить имена функциональным блокам, находящимся на соответствующих соединениях, используя для этого свойства этих блоков. Чтобы открыть свойства блока, можно выполнить „двойной клик“ на требуемом функциональном блоке или использовать „Клик правой кнопкой“ -> „Свойства блока“

После этого блоки и соединительные линии обозначаются присвоенным именем. Теперь значение сигнала зависит только от релевантности и информативности присвоенного имени.

Для упрощения отслеживания сигналов, расположенных на разных страницах, предлагается цветная маркировка соединительных линий.
Для этого следует выбрать символ „Маркировка линий“.

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

Но можно и просто подписать соединения к функциональному блоку. Для этого предлагается несколько возможностей. Простой путь - это поле комментария в свойствах блока.
„Клик право кнопкой“ на функциональном блоке -> „Комментарий“

Например, здесь „Двигатель ВКЛ“

После необходимо сместить комментарий, чтобы он располагался перед блоком. Выбрать такой размер шрифта, чтобы текст точно помещался между входными линиями.
„Клик право кнопкой“ на комментарии -> „Шрифт“

Для расширенных пояснений можно использоватьтекстовые блоки. При этом выбирается шрифт, его размер и цвет.
„Клик право кнопкой“ на комментарии -> „Шрифт“

Текстовые блоки („Вставить поле комментария“ A) могут быть привязаны к функциональным блокам или символам соединений.

Для этого следует перетащить центрирующий жёлтый квадрат на требуемый блок. После привязки он будет перемещаться вместе с символом на диаграмме.

Кроме этого, через пункт меню: „Файл“ ->„Свойства“ -> „Комментарий“ можно сделать подробное описание программы, например, для специалиста по обслуживанию оборудования.

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

При распечатке проекта („Файл“ -> „Печать“) этот комментарий появляется на отдельной странице как титульный лист (при этом следует
установить галочку рядом с „Комментарием“ перед распечаткой контента)

Эффективное использование текстов сообщений 

При модернизации обычных контроллеров часто используются логические модули. Они характеризуются простотой проектирования и гибкостью, а также имеют текстовый дисплей для визуализации и взаимодействия с оператором. Но, наряду с отображением текстовых сообщений, включая тексты с фактическими значениями, они предлагают и  другие, часто неизвестные функции.На встроенном дисплее LOGO! 8 в каждой из 6 строк помещается 16 символов, а на внешнем TDE  20 символов на строку (1). 

(1): Проектирование сообщения для базового модуля без бегущей строки(6 строк / 16 символов)

(1): Проектирование сообщения для базового модуля без бегущей строки(6 строк / 16 символов) При использовании функции прокрутки содержание сообщения может быть расширено до 32 или 40 символов на строку (2). 

(2): Для сообщений, проектируемых на TDE, предлагается 6 строк по 20 символов в каждой. Функция прокрутки удваивает число символов в строке

(2): Для сообщений, проектируемых на TDE, предлагается 6 строк по 20 символов в каждой. Функция прокрутки удваивает число символов в строке Предлагается три цвета фоновой подсветки.  Благодаря этому сообщения могут быть структурированы как:

  • стандартные: белый фон 
  • предупреждения: оранжевый фон 
  • ошибки: красный фон  

В программах, взятых из прежних версий LOGO!, можно быстро и просто  перепрограммировать интерфейс взаимодействия с оператором, сделав его более удобным.Полный контроль аварийных сообщенийВозможности функционального блока "Текст сообщения", при небольших усилиях и затратах, могут обеспечить хорошие условия для взаимодействия с оператором. Время от времени появляющиеся и сразу исчезающие сообщения часто остаются без внимания, так как в это время никто не наблюдает за дисплеем. Но их игнорирование может привести к серьёзным неполадкам. Здесь может помочь функция подтверждения. Она заключается в том, что сообщение остаётся на дисплее базового модуля или TDE до подтверждения его просмотра клавишей ОК. В том числе и тогда, когда причина сообщения, напр., повышенная температура, снова упала до штатных значений, что делает данное сообщение не  актуальным. Дата и время сообщают, когда появилось сообщение. По счётчику можно определить, как часто это сообщение возникало за определённый промежуток времени.Объединение сообщенийС помощью функции набора символов можно  объединить два сообщения на диаграмме. Тем самым сообщение может быть представлено на двух языках для разных операторов.  Активация меркера 27 позволяет переключаться между этими двумя сообщениями.

Был активирован второй набор символов. Для переключения используется меркер 27.

Сообщение со вторым набором символов может содержать дополнительную информацию для сервисного вмешательства, не являющуюся значимой для оператора. Фактические значения (аналоговые значения и счётчики) могут быть представлены не только в числовом формате, но и как вертикальные или горизонтальные гистограммы. Часто это повышает наглядность сообщения. 

Прежде для отображения сообщения „Двигатель ВКЛ“ и „Двигатель ВЫКЛ“ использовались два отдельных текста,  которые активировались в зависимости от выходного сигнала. Теперь до четырёх сообщений о состоянии могут быть объединены в один текст сообщения.Возможно "переключение" в зависимости от состояния входов или выходов, что экономит ресурсы и делает программу более наглядной.  

Выходы отдельных функциональных блоков также могут использоваться для активации этих индикаторов состояния. LOGO! 8 позволяет создавать и увеличенные символы.Контроль обрыва провода с LOGO! При передаче аналоговым датчиком на контроллер значения 0 не ясно, действительно ли значение равно нулю или датчик неисправен. В таких случаях можно использовать датчики, выдающие в штатной ситуации токовый сигнал между 4 и 20 мА. При определении контроллером аналогового сигнала с величиной, значительно ниже 4 мА, можно считать, что имеет место неполадка датчика или дефект кабеля от датчика к контроллеру.

  • Использование модуля расширения AM2 для обработки сигналов в диапазоне от 0 до 10 В и/или от 0/4 до 20 мА 
  • В аналоговом функциональном блоке в качестве датчика выбирается 4-20 мА 
  • Использование аналогового порогового переключателя, выводящего при сигналах ниже 4 мА аварийное сообщение или инициирующего необходимое поведение установки, например, отключение неисправного диапазона и информирование оператора или отправка SMS специалисту по обслуживанию оборудования   

Пример: поддержание постоянного давления в водопроводной системе с помощью насоса с регулируемой скорость вращения.Реализация: 

  • Базовый модуль LOGO! 12/24 RC с модулем расширения AM2 с аналоговыми входами AI3 и AI4  
  • ПИ-регулятор с программой LOGO!  
  • Датчик давления на 0-4 бар, выводит значения 4-20 мА. Заданное давление: 2 бар.  
  • Система должна определять обрыв провода датчика с сигнализацией тревоги и отображением сообщения об ошибке.  

Программирование контроллера

  • Переключение между ручным режимом и контроллером с входом I1
  • Датчик: 4-20 мА, масштабирование 0-4.000 с тремя разрядами после запятой (генерация значений 0-4 бар для индикации в тексте   сообщения) 
  • Заданное значение: 2.000, соответствует 2 бар 
  • Насос в ручном режиме с фиксированным значением 100 (соответствует 10% от макс. значения = 1 В)  

Внимание: моделирование обрыва провода невозможно.  Постоянное отображение базовых значений на дисплее

  • На дисплее должен постоянно отображаться текст сообщения с заданным и фактическим значением давления и фактическим значением для управления насосом. Фактические значения  должны отображаться в числовом формате и как гистограмма.  

Контроль обрыва провода с аварийным сообщениемДобавление ещё одного аналогового порогового переключателя с последующим выходом и текстом аварийного сообщенияДатчик: 0-20 мА для обработки значений ниже 4 мА (диапазон 0-4 мА соответствует входным единицам 0-200, т.е. при правильной работе датчика не должно поступать входных сигналов такого диапазона) Включение при 0 и выключение при 200  Переключение выхода 4 при обрыве провода, активация аварийного сообщения с датой и временем ошибки.

Совет: после "построчной" активации бегущей строки для строк 3 и 4, в тексте сообщения в этих строках дополнительно будет отображаться телефон сервисной службы как дополнительная информация  попеременно с датой и временемПостоянное включение фоновой подсветки дисплея

  • Для улучшения читабельности сообщений, возможно переключение фоновой подсветки дисплея от LOGO! 0BA6 через меркер M25  или её активация в постоянном режиме через первичные установки на модуле.  
  • У LOGO! 0BA7 возможно отслеживание индикации на встроенном дисплее LOGO! при онлайн-тестировании.  

Внимание: при аварийном сообщении функция подтверждения была активирована, т.е. после устранения ошибки эта операция должна быть подтверждена клавишей „OK“.

Цветовая маркировка соединительных линий 

LOGO! Soft Comfort предлагает ряд возможностей для упрощения работы. Часто приходится анализировать программы, сигналы которых располагаются на разных страницах проекта. Важным условием для коррекции сложных программ является их наглядность. В LOGO! Soft Comfort для этого предусмотрена цветовая маркировка соединительных линий.Выделение соединительных линий разными цветами позволяет отслеживать необходимое соединение и контролировать  соответствующие сегменты программы, несмотря на постоянное переключение между страницами.В качестве примера используется большая программа, состоящая из нескольких страниц.  Для маркировки линий следует выбрать следующий символ:

Простого клика левой кнопкой мыши на требуемой соединительной линии достаточно для её отслеживания от начала и до конца.

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

Совет: посредство нажатия клавиши  CTRL можно выбрать несколько  функциональных блоков.

Через „Tools->Options ->Colors“ можно выбрать цвет или  персонализировать все маркерные линии (1 – 12). Для возврата к заводским установкам нажать кнопку „Default“.

Подготовил: Александр Воронин.

Эта статья на Дзен: https://zen.yandex.ru/media/id/5d0cd52d70a11800afed36e2/logo-8-v-detaliah-chast-31-5d1c8c5a3fa03b00ad3c9450

Программирование контроллеров Siemens от компании Олниса

Заказать оборудование Siemens

Программируемые контроллеры, выпускаемые корпорацией Siemens, делят на три группы по типу используемого ПО:

  • LOGO!;
  • Simatic Step 7;
  • TIAPortal. 

Линейка контроллеров LOGO! предназначена для построения АСУ нижнего уровня. Введение рабочей программы реализуется одним из нескольких способов.

С экрана ПЛК 

Способ использует язык программирования FDB. Операции выполняются в последовательности:

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

Процесс требует специальных знаний, кроме случаем простых алгоритмов обработки информации. Оптимально выбирать контроллеры, у которых в ПО входят программы, максимально соответствующие конкретным требованиям управления. Процесс корректировки менее сложен, а потому более популярен у пользователей этого вида ПЛК Siemens. 

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

Программирование LOGO SOFT COMFORT 

Вариант предусматривает программирование контроллеров Siemens с ПК. После тестирования и отладки программу заливают в память контроллера через специальные кабели, входящие в специальный комплект Siemens LOGO! TD NEWS BOX.

Программирование контроллеров Siemens Step 7

Семейство содержит две группы ПЛК: S-200 начального уровня автоматизации и S-300, 400, которые осуществляет управление системами более высокого уровня. 

Программирование серии S-200 осуществляют посредством STEP 7 MicroWin. Отлаженную и прошедшую все тесты программу загружают в контроллер любым способом:

  • прямым подключением кабелей PC/PPI;
  • по промышленной связи EtherNet;
  • через модем.

В двух последних случаях используют дополнительные модули коммуникации серии CP.

ПО Simatic Step 7 для программирование контроллеров Siemens серий 300 и 400 решает более сложные задачи управления, сам процесс создания софта включает несколько обязательных этапов:

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

выбирают один из доступных для Simatic языков. Это могут быть релейные диаграммы (LAD), функциональная блочная схема (FDB), список инструкций, или мнемокоды (STL). 

TIA Portal для программируемых контроллеров Siemens S7-1200, 1500 

Пакет программ TIA Portal (Step 7 v13) объединяет Step 7, WinCC и StartDrive — ПО для запуска приводов. Он также поддерживает программирование контроллеров Siemens S7 серий 300 и 400. 

Работа с TIA Portal происходит по тому же алгоритму, что и с Simatic Step 7, хотя более широкий функционал существенно расширяет области применения серий 1200/1500 — АСУ среднего и высокого уровня.

Компания «Олниса» предлагает своим клиентам приобрести по цене изготовителя программируемые контроллеры Siemens и программное обеспечение к ним с сохранением гарантий. Мы также оформим доставку заказанного товара по России и СНГ.

Знакомство с Лого

Среда программирования ЛогоМиры

Мы будем изучать язык программирования Лого с применением программы ЛогоМиры. Разработчиками предложено название MicroWorlds (читается МикроВолдс, переводится МикроМиры), но в России это название имеет другой компьютерный продукт – текстовый редактор МикроМир (MIM), поэтому применяется название ЛогоМиры.
Для загрузки ЛогоМиров следует дважды нажать ярлык программы на рабочем столе.

После загрузки на экране мы видим несколько объектов: сверху находится горизонтальное (главное) меню, центральную часть экрана занимает рабочее поле листа, на котором находится черепашка, внизу справа находится инструментальное меню, снизу слева находится поле команд. По мере знакомства с ЛогоМирами, мы будем изучать эти элементы интерфейса.

Рис. 1 Вид экрана.

Главным объектом языка Лого является черепашка. Она перемещается по экрану и выполняет ваши задания - команды. Черепашка существо глупое, но дисциплинированное. Она выполняет не то, что вы хотите, а то, что вы ей приказываете.

Язык программирования Лого, как и любой другой язык, состоит из слов. Слова языка ЛОГО называются процедурами или командами. Команды можно записывать прописными или строчными русскими буквами. Возможно сокращение команд до двух букв.

Черепашка знает команды: вперед, назад, направо, налево и другие.

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

После набора команды следует нажимать клавишу Enter.

Если мы подадим неверную команду, которую черепашка не понимает, то она отвечают: «Не знаю, что такое…». Следует исправить ошибку и повторно выполнить команду.

Черепашка может двигаться по экрану только вперед или назад. Этим движениям черепашки соответствуют процедуры:

ВПЕРЕД 50 - вперед 50 шагов (между словом и числом обязательно ставится пробел).
ВП 50 - сокращенная запись команды вперед,

НАЗАД 50 - назад 50 шагов
НД 50 - сокращенная запись команды назад.

У черепашки есть перо, которым она может оставлять след на экране. По команде перо опусти (пишется слитно пероопусти) черепашка может оставить след. Возможно сокращение этой команды до двух букв ПО. Таким образом, черепашка может рисовать.

Для того, чтобы черепашка двигалась без следа ей надо сообщить команду перо подними (пероподними) или ПП. Черепашка может рисовать в различных местах рабочего поля.

Черепашка может поворачиваться на месте налево или направо. После команды через пробел записываем число - угол поворота. Знак градусов ставить не надо.

НАЛЕВО 30 - налево на 30°
ЛВ 30 - сокращенная запись команды налево.

НАЛЕВО 300 - налево на 300°
ЛВ 300 - сокращенная запись.

НАПРАВО 30 - направо на 30°
ПР 30 - сокращенная запись команды направо.

НАПРАВО 300 - направо на 300°
ПР 300 - сокращенная запись.

Наведите указатель мыши на черепашку.

Среда обучения Лого

Язык программирования Лого был разработан в конце 60-х гг. Сеймуром Пейпертом. С. Пейперт — американский математик, кибернетик, психолог, исследователь в области искусственного интеллекта. Его педагогические концепции изложены в книге. Название языка происходит от греческого «логос» — «слово, мысль, смысл, идея».

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

Основные идеи Пейперта.

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

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

В качестве такого объекта Пейперт взял Черепашку, которая знакома всем детям. Черепашка это управляемое с помощью ЭВМ кибернетическое животное. Среда ее обитания экран компьютера.

Язык программирования Лого – это язык общения с Черепашкой. Все команды этого языка, на которые реагирует Черепашка, записываются на родном языке пользователя. Черепашка имеет направление и занимает определенное положение на экране. С Черепашкой можно работать как в режиме непосредственного управления, так и в режиме программирования. В нижней части экрана, на котором обитает Черепашка, находится командная строка. В режиме непосредственного управления в этой строке набираются или отдаются команды Черепашке. В режиме программирования вначале пишется программа, а затем Черепашка ее выполняет. Черепашка знает и может выполнять определенный набор команд. Для того чтобы научить Черепашку новой команде надо описать эту команду. Описание новой команды есть программа. Для того чтобы выполнить программу надо набрать ее имя в командной строке. Описание программы имеет следующую структуру.

ЭТО имя
Последовательность команд
КОНЕЦ

Имя программы и есть новая команда для Черепашки. Например, следующие программы являются описанием таких новых команд для Черепашки как квадрат,  треугольник, домик.

ЭТО квадрат
НАПРАВО 90
ВПЕРЕД 80
НАПРАВО 90
ВПЕРЕД 80
НАПРАВО 90
ВПЕРЕД 80
НАПРАВО 90
ВПЕРЕД 80
КОНЕЦ

При составлении  этой программы необходимо обратить внимание детей на две повторяющиеся команды. Использование команды повтори, позволит программу рисования квадрата записать более компактно. 

ЭТО квадрат
ПОВТОРИ 4  [НАПРАВО 90 ВПЕРЕД 80 ]
КОНЕЦ
ЭТО треугольник
НАПРАВО 30
ПОВТОРИ 2 [ВПЕРЕД 80 НАПРАВО 120]
ВПЕРЕД 80
КОНЕЦ

Команда повтори реализует алгоритмическую структуру цикл.

ЭТО домик
квадрат
треугольник
КОНЕЦ

В Лого можно использовать вспомогательные алгоритмы. Для программы домик, программы квадрат и треугольник играют роль вспомогательных алгоритмов (подпрограмм).

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

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

С помощью Черепашки ребенок может не только научиться программированию, но и постигать начала геометрии. Ребенок может идентифицировать себя с Черепашкой, и это дает ему возможность использовать знания о движении своего тела при изучении геометрии. Когда ребенок хочет нарисовать круг, то он вспоминает собственное движение по кругу, которое может описать следующим образом: «Когда я иду по кругу, то делаю небольшой шаг вперед и слегка поворачиваюсь. И все время повторяю это движение». От этого описания остается лишь формальный шаг к описанию программы движения по кругу. 

ЭТО окр
Setc 14
ПОВТОРИ 360 [ВПЕРЕД 1 НАПРАВО 1]
КОНЕЦ

Занятия с Черепашкой позволяют детям осознать такое ключевое понятие геометрии как угол. В ситуации с Черепашкой дети пользуются числовыми измерениями углов почти бессознательно. Многие первоклассники, занимавшиеся с Черепашкой, из личного опыта знали, что означает 45, 10 и 360 градусов лучше старшеклассников. Работавшие с Черепашкой дети, были лучше подготовлены к восприятию таких предметов как геометрия, тригонометрия и черчение, в которых углы занимают центральной место.

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

Пойа рекомендует независимо от используемых подходов решение любых проблем начинать с медленного проговаривания эвристических вопросов типа:

  • не связана ли данная проблема с задачами, которые я, уже, решал;
  • может ли эта проблема быть разбита на более простые проблемы.

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

Следующим ключевым математическим понятием, осознание которого облегчает Черепашка, является переменная. Идея переменной это использование символа вместо неизвестной реалии. К понятию переменной можно подойти, рассмотрев с детьми раскручивающуюся спираль (рис.1). Трансформируем программу рисования круга в программу рисования раскручивающейся спирали. Подобно кругу спираль может быть нарисована с помощью предписания слегка вперед, слегка поворот. Но для круга это движение неизменно, а для спирали всякий раз меняется угол. 

рис. 1 рис. 2

Движение по раскручивающейся спирали описывается очень длинной программой.

ЭТО спираль
ВПЕРЕД 5
НАПРАВО 90
ВПЕРЕД 5
НАПРАВО 90 * 0.95
ВПЕРЕД 5
НАПРАВО 90 * 0.95 * 0.95
ВПЕРЕД 5
НАПРАВО 90 * 0.95 * 0.95 * 0.95
ВПЕРЕД 5
НАПРАВО 90 * 0.95 * 0.95 * 0.95 * 0.95
и т.д.
КОНЕЦ

Для того, чтобы сделать ее компактной  удобно воспользоваться переменной, обозначив угол буквой или словом. Тогда программа спирали может быть записана в более компактном виде

ЭТО спираль :угол
ВПЕРЕД 5
НАПРАВО :угол
спираль :угол * 0.95
КОНЕЦ

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

ЭТО спираль :угол
ВПЕРЕД 5
НАПРАВО :угол
если :угол > 0.5  [спираль :угол * 0.95]
КОНЕЦ

В период разработки языка Лого проводились эксперименты с детьми разных возрастов. Получили следующие результаты:

1.) с помощью Лого научили управлять Черепашкой группу из 3-4-х летних детей;

2.) с помощью Лого научили первоклассников программированию;

3.) учащимся колледжа использование Черепашки помогло при обучении программированию на Паскале;

4.) управление Черепашкой улучшило деятельность умственно отсталых детей, детей с недостатками слуха и детей с трудностями обучения.

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

 

ПРОГРАММИРОВАНИЕ В СРЕДЕ ЛОГО МИРЫ Часть 5. Программирование текстовых окон ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН № 1 Текст научной статьи по специальности «Компьютерные и информационные науки»

Волкова Ризида Анверовна

ПРОГРАММИРОВАНИЕ В СРЕДЕ ЛОГО МИРЫ Часть 5. Программирование текстовых окон

ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН № 1

Задача 1-1. Мигающие окна

Текстовые окна «т1», «т2», «т3» по проекта.

Подсказка: используйте команды

Решение: это задача1 повтори 10 [

скажи [т1 т2 т3] [ спрячь_текст жди 2 покажи_текст]

]

конец

Задача 1-2. Новые текстовые окна

Напишите процедуру, которая создает два новых текстовых окна. Одно с именем «инфо», размер 120 на 40, координаты левого верхнего угла — [-120 0].

Другое — с именем «ттт», размер 60 на 60, координаты левого верхнего угла — [-120 -80]. Затем, после небольшой паузы, оба окна удаляются.

Подсказка: используйте команды Лого — нов_текст "имяТО [ ] [ ]

Решение: это задача2

нт "инфо [-120 0] [120 40] нт "ттт [-120 -80] [60 60]

жди 10 удали "инфо удали "ттт

конец

Задача 1-3. Копирование содержимого текстовых окон

Напишите процедуру, которая складывает два числа. Числа берутся из текстовых окон — «1число», «2число». Результат вычислений выводится в текстовое окно «результат».

Подсказка: используйте команды Лого — пусть "х имяТО — помещает в переменную х содержимое текстового окна.

Решение: это задачаЗ пусть "х 1число пусть "у 2число пусть "сум :х + :у результат, ст вставь :сум конец

очереди то появляются, то исчезают на листе Лого — спрячь_текст, покажи_текст.

Задача 1-4. Управление черепашкой из текстового окна

Напишите процедуру, которая предписывает черепашке выполнять команды, записанные в текстовом окне «команды». В текстовом окне напишите команды для рисования квадрата.

Подсказка: используйте команды Лого — делай [ ]

Решение: это задача4 делай команды конец

ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН №2

Задача 2-1. Изменение шрифта, размера, цвета текста

Процедура выводит в текстовое окно фразу «С добрым утром!». Каждое слово печатается другим цветом. Размер шрифта 1-го слова — 12, 2-го слова — 14, 3-го слова — 16. Шрифт — Arial.

Подсказка: чтобы слова разделялись пробелами, используйте команду — вставь символ 32

Решение: это задача1

приветствие, ст нов_шрифт "Arial нрш 12 нцт 55 вставь [С]

вставь символ 32 нрш 16 нцт 105 вставь [добрым ] вставь символ 32 нрш 20 нцт 15 вставь [утром!] конец

Задача 2-2. Изменение размера текстового окна

Процедура меняет размер текстового окна от [30 30] до [100 100]. Окно сохраняет квадратную форму.

Подсказка: используйте команду Лого — установи "имяТО "размер [X У]

Решение 1: это задача3_1

установи "кенг "размер [30 30] установи "кенг "размер [40 40] установи "кенг "размер [60 60] установи "кенг "размер [80 80] установи "кенг "размер [100 100] конец

Решение 2 (с использованием списков): это задача3_2 пусть "шир_окна 30 пусть "выс_окна 30 повтори 8 [

установи "кенг "размер список :шир_окна :выс_окна пусть "выс_окна :выс_окна + 10

пусть "шир_окна :шир_окна + 10 ]

конец

Задача 2-3. Летающие слова

По листу проекта перемещается слово «внимание», размер шрифта увеличивается с каждым шагом (от 8 до 24), также меняется интенсивность окраски слова (от розового до темно-красного).

Решение: это задача4

пусть "шир_окна 80 ;ширина текстового окна

пусть "выс_окна 24 ;высота текстового окна

пусть "Х_окна -280 ;Х-координата текстового окна

пусть "У_окна 0 ;У-координата текстового окна

пусть "цвБ 10 ;цвет символа (меняется от 10 до 19-ти)

пусть "разБ 8 ;размер шрифта (меняется от 8 до 26-ти)

кенг, ст нрш :разБ нцт :цвБ вставь "Внимание!

повтори 9 [

установи "кенг "размер список :шир_окна :выс_окна

установи "кенг "место список :Х_окна :У_окна

пусть "шир_окна :шир_окна + 20

пусть "выс_окна :выс_окна + 4

пусть "Х_окна :Х_окна + 50

пусть "цвБ :цвБ + 1

пусть "разБ :разБ + 2

кенг, внт выделяй вкт нрш :разБ нцт :цвБ не_выделяй жди 1 ]

конец

ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН №3 Задача 3-1. Меняем размер нечетных букв в слове

Напишите процедуру, которая меняет размер каждой нечетной буквы в слове «Молоко» на 24.

Подсказка: используйте команды Лого — внт, квп, выделяй, не_выделяй, нрш 24.

Решение: это задача1 внт

повтори (сколько т1) / 2 [ выделяй квп нрш 24 не_выделяй квп

]

конец

Задача 3-2. Меняем цвет каждой 3-ей буквы в тексте

Напишите процедуру, которая меняет цвет каждой третьей буквы в тексте на красный. Длина текста не определена, то есть текст может быть любым.

Подсказка: используйте команды Лого — внт, квп, выделяй, не_выделяй, нцт 15, кт?, всегда [ ] , если условие [ ]

Решение: это задача2 внт

всегда [

выделяй квп нцт не_выделяй квп если кт? = "да

]

конец

15 квп

[автостоп]

Задача 3-3. Гадаем по книге

Напишите процедуру, которая выбирает случайным образом строчку из текстового окна «текст 1» и выводит ее в текстовое окно «выбор».

Решение: это задачаЭ

выбор, ст вставь сл_строка "текст1 конец

Задача 3-4. Слова-перевертыши

Напишите процедуру, которая по очереди копирует буквы слова из текстового окна «текст» и выводит их в текстовое окно «тскет» в обратном порядке.

Подсказка: используйте команды Лого — внт, квп, кнд, выделяй, копируй, кт?, всегда [ ], если условие [ ].

Решение: это задача4 текст, внт тскет, ст всегда [

текст, выделяй квп копируй тскет, вставь буфер кнд текст, если кт? = "да [автостоп]

]

конец

ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН №4

Задача 4-1. Окно дополнительной информации с кнопкой

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

Первая — с именем Информация — создает новое текстовое окно с именем «ТТТ», выводит в него любой текст и создает новую кнопку с именем кн. В списке инструкций для кнопки напишите имя второй процедуры Всё_прочитал.

Вторая процедура — с именем Всё_прочитал — удаляет текстовое окно и удаляет кнопку кн.

Подсказка: используйте команды Лого: нов_кнопка имя _кнопки [х у] список-инструкций, удали имя _кнопки, установи "имя_текстового_окна "с_именем? "нет.

Решение: это Информация

нт "ттт [-240 -40] [150 80] установи "ттт "с_именем? "нет вставь [Лошадь - домашнее животное .....]

нов_кнопка "кн1 [-210 -120] [Всё_прочитал] конец

это Всё_прочитал удали "ттт удали "кн1 конец

Задача 4-2. Поиск и замена слов в тексте (ищи, нашла?)

Напишите процедуру, которая в текстовом окне «письмо» находит слово «Вася» и заменяет его на слово «Рома».

Подсказка: Используй команды Лого: ищи "ммм, не нашла?, если условие [], вставь

Решение: это Замена_слов пусть "сл1 "Вася пусть "сл2 "Рома письмо, внт всегда [

ищи :сл1

если не нашла? [ автостоп] вставь :сл2

]

конец

это Вернуть пусть "сл1 "Вася пусть "сл2 "Рома письмо, внт всегда [

ищи :сл2

если не нашла? [ автостоп] вставь :сл1

]

конец

Задача 4-3. Считаем количество букв в тексте

Напишите процедуру, которая находит в тексте любую букву (введенную пользователем) и считает количество этих букв в тексте. Результат выводится в текстовое окно. Подсказка: используй команды Лого — спроси, ищи, не нашла?, нашла?.

Решение: это подсчет_букв спроси [Какую букву найти?] пусть "бук ответ внт

пусть "кб 0 всегда [

ищи :бук

если нашла? [пусть "кб :кб + 1] если не нашла? [автостоп]

]

вкт вставь символ 13 вставь [Кол-во букв-] вставь :бук вставь "- вставь :кб конец

Задача 4-4. Пирамида из слов

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

Подсказка: Используй команды Лого: выделяй, вкст, копируй, пиши [ ], верни, кнд, сотри букву.

Решение: это пирамида т1, ст

спроси [Введи любое слово] т1, вставь ответ всегда [

т1, внст

выделяй вкст копируй пиши [] /команда пиши переводит курсор на следующую строку

верни кнд сотри_букву

если (сколько буфер) = 1 [автостоп]

]

конец

ДОПОЛНИТЕЛЬНЫЕ ЗАДАЧИ ПО ТЕМЕ «ПРОГРАММИРОВАНИЕ ТЕКСТОВЫХ ОКОН»

Задача 1. Копируем строки текста

Скопируйте одну строчку текста из текстового окна «ТТТ1» и 5 раз выведите ее в текстовое окно «ТТТ2».

Задача 2. Узнаем коды букв русского алфавита

Выведите в текстовое окно коды всех букв русского алфавита в таком виде — а - 224 б - 225 в - 226 г - 227

Буквы вводятся с клавиатуры. Подсказка: используй команды Лого - жди_символ, код. Цикл прерывается, если ввести с клавиатуры цифру 0. Таким же образом можно узнать коды различных клавиш клавиатуры (Enter, Tab, пробел).

Задача 3. Случайный набор букв с изменяющимся размером

Выведите в текстовое окно 10 букв русского алфавита, выбранных случайным образом. Код буквы а — 224, код буквы ю — 254, буквы я — 223. Размер шрифта увеличивается с 10 до 30. Цвет букв меняется случайным образом. Затем содержимое текстового окна сделайте рисунком на листе проекта.

Подсказка: используй команды Лого — символ, сл, штампуй_текст.

Не забудьте, что штамповать можно только прозрачный текст без имени.

Задача 4. Ищем букву в тексте и меняем ее цвет и размер

Напишите процедуру, которая находит в тексте любую букву (введенную пользователем), меняет цвет буквы на красный, размер шрифта на 20.

Подсказка: используй команды Лого — спроси, ищи, не нашла?.

Задача 5. Гласные буквы русского алфавита

Подсчитайте количество гласных букв (а, е, ё, и, о, у, э, ю, я), встречающихся в фрагменте русского текста. Результат оформите в виде столбчатой диаграммы.

Задача 6. Случайно выбранные строки

Напишите процедуру, которая в текстовое окно «стих2» четыре раза выводит случайную строку из текстового окна «стих1». В текстовом окне «стих» должно быть набрано четверостишие.

Подсказка: используй команды Лого — сл строка.

Задача 7. Палиндромы

Палиндром — это слова или предожения,

которые одинаково читаются в обе стороны.оге, 2004.

Язык программирования логотипов | Дети, код и информатика |

JD Hancock на Flickr

Этот язык, разработанный в 1960-х годах, существует исключительно для ознакомления детей с основными концепциями программирования и обучения программированию.

В 1960-х годах Сеймур Паперт, математик, работавший со швейцарским психологом Жаном Пиаже, переехал в США, где вместе с Марвином Мински основал лабораторию искусственного интеллекта Массачусетского технологического института. Паперт работал с командой из Болта, Беранека и Ньюмана во главе с Уолли Ферзейгом.Вместе Feurzeig и Papert создали первую версию LOGO в 1967 году.

Язык программирования LOGO разработан, чтобы помочь детям научиться программированию на практике. Вместо того, чтобы запоминать теорию или использовать сложные структуры программирования, пользователи LOGO изучают основы программирования с помощью простых слов и указаний. Объект, обычно черепаха, может быть направлен на 20 шагов вперед.

Это модульный, расширяемый, интерактивный и гибкий язык. Он разработан с низким порогом и без потолка, прост в использовании для детей, поскольку позволяет опытным программистам выполнять сложные исследования и создавать сложные проекты.

Первоначально язык LOGO управлял маленькой роботизированной черепахой, привязанной к компьютеру и, в некоторых случаях, с ручкой, прикрепленной для рисования линий, которые образовывали формы и узоры.

Существует 197 вариантов языка LOGO. Версия UCBLOGO от Калифорнийского университета в Беркли является самой надежной.

Что делает язык программирования LOGO особенным?

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

В то время как LOGO начинался с языка программирования Lisp и идей об искусственном интеллекте, цели языка отражают мышление Жана Пиаже, швейцарского психолога. Пиаже считал, что детям лучше всего учиться, работая конструктивно, строя вещи. LOGO - это язык, который позволяет детям легко изучать программирование, направляя объект для выполнения ряда задач.

ЛОГОТИП

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

Язык программирования LOGO - это набор команд, которые должны выполняться объектом, обычно черепахой. Все команды относятся к объекту. Итак, LEFT 90 говорит черепахе повернуться налево на 90 градусов. Та же самая команда на блочном или модульном языке, таком как Scratch или Alice, была бы немного более сложной: поиск, добавление блока, а затем настройка блока для поворота объекта влево на 90 градусов. Язык сценариев был бы еще более сложным, например, с учетом объекта, диапазона направлений, диапазона градусов, на которые объект может повернуться, и, возможно, других частей окружающей среды.

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

Как используется логотип?

Язык программирования LOGO повсюду. Конечно, язык преподается в школах. Но LOGO также присутствует во многих телефонных и настольных приложениях, например, Move the Turtle. Существует настольная игра «Черепашки-роботы», в которой используются основы логотипа в увлекательной карточной игре, в которую могут играть дети и родители.LEGO Mindstorms также основан на ЛОГОТИПЕ. А Turtle Academy - это онлайн-сайт на нескольких языках, который помогает детям изучать LOGO с помощью веб-браузера. Есть еще много примеров.

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

Узнать больше

Язык программирования LOGO

http://el.media.mit.edu/logo-foundation/index.html
http://el.media.mit.edu/logo-foundation/logo/index.html
http://el.media.mit.edu/logo-foundation/resources/links.html
http: // el.media.mit.edu/logo-foundation/resources/discussion.html
https://en.wikipedia.org/wiki/LOGO_%28programming_language%29

20 вещей, которые можно сделать с компьютером

Блестящее эссе об использовании компьютеров в качестве инструмента, чтобы научить детей делать вещи, а не манипулировать компьютерами. (спасибо @HackerJimbo за предложение!)
http: // dspace.mit.edu/handle/1721.1/5836

https://en.wikipedia.org/wiki/UCBLOGO
http://www.cs.berkeley.edu/~bh/logo.html

ЛОГОТИП
Заметки об искусственном интеллекте

Написанные Сеймуром Папертом в 1960-х и 1970-х годах, они дают представление об идеях, которые лежали в основе создания LOGO.
http://logothings.wikispaces.com/Readings

ЛОГОТИП
и LEGO Mindstorms

http://www.media.mit.edu/sponsorship/getting-value/collaborations/mindstorms

Академия черепах

Изучите логотип на английском, немецком, испанском, голландском, португальском, русском, иврите и китайском языках.
http://turtleacademy.com/

ЛОГОТИП
MicroWorlds

http://en.wikipedia.org/wiki/MicroWorlds
http://www.microworlds.com/

Перемещение черепахи

http://movetheturtle.com/
http://itunes.apple.com/us/app/move-turtle.-programming-for/id50

78?ls=1&mt=8

Роботы-черепахи (и пакет расширения "Приключенческие квесты-роботы-черепахи")

http://www.robotturtles.com/
http://www.thinkfun.com/robotturtles/adventure/
http: // www.thinkfun.com/robotturtles
https://www.kickstarter.com/projects/danshapiro/robot-turtles-the-board-game-for-little-programmer
http://duxter.com/robotturtles

http://fmslogo.sourceforge.net/

Роботы-черепахи (и пакет расширения "Приключенческие квесты-роботы-черепахи")

http://www.robotturtles.com/
http://www.thinkfun.com/robotturtles/adventure/
http://www.thinkfun.com/robotturtles
https://www.kickstarter.com/projects / danshapiro / robot-turtles-the-board-game-for-little-programmer
http: // duxter.com / robotturtles

Компьютерные науки ЛОГОТИП Стиль

Бесплатный онлайн-ресурс с использованием LOGO для обучения информатике.
http://www.cs.berkeley.edu/~bh/v1-toc2.html
http://www.cs.berkeley.edu/~bh/v2-toc2.html
http: //www.cs .berkeley.edu / ~ bh / v3-toc2.html


Сорок лет назад исследователи разработали язык программирования, который стал прекрасным образовательным инструментом.

Насколько я помню, LOGO представлял собой треугольную черепаху, которая бродила по монохромному экрану Apple II в моем классе первого класса.Куда бы он ни пошел, за ним следовала чернильная линия - она ​​исходила от ручки, привязанной к его хвосту.

Мой цифровой друг одновременно дал мне интуицию в геометрии и научил думать как программист.

Я бы набрал FORWARD 50 , и черепаха двинулась бы вперед. Когда я давал команду RIGHT 90 , он резко поворачивал вправо. Если бы я поставил перед этими двумя командами REPEAT 4 и заключил их в скобки, черепаха нарисовала бы квадрат.

Я учился, но мой опыт не был похож на урок. Это было весело!

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

Я отчаянно хотел узнать, как они это сделали. В конце концов, они мне сказали. Их метод имел смысл: велите черепахе несколько раз продвинуться вперед на очень большое расстояние, а затем слегка повернуться.

Имея на выбор множество высококачественных образовательных программных пакетов, каждый с яркими мультимедийными персонажами и торговыми марками, родители и учителя могут посчитать скромную черепаху немного устаревшей. Насколько мне известно, LOGO и другие классические предметы, такие как оригинальный Oregon Trail, редко используются в современных классах. В прошлом году Дэвид Брин написал эссе, в котором оплакивал исчезновение простых программ, которые могут дать детям некоторый опыт программирования из командной строки.

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

Пожалуйста, найдите время, чтобы поделиться своими историями о логотипе.

Изучите программирование логотипов, потому что кто не любит перемещать роботов?

Раскрытие информации: Ваша поддержка помогает поддерживать работу сайта! Мы зарабатываем реферальный сбор за некоторые услуги, которые мы рекомендуем на этой странице. Узнать больше

Logo - это образовательный язык программирования, наиболее известный тем, что позволяет пользователям рисовать фигуры с помощью роботизированной или графической черепахи.

Впервые разработанный в 1967 году группой исследователей из Bolt, Beranek и Newman, Logo является диалектом Lisp и был разработан для обучения концепциям программирования учащихся всех возрастов. Логотип является модульным, расширяемым, интерактивным и гибким, поэтому его использовали не только для обучения программированию, но и для множества других образовательных целей, включая обучение математике, языковое развитие, робототехнику, музыку и науку.

Разработанный и используемый в основном детьми, Logo представляет собой сложный компьютерный язык, который можно использовать как для простых, так и для сложных программ.Обычно он используется для создания изображений, мультимедийных презентаций, симуляций и игр; но с помощью Logo можно создавать очень сложные приложения. Фактически, в течение 1980-х годов было несколько попыток сделать Logo полноценным языком программирования, реализующим объектно-ориентированное программирование и компиляторы для разработки автономных приложений. Однако ни одна из этих попыток не получила особой поддержки в сообществе программистов, и Logo остался Lisp для детей.

Черепаха

Логотип наиболее известен тем, что в нем используется «черепаха», которой учащиеся управляют простыми командами для создания разнообразных форм.Изначально черепаха была физическим роботом с выдвигающейся ручкой. Дав черепахе набор команд, ученики могли запрограммировать робота, чтобы он двигался по листу бумаги, рисуя узоры на своем пути.

Например, команда «Вперед 100» приказала черепахе переместиться на 100 шагов в направлении, в котором она в данный момент смотрит. Left 90 велел черепахе повернуться на 90 градусов влево. Повторяя эти команды четыре раза, черепаха будет рисовать квадрат:


повтор 4 [вперед 100 влево 90]

В отличие от многих традиционных языков программирования, которые полагались на графические координаты для рисования объектов на экране, программирование черепах в зависимости от текущего положения направляемого объекта.Если ученики хотят, чтобы их графическая черепаха указывала на нижнюю часть экрана компьютера, они должны сначала определить, куда черепаха смотрит в этот момент, а затем вычислить изменение градуса, необходимое для того, чтобы указывать прямо вниз. Создатель логотипа Сеймур Пейперт объяснил программирование, использованное для черепахи, «телесно-синтонным рассуждением», что по сути означает мышление с точки зрения программируемого объекта. Этот подход требует, чтобы учащиеся постоянно знали о положении и местонахождении черепахи, поскольку последующие ходы основываются на шагах, которые были до них.

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


повтор 36 [повтор 4 [вперед 100 влево 90] влево 10]

Варианты черепахи

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

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

Текущие версии

Logo достиг своего пика в 1980-х годах, когда персональные компьютеры впервые стали массовыми.Какое-то время каждая компьютерная компания имела свою версию логотипа: Apple, Texas Instrument, Atari, Commodore и даже IBM. Однако, когда в индустрии персональных компьютеров преобладали рабочие машины, работающие под DOS, популярность Logo начала убывать. В течение 1990-х годов он оставался популярным в школах, но с тех пор его все чаще заменяют новые языки для обучения, некоторые из которых проще в использовании и более мощные, другие просто ярче.

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

UCBLogo: Эта графически доработанная версия логотипа часто считается текущим стандартом. Включение рекурсии делает его идеальным для обучения как начинающим, так и продвинутым концепциям программирования.

MSWLogo / FMSLogo: MSWLogo был основан на UCBLogo, но добавлял графический пользовательский интерфейс и был специально разработан для использования в Microsoft Windows. FMSLogo - это более новая версия Windows, основанная на MSW.

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

Scratch: На самом деле это не версия логотипа, но это похожая визуальная среда, которая позволяет учащимся создавать программы, соединяя вместе графические блоки, а не кодируя. Несмотря на свою простоту, Scratch можно использовать для создания игр, интерактивных историй и анимаций. Ознакомьтесь со страницей Scratch Resource на нем.

Учебники

Logo - довольно простой язык программирования, поэтому его не составит труда понять. Вот несколько руководств, которые помогут вам начать работу.

Заключение

Хотя Logo, вероятно, больше никогда не увидит того успеха, который имел в прошлом веке, он остается популярным инструментом в классах и высокоэффективным способом обучения концепциям программирования учащихся всех возрастов. В то время как первоначальная графика черепах была довольно простой, современные реализации невероятно сложны, позволяя программистам управлять сотнями и даже тысячами «черепах» одновременно, создавать правила взаимодействия между черепахами и многое другое.

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

Ресурсы для программирования логотипов

Логотип и "похожая на логотип" среда программирования для учащихся

Изготовление лоскутных одеял по старинке в условиях совместной работы в Интернете - используйте MicroWorlds EX в этом простом творческом проекте открытого типа. (2007)

Изготовление Образцы времен мечты аборигенов с помощью MicroWorlds - Междисциплинарный проект (2000)

Микромиры Клеймация - Создайте своего собственного Уоллеса и Громита одной строчкой кода! (2000)

21-я Лоскутные одеяла с логотипом Century - изюминка классики Геометрия / Искусство (1999)

Сборка Ваш собственный виртуальный питомец с MicroWorlds® (1998)
Создайте своего собственного тамагочи
© 1998-99 Адам Смит с небольшая помощь от Gary Stager

Обращение к математическим манипуляторам Наизнанку (1998)

Путь Проекты MicroWorlds в сети (1998)
Для начинающих...

Микромиры для Munchkins (1997) (все версии MicroWorlds)
Краткое руководство по использованию MicroWorlds с учениками младшего возраста.

подсказок для создания мультимедийных проектов с MicroWorlds 2.0 (Mac / Win 95)
Узнайте, что MicroWorlds 2.0 может делать для создания мультимедийных проектов и быть занятым!

Микромиры Вероятность (все версии MicroWorlds)
Простой сбор данных, сбор и построение графиков.

Редакции с логотипа Обмен на Гэри Стэджер

книг, проверенных логотипом Обмен
, включая отзывы Кэролайн Доулинг.

Другая сторона математики логотипов (все версии MicroWorlds)
Получите рабочее понимание математических возможностей MicroWorlds в удобной статье.
Что ты можешь делать с MicroWorlds?

Персональный Ответ на аргумент
о классическом логотипе В этой статье содержится ответ Гэри педагогам, которые хотят вернуться к времена менее мощных версий Logo. Обзор MicroWorlds 2.0 Включено. Эта статья написана для The Logo Update и может появиться там в будущем. Статья, которая вдохновила меня на ответ, доступна здесь.

Микромиры 2.0 Краткое справочное руководство Гэри С.Stager
Все, что вам нужно знать, чтобы приступить к созданию захватывающих мультимедийных материалов проекты с MicroWorlds 2.0 для Macintosh. Не стесняйтесь распечатать это из!

Микромиры 1.x Quick Reference Sheets
Вам нужно будет распечатать этот документ, так как часть «текста» графический.

Микромиры 1.x Список примитивов графики черепахи
Вам нужно будет распечатать этот документ, так как часть "текста" графический.

Сборка Ваш собственный набор инструментов для геометрии Материалы
Теперь ваши ученики могут использовать MicroWorlds для совместной разработки своих собственных мощные инструменты эвдлидовой геометрии!

Микромиры Проект настольной игры
Здесь описывается простой открытый проект. студенты могут использовать для изучения случайности, вероятности и логики.

Микромиры Проект построения графиков данных
В нем описывается простой открытый проект, который ваши ученики создают самостоятельно. простые математические инструменты построения графиков.

25 вещей Что делать с логотипом LEGO TC или Control Lab Используйте эти простые идеи, чтобы вдохновляют на великолепное решение проблем.

Использование логотипа Список ресурсов для педагогов
Этот документ содержит список книг, которые должен каждый учитель конструктивизма. читайте, где купить логотип, организации, к которым стоит присоединиться, и онлайн-ресурсы.Ссылки на важные ресурсы включены!

Что такое логотип? И кому это нужно? Очерк Сеймура 1999 года Паперт из книги LCSI, «Философия и реализация логотипа ».

Видео Game Workshop
Играйте в игры, разработанные учениками Хоуп Чафиан из школы Спенс и Майкл Темпель из Logo Foundation.

Основной доклад Сеймура Пейперта на Международной конференции по индивидуальным вычислениям
Сидней, Австралия - июнь 2004 г.

Интервью Сеймура Паперта на австралийском радио
июнь 2004

Домашняя страница для Брайана Харви (bh @ cs.Berkeley.EDU)
Специалист по информатике и лектор Калифорнийского университета в Беркли, Брайан Харви, является пионером логотипа. На этом сайте есть информация о его фантастическом компьютере . Серия книг в стиле научного логотипа, его последняя книга «Схема» и несколько провокационных статей об образовании и логотипе. Брайана следующее издание Computer Science Logo Style уже сейчас доступно в MIT Нажмите и бесплатно скачайте с его сайта.

Logo Computer Systems, Inc. Домашняя страница
LCSI - компания, ответственная за LogoWriter, MicroWorlds, My Make Believe Castle и другие ведущие разработки программного обеспечения среды для детей. Сеймур Паперт - председатель LCSI.

Логотип Фонд - некоммерческая организация, занимающаяся образовательными использование логотипа. Фонд издает "Обновление логотипа" три раз в год.

Все равно Произошла революция? это стенограмма потрясающего выступления адрес доставлен доктором.Джеральдин Козберг на конференции Logosium 1996 г. в Сент-Поле, Миннесота.

Планета Papert
  • Статьи Сеймура Пейперта
  • Интервью с Сеймуром Папертом
  • Отзывы о книгах Сеймура Papert

В Новые медиа и реформа образования - так назвали панельную дискуссию состоялась в MIT Media Lab 4 июня 1996 г.В число участников дискуссии вошли: Сеймур Паперт, Ховард Гарднер, Шерри Теркл и Митчел Резник. Информация о заказе аудио- и видеокассет доступна. на этом сайте. Вот статья American Prospect "Доступ недостаточно - компьютерные клубы во внутреннем городе », Митчел Резник и Натали Раск представили на этой конференции. Сеймур Паперт произнес фантастическую речь, на которую стоит потратить 5 долларов на аудиокассету.

Образовательный Вычислительная техника: как у нас дела? это недавняя статья Сеймура Паперт опубликован в юбилейном выпуске журнала T.H.E. Журнал.

StarLogo, автор: Mitchel Resnick - это программируемая среда моделирования для изучение поведения децентрализованных систем, таких как птица стаи, пробки и колонии муравьев.Он разработан специально для использования студентами. StarLogo разработан, чтобы помочь студентам (а также исследователи) разрабатывают новые способы мышления о и понимание децентрализованных систем. StarLogo особенно хорошо подходит для проектов «Искусственная жизнь». Митчел Резник книга про StarLogo, "Черепахи", Термиты и пробки: параллельные исследования MicroWorlds "можно приобрести здесь.

Исследование Emergence - динамичная статья, написанная Брайаном Сильверманом. и Митчелл Резник, призванные продемонстрировать проблемы, связанные с с клеточными автоматами и искусственной жизнью. Это вызывающий воспоминания модель того, как текст можно оживить в WWW. Ты нужен браузер с поддержкой Java, например Netscape Navigator 3.0, чтобы работать с примерами.

Домашняя страница для Ясмин Кафаи (kafai @ gse.ucla.edu)
Ясмин проводит исследования и преподает в UCLA. Она бывшая студент отдела эпистемологии и обучения MIT Media Lab Группа. Ее исследования включают дети, разрабатывающие обучающие видеоигры. Ее последняя книга называется « умов. in Play: Дизайн компьютерных игр как контекст для обучения детей . "

Компьютерное программирование для детей - Использование MicroWorlds Project Builder
Гордый отец делится работой своего ребенка в MicroWorlds.Это действительно милый сайт.

Микромиры Советы Дэвида Поттера из колледжа Джона Пола - Австралия
Дэвид Поттер, австралийский педагог, создал эту страницу, полную советов для пользователей MicroWorlds.

LEGO TC логотип проекты из средней школы Томаса Старра Кинга в Лос-Анджелесе.

Сайт с французским логотипом - Eurologo

The Logo-l Listserve Архив - сообщения, размещенные в списке логотипов, хранятся в мимо.

Организации

The Logo Foundation - некоммерческая организация, занимающаяся для поддержки использования логотипа по всему миру. Фонд Логотипа собирает и распространяет материалы с логотипом среди заинтересованных преподавателей. Фонд также издает информационный бюллетень «Обновление логотипа », Четыре раза в год. Подписка бесплатна. Обращайтесь:

The Logo Foundation
250 West 57th Street
NY, NY 10107-2228 USA
Факс: 212-765-4789
Электронная почта: MichaelT @ media.mit.edu

Logo Foundation Listserve:
Отправляйте сообщение по адресу: [email protected]
подписывайтесь на logo-L в теле сообщения
Отправляйте вопросы по адресу: [email protected]

CLIME (Совет по логотипу в математическом образовании). CLIME Новости издается 3–4 раза в год, плюс выпуск «Микромир». CLIME - это дочерняя организация NCTM. Членство стоит 15 долларов в год. Контакты:


CLIME
10 Bogert Avenue
White Plains, NY 10606
или отправьте письмо Игорю по адресу: icharisc @ vaxc.stevens-tech.edu

NCTM (Национальный совет учителей математики). Членство стоит 40 долларов и включает в себя для учителя арифметики или для учителя математики. Учитель . Контакты:


NCTM
1906 Association Drive
Reston, VA 22091

MIT Эпистемология и обучение Группа Интернет-ресурсов

Посетите медиа-лабораторию Массачусетского технологического института (дом Сеймура) Паперта, отца логотипа) по адресу HTTP: // www.media.mit.edu.

Эпистемология и учебные публикации
Медиа-лаборатория Массачусетского технологического института
20 Ames Street Room E15-309
Cambridge, MA 02139

FTP-сервер.
Чтобы получить доступ к следующим статьям, вы должны использовать анонимный FTP. Сделать это введите команду ftp cher.media.mit.edu, чтобы приглашение командной строки вашего Unix-компьютера.

Programming for kids: Узнайте больше о Logo and Scratch

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

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

Программирование в 80-е годы

Когда я был ребенком, меня познакомили с языком программирования Logo. Много лет спустя, во время учебы в колледже, я изучал мощные рекурсивные характеристики языка, но, когда мне было 9 лет, меня действительно заинтересовала черепаха , которая была буквально маленьким квадратом посередине экрана. что пользователь скажет ему что-то сделать, например, «пройдите 10 шагов вперёд и сделайте поворот ВЛЕВО на 45 градусов» или «вернитесь на 1 шаг назад и сделайте поворот на 90 градусов ВПРАВО».«

Самое замечательное в черепахе с логотипом было то, что на ней была ручка, и вы могли сказать черепахе: PENDOWN или PENUP. Когда перо опускалось и вы приказывали ему делать шаги, оно рисовало на экране. Вы можете сказать черепахе SETPENCOLOR и изменить цвет ее пера. Вы также можете СПРЯТАТЬ и ПОКАЗАТЬ ЧЕРЕПАХУ, потому что иногда вы рисовали что-то действительно крутое, и вам хотелось, чтобы черепаха не мешала.

От логотипа до штатного программиста

Когда я освоился с движениями черепахи и устал рисовать каждое движение, меня и моих друзей научили «автоматизировать» черепаху с помощью циклов, условных операторов, переменных, функций и процедур.Черепаха также познакомила меня с основными концепциями геометрии и декартовой плоскости как способ направлять мою черепаху по экрану.

Со временем я перешел с Logo на BASIC, а затем на Pascal. В колледже я использовал C, C ++, Java и даже Assembly. К тому времени, когда я получил высшее образование, я был штатным веб-программистом (PHP, Perl и т. Д.). Я не занимался программированием на полную ставку уже более 10 лет, но все еще очень люблю эту маленькую черепаху.

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

Это решение пришло в виде Scratch the Cat!

Скретч для детей

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

Популярность Scratch резко возросла, когда его начали использовать вместе с рекомендованной Raspberry Pi операционной системой Raspbian (также известной как Pixel), основанной на дистрибутиве Debian. Фактически, все изображения для этой статьи были сделаны из скриншотов Scratch, запущенного на Raspberry Pi 3.

Raspberry Pi поставляется с автономной версией Scratch, которая является версией языка 1.4. Версия 2.0 была выпущена в 2013 году и была написана на Adobe Flash, что позволяет воспроизводить ее через браузер (онлайн) и как отдельные клиенты.

Пример кода для Scratch

Вывод на пустом месте

ресурсов

Вот несколько ресурсов, которые я подготовил или использовал для этой статьи, которые, я надеюсь, помогут вам познакомить ваших детей (или студентов) с увлекательным миром программирования.

Введение в логотип для Linux, часть I, автор - Андерсон Сильва

Введение в логотип для Linux, часть II, автор - Андерсон Сильва

Простое управление светодиодами с помощью Raspberry Pi (более продвинутый пример использования Scratch и Raspberry Pi для управления светодиодами )

Онлайн-версия логотипа для детей и учителей с уроками и обучающими материалами

Онлайн-версия Scratch (V2, требуется Flash)

Код

.org, еще один отличный сайт для обучения детей программированию, а их редактор в основном основан на Scratch

.

Amazon.com: Logo Programming Part 1

Эта книга о «Изучение навыков 21 века с помощью компьютерного программирования»

Эта книга (части 1 и 2) предназначена для вас, если вы хотите, чтобы ваш ребенок:
• Практикуйте свои творческие способности и новаторство
• Развивать интерес к математике и естественным наукам
• Развивать аналитические навыки и навыки решения проблем
• Развивайте крепкую дружбу с компьютером

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

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

Очень важно использовать среды программирования, такие как Logo или Scratch, которые были специально разработаны с учетом «обучения».Эти среды просты и интересны, но в то же время очень мощны.

*** Как дети учатся в логотипе ***:
Дети, получившие доступ к игрушкам, способным выйти за рамки их основной «игрушечной» цели и стать моделями для дальнейшего мышления, видят, что они лучше понимают физику и Математика.

Окружение Logo - одна из таких мощных и неотразимых игрушек!

Черепаха в логотипе - это объект, к которому дети могут легко относиться и использовать (с помощью таких команд, как вперед, назад, вправо и влево) для построения всевозможных интеллектуальных моделей.Программирование предполагает манипулирование Черепахой.

*** Впечатления о написании программ на Logo ***:
• Команды Logo просты и дают немедленный ответ. Это позволяет легко увеличить темп общения.

• Окружающая среда с логотипом явно увлекательна и увлекательна для детей.

• Ребенок становится активным учеником. Компьютер становится его источником энергии. Когда ребенок приказывает Черепашке делать то или это, он сам отвечает за свое обучение.

• Turtle обеспечивает доступ к основным концепциям геометрии.

• Сила вычислений создает возможности: зная последовательность (шаг за шагом), итерацию и создание новых слов, дети предпринимают шаги для увеличения своих возможностей. Случайность и рекурсия создают дополнительные интересные возможности.

• Преодоление сложности за счет разума: дети создают сложные рисунки, разбивая их на более мелкие задачи.

• Обучение с осознанием цели: благодаря манипуляциям с Черепахой геометрия внезапно становится более разумной.Дети чувствуют, что линии и углы являются основными строительными блоками многих геометрических фигур.

• В программировании нет абсолютных «правильных» или «неправильных»: оно предполагает постепенное улучшение решения посредством отладки. Такой позитивный подход гораздо больше способствует укреплению доверия.

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

• «Вычислительный» образ мышления становится дополнительным инструментом в детском арсенале. Это волшебное открытие, что могут быть разные «стили решения проблем».

*** Заключительные замечания ***:
Обучение программированию на компьютере - важный шаг, и он должен происходить естественно, как изучение испанского языка, живя в Испании. Логотип - это язык, который любят использовать дети, его легко выучить, и он эффективен.

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

Дети усваивают понятия математики или других «сложных» предметов, исследуя их на компьютере. Учителя становятся помощниками в процессе обучения, помогая детям «отладить» их мышление.

Язык программирования логотипов

История

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *