Pull to refresh

Программирование ПЛК Siemens на Simatic Step7

Reading time 4 min
Views 428K
Programming microcontrollers *
Sandbox
Добрый день, хабровчане! Полазив по Хабру, мною было обнаружено всего несколько топиков, в котором упоминалось бы словосочетание «Simatic Step 7». Хочу поделиться с Вами небольшой частью информации, накопленной мною за все время работы с программируемыми логическими контроллерами, и показать, что из себя представляют ПЛК, оболочка и что мне приходилось на них строить.

Данный пост содержит общую ознакомительную информацию о программировании ПЛК Siemens.
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 37

ПЛК — что это такое?

Reading time 5 min
Views 139K
Programming microcontrollers *
Sandbox
Доброго времени суток, уважаемые жители Хабра!
Прочитав пост про программирование ПЛК Siemens серии S7, я залез в поиск по Хабру, и был весьма удивлен, что тема промышленной автоматики вообще, и программирования ПЛК в частности, освещена весьма и весьма скудно. Возьму на себя смелость поделиться своим опытом в данной области, описав базовые принципы программирования ПЛК, в частности, производства компании Beckhoff.
Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Comments 23

Симулятор для тестирования ПО АСУТП

Reading time 6 min
Views 63K
IT systems testing *
Sandbox
Добрый день, уважаемые хаброжители!



Расскажу вам о своём проекте, который делаю в свободное время уже три года.

Работаю в компании занимающейся автоматизацией на должности программиста контроллеров. Последнее время, в основном, используем Siemens, ПЛК SIMATIC S7 и пакет визуализации WinCC, но есть опыт и по другим производителям. Профиль компании – нефтегазовый сектор (резервуарные парки, насосные, железнодорожные эстакады, причальные комплексы, системы пожаротушения).

Наверное, с самого первого проекта, меня интересовал вопрос тестирования программного обеспечения до этапа пуско-наладки на реальном оборудовании. Не так давно, на хабре был пост — Программирование ПЛК Siemens на Simatic Step7, и адреналин, про который говорилось в комментариях, знаком мне не понаслышке.

В настоящий момент, используя мою программную платформу, мы можем избавиться от большей части ошибок и отладить автоматизированные функции в комфортных условиях офиса (а не сидя на катушке кабеля, в неотапливаемом помещении, в морозный зимний день).
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 14

Симулятор для тестирования ПО АСУТП: Пример

Reading time 8 min
Views 22K
IT systems testing *
За время, прошедшее с публикации первой статьи на хабрахабре, появилось желание поделиться с сообществом некоторыми мыслями, а так же более подробно описать процесс создания программного симулятора автоматизируемого оборудования. Желающих ознакомиться с предыдущим текстом, прошу сюда — Симулятор для тестирования ПО АСУТП.

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

Задача, которая была выбрана в качестве примера, относится скорее к обработке сигналов, чем к АСУТП, и не имеет абсолютно ни какого практического смысла. Сделано это намеренно, для того чтобы не отвлекать читателя излишними подробностями предметной области и увеличить наглядность (все любят графики).

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 6

Последовательность поиска ошибки в программе ПЛК

Reading time 5 min
Views 7.9K
Programming *
Sandbox
Введение


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

Сведения о системе и ошибке


С компьютера на ПЛК подаются уставки (времена, флаги режимов) и команды на устройство.
Из ПЛК на компьютер выдаются сигналы статуса устройства и времени до конца команды на это устройство. Сигналы пакуются в слова, для минимизации объемов приема и передачи.
Из ПЛК на устройство выдаются команды.
Устройство выдает на ПЛК свои статусы.

image

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

Но «танцы с саблями» появлялись стабильно, при каждой команде, что очень порадовало.
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 14

Аппаратно-программная платформа автоматизации Tibbo

Reading time 8 min
Views 22K
СканКод corporate blog

Доброго времени суток, уважаемые хабровчане!
Это мой первый пост в компании Scancode, в котором я расскажу вам о новом продукте, представляемом на Российском рынке. Заранее хочу предупредить, что в описании не будет сравнительного анализа с конкурентами и глубоких технических деталей — все это тема для отдельной статьи. Здесь же я попытаюсь описать основные функциональные принципы данной системы, как и с чем это нужно кушать использовать.
Примечание: большинство картинок ниже — кликабельны.

Тайваньская компания Tibbo Technology Inc. анонсировала новую линейку продукции, под названием Tibbo Project System (TPS). TPS – это модульная аппаратная платформа для создания собственных устройств автоматизации. Именно устройств, а не отдельных элементов. Под платформой мы понимаем совокупность из следующих элементов: материнская плата с установленным микроконтроллером, платы ввода/вывода, корпус будущего устройства и программное обеспечение, позволяющее написать прошивку под созданное устройство. Причем, на этапе заказа клиент сам выбирает какие элементы ему понадобятся и что будет в комплекте поставки. Но обо всем по порядку.

Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 9

Промышленное программирование, или Пара слов об АСУ ТП

Reading time 9 min
Views 211K
Industrial Programming *SCADA *


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

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

Иногда на эту тему проскакивают статьи и на хабре. Обычно они не пользуются особой популярностью, но всё же я хочу написать несколько обзорных статей об АСУ ТП в надежде рассказать хабравчанам что-то интересное (а возможно, кому-то даже полезное) и привлечь на хабр больше своих коллег.
Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Comments 112

Device Server – преобразователь интерфейсов или простой ПЛК от Tibbo?

Reading time 13 min
Views 21K
СканКод corporate blog
Доброго времени суток, уважаемые Хабровчане.
Эту статью условно можно разделить на три части. В первой, речь пойдет о преобразователях интерфейсов RS232/Ethernet — что это такое и как используется.
Во второй, на примере создания шлюза ModBus ASCII_RTU/ModBus TCP продемонстрирую возможность программирования преобразователей Tibbo.
И, наконец, в третей части попробуем создать автоматическую систему управления отоплением, из немного модифицированного преобразователя интерфейсов Tibbo, с возможностью посылать команды средствами смс сообщений, веб-интерфейсом управления и выгрузкой данных в MySQL.

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 9

Змейка на ПЛК? Легко!

Reading time 4 min
Views 15K
Abnormal programming *Programming *
Tutorial
Sandbox
День добрый, хабражители!

Здесь недавно жаловались, что тема “промышленного программирования” раскрыта недостаточно. Попытаюсь это исправить.
Для наглядности разберем как написать классическую змейку для контроллера семейства Siemens s7-300.

image

Если стало интересно – добро пожаловать под кат.
Внимание – картинки и много кода на подобном ассемблеру языке!
Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 19

Змейка на ПЛК. Наш ответ Сименсу

Reading time 10 min
Views 19K
Abnormal programming *Programming *
Sandbox
Здравствуйте.

Недавно мне прислали ссылку на статью, где был показан пример реализации простой и в то же время культовой игры «Змейка» в контроллере семейства Siemens s7-300. И я подумал: все знают о таких монстрах, как Siemens, ABB и т.д. Но современные отечественные разработки остаются в тени.

В этой статье я покажу, как за полчаса реализовать алгоритм игры «Змейка» на российской АСУ ТП «КВИНТ 7», разработанной в НИИТеплоприборе. И для большего интереса игра будет целиком реализована на языке технологического программирования FBD, которому уделяется незаслуженно мало внимания.

Итак, начнем:
Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Comments 24

Siemens Logo! — десять лет спустя

Reading time 5 min
Views 120K
Programming microcontrollers *
Наводя порядок в шкафу, я нашел старый контроллер Siemens Logo! и ряд аксессуаров к нему. Когда-то, десять лет назад, я сделал несколько проектов на таких игрушках. Ностальгия и тёплые воспоминания про те времена побудили меня к написанию этого поста.



Под катом много фотографий (geek porn)!

Читать дальше →
Total votes 40: ↑37 and ↓3 +34
Comments 46

Светофор на ПЛК – 30 блоков

Reading time 3 min
Views 41K
Programming *Industrial Programming *
Sandbox
Здравствуйте!
Я хочу показать, как пишется программа для управления технологическим оборудованием на ПЛК.
Чаще всего я имел дело с ПЛК производства Schneider Electric. Выбранный мной для данной задачи Quantum является самым мощным и дорогим ПЛК данного производителя. Он может управлять оборудованием с тысячами сигналов, для светофора в реальной жизни его никто, естественно, использовать не будет.
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Comments 15

Светофор на ПЛК – все языки МЭК 61131-3

Reading time 2 min
Views 46K
Programming *Industrial Programming *
В прошлой статье Светофор на ПЛК – 30 блоков программа для ПЛК светофора была написана только на FBD.
Новая программа использует все 5 языков стандарта МЭК 61131-3.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 0

Всем ли доступен коммунальный рай? История с печальным концом

Reading time 5 min
Views 44K
SCADA *
Sandbox
Привет Хабр!

Несколько дней назад я увидел статью об установке системы погодного регулирования в многоквартирном доме. Обладая ReadOnly аккаунтом, я не смог поучаствовать в обсуждении статьи, поэтому решил написать свою, со SCADA и регуляторами, но она не будет столь же оптимистичной, и – спойлер! – будет иметь печальный конец.
Вес картинок под катом ~1.5 мб.
Читать дальше →
Total votes 60: ↑56 and ↓4 +52
Comments 49

ПЛК100 + LabVIEW + джойстик

Reading time 4 min
Views 16K
LabVIEW *Industrial Programming *
Sandbox
Однажды на моём рабочем столе оказались usb-джойстик и ПЛК (программируемый логический контроллер) фирмы ОВЕН — ПЛК100, при этом на компьютере была запущена среда LabVIEW. Я подумал, что всё это — хотя бы забавы ради — можно объединить, организовав управление ПЛК (его выходами) с помощью кнопок джойстика (позже я решил использовать не просто кнопки, а их комбинации — ВНИЗ, ВПЕРЁД, Y, например).
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 1

ПЛК100 + LabVIEW + джойстик v2.0

Reading time 2 min
Views 9.2K
LabVIEW *Industrial Programming *
В своей прошлой статье я описывал возможность управления ПЛК джойстиком и обещал добавить небольшое изменение, связав ПЛК и LabVIEW не через последовательный порт, а через Ethernet (благо, коммуникационные возможности ПЛК100 это позволяют) и при помощи OPC-сервера — в данном случае это Codesys OPC Server. (Кстати, аналогичным образом с LabVIEW можно связать любой другой контроллер — через OPC-сервер, который работает с конкретным контроллером). В этой статье я, собственно, и собираюсь описать, как всё это делается.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 0

Добавление Wi-Fi к различным устройствам

Reading time 4 min
Views 48K
Rainbow corporate blog

Предисловие


Один мой хороший товарищ занимается автоматизацией зданий. И вот как-то за кружкой пива пожаловался он мне на один из объектов, который находится у него в эксплуатации. «Головой» всей тамошней автоматики является ПЛК 100 известного отечественного производителя ОВЕН. Работает он автономно, без постороннего вмешательства, но раз в месяц необходимо с него снимать логи и контролировать общую исправность всей автоматики в здании. Проблема в том, что в шкафу, в котором расположен ПЛК, по каким-то причинам не провели Ethernet от местной сетки. Дотянуть провод, по неким организационным причинам не представляется возможным. И вешать GSM модем нельзя, т.к. шкаф находится в подвале, где нету сети. При этом до шкафа с ПЛК добивает местная Wi-Fi сеть, однако у ПЛК 100 нет Wi-Fi.
И вот приходится каждый месяц ездить на объект с ноутбуком, включаться переходником USB-RS232 в прибор и снимать логи. В результате, я пообещал «допилить» ПЛК, добавив в него Wi-Fi.
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Comments 23

ПЛК Ace: маленький контроллер для «умного дома»

Reading time 7 min
Views 49K
Industrial Programming *SCADA *
Sandbox
Я занимаюсь разработкой программ для программируемых логических контроллеров(ПЛК) в промышленных автоматизированных системах управления технологическими процессами(АСУ ТП).

Для тех, кто сталкивается с этим словом впервые, поясню. ПЛК это специальный мини-компьютер, который работает так:
1. Принимает входные дискретные (Di) или аналоговые (Ai) сигналы;
2. Обрабатывает эти сигналы по заданной программистом программе;
3. Выдает управляющий сигнал через дискретные (DO) или аналоговые (AO) выхода.

Дискретный — когда у сигнала может быть только 2 состояния: 0 или 1, «да» или «нет». Например, кнопка нажата или отжата, лампочка включена или выключена.
Аналоговый — когда значение параметра зависит от уровня электрического сигнала. Например, чем выше уровень сигнала (вольт или миллиампер) от датчика температуры, тем больше измеряемая температура.

Применяются ПЛК в основном в промышленности, станках, системах домашней автоматизации «умный дом» и т.д.
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 24

Wiren Board 4 — контроллер для автоматизации

Reading time 4 min
Views 60K
Бесконтактные устройства corporate blog
image

Год назад мы выпустили контроллер Wiren Board Smart Home. Благодаря невысокой цене и широким возможностям он имел успех среди энтузиастов.

Поэтому мы решили не останавливаться и выпустили новую версию — контроллер для автоматизации Wiren Board 4, к которому написали и новый софт.

Несмотря на название, покупатели часто использовали Wiren Board Smart Home и для совсем не “домашних” задач: сбора климатических параметров, опроса счётчиков и датчиков, удалённого контроля оборудования — то есть в качестве универсального логического контроллера.

Wiren Board 4 (как в железе, так и в ПО) лучше приспособлен для таких задач. Домашних пользователей это тоже коснулось — контроллер стал надёжнее.
Читать дальше →
Total votes 50: ↑47 and ↓3 +44
Comments 82

Как собрать умный дом

Reading time 5 min
Views 54K
Бесконтактные устройства corporate blog


Всем привет, с вами команда Wiren Board!

Нас часто спрашивают: «Что можно подключать к вашему контроллеру? Как на нём собрать “умный дом”?»
Чтобы немного прояснить этот вопрос, мы покажем стенд, где к Wiren Board 4 подключены периферийные устройства. На его примере расскажем про типовые варианты подключения устройств и датчиков.

На стенд можно посмотреть на него через онлайн-трансляцию и зайти в демонстрационный веб-интерфейс.
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 40