АСУТП программист

Всем привет!

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


Специфика.

Что такое АСУТП? Да везде где есть оборудование есть и автоматизация, и чем больше и сложнее оборудование тем больше автоматизации. Вот есть у вас насос, его надо включать/отключать, если есть датчики то хорошо бы смотреть на их показания. Все это дело подключается к контроллеру (ПЛК или PLC на буржуйском), на ПЛК крутится программа которая обрабатывает входные выходные сигналы, если надо включает его, если надо -выключает. Насос может стоять где-нибудь в ебенях, посреди поля, болота, леса. Хорошо бы не ходить каждый раз к нему. Тогда берем кабель и подключаем ПЛК к компьютеру который стоит в паре сотне метров отсюда, в теплой операторной где сидит дядя (или тетя) оператор и попивая чаек может за этим насосом посматривать. Он его может включить или выключить, а заодно поглядывать на датчики, а еще можно посмотреть как много он отработал, сколько раз включался и прочее и прочее. А теперь представьте что насос не один а их 100500 штук.

Все что крутится на ПЛК является самым ответственным и называется средним уровнем. Он работает годами без остановки, внезапно заглючить они не имеют права и на всякий случай их ставят сразу два, если с одним что-нибудь случится, второй включится в работу автоматом. Все что видит оператор это SCADA система, проще говоря "отображалка", она крутится на компьютере, их тоже на всякий случай два и больше, они, как и свойственно всему что работает на винде, могут виснуть глючить, вылетать и в конце концов совсем сдохнуть, но рабочий процесс повлиять не должно т.к. все крутится на ПЛК.


Для программирования ПЛК существуют несколько языков (недоязыков) программирования которые объединяет стандарт МЭК 61131-3.

Вот например так выглядит FBD

АСУТП программист АСУ ТП, Программист, Программирование, ПЛК, Мат, Длиннопост

А вот LD

АСУТП программист АСУ ТП, Программист, Программирование, ПЛК, Мат, Длиннопост

Но это все дичь на которой уже особо не работают, либо применяют очень локально. В основном же используется ST, который очень похож на паскаль:


VAR_CONSTANT

Array_Sz: BYTE := 4;

END_VAR

VAR

Iter: BYTE;

arr: ARRAY [1..Array_Sz] of real:=3.2, 4.2 ,1.4, 7.8;

fnd_max:REAL := -1.2E38;

END_VAR

FOR Iter := 1 TO Array_Sz DO

fnd_max := MAX(fnd_max, arr[Iter]);

END_FOR

Еще возможно вставки на языке Си.

Что касается верхнего уровня, то тут зоопарк языков намного шире. В зависимости от того с какой SCADA системой вам придется иметь дело тут и VBA ( в основном), C, Python, SQL, а еще может быть какой-нибудь свой скриптовый язык. Также не забываем про всякие вспомогательные утилиты, а их можно писать на чем душа пожелает, хоть плюсы, хоть питон.


Командировки.

Когда я устраивался на работу мне сразу сообщили что 100 дней в году я буду проводить в командировках. По факту к счастью получалось меньше. Это сильно зависит от самого программиста. Я как хронический домосед и интроверт был не в восторге от перспективы поездок но ситуация была такова что выбирать не приходилось. Самое главное это куда, на какие объекты. Может быть нефтедобыча или за полярным кругом. Сами смотрите хотите ли вы туда. Я обычно гонял южнее полярного круга, но с запада на восток почти всю страну объездил. Любой проект который делает программист отвезут на "объект" и там придется его еще запускать, и там по любому понадобится присутствие программиста, может он просто будет смотреть если до этого все сделали чётко, а может в мыле будет допиливать весь код на месте. Все зависит от заказчика. Места у меня были разные, бывало жил в городе в хорошей гостинице, а бывало что в тайге прямо на станции.


Зарплаты.

у меня было >100к среднегодовая, и это не Москва даже близко. Откройте хх, там и 200к есть. Обычно пишут зарплату "от" но верхней планки нету. Меня взяли на работу совсем без опыта, и без соответствующего образования, специфика работы такая что ты не можешь загуглить, нету ответов в гугле, надо читать документацию, документацию на оборудование вы может найдете а вот регламенты заказчика? это вообще с грифом ДСП. надо изучать много специфичных и очень непопулярных вещей. Чем больше больше узнаете, тем больше ваша ценность. Если вы потом сможете затащить проект, сумма контракта которого исчисляется сотнями млн руб. то ваша зарплатная планка улетит в небеса а вас как спеца будут боготворить. Были у меня и такие примеры.

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

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

Лига программистов

1.5K постов11.4K подписчиков

Добавить пост

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества