Все потоки
Поиск
Написать публикацию
Обновить
67.29

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

Все об АСУ ТП

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

ESP32 + LD2410: Архитектуры нейронных сетей для классификации движений

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

Микроконтроллеры давно перестали быть простыми устройствами для управления датчиками и исполнительными механизмами. Сегодня, благодаря библиотекам вроде TensorFlow Lite, даже компактный ESP32 способен выполнять инференс нейросетей в реальном времени. В этой статье я расскажу о серии экспериментов по классификации движений человека с помощью радарного датчика LD2410 и различных базовых архитектур машинного обучения, таких как полносвязная, свёрточная, рекуррентная нейронные сети и трансформер (механизм внимания).

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

Ознакомиться

Новости

Видеоаналитика в реальном времени: что делать, если нет GPU

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

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

Но что делать, если вы работаете не в IT-гиганте с дата-центрами и парком GPU, а в промышленной компании с изолированными сетями, ограниченными ресурсами и жёсткими требованиями к отказоустойчивости?
Рассказываю:

— почему разработка видеоаналитики в промышленности отличается от БигТеха;

— какие ограничения приходится учитывать: отсутствие GPU, изолированные сети и жёсткие требования к отказоустойчивости;

— как удалось оптимизировать пайплайн и сохранить стабильность его работы;

— какие локальные оптимизации реально работают (а какие дают минимальный прирост);

— как архитектурные изменения увеличили производительность в 28 раз;

— с какими вызовами команда сталкивается сегодня и что предстоит решать дальше.

Идеи из этой статьи будут полезны при разработке как продуктов видеоаналитики, так и других систем со множеством источников данных и обработчиков.

Подробный кейс с деталями

Как инженерная боль вдохновила на создание мобильного приложения — клиента Modbus TCP

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

Практические сложности настройки устройств Modbus TCP/RTU в промышленной среде и легкое решение через мобильное приложение.

Читать далее

ESP32: Базовые алгоритмы машинного обучения

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

ESP32 давно зарекомендовал себя как универсальный микроконтроллер для IoT: он умеет работать с Wi-Fi и Bluetooth, управлять сенсорами и исполнительными устройствами. Но за последние годы стало ясно, что даже на таких простых устройствах можно запускать алгоритмы машинного обучения.

В этой статье рассмотрим, как на ESP32 можно реализовать три базовых алгоритма классификациидерево решений, метод К-ближайших соседей (KNN) и полносвязную нейросеть на TensorFlow Lite.

Для эксперимента использовался датчик цвета GY-31 (TCS230). Он преобразует отражённый от поверхности на которую направлен свет в три значения — красный, зелёный и синий (R, G, B). Задача: по этим трём числам определить, какой цвет «видит» сенсор: красный, оранжевый, жёлтый, зелёный, синий, фиолетовый, белый или чёрный.

Ознакомиться

ESP32-CAM: Алгоритмы компьютерного зрения

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

Модуль ESP32-CAM - это доступное и компактное решение, которое сочетает в себе микроконтроллер ESP32 и камеру OV2640. Благодаря своей низкой цене и широким возможностям он стал популярным выбором среди разработчиков проектов в области IoT, компьютерного зрения и робототехники.

В данной статье я собрал серию из 15 практических уроков, каждый из которых сопровождается видео и исходным кодом. Вместе мы пройдём путь от базового примера захвата изображения до реализации алгоритмов компьютерного зрения и даже интеграции TensorFlow Lite для классификации объектов прямо на ESP32-CAM.

Материалы организованы по нарастающей сложности: начиная с простого веб-интерфейса и работы с памятью устройства, и заканчивая фильтрацией изображений, преобразованием Хафа и нейронными сетями. Для каждого урока вы найдёте:

Ознакомиться

Про асинхронное программирование микроконтроллеров и программирование аппаратных функций периферии процессора

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров7K

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

Читать далее

Собственный RISC-V процессор: от RTL до симуляции и синтеза под FPGA

Уровень сложностиСложный
Время на прочтение3 мин
Количество просмотров4.5K

Я всегда хотел собрать свой процессор. Не просто написать эмулятор или покопаться в чужих репозиториях, а пройти путь «от нуля»: описать RTL, прогнать через симуляцию, а потом оживить всё это на FPGA. В этой статье расскажу, как я к этому подошёл, какие инструменты использовал и на какие грабли наступил. Будет и Verilog-код, и опыт работы с симуляторами, и пара советов тем, кто захочет повторить эксперимент.

Честно говоря, идея «собрать свой процессор» долго казалась мне чем-то академическим. Мол, есть же готовые ядра: Rocket, BOOM, PicoRV32… Зачем плодить сущности? Но однажды я поймал себя на мысли: я могу запустить свой код на куске кремния, который я сам описал строчка за строчкой. Разве это не круто?

И вот я открыл текстовый редактор, выбрал Verilog, и начал писать. Да, граблей было предостаточно, да, дебаг занимал больше времени, чем разработка, но зато в конце на FPGA-плате мигнул светодиод, управляемый моим процессором. И ради этого стоило.

Читать далее

От «недиагностируемого утюга» к цифровому двойнику

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

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

Читать далее

Как искусственный интеллект приносит миллионы: кейс завода минеральных удобрений

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

Нейросети умеют не только писать водянистые тексты и создавать картинки людей с тремя руками, но и решать реальные промышленные задачи.

Привет, Хабр! Меня зовут Андрей Никитин, я руководитель направления искусственного интеллекта в IBS. В этой статье расскажу, как мы внедрили ИИ на производстве минеральных удобрений крупного химического холдинга. Поделюсь, зачем на производстве нужно машинное обучение и почему нашей команде пришлось погрузиться в изучение технологии производства удобрений.

Читать далее

Покраска Cтека (Stack Painting)

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

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

Читать далее

Как построить открытую АСУТП. Настройка плагина протокола Modbus TCP/RTU Master/Slave

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

Добрый день! Меня зовут Евгений Ионенко, я — руководитель направления в ИТ-команде «Северстали», занимающейся разработкой компонентов для открытой автоматизированной системы управления технологическим процессом (АСУТП). В марте этого года мы начали выпуск статей, посвящённых разработке компонентов открытой АСУТП, с предыдущей статьёй этого цикла можно ознакомиться здесь: Статья №3.

В этой статье я расскажу, как настраивать плагин протокола Modbus TCP/RTU Master/Slave на примере небольшого проекта.

Читать далее

Как мы автоматизировали хаос: реальный опыт внедрения 1С: Документооборот в организации с 500+ млн рублей оборота

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

Меня зовут Андрей, и последние 3 года я занимался цифровой трансформацией закупочных процессов в научно-исследовательском институте. Сегодня расскажу, как мы перевели организацию с бумажного документооборота на полностью автоматизированную систему в 1С:ERP с интеграцией 1С:Документооборот, и какие грабли собрали по пути.

Спойлер: экономия времени составила 70%, но путь был тернист.

Читать далее

STM32H745: взлетаем на 480 МГц

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


Речь пойдёт о микроконтроллере (МК) STM32H745IIT6, в корпусе LQFP — 176, с ядрами Cortex‑M4 240 МГц и Cortex‑M7 480 МГц. Далее я буду ссылаться на официальную документацию STM — RM0399 Reference Manual Rev. 4 и DS12923 Rev. 2 Datasheet STM32H745xI/G.

Что тут может быть сложного, спросите вы. В наш век IDE всё же решается автоматически? Нужно лишь нажать на кнопку? Но нет, не в этот раз, и не с родной средой производителя CubeIDE V1.18.0, куда интегрирован конфигуратор CubeMX 6.14.2. Для начала рассмотрим концепт масштабирования напряжения, или Voltage Scaling (VOS). Это означает, что чем выше тактовая частота, тем больше напряжения нужно ядру, и направлено на снижение потребляемой мощности, и соответственно, разогрева чипа. Отключить этот функционал нельзя. Соответствие между напряжением питания ядра VOS и тактовой частотой представлено в Таблице 1 ниже.

Читать далее

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

Сибур инвестировал в систему диагностики, чтобы предотвратить миллионы убытков от аварий

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

Каждый день на нефтегазохимических заводах СИБУРа работают тысячи единиц оборудования. Компрессоры, насосы, турбины — все они крутятся, нагреваются, изнашиваются. И рано или поздно ломаются.

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

Раньше мы узнавали о проблемах так: загорается красная лампочка, срабатывает сигнализация, агрегат останавливается. Оператор видит на мониторе: температура подшипника 120 градусов — критично! Производство встает. Вызываем ремонтную бригаду, ищем запчасти, теряем время и деньги.

Что если узнавать о проблемах раньше? Не когда температура подшипника уже 120 градусов, а когда она поднялась с обычных 65 до 75? Тогда можно спланировать ремонт, заказать запчасти, остановить производство согласно плану.

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

Читать далее

Назад в будущее: как мы разработали IT-решение для проблемы родом из 90-х

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

Для нашей заводской ТЭЦ на ЕВРАЗ ЗСМК в Новокузнецке жизненно важно поступление из пруда воды определенной температуры. Она нужна для охлаждения конденсатора паровой турбины — одного из важнейших элементов данного агрегата. С помощью турбины осуществляется выработка электроэнергии. Для эффективной работы ТЭЦ одного водоема‑охладителя мало, нужен второй, но его нет: в дефицитные 90-е обустроить еще один пруд не было возможности. Как эту проблему помогает решать разработанная нами модель‑подсказчик, расскажу я, дата‑сайентист ЕВРАЗа Александр Варкентин.

Читать далее

Цифровизация производства: как российские IT-решения экономят миллиарды

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

Обычно об ИТ в промышленности думают так: отчёты в 1С, легаси и никакой свободы действий. А если и есть цифровизация, то внедряют её только для того, чтобы выполнить KPI. Но если по-настоящему погрузиться в задачи разработчиков в промышленности, то станет ясно: здесь работают над сложными интересными кейсами, которые влияют на работу заводов и упрощают работу инженерам. 

И вот в нашем ИТ-кластере — Цифровом СИБУРе — мы задумались, как показать, что продукты наших разработчиков влияют на огромный промышленный комплекс. Тогда мы решили вместе с Хабром рассказать, какие технологии и решения мы создаём и как это помогает двигать промышленность вперёд.

Читать далее

Рецепт стали — теория и практика

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

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

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

По-хорошему, чтобы всё работало как часы, сталевар должен открыть технологическую инструкцию, найти нужный раздел в 185 её страницах между прочими рабочими задачами — и чётко всё сделать по пунктам. Но в цехе — не библиотека, и металл не ждёт. Поэтому бывалые сталевары давно научились действовать быстрее: запоминают, чувствуют, учитывают неформальные нюансы. Иногда неидеально, но чаще — точнее любого расчёта.

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

Но не взлетело.

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

В общем, мы были третьими, учли опыт неудачных попыток и сделали свою комбинацию подходов к разработке советчика. На этот раз он не просто экономил ферросплавы — он учитывал все особенности технологической инструкции и тонкости работы передела. В итоге у нас кое-что получилось. Middle-сталевары — уже наравне с моделью, а вот опытные её, конечно, уделывают играючи.

Читать далее

О чём Федеральный закон № 187-ФЗ РФ и какой новый закон теперь правит балом?

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

Какие дополнительные указы и обновления изданы?

Отношение к закону и реальная ситуация

Проблемы и положительные стороны принятия закона

Что делать тем, кого он касается?

12 июля 2017 года Государственная Дума приняла Федеральный закон о безопасности критической информационной инфраструктуры Российской Федерации (далее — КИИ). Закон был подписан Президентом РФ 26 июля 2017, вступил в силу 1 января 2018 года. Закон состоит из 15-ти статей, кратко описанных в конце данной публикации.

С того момента закон редактировался, был принят ещё целый ряд указов и правовых актов. Среди них приказ ФСТЭК России № 235 от 21.12.2017 (ред. от 20.04.2023) «Об утверждении Требований к созданию систем безопасности значимых объектов критической информационной инфраструктуры Российской Федерации и обеспечению их функционирования», а также приказ ФСТЭК России  № 239 от 25.12.2017 (ред. от 28.08.2024) «Об утверждении Требований по обеспечению безопасности значимых объектов критической информационной инфраструктуры Российской Федерации».

С 30 марта 2022 года благодаря указам № 166 и № 887 Президента РФ кардинально изменились требования и подходы к защите значимых объектов КИИ. Два ключевых изменения — запрет на приобретение иностранного ПО и ПАК с 31 марта 2022 года и полный запрет на использование импортного ПО и ПАК на значимых объектах КИИ с 1 января 2025 года.

Позже, 14 ноября 2023 года, во исполнение пункта 2 Указа № 166 Правительство выпустило Постановление № 1912, в котором, в частности, был установлен запрет на использование с 1 сентября 2024 года ПАК, приобретённых с той же даты  — 1 сентября 2024 года. В нём же был установлен срок перехода на преимущественное (пока ещё на тот момент!) применение доверенных ПАК до 1 января 2030 года.

Читать далее

Миграция программируемых логических контроллеров в непрерывном производстве: кейс и грабли

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

Кейс: замена иностранных ПЛК на заводе по производству непрерывного стекловолокна, сокращение простоев и внедрение мотивации персонала без остановки производства 

Замена иностранных ПЛК на отечественные: что пошло не так и как исправили 

В 2024 году выполнена замена 12-летних Schneider TSX на отечественные программируемые логические контроллеры (ПЛК) и SCADA-платформу — прямо на работающей линии непрерывного производства стекловолокна, где каждая остановка печи = потеря партии и дорогостоящий простой. В этом посте рассказываем, как за полгода ушли от сбоящих контроллеров к полностью отечественной архитектуре с Modbus-TCP, LD-кодом и отчётами, которые легли в основу механизма мотивации операторов. 

Структура 

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

Читать далее

Проектирование Информационных систем. Итоги, краткое изложение курса

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

Этап «Проектирование информационных систем» (ИС) — один из ключевых в жизненном цикле разработки ИС, так как он определяет, какой будет система, как она будет устроена и как будет реализовывать требования пользователей, какие будут накладываться ограничения и прочее.

Читать далее
1
23 ...

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