Siemens Logo! — десять лет спустя
Наводя порядок в шкафу, я нашел старый контроллер 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В) lj 24В постоянного тока.
Блок питания не изолирует устройство от сети! Цифровая «земля» и общий провод дискретных входов оказываются связаны с «нулём» сети напрямую, поэтому при монтаже контроллера важно, ради соблюдения техники безопасности, подключать сеть правильно, с учётом того, какой провод нулевой, а какой фазный.
Дискретные выходы представляют собой реле Schrack с обмоткой на 24В. Кстати, маркировка на корпусе реле гласит, что коммутируемый ток составляет 8А, а Siemens заявляет для данного модуля 10А. Непорядок.
Дискретные входы не имеют гальванической развязки. По сути, сетевое напряжение через делитель и фильтр поступает напрямую на логику.
Схема дискретного входа
Также на нижней плате расположены винтовые клеммы, разъем для соединения с верхней платой и пьезопищалка.
1.2. Модуль дискретного ввода-вывода
Модуль дискретного ввода-вывода 0BA0, содержит четыре дискретных выхода (реле), четыре дискретных входа, и, как и другие модули этого семейства, пристыковывается к модулю процессора сбоку.
Отдельно он выглядит так:
И в разобранном виде:
Он также состоит из двух плат, верхней и нижней.
Верхняя плата, вид сверху.
Используются точно такие же реле Schrack на 8А, но на этот раз Siemens заявляет максимальный ток 5А. То есть в случае с процессорным блоком они рискуют тем, что будет превышен максимально допустимый ток через контакты реле, а здесь они перестраховываются.
Верхняя плата, вид снизу.
Здесь мы опять видим специализированную микросхему и уже знакомый нам стабилизатор питания L4949.
Нижняя плата содержит ещё два реле, источник питания и четыре дискретных входа. Все эти узлы аналогичны используемым в процессорном модуле.
1.3. Загрузочный кабель
Кабель предназначен для загрузки программ через порт RS-232. Кабель имеет гальваническую развязку.
Посмотрим, что внутри.
Внутри гибко-жесткая печатная плата. На одной стороне две оптопары.
Микросхема MAX3221 (порт RS232) и буфер (74НС14 или какой-то аналог).
1.4. Модуль памяти
Желтенькая штучка на фото — это модуль памяти. В принципе, Ljgo! работает и без него, но желтый модуль позволяет копировать программы.
После заливки программы в контроллер по кабелю её можно скопировать в желтый модуль и вставить в другой контроллер, скажем, находящийся на объекте. Удобно тем, что монтажнику не нужно брать с собой ноутбук и кабель.
Бывают ещё красные модули, они не позволяют скопировать своё содержимое во внутреннюю память контроллера (типа, защита от копирования).
Внутри находится микросхема EEPROM Atmel 24C08, такая же, как в модуле процессора.
2. Пишем программу
Итак, подключаем питание, включаем контроллер, и видим следующее:
Напишем программу «мигания светодиодиком». Светодиодик в кавычках, потому что никакой индикации срабатывания выхода на самом деле нет. Мы просто услышим звук срабатывающего реле. Слово «пишем» тоже можно взять в кавычки, потому что програамы для Siemens Logo! н пишутся, а рисуются в графической среде Logo! Comfort.
«Программы» в этой среде построены из «кубиков», каждый из которых представляет собой логический элемент, реле времени, вход, выход, и т.п.
В этой же среде можно запустить симуляцию программы. В нашем случае программа состоит из одного блока Symmetrical Pulse Generator, одног дискретного выхода, и одной константы (лог. 1), разрешающей работу генератора. Всё предельно просто.
Программное обеспечение позволяет запрограммировать любое поколение контроллеров Logo!, как старые (этот, например, третья модель), так и новые (6-я и 7-я модель). Отличаются они тем, что в новых гораздо больше функций, и гораздо меньше ограничений. Третья модель, например, позволят использовать в программе всего лишь до 56 блоков, в современных моделях блоков может быть и 200.
Достоинством этой среды является то, что в ней можно начать работу «с нуля», не имея опыта программирования логических контроллеров. «Кривая обучения» минимальна и может занять один вечер.
Программное обеспечение хорошо документировано, есть примеры проектов (например, автоматика лестничного освещения).
Теперь самое интересное.
Цены
Конечно, именно эти модели давно устарели и сняты с производства, поэтому приведу цены на их современные инкарнации.
Цены приведены в рублях и являются приблизительными.
Модуль процессора — 4200 р. Модуль дискретного ввода-вывода — 3000 р. Кабель — 3800 р.
Модуль памяти — 650 р.
Впечатляет, не правда ли? Особенно на кабель (две микросхемы и две оптопары) и на модуль памяти (одна микросхема стоимостью меньше 10 р.)
Вот и всё. Надеюсь, вам понравилось. Буду рад ответить на ваши вопросы.
Источник: http://www.pvsm.ru/staroe-zhelezo/51973
Программируемые интеллектуальные реле(микроконтроллеры) Siemens LOGO!
Дополнительные модули, принадлежности и аксессуары Siemens LOGO! для расширения возможностей применения, эксплуатации и обслуживания логических модулей LOGO!
Модули LOGO! Contact
Для бесшумной коммутации цепей 3-фазного переменного тока напряжение 400 В с активной нагрузкой до 20 А или асинхронных электродвигателей мощностью до 4 кВт. Управление их работой осуществляется через дискретные выходы базового логического модуля или модулей расширения
Монтажные комплекты LOGO! / SIPLUS
Для установки логических модулей на фронтальных панелях шкафов управления и повышения степени защиты модулей до уровня IP30 или IP65
Имитатор входных сигналов
Для отладки программ логических модулей LOGO!. Выполнен в виде платы с жесткими, подключающимися к входам модуля выводами: 6 переключателей для формирования дискретных входных сигналов и 2 потенциометра для формирования аналоговых входных сигналов 0…10В.
Программатор LOGO! Prom
Для возможности тиражирования запрограммированных модулей памяти: за один цикл возможность записать программу в 8 модулей памяти
Соединительный кабель LOGO! – PC
Для соединения(через последовательный интерфейс RS232 с 9-штырьковым D-SUB или USB разъемом) логического модуля LOGO! или программатора LOGO! Prom и компьютера с установленным ПО LOGO! SoftComfort
Программное обеспечение LOGO! SoftComfort– Комфортабельное программное обеспечение для разработки программ логических модулей LOGO! на персональном компьютере- Использование для разработки программ языков LAD и FBD- Эмуляция работы программы логического модуля, интерактивная отладка программы, архивирование готовых программ
– Мощная система интерактивной помощи, документирование программ
Текстовый дисплей LOGO! TD
Для подключения непосредственно к базовому модули LOGO! кабелем до 2,5 м. 4 строки по 24 символа, 6 стандартных клавиш и 4 параметрируемых для отображения сообщений и гистограмм.
Модули памяти и батарей
Модули памяти LOGO! предназначены для долговременного хранения программ и данных, переноса программ с одного логического модуля на другой, сохранения данных при перебоях в питании. Модули батареи предназначены для поддержания питания встроенных часов реального времени.
GSM-комплект LOGO! INSYS
GSM модем, антенна, кабель и ПО для удаленного использования модулей LOGO!
Источник: http://progressavtomatika.ru/katalog-tovarov/programmiruemye-rele-logicheskie-moduli-siemens-logo.html
Программируемое реле SIEMENS LOGO!
Источник: http://www.ProgressAvtomatica.ru/relays/logo/siemens-logo.html
Новый LOGO!8 — Обзор экспертов
29.01.2015
Общие сведения
Краткая характеристика
Программное обеспечение для модулей Siemens LOGO!
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Logo! 8 это новая серия универсальных логических программируемых реле для создания систем автоматизации начального уровня.
|
Состав семейства
Модельный ряд Logo! восьмой серии имеет модули с дисплеем и кнопками Logo! Basic, а так же модели экономичной серии Logo! Pure.Для расширения возможностей доступны модули расширения:
|
Расширение
|
Логические модули
Все в одном
|
Сравнительные характеристики
Логические модули LOGO! … 0BA8
Встроенный интерфейс Ethernet модулей LOGO! … 0BA7/ 0BA8
Обмен данными через Ethernet в LOGOL..OBA7/OBA8
S7 функции связи на основе TCP/IP:
|
Обмен данными между модулями LOGO! … 0ВА7/ 0ВА8
Режим master/slave:
|
Обмен данными через Ethernet в LOGO!…OBA8
Web сервер модулей LOGO!… 0BA8
Использование Web сервера:
|
Модули ввода-вывода
Логические модули
Модули расширения:
|
Допустимые варианты подключения модулей
Модули ввода-вывода дискретных сигналов
С логическими модулями LOGO! … 0BA8 должны использоваться только модули 6ED1 055-…-0BA2
Модули ввода-вывода аналоговых сигналов
Коммуникационные модули
Коммутаторы LOGO! CSM
- “Прозрачные” сетевые устройства, не требующие настройки своих параметров
- Без интерфейса подключения к внутренней шине логического модуля
Коммуникационный модуль LOGO! CMR2020
|
Дополнительная аппаратура
Блоки питания LOGO!Power
Стабилизатор SIPLUS Upmiter
|
Контакторы LOGO!Contact
Дополнительные компоненты
Монтажные комплекты
Оперативное управление и мониторинг
Модули LOGO! Basic и текстовый дисплей LOGO! TDE
|
Текстовый дисплей LOGO! TDE
Конструктивные особенности:
|
Программирование
Возможные варианты программирования
С использованием клавиатуры и дисплея логического модуля LOGO! Basic | Установкой заранее запрограммированного модуля или карты памяти | С использованием программного обеспечения LOGO! Soft Comfort |
LOGO! Soft Comfort V8.0
Поддержка логических модулей всех поколений:LOGO! … 0BA0 до LOGO! … 0BA8
Использование на компьютерах/ программаторах с операционной системой:
|
Источник: http://www.prompower.ru/statyi/novyy_logo_8_obzor_ekspertov/
Логический контроллер Siemens LOGO
Источник: https://gazovik-teplo.ru/cat/siemens/siemens_logo.html
Программируемое реле против ПЛК на примере Siemens LOGO vs S7-200
Недавно был у меня спор с одним товарищем (монтажником) по поводу программируемых реле, их отличий от ПЛК и т.п. В общем-то закончилось всё предсказуемо, во-первых, тем, что нет строго определения “программируемого реле”, поскольку понятие “контроллер” слишком широкое и включает в себя и программируемые реле тоже.
Во-вторых, надо выбирать оборудование в зависимости от решаемой задачи. Нет смысла переплачивать тысячи долларов за какой-нибудь дорогой ПЛК, если можно купить дешевле, долларов за 500, равно как и нет смысла покупать программируемое реле за 10 000 рублей то, что не позволит быстро и эффективно решить задачу, которую можно решить с помощью ПЛК за 20 000 рублей.
В этой статье я хочу рассказать о некоторых нюансах при программировании наноконтроллера (программируемого реле) Siemens LOGO! Сравнивать его я буду с микроконтроллером Siemens S7-200, который стоит вдвое дороже, но при этом имеет гораздо больше функций. Контроллер S7-200 был снят с производства в Германии в конце 2012 года и формально заменён на линейку S7-1200.
Однако, сравнивать LOGO! с S7-1200 не имеет смысла, поэтому сравним всё же с S7-200, к тому же в Китае их по прежнему производят, и своей актуальности они не потеряли. Я здесь не буду описывать что-то невероятное для LOGO!, например, сложные математические операции, которые запросто можно осуществить на S7-200. Остановимся на булевой алгебре, т.е.
на том, что можно осуществить на языках LAD и FBD, представленных в обоих рассматриваемых контроллерах. Я не использую язык FBD с некоторых пор, поэтому примеры будут только на LAD и, дополнительно, на STL (STL или обобщённое название IL – Instruction List – аналог языка Ассемблера, только для ПЛК), который есть в S7-200.
Адреса я буду писать в формате для S7-200, а в фигурных скобках после них – те же адреса для программы для LOGO!.
Многократное присвоение
Главная проблема LOGO! – невозможность многократного присвоения значения одному и тому же элементу в разных частях программы. Например, у нас имеется три дискретных входа: I0.1 {I1}, I0.2 {I2}, I0.3 {I3}, по которым срабатывает авария. И есть вход I0.
7 {I7} для подтверждения аварии. Бит аварии храним в V0.1 {SF001}. Напишем программу на Step-7/MicroWIN на языке STL (IL) для S7-200: Переведём эту программу на LAD для того же S7-200:А теперь попытаемся изобразить нечто подобное на LOGO!На первый взгляд проблем нет.
Но мы видим явные отличия от программы для S7-200. Заключаются они в том, что у нас нет возможности создать несколько блоков с названием SF001 и для каждого из них производить операции присвоения (S) и сброса (R).
Вот для S7-200 мы как раз могли сделать их все вместе, получив программу вида:
LD I0.1
O I0.2
O I0.3
S V0.1, 1
LD I0.7
R V0.1, 1 Она работала бы как мой пример для LOGO!, но нам этого как раз не нужно, нам, наоборот, нужно присваивать значения одному и тому же элементу в разных частях программы. На LOGO! мы этого сделать так просто не можем (т.е. теоретически можем, но такую программу будет невозможно нормально просматривать и редактировать), поэтому придётся изворачиваться. Для начала создадим переменные, которые будут отвечать установку бит SF001. Для I1, I2 и I3 это будут биты SF002, SF003 и SF004 соответственно.Теперь, по идее, нужно по битам SF002, SF003 и SF004 установить бит SF001. Но и тут есть нюанс, а заключается он в том, что поскольку установленный бит SF001 сбрасывает любой из битов его устанавливающих, то LOGO! не даст вам создать такую программу.Чисто теоретически, такое ограничение – бред, ибо мы имеем дело лишь с пародией на настоящюю релейную схему. На самом деле у нас тут самая обычная программа, которая в машинном коде никаких “блоков” не содержит. Т.е. программа выполняется сверху вниз слева направо, и все ограничения на “рекурсию” искусственны. Но сделать мы ничего с этим не можем, кроме как дополнительно усложнять программу:Задействовав промежуточный бит M1, мы решили задачу. Чтобы понять, насколько больше стало бы кода, напишим программу в таком виде на STL для S7-200:Знаете, что такое “китайский код”? Это вот он самый.
Фронт
Если кто не знает, что такое фронт, объясняю: если какой-то бит был равен 0, а потом стал равен 1, то тот момент, когда это произошло, считается положительным фронтом. Если же бит был равен 1, а стал равен 0, то тут имеет место отрицательный фронт.
Фронт отслеживается в каком-то конкретном месте программы. Именно в этом конкретном месте запоминается значение отслеживаемого бита и, если в следующем цикле программы бит изменился, будет установлен бит фронта.
В контроллерах S7-200 фронт реализован командами EU и ED (отрицательный и положительный соответственно).
Значения запомненных переменных из предыдущего цикла хранятся в недоступных для считывания регистрах (в этом отличие от S7-300, где программист сам назначает область памяти для хранения этих значений). Кратко (на C++) работу команд фронта можно описать по принципу:
Положительный фронт:
tmp = RLO
RLO = (bit == 0) && (RLO == 1)
bit = tmp
Отрицательный фронт:
tmp = RLO
RLO = (bit == 1) && (RLO == )
bit = tmp
Модернизируем наш предыдущий пример с установкой аварии по трём дискретным входам. Как следует из программы, мы не можем подтвердить (сбросить) аварию, если дискретный сигнал об аварии продолжает приходить. Но это не всегда актуально.
Например, если речь идет о примитивной автоматике безопасности (типа Safety Controller), то подтверждать аварию без фактического прекращения аварийного сигнала не надо.
Но может быть и другой случай, например, если авария носит предупреждающий характер, и её сброс должен блокировать возникновение этой аварии до фактического прекращения аварийного сигнала и последующего нового возникновения аварии. В таком случае нам предётся устанавливать аварию не по признаку её наличия, а по фронту её возникновения.
На S7-200 это выглядит так:Как видим, изменений относительно первоначальной программы на STL минимум. Чего не скажешь о программе на LOGO! Чтобы реализовать программу на LOGO! надо вручную завести биты для сохранения значений элементов до их изменения в коде программы.
Как я и говорил, всё делается исходя из выполнения кода сверху вниз, что упрощают задачу в сравнении с использованием языка программирования FBD (где действует тот же принцип на самом деле, но в ещё менее явной форме, поскольку функциональные блоки разбросаны по экрану).
В итоге имеем следующее:Безусловно, замечательная история, и, конечно же, немного “китайского кода” в нагрузку:Таймеры Казалось бы, уж таймеры в программируемом реле должны быть коронной фишкой.
Ну, например, есть не самый удобный способ установки бита и его сброса по таймеру в ПЛК S7-200:Пришлось написать 8 строк кода и задействовать два таймера для простейшей, казалось бы вещи: по одному и тому же биту I0.1 устанавливать с задержкой в 1 секунду бит M0.1, по нему же с такой же задержкой сбрасывать тот же бит.
Попробуем воспользоваться стандартной функцией On-/Off-Delay… …и получаем совсем не то, что хотели. Т.е. первоначально бит устанавливается с задержкой 1 секунда.
Но впоследствии, если сигнал I1 пропадает (меньше, чем установленная на выключение 1 секунда), а затем снова появляется, то T001 всё равно сбросится в 0 на некоторое время, которое будет проходить между тем, как таймер на выключение досчитает, а таймер на включение ещё нет. Зачем нужен такой элемент как On-/Off-Delay – мне не понятно.
Попробуем другой способ, задействуем On-Delay (T002) и Off-Delay (T001):Опять ничего не вышло. Дело в том, что T002 и T001 не должны быть одновременно включены, согласно нашей логике, а именно так оно и получается, поскольку Off-Delay не включается при выключении входа (с паузой), как нам надо, а просто включается вместе с включение входа, а при его выключении с паузой выключается. Такой способ тоже ничего не даст: В итоге, прекращаем заниматься ерундой и реализуем по аналогии с S7-200: Короче говоря, никаких преимуществ перед S7-200 мы не увидели, а нашли лишь пару ненужных функций.
Итог: если вам надо реализовать управление контроллера безопасности (Safety Controller), управление системой загазованности или простейшей насосной станцией, то программируемое реле вполне можно использовать. Но достаточно, казалось бы, небольшого усложнения задачи, и потребуется уже нормальный ПЛК. Я бы не рекомендовал рисковать. Лучше купить китайский S7-200, чем долго и упорно мучиться с LOGO! (которые, кстати, уже несколько лет в Германии тоже не делают, а делают всё в том же Китае).
Источник: http://montazhka.blogspot.com/2016/12/siemens-logo-vs-s7-200.html
Adblockdetector