Обновить
50.34

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

Все об АСУ ТП

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

Простой пример использования в ПЛК нейросетевого контроллера

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

Современный мир движется к объединению технологий: промышленной автоматизации и искусственного интеллекта. Но для меня, занимающегося программированием в сфере АСУ ТП, было трудно понять, как на ПЛК, с его скромными техническими характеристиками и средой Codesys или TIA Portal можно применить технологии ИИ. На форумах готового решения не нашел, но проникся мыслью, что лучше обучить нейросеть на Python, а затем готовые веса и структуру перенести в Codesys. Я решил использовать OpenAI Gym, задачу CartPole. Это классическая задача обучения с подкреплением, где цель агента состоит в том, чтобы удерживать шест в вертикальном положении, выбирая действия (движение влево (0) или вправо (1)), на основе текущего состояния системы. План действий: для получения весов написать класс нейросети на PyTorch с использованием пакет DEAP.  После этого написать Modbus TCP сервер на Python с окружающей средой CartPole, подсоединиться к нему с помощью ПЛК. Полученные данные обрабатывать в ПЛК и передавать сигнал, который будет управлять тележкой, на сервер.

Читать далее

Эксгаустеры и где они обитают: о новой разработке рассказывает эксперт ЕВРАЗа

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

Исключить аварийные остановки на производстве и прогнозировать время, когда агрегаты нуждаются в ремонте, — такие цели успешно реализовала команда ЕВРАЗа. Для этого на агломерационной фабрике внедрили автоматизированную систему, причем не отличающуюся особой сложностью. Как она работает, расскажу я, Python Backend разработчик компании Ольга Седова.

Читать далее

Team Topologies: Инструкция по выживанию для платформ, которые перестали масштабироваться

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

Представьте, что ваша компания — это город. Сначала это посёлок с одной улицей, где все знают друг друга и работают сообща. Но когда посёлок превращается в мегаполис, старые правила перестают работать: дороги забиты, свет отключается, а жители бунтуют. То же происходит с IT-платформами: на старте монолит кажется простым решением, но с ростом он душит развитие. Team Topologies предлагает альтернативу — превратить платформу в сеть «умных посёлков», где каждый сервис развивается автономно, но по общим правилам. В статье разберём базу как это работает и посмотрим на примере реальной компаний. 

Читать далее

Делаем собственный анализатор C++ кода в виде плагина для Clang

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


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


Недавно вышла новая версия библиотеки memsafe для языка С++, которая превращает его в Rust с помощью плагина Clang добавляет в С++ безопасное управление динамической памятью и контроль инвалидации ссылочных типов данных во время компиляции приложения.


Но данная статья не о библиотеке, а об особенностях разработки анализатора программы на С++ в виде плагина для Clang.


Можно считать, что это подведение итогов по результатам сравнения нескольких разных способов создания плагина для компилятора С++, а так же очередной Хабрахак для хранения результатов экспериментов и публикации итоговых выводов, которые я решил сохранить не только для себя, но и в виде статьи на Хабре, что бы результатами моего труда могли воспользоваться и другие хорошие люди :-), которым так же может потребоваться погрузиться в дебри парсинга исходного текста программ.

Читать дальше →

Умный дом. Как соединить разные технологии? Реальный опыт

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

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

Читать далее

Восстановление работы конвейера розлива бытовой химии

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

Постановка задачи была такой: конвейер розлива бытовой химии перестал работать по неизвестной причине. Контроллер S7-1200 Siemens встал в стоп-режим и отказывался работать. Перезапуск контроллера по питанию не помогал. Конвейер простаивал, что вело к серьезным убыткам. Владельцам срочно требовалось восстановление работоспособности линии.

Позднее удалось понять, почему старые системы на подобных ПЛК Siemens встают. Если со временем возникают дефекты питания контрольных цепей датчиков 24VDC, и они начинают «коротить» о корпуса, то контроллер воспринимает это как критическое нарушение и останавливает работу, переходя в режим «Стоп». При этом выйти из этого режима (сбросить его) возможно только при наличии исходного кода и онлайн соединения с контроллером.

Читать далее

Разработка AI‑приложений с Effect

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

Эта статья рассказывает о интеграционных пакетах AI от Effect – наборе инструментов для упрощения работы с крупными языковыми моделями (LLM) в современных приложениях. В ней подробно описывается, как можно использовать универсальные сервисы для разработки AI‑функционала, не привязываясь к конкретному провайдеру, что позволяет сократить объем «клейкого кода» и снизить технический долг.

Авторы делятся опытом создания системы, в которой взаимодействия с LLM становятся максимально удобными и гибкими. Рассматриваются вопросы тестирования, параллельного выполнения запросов, стриминга ответов и мониторинга производительности – всё это делает интеграцию с AI не только мощным, но и надежным решением для разработки сложных приложений.

Данная статья будет полезна разработчикам, стремящимся внедрить передовые технологии AI в свои проекты без лишних сложностей. Она показывает, зачем нужен подход, независимый от провайдера, и почему использование Effect может значительно упростить жизнь при работе с различными поставщиками LLM.

Читать далее

Заметки теоретика. Платформенная инженерия: Как выбрать тип платформы для вашей компании?

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

Вы задумали создать платформу, но не знаете, с чего начать? Сегодня «платформой» называют всё — от облачных сервисов до экосистем вроде Apple. Но чтобы не потратить годы и миллионы впустую, важно выбрать тип, который решит ваши задачи, а не будет данью моде. Как не запутаться? Давайте разберёмся.

Читать далее

Препарируем промышленные протоколы — как и зачем

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

Привет, Хабр! Я Роман Сафиуллин, руковожу отделом защиты информации InfoWatch ARMA. Мы занимаемся защитой инфраструктуры промышленных предприятий от киберугроз, и сегодня хочу поделиться с вами инструкцией по разбору промышленных протоколов на примере протоколов IEC104 и Fanuc Focas.  В основе статьи – мой доклад на конференции Industrial++. Совместно с коллегами из отдела разработки ARMA – Сергеем Калдыркаевым и Алексеем Пуцем, собрали для вас немного цифр по атакам на промышленность, примеры интересной малвари и, собственно, туториал по разбору пром. протоколов.

Читать далее

Открытая шина данных АСУ ТП

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

Над созданием открытой шины данных АСУ ТП работают как российские, так и зарубежные разработчики. Причина понятна – уйти от проприетарных протоколов и решений и создать единую прозрачную среду передачи данных систем автоматики. Раскроем суть задач, стоящих перед разработчиками.

Читать далее

Кроссплатформенный терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 4

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

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

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

Подробнее читайте в этой статье!

Читать далее

Как построить открытую АСУТП. Рождение идеи открытых систем: почему мир движется в этом направлении

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

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

Читать далее

Как мы готовим чугун без дефицита ингредиентов

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

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

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

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

Читать далее

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

Замер сложных помещений, если нет миллиона на тахеометр

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

Обычно замер это ровные линии (лазер) между двумя параллельными плоскостями - например, от одной стены до другой или от угла комнаты до откоса окна и т.д. С не очень высокой точностью можно измерять углы в помещении, т.к. сразу в углу комнаты может быть один угол, а в метре от него уже совсем другой из-за изгиба стены. Это происходит из-за специфики ремонтных работ - часто к полу и к углам получается наплыв штукатурки, а чтобы отчитаться заказчику, строитель просто доделывает сам угол в том месте, где можно приложить угольник. И даже если в самом углу приложенный угольник показывает 90 градусов, то стены могут стоять друг к другу под отличным от прямого углом. Или даже если ты увидел кривизну стены, то как её перенести в чертёж достоверно?

Сделаем систему измерения среза помещения из независимой точки!

Читать далее

Можно ли навсегда избавиться от утечек памяти из-за циклических ссылок?

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


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


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


Но мне кажется, что есть очень простой способ устранить циклические ссылки в программе, который можно реализовать практически в любом типизированном языке программирования, конечно, если при этом не использовать все разрешающее ключевое слово unsafe для Rust или оператор reinterpret_cast в случае С++.

Читать дальше →

Машинное обучение в продуктовой разработке, где его не ожидают

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

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

Давайте подробнее

Чемпионат «Профессионалы»: разработка системы управления сити-фермой

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

В начале марта 2025 года мы посетили региональный этап чемпионата «Профессионалы» по компетенции «Сити-фермерство» в Шахунском колледже аграрной индустрии Нижегородской области. Три дня мы наблюдали за соревнованиями участников в создании автоматизированных сити-ферм: они разрабатывали программное обеспечение, монтировали оборудование, запускали фермы и рассчитывали их экономические показатели.

В нашем репортаже расскажем подробности конкурса и поделимся впечатлениями.

Читать далее

От React к Effect

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

Это перевод статьи создателя библиотеки Effect, в которой он рассказывает, почему React является выбором многих компаний и почему компонентная разработка считается надёжным выбором.

В своей статье автор переходит от примеров компонентов на React к компонентам (эффектам) в Effect, использующим ту же модель компонентной разработки, но сосредоточенным на вычислениях, а не на интерфейсе.

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

Читать далее

Без операторов и водолазов: как дронопорты и подводные роботы меняют промышленность

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

Знаете, что общего между тепловизионными камерами, взрывозащищёнными дронами и 90-метровыми колоннами? Или как в промышленной компании из трёх дронов вырос целый парк из более чем 20 машин, а мониторинг трубопроводов перестал зависеть от человеческого фактора?

В статье рассказываю — как ИИ с точностью 80% ищет утечки, дронопорты летают без операторов, а подводные роботы заменяют водолазов. Но обо всём по порядку.

Читать далее

Как СберМобайл завод оцифровал, и кому это вообще нужно. Часть 2

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

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

Читать далее

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