Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Монстрикс — это динамичная стратегия, где ты собираешь, улучшаешь и сражаешься с могучими монстрами.

Монстрикс

Мидкорные, Стратегии, Мультиплеер

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
66
DELETED
4 года назад

Мой путь в пром. автоматизацию. Инженер-программист АСУТП⁠⁠

Итак, не так давно был пост  Замкнутый круг - Siemens вокруг! не думал, что оставленный мною комментарий приведет к появлению у меня подписчиков и интересу к вопросу как стать программистом АСУТП.

Опишу вкратце саму специальность, обязанности и как я к этому пришел. Будет много текста.

Что делает любой программист? Правильно - программирует. И на этом можно было бы окончить описание, но не все так просто. Начнем.


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


Обязанности могут быть самые разнообразные. В небольших компаниях инженер-программист может проектировать электрические схемы для автоматизируемого устройства, а затем и писать программу. В более крупных компания только программирование. Работал в компании где было 10 человек, не считая  монтажников и в компании, где было свыше 200 сотрудников. Всегда будут командировки - вы будете участвовать в пуско-наладочных работах. Это если из основного. Не удивляйтесь и ситуации когда программист будет с отверткой что-то ковырять в щите управления чем-либо, отсюда следует, что вы обязаны уметь читать и при необходимости изменять электрические схемы, знать технику безопасности и ПУЭ ваша настольная книга. Иногда меня хотели заставить что-то изменить в силовой части подключения, но я этого не делал как бы косо на меня не смотрели электрики/монтажники. А вот объясню почему, на всех фирмах, где я работал у меня не было допуска по электробезопасности, а отсюда следует, что я вообще не должен лезть туда, где есть напряжение. Так что нет допуска - нет и каких-либо изменений схемах шкафа управления.

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

В общем выполнение работ по автоматизации проходит следующие стадии (упрощенно, на самом деле все немного сложнее):


1. Если участвуют несколько отделов в реализации проекта, то, когда приходит запрос из отдела продаж, каждый отдел предоставляет часы, которые потратит специалист на реализацию своей части. Далее это все суммируется и возвращается в отдел продаж. Они офигевают и ообычно на этом этапе уменьшаются часы, заложенные различными заинтересованными отделами, ибо дорого, и нужно продать. Ненавижу за это "продажников", хотя и понимаю, что это бизнес. Чтобы было понятно, в компании, где было больше 200 сотрудников были: департамент проектирования, департамент разработки ПО, департамент пуско-наладочных работ. И каждое подразделения выдавало кол-во часов на этот проект, необходимое для выполнения их части работ. И как итог выиграли тендер (если повезло, не будем говорить про остальные схемы).

2. На этом этапе обычно пишется ТЗ (технологическое задание) программистом на автоматизацию, хотя должно быть наоборот, заказчик должен предоставить описание того, что он хочет получить. Но у меня было так, как описываю. Дальше это ТЗ долго и нудно согласовывается с заказчиком, вносятся правки, ставятся подписи. Хотя это совсем не гарантия того, что ТЗ останется неизменным. Правки могут прийти, когда до начала пуско-наладочных осталось совсем немного времени, но почти всегда фирма-исполнитель прогибается под заказчика и программист потом в панике вносит изменения, что приводит к тому, что ПО будет не протестировано до конца, что приводит к задержкам при вводе в эксплуатацию и т.д. Но никого это обычно не волнует, хоть спи на объекте, но оно должно работать.

3. Когда есть ТЗ начинается, собственно, и реализация/придумывание того, как же оно все должно работать. Помимо программы для контроллера (ПЛК - программируемый логический контроллер) иногда нужно сделать и визуализацию. Для визуализации, в зависимости от поставленных целей применяется SCADA или HMI. В чем отличия отлично гуглится (статья и так уже огромная, сам не ожидал).

4. Тестирование программы на стенде или в симуляторах. Отлично работающая программа в симуляторе не равно иногда даже работающей на «живом объекте».

5. И самый интересный момент — это пуско-наладка (ПН). Об этом напишу подробнее.


Итак, что должен делать инженер во время ПН. Для удобства разделю на этапы.

1. I/O check проверка правильности подключения всех входов/выходов ПЛК (программируемый логический контроллер). И если что-то неправильно – то исправление. На данном этапе никакого ручного управления, не говоря уже про автоматизацию нет. Просто в контроллере можно жестко активировать выход и посмотреть, тот ли механизм включился. С входами проще, бегаешь вокруг механизма и тыкаешь кнопки, замыкаешь вручную концевые выключатели и смотришь, соответствует ли это тому, что ты заложил в программу. Для тех, кто не в теме, каждый контроллер имеет входа и выхода. Входа используются для сбора данных с механизма (всякого рода датчики, кнопки и т.д.). Выхода же нужны для управления устройством, например включить двигатель, закрыть задвижку и т.д. Это если очень упрощенно и не вдаваясь в подробности.

2. Если предыдущий этап закончился успешно и все собрано правильно (на более-менее больших объектах с первого раза никогда все правильно собрано не будет) – то приступаем к проверке в ручном режиме. Для этого либо со SCADA либо HMI включаем/выключаем узел агрегата и смотрим все ли правильно работает и все ли правильно отображается. Часто бывают ошибки (если используется визуализация) в привязках переменных к объекту на визуализации. Например, запустили один механизм, а на панели/скаде отображается, что включился другой, хотя работает правильный ну и т.д. Эти ошибки сразу же исправляются и процесс проверки продолжается.

3. Когда закончили ручное тестирование – переходим к самому сложному и интересному (вот тут симулятор, если тестировалась программа на нем, и дает прикурить иногда). Автоматический режим. Ну с ним все ясно, перевели все механизмы в автомат и запустили объект.


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


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

Показать полностью
[моё] АСУ ТП ПЛК Scada Автоматизация Siemens Plc Длиннопост Текст
44
31
antexdom
antexdom
5 лет назад
Arduino & Pi
Серия Контроллер интернет вещей AntexGate

SCADA для LINUX. Есть ли жизнь на ARM е?⁠⁠

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Имея достаточно большой опыт работы в области промышленной автоматизации, мы вечно находимся в поиске оптимальных вариантов для решения своих задач. В зависимости от технического задания заказчика, приходилось останавливаться на той или иной программно-аппаратной базе. И если не было каких-то жестких требований по установке оборудования Siemens в связке с TIA-portal`ом, то, как правило, выбор падал на MasterSCADA 3.XX. Однако ничто не вечно под луной…


О своём опыте перехода на MasterSCADA 4D, предпосылках, особенностях её работы на встраиваемых компьютерах архитектуры ARM под катом данной статьи.


Предпосылки


Мы начали тестировать относительно новую разработку компании Insat – MasterSCADA 4D – не так давно. Предпосылок для этого было несколько. Во-первых, мы провели несколько независимых опросов среди специалистов в области промышленной автоматизации с целью выяснить, какие SCADA-системы наиболее популярны (рисунок 1). По результатам опроса первое место среди отечественных систем занимает система MasterSCADA.

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 1 — Результаты опроса наиболее популярных SCADA-систем


Второй предпосылкой можно считать…


Теперь перейдем непосредственно к самой MasterSCADA 4D. Она состоит из двух программных продуктов, а именно: среда разработки и среда исполнения. О работе каждой из этих частей поговорим ниже.


Среда разработки


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

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 2 — Интерфейс среды разработки


Первое, что бросается в глаза — это приятный интерфейс среды разработки и удобная иерархическая структура построения проекта. Теперь в одном проекте можно создавать программу не только под АРМ, но и под весь объект, начиная с контроллера — заканчивая сервером или рабочим местом оператора.


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


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

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 3 — Элементы визуализации


Коммуникационные протоколы


В системе поддерживаются различные драйверы (протоколы обмена), которые по умолчанию интегрированы в MasterSCADA 4D:


Modbus TCP/RTU, RTU поверх TCP

DCON

OPC UA/DA/HDA

IEC61850

SNMP

PostgreSQL

MQTT

IEC104

MSSQL

MySQL

Меркурий (отдельная библиотека) и др.


Среда исполнения


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


Устройство AntexGate


MasterSCADA Runtime предустановлена отдельной опцией на встраиваемый ПК AntexGate с архитектурой процессора ARM и операционной системой Debian, тесты будем проводить на этом устройстве.

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 4 — Устройство AntexGate


Характеристики:


ЦПУ: 4-ядерный x64 ARM v8 Cortex-A53

1.2Mhz Оперативная память: LPDDR2 1024MB

Энергонезависимая память: 8/16/32GB eMMC


Подробнее об устройстве можно прочитать здесь.


Запустим программу в исполнительном устройстве. Для примера мы создали опрос и управление устройством по протоколу Modbus RTU, процесс настройки опроса интуитивно понятный и чем-то похож на настройку привычного OPC-сервера. Правда сейчас в RunTime встроены драйверы протоколов для обмена данными.


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

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 5 — Проект в среде разработки


В итоге у нас получилась простая мнемосхема (рисунок 6), которая работает в любом браузере с поддержкой HTML5.

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 6 — Мнемосхема


Варианты отображения информации HMI


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

В нашем случае на устройстве предусмотрен вывод информации через HDMI, Ethernet, 3G.

При подключении через HDMI мы обращаемся на LocalHost 127.0 0.1:8043 через встроенный браузер в AntexGate, либо подключаемся к фиксированному IP:8043 адресу в интернете или локальной сети предприятия другим «Тонким клиентом».

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 7 — Структура мониторинга WEB


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

На сегодняшний день каждый имеет возможность получить недорогой VDS-сервер в интернете с фиксированным IP-адресом (например, сервер сайта компании) и развернуть на нем MQTT Broker (например, Mosquito).

Получив один сервер с MQTT брокером, мы легко можем отвязаться от дорогих услуг оператора — фиксированного IP и платить в год 900 рублей вместо 4000 рублей за связь 3G, т.е. при подключении 500 устройств экономия в год более 1,5 млн.руб..

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 8 — Структура мониторинга MQTT


Такое построение сети позволит не только экономить на трафике, но и обезопасит данные, так как передача данных по протоколу Modbus TCP в сети интернет не гарантирует безопасность и качество связи.

Таким образом, вы можете продавать тиражируемые проекты, в которых клиент сам выбирает поставщика интернета. И ни у кого не болит голова с настройкой и выделением IP адресов: клиент сам вставляет любую SIM-карту или подключается к маршрутизатору с DHCP-сервером.


Быстродействие


Для проекта главное быстродействие, в этом нам помогут так называемые «Задачи». По умолчанию у каждого узла при его создании только одна — Основная задача. Разработчик проекта может создать их столько, сколько необходимо для работы конкретного проекта. Особенности вычисления, например, цикл вычисления, будут зависеть от настроек той или иной задачи. Каждая из них будет работать независимо от других в устройстве. Создание нескольких задач целесообразно, если необходимо обеспечить разные циклы вычисления разных программ проекта.


Данная функция особенно интересна для устройств, на борту которых процессор с несколькими ядрами. Каждая «Задача» запускается как отдельный процесс в системе и нагрузка распределятся равномерно на работу процессора. В устройстве AntexGate установлен процессор ARM с 4-мя ядрами по 1.2ГГц и 1ГБ оперативной памяти, что позволяет создать как минимум 4 крупные задачи и распределить нагрузку по ядрам. В сравнении с ПЛК, устройство AntexGate может предоставить как минимум в 4 раза больше вычислительных способностей за такую же цену.

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 9 — Загрузка вычислительных способностей AntexGate в режиме исполнения


Как мы видим из рисунка 9, загрузка ЦП не более 2,5%, а памяти выделено всего 61Мб. Таким образом, небольшой проект в режиме исполнения потребляет очень мало встроенных ресурсов.

Устройство может использоваться не только как контроллер, но уже и как полноценный сервер с опросом более 2000 точек ввода-вывода и возможностью поддержки более 100 WEB-клиентов.


Для примера подключим 9 WEB-клиентов к устройству и посмотрим прогресс потребления ресурсов (рисунок 10).

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 10 — Загрузка вычислительных способностей AntexGate при подключении 9-ти WEB-клиентов


Как видно из рисунка выше, загрузка ЦП поднялась в среднем с 2,5% до 6%, а памяти выделено всего на 3Мб больше.

Благодаря большому запасу вычислительных ресурсов устройства, разработчику нет необходимости экономить на качестве программы, созданной в MasterSCADA 4D.


Кроссплатформенность


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


Заключение


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

SCADA для LINUX. Есть ли жизнь на ARM е? Scada, ПЛК, Linux, Raspberry pi, Гифка, Длиннопост

Рисунок 11 — Окно справки


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


Хотелось бы увидеть в комментариях, какие вопросы больше всего интересуют Вас. И самые часто задаваемые мы по возможности превратим в урок по созданию проектов в MasterSCADA 4D.

Показать полностью 11
[моё] Scada ПЛК Linux Raspberry pi Гифка Длиннопост
28
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии