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

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

Все об АСУ ТП

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

Объяснение режимов работы Run, Stop и Program центрального процессора ПЛК

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

Программируемые логические контроллеры (ПЛК) можно перевести в режим «Пуск» (Run) или «Стоп» (Stop), а иногда и в режим «Программирование» (Program) обычно с помощью физических или виртуальных методов. Но что означают эти режимы и когда их следует использовать?

Рассмотрим вопрос фактической загрузки и выполнения программы в центральный процессор (ЦП). При выполнении этих действий ПЛК может переключаться между режимами работы. В связи с этим зададимся вопросом — почему существуют эти режимы, а также почему и когда нужно вручную изменять режим самостоятельно?

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

Новости

Перенос вашего проекта под Embox на новую плату STM32

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

Всем привет

В этой статье я хочу показать, насколько в Embox легко перенести существующий проект на новую платформу. За основу возьмем уже описанный ранее демонстрационный проект с ModBus и расскажем, как портировать наш проект на новую плату на примере STM32 NUCLEO-F2207ZG.

В статье про ModBus уже было показано, как важны для уменьшения “времени выхода на рынок” (time-to-market), переносимость ПО и удобство разработки и отладки. А теперь предположим, что мы хотим сделать новую версию нашего устройства на новой аппаратной платформе, более дешевой, менее энергопотребляющей или просто доступной на рынке.

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

Написание модуля Modbus RTU Master для VPD-130-H2 в HMI Works

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

Мне поставили задачу связать панель VPD-130-H2 с 2 частотными преобразователями DC1-344D1NN-A20N. На панели и частотнике встроен интерфейс RS485, поэтому для управления я буду использовать протокол Modbus. В данном случае частотники будут выступать в роли Slave-устройств с адресами 11 и 22, а панель в качестве Master-устройства.

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

Как я за месяц написал интерпретируемый язык программирования на Python

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

Привет, Хабр! В этой статье я хотел бы поделиться опытом создания своего языка программирования.

Предыстория

Мне 14. Обучаясь на втором году Яндекс Лицея, нужно было написать несколько проектов. Первым из них стал проект на PyQT5. Я долго думал над идеей и вспомнил, что летом я хотел создать свой язык, но у меня этого не получилось (Тогда я не понимал как работает парсер и абстрактное синтаксическое дерево, поэтому забросил). И вот, мне пришла идея - сделать свой язык программирования и написать для него IDLE (т.к. тема проекта все таки QT). Ещё полгода назад я изучал асинхронность и многопоточность, поэтому именно одну из этих идей я хотел воплотить в своём языке. В данной статье я хотел рассказать устройство интерпретируемых языков и как их создать.

Читать далее
Всего голосов 37: ↑31 и ↓6 +25
Комментарии 41

Истории

Прямая загрузка прошивки в дисплеи Nextion фирмы ITEAD без использования IDE. Протокол v 1.1

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

Загрузка прошивки в дисплей  фирмы ITEAD  Nextion без использования IDE. Это перевод официальной инструкции производителя. Протокол версии 1.1 Актуален на конец 2023.

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

Обзор Чипа Внешней I2C Памяти AT24Cхх

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

AT24C02M5/TR это EEPROM на 256 байт с доступом по двухпроводному синхронному последовательному интерфейсу I2C.

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

Внешние чипы памяти особенно важны так как прошивку могут полностью стереть. В связи с этим хранить серийный номер на микроконтроллере внутри on-chip NOR-Flash самого микроконтроллера ненадежно.

Читать далее
Всего голосов 29: ↑18 и ↓11 +7
Комментарии 33

Диспетчер Задач для Микроконтроллера

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

В программировании микроконтроллеров часто нужно написать простые тестировочные прошивки. При этом надо некоторые функции вызывать чаще, а некоторые реже. Для этого, конечно, можно запустить FreeRTOS, однако тогда этот код не будет переносим на другие RTOS например Zephyr RTOS или TI-RTOS. Поэтому надо держать наготове какой-нибудь простенький NoRTOS планировщик.

В этот тексте я представил основные идеи алгоритма такого кооперативного планировщика.

Читать далее
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 26

Некоторые особенности голосового ввода на реальном производстве

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

Человек с рацией неизменно побеждал по экономическому эффекту.

image

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

Он внимательно смотрит на 19 муфт, а двадцатую берёт и начинает измерять разными точными инструментами. Делает он от 20 до 27 замеров, а результаты записывает на бумажке.

Затем останавливает станок, идёт к терминалу и вводит в систему данные замеров.

Возвращается и снова смотрит на муфты.

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

Понадобилось добраться с автоматизацией до этого самого станка.

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

Устройство-ассистент должно понимать специалиста цеха буквально с полуслова.

Сейчас я расскажу отличную историю, как мы всё это внедряли.
Читать дальше →
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 40

Полезные Заготовки Вызова Утилит Командной Строки

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

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

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

Читать далее
Всего голосов 31: ↑6 и ↓25 -19
Комментарии 44

Синтаксический разбор CSV строчек

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

В программировании микроконтроллеров часто надо производить синтаксический разбор (парсинг) CSV строчек. CSV это просто последовательность символов, которые разделены запятой (или любым другим одиночным символом: ; | /). CSV строчки можно, например, повстречать в NMEA протоколе от навигационных GNSS приемников. Любой URL это в сущности та же самая CSV строчка.

В этом тексте я написал как производить синтаксический разбор CSV строчек.

Читать далее
Всего голосов 17: ↑6 и ↓11 -5
Комментарии 125

Белоснежно чистый код

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

Что такое чистый код? Это то, что все ищут, но никто не может найти. Люди редко могут сойтись на том, что это такое и как это реализовать на практике. Можно найти бесчисленное число статей на эту тему, и эта станет ещё одной. Я попытаюсь разобраться в том, что такое чистый код сам по себе, в отрыве от языков, парадигм и сфер применения. 

Читать далее
Всего голосов 14: ↑9 и ↓5 +4
Комментарии 38

Приходите к нам на завод, у нас тяжело

Время на прочтение 10 мин
Количество просмотров 130K
Короче, ИТ на заводе — это вам не романтика, особенно в нашем цифровом направлении.

Между «давайте этим займёмся» и «о, смотрите, какая гламурная ML-модель» лежит очень много того, про что не рассказывают. Сейчас расскажу.

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

И на каждой из этих дорожек нас поджидали свои чудеса и сюрпризы.

Вот, к примеру, видеоаналитика:

  • Мы поняли, что ML в 50% задач не нужны. Нужна, например, камера, которая по цвету определяет, где есть железка, и смотрит её геометрию в реальности. Всё. Или другая камера, которая следит, чтобы в нужной зоне ничего не шевелилось.
  • Всё это прекрасно до первого солнечного зайчика. ML отлично показывают себя там, где вам лень строить крышу или ставить прожектор над конвейером.
  • У нас была идея, что мы можем сами в нейросети. Чуть не написали свой сервис для распознавания номеров вагонов. Казалось, делов-то на 20 минут, а у подрядчика это стоит 25 копеек за фото. Сделали свой, сферические вагоны в вакууме он определял хорошо. Потом приехало вот это:

image

А потом внезапно пошёл дождь. Знаете что? Вагоны под дождём становятся мокрыми. Это было неожиданно. Ещё они бывают после снега, битые, немытые, обновлённые криворукими малярами и ПРОЧИЕ. И в солнечных зайчиках тоже.

Мы накалывались на получении данных (кто сказал, что прошивка станка без костылей?), на роботизации, инфраструктуре, связи, на всём. Мы облазили весь завод, испачкались в солидоле, мазуте и масле. Но стали делать то, что должны, — оптимизировать мир.
Читать дальше →
Всего голосов 276: ↑272 и ↓4 +268
Комментарии 278

7. Точность систем автоматического регулирования (ч. 2)

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

Продолжаем публикацию лекций Олега Степановича Козлова по предмету "Управление в Технических Системах".

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

1. Введение в теорию автоматического управления.2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13

3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ. 3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора3.4. Апериодическое звено 2-го порядка3.5. Колебательное звено3.6. Инерционно-дифференцирующее звено3.7. Форсирующее звено.  3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением)3.9. Изодромное звено (изодром)3.10 Минимально-фазовые и не минимально-фазовые звенья3.11 Математическая модель кинетики нейтронов в «точечном» реакторе «нулевой» мощности

4. Структурные преобразования систем автоматического регулирования.

5. Передаточные функции и уравнения динамики замкнутых систем автоматического регулирования (САР).

6. Устойчивость систем автоматического регулирования. 6.1 Понятие об устойчивости САР. Теорема Ляпунова. 6.2 Необходимые условия устойчивости линейных и линеаризованных САР. 6.3 Алгебраический критерий устойчивости Гурвица. 6.4 Частотный критерий устойчивости Михайлова. 6.5 Критерий Найквиста.

7. Точность системы автоматического управления (ч.1)

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

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

Битва пет-проектов
Дата 25 сентября – 30 ноября
Место Онлайн
Business Code Conference
Дата 30 ноября
Время 17:30 – 00:00
Место Москва
Импульс Т1
Дата 1 декабря
Время 12:30
Место Москва Онлайн
YaTalks 2023 — главная конференция Яндекса для IT сообщества
Дата 5 – 6 декабря
Время 9:00 – 23:59
Место Москва Белград Онлайн

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

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

Всем привет! Тут уважаемые коллеги уже много раз писали о различных инструментах и технологиях платформы ZIIoT для работы с промышленными данными и создания приложений. Но как-то руки пока не доходили до одного из самых важных ее компонентов — единой объектной модели (ЕОМ). В этой статье я исправлю это недоразумение и расскажу, как реализована концепция ЕОМ у нас и как работает наш инструмент для графического конфигурирования моделей — Zyfra Graphic Object Designer. Меня, кстати, зовут Александр Пучков, я ведущий владелец продуктов в компании «Цифровая индустриальная платформа», которая занимается развитием отдельной модификации ZIIoT для нефтегазовой и нефтехимической отраслей – ZIIoT Oil&Gas – и приложений на ее основе.

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

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

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

Российские промышленные предприятия и компании, которые занимаются разработкой решений АСУ ТП, столкнулись с необходимостью поиска альтернативы программируемым логическим контроллерам (ПЛК) европейских, американских и японских производителей. В этой статье мы предлагаем вашему вниманию сравнительный обзор технических характеристик программируемых контроллеров Consyst Electronics. 

Читать далее
Всего голосов 39: ↑35 и ↓4 +31
Комментарии 38

Генерация зависимостей внутри программы

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

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

Эту задачу можно решить прибегнув к языку Graphviz и утилитам cpp, dot, make, chrome.

Читать далее
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 46

Advanced Process Control (APC)

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

Всем привет!

На HABRе есть интересная статья (даже две) про RTO, которая тесно связана с СУУТП, но нет ни одной статьи про саму СУУТП. Не порядок. Надо исправляться.

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

Cross-Detect для Проверки Качества Пайки в Электронных Цепях

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

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

Вот пришла электронная плата с производства. Как убедиться, что на этой конкретной плате всё корректно с контактами?

Для этого нужна какая-то технология. Назовем её Cross-Detect.

Читать далее
Всего голосов 21: ↑16 и ↓5 +11
Комментарии 152

Многопоточность (Multithreading) для практического программирования. То, о чем «забыть-нельзя-вспоминать» придется

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

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

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

Мне кажется нельзя считать что вы до конца понимаете концепцию многопоточности (Multithreading/ Concurrency) если вы не понимаете когда (для каких задач) ее можно и/или нужно использовать на однопроцессорной машине, 2-х процессорной, N‑процессорной машине и от чего это зависит.

Читать далее
Всего голосов 16: ↑10 и ↓6 +4
Комментарии 19

Стандарт JDF простыми словами

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

Организация CIP4 разработала стандарт JDF для автоматизации производственных процессов в печатной индустрии. Давайте подробнее рассмотрим сам формат и сегодняшнее состояние стандарта JDF.

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

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