66

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

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

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

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


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


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

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

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


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

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

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

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

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


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

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

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

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


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


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

Вы смотрите срез комментариев. Показать все
13
Автор поста оценил этот комментарий

8 лет этим занимаюсь. Первые 1,5 года схемы щитов управления рисовал, а дальше - программирование ПЛК, HMI, SCADA. И устал от этого очень сильно. На самом деле тут программирование-то очень примитивное с точки зрения использования конструкций языка, условия одни, ветвления и таймеры, да и сами языки специализированные, с которыми ты в другую сферу никуда не перейдёшь, потому что твой SFC, FBD, LD, да же ST/STL нахрен больше нигде не нужны в современном мире. Примитивное, казалось бы, должно быть простым - но ничего подобного, бывают такие алгоритмы на этих условиях что ахренеть просто. ТЗ обычно придумываешь сам, - у нас страна некомпетентных менеджеров, которые не могут составить грамотно ни один технический документ. Командировки - это самый большой минус в этой работе, от Ростова до Сахалина - напутешествовался досыта. В жопу мира куда-нибудь попал, где вообще негде купить не то, что реле, а даже кабель сетевой, нет ни одного магазина. Оборудование могут не давать в работу, - сидишь неделю-две на объекте хернёй страдаешь. Полная некомпетентность людей на объектах и отсутствие даже КИПовца, - довольно часто встречается, и случись что - тебе даже никто сказать не сможет в чём дело и поедешь через пол-страны чтобы кнопку нажать и всё заработает... Второй минус, который обламывает так же как первый - ты используешь в своей работе разное оборудование разного качества и разное ПО, среды разработки, OPC-серверы, SCADA-системы. Оборудование и ПО разных производителей далеко не всегда гладко работают между собой, и всплывают всякие косяки, которые ты вообще в принципе решить не можешь. Всякие потери связи, зависания, просто неадекватная работа софта от небольших контор, которые вместо стандартных протоколов изобретают свой фирменный и кривой (конченные просто, нахрена? есть же спецификация и куча реализаций Modbus RTU/ASCII), и потом пилят для него ещё более кривой софт для опроса на ПК. Тебе мешают все эти программные прослойки и те ошибки, которые в них допущены их разработчиком. Сделать толком нихрена с ними нельзя, а на тебя заказчик смотрит как на всезнайку и мага-волшебника, который всё щас сделает. И если что-то идёт не так, - то смотрят уже на тебя как на дебила, хотя любой спец точно так же ничего не смог бы сделать, кроме как свои драйвера писать под это дерьмо в коробочке. И многие люди в принципе не понимают того, что все приборы, электроника, интерфейсы - это всё материальные сущности и на них распространяются законы физики, но люди считают что там всё работает на магии какой-то и должно всё везде быть идеально. Моральное выгорание, тупость, ремесленничество. Надоело до смерти.

раскрыть ветку (12)
4
Автор поста оценил этот комментарий

Бро, ты буд-то про меня написал. Все так и есть. Вот только несмотря на это вот все, мы довольно крепко сидим на финансовой игле. Которая гонит нас во все более глубокие ебеня. Я десять лет в этой теме.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Да, деньги решают всё..

3
DELETED
Автор поста оценил этот комментарий

Полностью согласен почти со всем. Но сейчас работаю там, где в 95% всех проектов используется продукция фирмы Siemens. Без использования ОРС и других ищвращенств в виде кастомных протоколов, да и без того же Модбаса, который иногда глючит очень сильно, в отличии от того же профинета с которым очень удобно работать и документации в сети очень много. На данный момент командировки у меня будут по странам Европы, по СНГ проектов здесь очень немного. А по поводу перейти куда-то в другую сферу это проблема всех специальностей. Перейти из менеджера в программисты так же сложно как перейти из АСУТП в программисты АйТи. Если не секрет, после 8 лет в автоматизации куда вы перешли? Я долго думал, что в конечном итоге выбрать АйТи или автоматизацию, но в другой стране, но так и не знаю какой правильный ответ)) попробую поработать в зарубежной компании, а потом посмотрим. Пока мне нравится смотреть на то, что оборудование для которого я писал софт работает. Это реальный объект, который можно потрогать, в отличие от всего в АйТи связанного с созданием разного рода сайтов.

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

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


Я ещё никуда не перешёл, так же и занимаюсь этой работой на том же месте. Интересно было перейти в программирование микроконтроллеров, на AVR-ке даже сделали с коллегой один прототип прибора, с RS-485 и Modbus-RTU, экраном из 8-ми семисегментных индикаторов. Можно сказать свой "ПЛК" сделали). Но такого опыта мало чтобы перейти в программисты микроконтроллеров, - подавал резюме в несколько таких компаний - не берут. Надо больше учиться и изучать С++, кучу всяких алгоритмов, современные микроконтроллеры типа STM32, системы реального времени, Linux, и это прямо-таки пропасть, которую непонятно как перепрыгивать. Ещё хотел игры начать делать на движке Unity, специально для этого прошёл обучающий курс по C#, но этого мало тоже, ещё кучу информации нужно впитывать по этой тематике. В серьёзную игровую студию не попасть, думал свою какую-нить игру сделать для Android, вдруг выстрелит). Но пока нет ни сил, ни времени на какое-то самообразование, и всё это только в планах остаётся.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ещё хотел игры начать делать на движке Unity, специально для этого прошёл обучающий курс по C#, но этого мало тоже, ещё кучу информации нужно впитывать по этой тематике. В серьёзную игровую студию не попасть, думал свою какую-нить игру сделать для Android, вдруг выстрелит). Но пока нет ни сил, ни времени на какое-то самообразование, и всё это только в планах остаётся.

Это всё хуйня! Лучше нарабатывайте опыт и старайтесь устроиться куда-то заграницу. Таких как вы скоро будет раз два и обсчелся..

0
Бикукле Кукумберович
Автор поста оценил этот комментарий

Можно к вам обратиться за консультацией в начинаниях изучения скада от сименсов?

0
Автор поста оценил этот комментарий

Что должен знать и уметь инженер АСУТП?

0
Бикукле Кукумберович
Автор поста оценил этот комментарий

Можно к вам обратиться за консультацией в начинаниях изучения скада от сименсов?

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Здравствуйте, напишите на почту.

0
Автор поста оценил этот комментарий

Добрый день, и что в итоге? Остались в этом теме? Либо нашли что-то другое?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Да в целом остался в этой теме. В другую фирму перешёл, тут другой технологический процесс, который надо автоматизировать. Нет командировок, другой ритм работы, другие ПЛК, другая SCADA, другие люди, другие задачи. Поэтому терпимо было, но уже всё начинает портиться. А по старой работе дофига подработок предлагают, если всё брать то можно просто умереть от переутомления. Сейчас очередная точка выгорания начинается, а куда переходить отсюда... Сайты делать не умею и не хочу, микросхемы программировать - не берут т.к. мало опыта. Игры - давно уже понял что Unity не то, что нужно, сейчас начинаю UE 5 изучать, но искусственный интеллект как будто бы скоро всё это на ноль помножит, поэтому тоже хз. В той же точке по сути остался

0
Автор поста оценил этот комментарий

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

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества