Контроллер сименс лого

Наводя порядок в шкафу, я нашел старый контроллер Siemens Logo! и ряд аксессуаров к нему. Когда-то, десять лет назад, я сделал несколько проектов на таких игрушках. Ностальгия и тёплые воспоминания про те времена побудили меня к написанию этого поста.

Под катом много фотографий (geek porn)!
Итак, что такое Siemens Logo!? Фирма Siemens позиционирует данное устройство как «интеллектуальное реле», позволяющее строить несложные системы автоматизации. Примером таких систем могут быть, например, гаражные ворота, лестничное освещение, управление насосами, поддерживающими уровень воды в баке и прочие простые системы, включающие в себя несколько датчиков с дискретными выходами, несколько исполнительных устройств и органы управления (кнопки и переключатели). Датчики с аналоговыми выходами тоже поддерживаются, при наличии специальных модулей расширения.

1. Железо

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

1.1. Модуль процессора

Модуль, который я хочу вам показать, оснащен небольшим монохромным LCD. На нем отображаются меню, нужные при загрузке программы, на нём могут отображаться сообщения при работе программы, с него можно даже, при сильном желании, запрограммировать контроллер без подключения к компьютеру. Выпускаются также «слепые» модули (Pure), не имеющие экрана, но если вы занимаетесь построением систем на Siemens Logo!, нужно иметь хотя бы один модуль с экраном, чтобы иметь возможность копировать модули памяти. Но об этом будет сказано ниже.

Итак, модуль процессора 0BA3 питается от сети 220В, и имеет четыре дискретных выхода (реле) и восемь дискретных входов. Дискретный выход представляет собой реле с нагрузочной способностью до 10А при напряжении до 240В, дискретный вход допускает подключение цепей переменного тока напряжением 220В.
Самое интересное, конечно, внутри. Итак, модуль процессора в разобранном виде:

Модуль состоит из двух плат, на верхней плате расположен сам процессор и LCD, на нижней — блок питания, реле и дискретные входы.
Начнем с верхней платы.

Верхняя плата, верхняя сторона.

То же, со снятым LCD.

Верхняя плата, нижняя сторона.
На верхней плате размещается сам процессор (ASIC, разработанный специально для этого изделия), LCD, микросхема L4949EP (стабилизатор напряжения 5В, схема сброса и супервизор питания), кварц на 8МГц, ещё одна микросхема неизвестного назначения, микросхема Atmel 24C08 (EEPROM на 8 кбит), микросхемы 74hc4066 (4 аналоговых ключа) и 74HC11(?). Также на верхней плате расположены разъемы для подключения нижней платы, модуля расширения и модуля памяти.
Как видим, ничего особо интересного на верхней плате нет. Весь основной функционал заключается в одной специализированной микросхеме.
На нижней плате мы видим более интересные вещи. Здесь расположен источник питания на микросхеме TOP332G. Сама по себе микросхема (контроллер импульсного источника питания) очень распространенная, но здесь она применяется в несколько необычном включении, без трансформатора. Получается простой понижающий импульсный преобразователь напряжения, понижающий напряжения от сетевого (85 — 240В) до 24В постоянного тока. Блок питания не изолирует устройство от сети! Цифровая «земля» и общий провод дискретных входов оказываются связаны с «нулём» сети напрямую, поэтому при монтаже контроллера важно, ради соблюдения техники безопасности, подключать сеть правильно, с учётом того, какой провод нулевой, а какой фазный.

Дискретные выходы представляют собой реле Schrack с обмоткой на 24В. Кстати, маркировка на корпусе реле гласит, что коммутируемый ток составляет 8А, а Siemens заявляет для данного модуля 10А. Непорядок.
Дискретные входы не имеют гальванической развязки. По сути, сетевое напряжение через делитель и фильтр поступает напрямую на логику.

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

1.2. Модуль дискретного ввода-вывода

Модуль дискретного ввода-вывода 0BA0, содержит четыре дискретных выхода (реле), четыре дискретных входа, и, как и другие модули этого семейства, пристыковывается к модулю процессора сбоку.

Отдельно он выглядит так:

И в разобранном виде:

Он также состоит из двух плат, верхней и нижней.

Верхняя плата, вид сверху.
Используются точно такие же реле Schrack на 8А, но на этот раз Siemens заявляет максимальный ток 5А. То есть в случае с процессорным блоком они рискуют тем, что будет превышен максимально допустимый ток через контакты реле, а здесь они перестраховываются.

Верхняя плата, вид снизу.
Здесь мы опять видим специализированную микросхему и уже знакомый нам стабилизатор питания L4949.

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

1.3. Загрузочный кабель

Кабель предназначен для загрузки программ через порт RS-232. Кабель имеет гальваническую развязку.

Посмотрим, что внутри.

Внутри гибко-жесткая печатная плата. На одной стороне две оптопары.

Микросхема MAX3221 (порт RS232) и буфер (74НС14 или какой-то аналог).

1.4. Модуль памяти

Желтенькая штучка на фото — это модуль памяти. В принципе, Logo! работает и без него, но желтый модуль позволяет копировать программы. После заливки программы в контроллер по кабелю её можно скопировать в желтый модуль и вставить в другой контроллер, скажем, находящийся на объекте. Удобно тем, что монтажнику не нужно брать с собой ноутбук и кабель. Бывают ещё красные модули, они не позволяют скопировать своё содержимое во внутреннюю память контроллера (типа, защита от копирования).

Внутри находится микросхема EEPROM Atmel 24C08, такая же, как в модуле процессора.

2. Пишем программу

Итак, подключаем питание, включаем контроллер, и видим следующее:

Напишем программу «мигания светодиодиком». Светодиодик в кавычках, потому что никакой индикации срабатывания выхода на самом деле нет. Мы просто услышим звук срабатывающего реле. Слово «пишем» тоже можно взять в кавычки, потому что програмы для Siemens Logo! не пишутся, а рисуются в графической среде Logo! Comfort.

«Программы» в этой среде построены из «кубиков», каждый из которых представляет собой логический элемент, реле времени, вход, выход, и т.п.
В этой же среде можно запустить симуляцию программы. В нашем случае программа состоит из одного блока Symmetrical Pulse Generator, одного дискретного выхода, и одной константы (лог. 1), разрешающей работу генератора. Всё предельно просто.
Программное обеспечение позволяет запрограммировать любое поколение контроллеров Logo!, как старые (этот, например, третья модель), так и новые (6-я и 7-я модель). Отличаются они тем, что в новых гораздо больше функций, и гораздо меньше ограничений. Третья модель, например, позволят использовать в программе всего лишь до 56 блоков, в современных моделях блоков может быть и 200.
Достоинством этой среды является то, что в ней можно начать работу «с нуля», не имея опыта программирования логических контроллеров. «Кривая обучения» минимальна и может занять один вечер.
Программное обеспечение хорошо документировано, есть примеры проектов (например, автоматика лестничного освещения).
Теперь самое интересное.

Цены.

Конечно, именно эти модели давно устарели и сняты с производства, поэтому приведу цены на их современные инкарнации.
Цены приведены в рублях и являются приблизительными.
Модуль процессора — 4200 р.
Модуль дискретного ввода-вывода — 3000 р.
Кабель — 3800 р.
Модуль памяти — 650 р.
Впечатляет, не правда ли? Особенно на кабель (две микросхемы и две оптопары) и на модуль памяти (одна микросхема стоимостью меньше 10 р.)
Вот и всё. Надеюсь, вам понравилось. Буду рад ответить на ваши вопросы.