Как стать автором
Обновить
88.64

Промышленное программирование *

Все об АСУ ТП

Сначала показывать
Порог рейтинга
Уровень сложности

Нельзя Просто Так Пойти и Купить Овцу

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.1K

В этом тексте я собрал самые странные правила и рекомендации оформления исходных кодов, которые только попадались мне на работе в разных реальных компаниях.

Вот буквально несколько настоящих примеров из жизни. Парад нелепости.

Читать далее
Всего голосов 17: ↑8 и ↓9+2
Комментарии64

Новости

Очень простая и даже местами детская задача — во что она превратилась

Время на прочтение9 мин
Количество просмотров7.4K
image
Сепараторы, вид сверху

Сначала в карьере что-то бахает, потом мы дробим осколки породы на более мелкие части — примерно 5,7 мм. Наша задача — вынуть из руды все магнитные компоненты. Это мы делаем в магнитно-гравитационных сепараторах. Сначала большие дробилки превращают булыжники руды в гальку, потом — в зерно. Валковые прессы ещё больше истирают руду, которая затем идёт в шаровую мельницу, где она измельчается до стадии, когда магнитные составляющие практически полностью отделяются. В шаровой мельнице используется вода, 95 % которой добавляется на разных этапах. В итоге эту воду всё равно надо как-то «отжимать», и её удобно использовать как среду для мокрой магнитной сепарации.

Сепараторщик — человек с очень хорошим цветовым зрением. Время от времени он смотрит на цвет жидкости в МГС и «на глаз» определяет статус процесса: цвет от светло-бежевого до коричневого говорит о нормальной работе сепаратора. А если цвет становится более тёмным — это значит, что сепаратор начинает «хвостить» и пора вмешаться.

Поскольку отличить на глаз #996512 от #BF6009 легко, а вот от #88551F довольно сложно, на производстве предложили прикрутить к сепаратору колориметр. Это спасло бы от того, что они «хвостят», то есть подняло бы КПД на пару процентов и защитило от излишнего износа в нерасчётных режимах работы.
Читать дальше →
Всего голосов 45: ↑41 и ↓4+46
Комментарии27

Назад в будущее ПЛК

Время на прочтение9 мин
Количество просмотров6.3K

Технология программируемых логических контроллеров совершенно точно достигла зрелости – ей уже 60 лет. В связи с чем возникает вопрос: станут ли нынешние ПЛК «пенсионерами» и сойдут ли их будущие версии в могилу? Такое предположение кажется уместным, учитывая быстрое, а порой экспоненциальное развитие компьютерного оборудования, программного обеспечения, искусственного интеллекта, облачных сервисов и средств связи. Благодаря этим достижениям информационные технологии постепенно проникли в ранее изолированную сферу операционных технологий.

В свете этих событий приводим статью Джеффа Пейна, опубликованную в журнале Control Engineering о будущем контроллеров и приложений промышленной автоматизации на фоне происходящей в последние десятилетия эволюции ПЛК.

Читать далее
Всего голосов 6: ↑5 и ↓1+8
Комментарии11

Разговор с быдло-кодером

Время на прочтение18 мин
Количество просмотров5.3K

Вернемся к одному из проектов дистрибутива программной платформы SimInTeh,  который был рассмотрен в двух статьях(см. [1, 2]). Он же под именем "Управление водонагревательным котлом" включен в раздел "Лабораторные работы по библиотекам" справочной системы SimInTech. Последнее должно предъявлять к нему повышенные требования, как к примеру, поясняющему, рекламирующему те или иные стороны и возможности программной платформы. Одним словом, он должен быть идеальным ...

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

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

Итак, перед нами проект "Нагреватель" или "Управление водонагревательным котлом". Я не смог сразу найти проект в ВКПа к тем еще статьям, но, если честно, не сильно его и искал, т.к. решил, что проще создать новый. Хотелось проверить, что получится, если повторить в ВКПа автоматы, полностью аналогичные ранее созданным программным автоматам на внутреннем языке платформы SimInTech. А поскольку они были спроектированы согласно концепциям автоматного программирования, то препятствий не предполагалось. Но ... воистину - "не было этого никогда и вот опять".

Читать далее
Всего голосов 9: ↑6 и ↓3+6
Комментарии26

Истории

Hardware in the Loop (HIL) или как залупить модель с контроллером. Зачем и кому это надо?

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров2.4K

Отладка систем управления вместе с моделью объекта. 

В данной статье рассмотрены примеры использования графических языков программирования в жизненном цикле модельно-ориентированного проектирования для систем управления сложными техническими объектами. А также продемонстрировано, как графические языки программирования делают жизнь проще, но интересней. И чтобы читатель не заскучал, мы рассмотрим противостояние программистов и технологов. Это как Монтекки и Капулетти, физики и лирики, красное и белое.  Разберемся кто из них главный, а кто лишний.

Все события выдуманы, все совпадения случайны.

Определение:

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

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

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

Читать далее
Всего голосов 7: ↑6 и ↓1+8
Комментарии33

Интеграция clang-format в Процесс Сборки

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.8K

Есть такая тема, как автоматическое выравнивание отступов в исходных текстах программ на Си или С++. Притом для этого есть специальные утилиты. Например clang-format или GNU indent.

В этом тексте я написал, как встроить процесс выравнивания исходных кодов прямо в систему сборки проекта.

Цель данного текста- показать, как интегрировать clang-format в процесс сборки прошивки. Просто в одно касание и выровнять код, и собрать бинари.

Читать далее
Всего голосов 13: ↑4 и ↓9-1
Комментарии25

Разработка для заводов. Как это было

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров13K

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

Читать далее
Всего голосов 41: ↑39 и ↓2+51
Комментарии19

Линейная регрессия, решётчатые функции и типовые динамические звенья

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров843

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

Статья не претендует на научную точность, уникальность и оригинальность. Доступна в формате Jupyter Notebook и PDF по ссылке – https://gitflic.ru/project/56h/tde

Читать далее
Всего голосов 4: ↑4 и ↓0+7
Комментарии0

Виртуальная лаборатория робототехники или Как мы выбирали подходящее ПО

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.1K

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

Немного истории: факультет электромеханики (ныне переименован в Мехатроники и Автоматизации) НГТУ создавался в 50-х, чтобы готовить специалистов по разработке и производству электродвигателей, электрогенераторов e.t.c. Позднее факультет оброс кафедрами смежных направлений а в конце 2020-х открыл направление Робототехники. Профиль ФГОС и 70% предметов оставили прежними. Как и педсостав. В результате получили выпускников которые: умеют подобрать двигатели для круглого квадрокоптера в вакууме (и не только подобрать, но и спроектировать с нуля или пересчитать/перемотать); умеют настроить регуляторы для этого пепелаца; знают как рассчитать мощность и КПД. А вот о том, как программировать автопилот — только «имеют представление».

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

Читать далее
Всего голосов 3: ↑3 и ↓0+7
Комментарии7

Как программные ошибки приводят к катастрофическим последствиям

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров14K

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

В этой статье речь пойдёт о нескольких ярких случаях, когда сбои ПО серьёзно отразились на подобных критических средах, в которых ошибки недопустимы.
Читать дальше →
Всего голосов 55: ↑47 и ↓8+58
Комментарии45

Запуск I2S трансивера на Artery

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров3.8K

В этом тексте я написал про то, как самому написать System Software уровня HAL для ARM Cortex-M4 совместимого микроконтроллера.

Как отлаживать такую работу и на что обратить внимание при запуске I2S на Artery MCU.

Читать далее
Всего голосов 10: ↑7 и ↓3+8
Комментарии13

Как Проинициализировать Микроконтроллер [часть 2]

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4K

Программа это реализация алгоритма. А алгоритм это упорядоченная последовательность действий. Поэтому очень большое значение имеет правильный порядок исполнения программы.

В этом тексте я написал как автоматически выявить правильную последовательность инициализации

Читать далее
Всего голосов 11: ↑7 и ↓4+8
Комментарии27

От перегрузки к фокусировке: изучаем роль современных HMI в промышленной автоматизации

Время на прочтение8 мин
Количество просмотров936

Привет, Хабр!

Сегодня производственные процессы становятся все более масштабными, на заводах внедряются сложные цифровые системы и оборудование. Это приводит к увеличению нагрузки на операторов технологических установок, что в свою очередь негативно сказывается на эффективности и безопасности работы предприятий. В этих условиях совершенствование человеко-машинных интерфейсов (HMI — Human-Machine Interface) становится оружием, которое оптимизирует объем информации, поступающей к оператору, и существенно снижает производственные риски.

Читать далее
Всего голосов 8: ↑5 и ↓3+4
Комментарии0

Ближайшие события

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

Оптимизатор монтажей прокатного стана-2000

Время на прочтение13 мин
Количество просмотров4.8K
image

Оптимизация завода делается на разных уровнях. Вот пост про 48-недельное планирование (верхнеуровневая кластеризация заказов в серии) с посуточным планированием и графикованием цеха (что и в какой последовательности производить, чтобы потребовался минимум переналадок) с шагом планирования 10 минут.

Я занимался графикованием одного станка, правда, размером с огромный цех в несколько футбольных полей. Таких задач на заводе сотни, и вот я один из тех айтишников, кто их решал. Верхнеуровнево про работу цеха проката есть тут, поэтому сразу без вступлений давайте я расскажу про оптимизацию.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+36
Комментарии8

Очень непонятно и жутко интересно: IT-задачи на заводах

Время на прочтение4 мин
Количество просмотров9K

По образованию я инженер разгонных блоков и космических аппаратов, и погружение в производство началось еще в институте. Меня учили разрабатывать ракеты и спутники. А дальше оказалось, что в России это крайне малооплачиваемая отрасль. В итоге хобби админство в институте, стало работой, но знания полученные в ходе обучения очень помогают в текущих задачах. В производстве у меня было много проектов. Я реализовывал системы по техосмотрам и ремонтам в энергетике, участвовал в проектах на Уралхиммаше и на Дальневосточных распредсетях и много где ещё. Был даже опыт управления командой на рынке оптовых продаж электроэнергии России. А потом друзья позвали присоединиться к команде цифровизации в СИБУР.

Читать далее
Всего голосов 12: ↑6 и ↓6+6
Комментарии2

Масштабы, ответственность, близость к пользователям и продукту: что привлекает айтишников в промышленности

Время на прочтение6 мин
Количество просмотров1.1K

Всё началось в 2018 году, я сопровождал и развивал проекты американских стартапов из реальной отрасли экономики. Потом меня пригласили в крупнейший в России ритейл запчастей. Там было 250 СТО, 120 городов и 150 складов. Это были реальные склады, реальные продукты, реальные люди. Всё это мы сопровождали командой в 20 человек, и я понял, что объёмы — это интересно. Но в ритейле, в отличие от промышленности, очень короткий горизонт планирования. Я быстро достиг стеклянного потолка и понял, что надо двигаться дальше.

Перешёл в сферу цифрового телевидения, а оттуда в промышленность. Начал DevOps инженером, а через год стал руководить DevOps направлением. Наша команда из пяти человек за год выполнила 250 проектов. Поэтому нужно было срочно наращивать команду и быстро вводить её в процессы. Но на онбординг и вход в проект уходило три недели. Пришлось всё менять.

Читать далее
Всего голосов 14: ↑12 и ↓2+11
Комментарии0

Расчет КТУ с использованием библиотеки pandas

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2K

Коэффициент трудового участия — коэффициент, отражающий количественную оценку меры трудового участия отдельного работника в общих результатах труда группы работников, характеризующий суммарный вклад работника в общие результаты труда производственной бригады, коллектива

https://ru.wikipedia.org/wiki/Коэффициент_трудового_участия

Очень часто КТУ используют для начисления некого вознаграждения, премии или бонуса отделу или бригаде.

В своей статье я попыталась смоделировать ситуацию, когда у нас есть несколько факторов, которые влияют на увеличение/снижение КТУ работника в бригаде.

В таблице ниже приведен пример данных факторов.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии8

Чем живёт айтишник в атомной отрасли

Время на прочтение5 мин
Количество просмотров9.3K

Когда-то я работал системным инженером в одном из крупнейших российских системных интеграторов. Там внедрял и сопровождал системы электронного документооборота. В 2010 году «Гринатом» искал специалиста с моим опытом, чтобы сопровождать свою отраслевую систему документооборота. Мне понравились условия и возможность развивать новые продукты фактически с нуля, и я согласился. С тех пор работаю там, и за 14 лет работы развитие не останавливается. Растёт мое подразделение, и внедряемые технологии, и компетенции. Мы постоянно привносим новые решения, и это не останавливающееся движение очень мотивирует.

Читать далее
Всего голосов 14: ↑12 и ↓2+12
Комментарии15

Техникум: Автоматическое Aрхивирование Aртефактов

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.5K

В программировании микроконтроллеров на выходе получается довольно много артефактов. Всё это надо как-то связать и заточить в архив, чтобы всегда можно было ассоциировать *.hex с нужным для него *.map и *.elf.

Логичным шагом является архивация всех этих файликов в *.tar архив. Один архив очень удобен при транспортировке программного обеспечения.

В этом тексте я написал как это можно провернуть средствами утилиты GNU Make.

Читать далее
Всего голосов 11: ↑5 и ↓6+3
Комментарии38

Виртуальный анализатор

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров755

В последнее время на производственных площадках нефтепереработки и нефтехимии все чаще стало звучать словосочетание «Виртуальный анализатор». Что же это такое? Давайте разберемся.

Виртуальный анализатор – это косвенное измерение параметров качества (концентрации/ содержания) компонентов в выпускаемой продукции, в основе которой математическая модель, рассчитанная на статистических исторических данных. Он позволяет в режиме реального времени видеть качество продукта на технологическом объекте. В качестве входных параметров модели используются датчики с приборов КИП технологических объектов: температуры, давления, расходы и т.д.

Классическая математическая формула виртуального анализатора выглядит как:

ВА = k1*X1 + k2*X2 + kn*Xn + bias,

Где ВА – значение виртуального анализатора, X1…Xn технологические параметры (температура, давление, расход и т.д.), k1…kn коэффициенты этих параметров, полученные при построении модели в специализированном ПО, bias – свободный коэффициент для корректировки показаний виртуального датчика. В конце статьи это формула станет гораздо понятней :)

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0
1
23 ...

Вклад авторов