Эволюция архитектуры ПЛК: от релейной логики к многоядерным процессорам
За полвека эти устройства прошли колоссальный путь - от простейших приборов, способных лишь замыкать и размыкать контакты, до универсальных вычислительных платформ с возможностями машинного обучения и периферийных вычислений. Сегодня архитектура промышленных контроллеров переживает очередной виток эволюции, и этот виток куда более радикальный, чем все предыдущие.
Долгое время производительность ПЛК увеличивалась экстенсивно - преимущественно за счет роста тактовой частоты одноядерных процессоров. Однако по мере развития промышленных сетей контроллеры стали перегружаться сторонними задачами.
Помимо управления физическим процессом, устройства должны были обрабатывать сетевые протоколы и обмениваться данными с системами верхнего уровня. Для решения этой проблемы около двух десятилетий назад на рынке выделился новый класс устройств - программируемые контроллеры автоматизации (PAC).
С выходом процессоров на плато тактовых частот производители оборудования обратились к концепции параллелизма. Интеграция многоядерных чипов стала настоящим технологическим прорывом в сфере промышленной автоматизации. Современная аппаратная архитектура базируется на физическом разделении вычислительных задач между независимыми ядрами.
Сегодня аппаратная база ПЛК стремится к децентрализации и так называемым периферийным вычислениям. Наличие многоядерных процессоров позволяет запускать прямо на контроллерах алгоритмы машинного обучения для предсказания отказов оборудования без задержек на отправку телеметрии в облако.
Ключевое архитектурное решение - аппаратное разделение задач между физически независимыми ядрами. Одно ядро выделяется исключительно под задачи жесткого реального времени: управление приводами, отработку ПИД-регуляторов и исполнение логики МЭК 61131-3.
Подробно смотрите здесь:
https://electricalschool.info/automation/3364-evolyuciya-arhitektury-plk-k-mnogoyadernym-processoram.html
За полвека эти устройства прошли колоссальный путь - от простейших приборов, способных лишь замыкать и размыкать контакты, до универсальных вычислительных платформ с возможностями машинного обучения и периферийных вычислений. Сегодня архитектура промышленных контроллеров переживает очередной виток эволюции, и этот виток куда более радикальный, чем все предыдущие.
Долгое время производительность ПЛК увеличивалась экстенсивно - преимущественно за счет роста тактовой частоты одноядерных процессоров. Однако по мере развития промышленных сетей контроллеры стали перегружаться сторонними задачами.
Помимо управления физическим процессом, устройства должны были обрабатывать сетевые протоколы и обмениваться данными с системами верхнего уровня. Для решения этой проблемы около двух десятилетий назад на рынке выделился новый класс устройств - программируемые контроллеры автоматизации (PAC).
С выходом процессоров на плато тактовых частот производители оборудования обратились к концепции параллелизма. Интеграция многоядерных чипов стала настоящим технологическим прорывом в сфере промышленной автоматизации. Современная аппаратная архитектура базируется на физическом разделении вычислительных задач между независимыми ядрами.
Сегодня аппаратная база ПЛК стремится к децентрализации и так называемым периферийным вычислениям. Наличие многоядерных процессоров позволяет запускать прямо на контроллерах алгоритмы машинного обучения для предсказания отказов оборудования без задержек на отправку телеметрии в облако.
Ключевое архитектурное решение - аппаратное разделение задач между физически независимыми ядрами. Одно ядро выделяется исключительно под задачи жесткого реального времени: управление приводами, отработку ПИД-регуляторов и исполнение логики МЭК 61131-3.
Подробно смотрите здесь:
https://electricalschool.info/automation/3364-evolyuciya-arhitektury-plk-k-mnogoyadernym-processoram.html
🔥2👍1👏1
Как писать собственные функции в ST без хаоса (и сберечь нервы на пусконаладке)
Если в проекте на ST (Structured Text) функции начинают дублировать друг друга, тайно менять глобальные переменные и делать «немного всё», код очень быстро превращается в болото.
Хорошая функция должна решать одну задачу, а не закрывать собой сразу пол-автоматики. Вот три главных правила, которые сэкономят вам часы при отладке на объекте.
1. Один смысл — одна функция
Если функция считает уставку, она не должна ещё и управлять физическим выходом. Если она вычисляет математическое условие, она не должна заодно перезаписывать глобальный массив аварий. Чем уже и конкретнее назначение функции, тем легче её тестировать, искать в ней баги и переносить в следующие проекты.
2. Чистые преобразования (никаких побочных эффектов)
Функция в ПЛК должна работать как классическая математика: на входе есть данные, на выходе — результат. Всё.
Если внутри функции вы начинаете писать в глобальные переменные (GVL) или пытаетесь дергать физические адреса — отладка усложняется в разы. Вы просто не найдете потом, кто и когда изменил состояние оборудования.
Хорошая структура вызова выглядит так:
Result := CalcSpeed(RawValue := AI1, Scale := 1000.0);
Здесь всё прозрачно:
- понятно, что подаём на вход;
- понятно, что получаем на выходе;
- понятно, где искать логику, если результат не сходится.
3. Чёткие входы и выходы
Не делайте функции, которые «сами знают», откуда брать данные из недр проекта. Пусть все входы будут явно перечислены через VAR_INPUT, а выходы — однозначно описаны. В ST соблазн использовать глобальные переменные велик, но это убивает читаемость кода.
🚩 Главный маркер плохого кода:
Если для проверки результата одной математической функции вам нужно запускать весь проект целиком, имитировать работу ПИД-регулятора и ждать срабатывания датчиков — логика уже расползлась. Нормальная функция тестируется изолированно на простейшем наборе входных чисел.
💡 Полезный ориентир архитектуры IEC 61131-3:
⚙️ FUN (Функция) — считает математику, преобразует типы, проверяет логику (у неё нет памяти).
📦 FB (Функциональный блок) — управляет оборудованием и хранит состояние (насосы, задвижки, таймеры).
🔗 PRG (Программа) — связывает всё это воедино и выполняется в задаче (Task).
Если хочется писать на ST без хаоса, нужно не «наваливать логику в удобное место», а заранее ограничивать каждый POU (программный блок) его прямой задачей. Эта простая дисциплина делает код предсказуемым и защищает вас от неприятных сюрпризов на пусконаладке.
Если вы уже читали наши открытые материалы и чувствуете, что «кусочки знания есть, но цельной картины нет» - в канале как раз про эту картину: от идеи до промышленного запуска, с учётом всех тех ошибок, которые обычно всплывают только на реальных объектах.
Подписаться на канал "ПЛК и автоматизация" можно здесь: https://t.me/tribute/app?startapp=sL0M
Подписка по символической цене! 1 месяц - 850 рублей.
Присоединяйтесь. У нас в канале уже много всего интересного и полезного!
Если в проекте на ST (Structured Text) функции начинают дублировать друг друга, тайно менять глобальные переменные и делать «немного всё», код очень быстро превращается в болото.
Хорошая функция должна решать одну задачу, а не закрывать собой сразу пол-автоматики. Вот три главных правила, которые сэкономят вам часы при отладке на объекте.
1. Один смысл — одна функция
Если функция считает уставку, она не должна ещё и управлять физическим выходом. Если она вычисляет математическое условие, она не должна заодно перезаписывать глобальный массив аварий. Чем уже и конкретнее назначение функции, тем легче её тестировать, искать в ней баги и переносить в следующие проекты.
2. Чистые преобразования (никаких побочных эффектов)
Функция в ПЛК должна работать как классическая математика: на входе есть данные, на выходе — результат. Всё.
Если внутри функции вы начинаете писать в глобальные переменные (GVL) или пытаетесь дергать физические адреса — отладка усложняется в разы. Вы просто не найдете потом, кто и когда изменил состояние оборудования.
Хорошая структура вызова выглядит так:
Result := CalcSpeed(RawValue := AI1, Scale := 1000.0);
Здесь всё прозрачно:
- понятно, что подаём на вход;
- понятно, что получаем на выходе;
- понятно, где искать логику, если результат не сходится.
3. Чёткие входы и выходы
Не делайте функции, которые «сами знают», откуда брать данные из недр проекта. Пусть все входы будут явно перечислены через VAR_INPUT, а выходы — однозначно описаны. В ST соблазн использовать глобальные переменные велик, но это убивает читаемость кода.
🚩 Главный маркер плохого кода:
Если для проверки результата одной математической функции вам нужно запускать весь проект целиком, имитировать работу ПИД-регулятора и ждать срабатывания датчиков — логика уже расползлась. Нормальная функция тестируется изолированно на простейшем наборе входных чисел.
💡 Полезный ориентир архитектуры IEC 61131-3:
⚙️ FUN (Функция) — считает математику, преобразует типы, проверяет логику (у неё нет памяти).
📦 FB (Функциональный блок) — управляет оборудованием и хранит состояние (насосы, задвижки, таймеры).
🔗 PRG (Программа) — связывает всё это воедино и выполняется в задаче (Task).
Если хочется писать на ST без хаоса, нужно не «наваливать логику в удобное место», а заранее ограничивать каждый POU (программный блок) его прямой задачей. Эта простая дисциплина делает код предсказуемым и защищает вас от неприятных сюрпризов на пусконаладке.
Если вы уже читали наши открытые материалы и чувствуете, что «кусочки знания есть, но цельной картины нет» - в канале как раз про эту картину: от идеи до промышленного запуска, с учётом всех тех ошибок, которые обычно всплывают только на реальных объектах.
Подписаться на канал "ПЛК и автоматизация" можно здесь: https://t.me/tribute/app?startapp=sL0M
Подписка по символической цене! 1 месяц - 850 рублей.
Присоединяйтесь. У нас в канале уже много всего интересного и полезного!
👍2🔥2🥰1
📘 Практическое руководство по FUNCTION, FUNCTION_BLOCK и PROGRAM в ST
В этом пособии мы собрали самое важное по работе с FUNCTION, FUNCTION_BLOCK и PROGRAM в Structured Text, чтобы показать не только разницу между ними, но и то, как из этих базовых сущностей складывается аккуратный промышленный проект на ПЛК. Цель была не просто дать определения, а помочь быстро понять, что именно использовать в конкретной задаче: где нужна чистая формула, где - логика с памятью, а где - организация всего приложения.
Специально всё разобрано на практических примерах: ограничение значения, масштабирование аналогового сигнала, ПИД-регулятор, аварийная защёлка и простая главная программа для управления температурой. Через эти примеры хорошо видно, почему FUNCTION лучше подходит для вычислений без состояния, FUNCTION_BLOCK - для объектов, которые должны помнить своё прошлое, а PROGRAM - для сборки и координации всей системы.
Главная идея этого небольшого пособия в том, чтобы помочь избежать самой распространённой ошибки новичков - когда весь код оказывается в одном большом Main. Если сразу выстроить правильную архитектуру, проект становится чище, легче читается и гораздо проще расширяется, а значит, с ним удобнее работать и через неделю, и через год.
Получить этот файл подписавшись на ВИП-канал "ПЛК и автоматизация": https://t.me/tribute/app?startapp=sL0M
После подписки вы получите доступ к архиву со всеми ранее опубликованными материалами💥
😢 ПЛК и автоматизация (промо)
В этом пособии мы собрали самое важное по работе с FUNCTION, FUNCTION_BLOCK и PROGRAM в Structured Text, чтобы показать не только разницу между ними, но и то, как из этих базовых сущностей складывается аккуратный промышленный проект на ПЛК. Цель была не просто дать определения, а помочь быстро понять, что именно использовать в конкретной задаче: где нужна чистая формула, где - логика с памятью, а где - организация всего приложения.
Специально всё разобрано на практических примерах: ограничение значения, масштабирование аналогового сигнала, ПИД-регулятор, аварийная защёлка и простая главная программа для управления температурой. Через эти примеры хорошо видно, почему FUNCTION лучше подходит для вычислений без состояния, FUNCTION_BLOCK - для объектов, которые должны помнить своё прошлое, а PROGRAM - для сборки и координации всей системы.
Главная идея этого небольшого пособия в том, чтобы помочь избежать самой распространённой ошибки новичков - когда весь код оказывается в одном большом Main. Если сразу выстроить правильную архитектуру, проект становится чище, легче читается и гораздо проще расширяется, а значит, с ним удобнее работать и через неделю, и через год.
Получить этот файл подписавшись на ВИП-канал "ПЛК и автоматизация": https://t.me/tribute/app?startapp=sL0M
После подписки вы получите доступ к архиву со всеми ранее опубликованными материалами
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Tribute
This bot helps content creators receive financial support from their followers directly in the app.
💻 Почему программировать контроллеры интереснее, чем делать сайты?
Представьте: вы заканчиваете писать код. Жмёте «Запустить».
И где-то на огромном заводе оживает 50-тонный пресс. Включается конвейер. Открывается клапан газовой турбины.
Это вы сделали. Руками. Кодом.
А теперь сравните с изменением цвета кнопки на сайте интернет-магазина...
Именно в этом главное отличие инженера по автоматизации от веб-разработчика.
Веб — это пиксели на экране.
Автоматизация — это реальный физический мир, который подчиняется вашему коду.
Вот почему люди, которые попробовали оба направления, часто остаются именно в автоматизации:
⚙ Результат виден буквально — вы видите, как работает то, что вы запрограммировали
🏭 Задачи уникальные — каждый объект, каждый завод, каждый проект не похож на предыдущий
💰 Конкуренция ниже — пока миллионы идут учиться на фронтенд, рынок АСУ ТП испытывает острый кадровый голод
🛡 Стабильность выше — промышленность и энергетика работают в любой кризис
И ещё один момент, о котором редко говорят.
В веб-разработке порог входа настолько низкий, что на одну junior-вакансию приходит 300+ резюме. В автоматизации — дефицит специалистов. Работодатели сами ищут людей и готовы платить выше рынка.
Хотите попробовать?
Нетология запустила курс «Инженер по автоматизации» — онлайн, с нуля, за 13 месяцев.
Что вас ждёт:
✅ Работа с реальными ПЛК и SCADA-системами
✅ 4 проекта в портфолио с реальными кейсами
✅ Диплом о профессиональной переподготовке
✅ Обучение без отрыва от текущей работы
✅ Поддержка в трудоустройстве после выпуска
👉 Подробнее о программе и запись со скидкой:
https://electricalschool.info/automation-engineer.php
Реклама. ООО «Нетология». ИНН 7726464125 ERID: 2bL9aMPo2e4BA5qnNG9pz4mR2f
Представьте: вы заканчиваете писать код. Жмёте «Запустить».
И где-то на огромном заводе оживает 50-тонный пресс. Включается конвейер. Открывается клапан газовой турбины.
Это вы сделали. Руками. Кодом.
А теперь сравните с изменением цвета кнопки на сайте интернет-магазина...
Именно в этом главное отличие инженера по автоматизации от веб-разработчика.
Веб — это пиксели на экране.
Автоматизация — это реальный физический мир, который подчиняется вашему коду.
Вот почему люди, которые попробовали оба направления, часто остаются именно в автоматизации:
⚙ Результат виден буквально — вы видите, как работает то, что вы запрограммировали
🏭 Задачи уникальные — каждый объект, каждый завод, каждый проект не похож на предыдущий
💰 Конкуренция ниже — пока миллионы идут учиться на фронтенд, рынок АСУ ТП испытывает острый кадровый голод
🛡 Стабильность выше — промышленность и энергетика работают в любой кризис
И ещё один момент, о котором редко говорят.
В веб-разработке порог входа настолько низкий, что на одну junior-вакансию приходит 300+ резюме. В автоматизации — дефицит специалистов. Работодатели сами ищут людей и готовы платить выше рынка.
Хотите попробовать?
Нетология запустила курс «Инженер по автоматизации» — онлайн, с нуля, за 13 месяцев.
Что вас ждёт:
✅ Работа с реальными ПЛК и SCADA-системами
✅ 4 проекта в портфолио с реальными кейсами
✅ Диплом о профессиональной переподготовке
✅ Обучение без отрыва от текущей работы
✅ Поддержка в трудоустройстве после выпуска
👉 Подробнее о программе и запись со скидкой:
https://electricalschool.info/automation-engineer.php
Реклама. ООО «Нетология». ИНН 7726464125 ERID: 2bL9aMPo2e4BA5qnNG9pz4mR2f
👍1🔥1🥰1
🤖 ПЛК + Машинное обучение = будущее автоматизации уже сегодня?
Ещё недавно казалось, что искусственный интеллект и промышленные контроллеры — это два разных мира. Один живёт в облаках и датацентрах, другой — в пыльных шкафах управления на заводе.
Но граница стирается.
Современные ПЛК уже способны выполнять алгоритмы машинного обучения прямо «на борту» — без облака, без сервера, без задержек. Это открывает совершенно новые возможности:
⚡ Предиктивная диагностика — контроллер сам предсказывает поломку до того, как она случится
⚡ Адаптивное управление — алгоритм подстраивается под реальные условия процесса, а не работает по жёсткой логике
⚡ Обнаружение аномалий — отклонения от нормы фиксируются в реальном времени прямо в цикле ПЛК
Но есть и серьёзные ограничения. Ресурсы контроллера — не резиновые. Память, вычислительная мощность, детерминированность цикла — всё это накладывает жёсткие рамки на то, какие модели ML вообще применимы в PLC-среде.
Где граница между «можно» и «нельзя»? Какие архитектуры нейросетей реально работают на ПЛК? И стоит ли вообще это делать или лучше вынести ML на Edge-устройство?
👇 Разобрал всё подробно в новой статье:
🔗 Машинное обучение на уровне ПЛК: возможности и ограничения
https://electricalschool.info/automation/3378-mashinnoe-obuchenie-na-urovne-plk-vozmozhnosti-i-ogranicheniya.html
Тема горячая 🔥
Ещё недавно казалось, что искусственный интеллект и промышленные контроллеры — это два разных мира. Один живёт в облаках и датацентрах, другой — в пыльных шкафах управления на заводе.
Но граница стирается.
Современные ПЛК уже способны выполнять алгоритмы машинного обучения прямо «на борту» — без облака, без сервера, без задержек. Это открывает совершенно новые возможности:
⚡ Предиктивная диагностика — контроллер сам предсказывает поломку до того, как она случится
⚡ Адаптивное управление — алгоритм подстраивается под реальные условия процесса, а не работает по жёсткой логике
⚡ Обнаружение аномалий — отклонения от нормы фиксируются в реальном времени прямо в цикле ПЛК
Но есть и серьёзные ограничения. Ресурсы контроллера — не резиновые. Память, вычислительная мощность, детерминированность цикла — всё это накладывает жёсткие рамки на то, какие модели ML вообще применимы в PLC-среде.
Где граница между «можно» и «нельзя»? Какие архитектуры нейросетей реально работают на ПЛК? И стоит ли вообще это делать или лучше вынести ML на Edge-устройство?
👇 Разобрал всё подробно в новой статье:
🔗 Машинное обучение на уровне ПЛК: возможности и ограничения
https://electricalschool.info/automation/3378-mashinnoe-obuchenie-na-urovne-plk-vozmozhnosti-i-ogranicheniya.html
Тема горячая 🔥
🔥2👍1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Присоединяйтесь к каналу "ПЛК и автоматизация" 🌟
Канал про углубленное изучение програмируемых логических контроллеров (ПЛК) и промышленной автоматизации.
Получите доступ к эксклюзивному образовательному контенту, подписавшись сегодня!
Канал про углубленное изучение програмируемых логических контроллеров (ПЛК) и промышленной автоматизации.
Получите доступ к эксклюзивному образовательному контенту, подписавшись сегодня!
👍1🔥1👏1
📚 БАЗОВЫЙ КУРС ПО ЯЗЫКУ ST ДЛЯ ПЛК
Символическая цена! Базовое учебное пособие (50к+ символов PDF, 40 стр.) — от основ до готовых проектов.
Что внутри: Синтаксис ST по IEC 61131-3, типы данных (BOOL/INT/REAL), операторы, циклы IF/FOR/WHILE, функции/блоки, таймеры/счётчики, конечные автоматы, работа с IO (%I/%Q/%IW), отладка, оптимизация.
Практика: Управление светофором, конвейерная линия, резервуар + полные коды PROGRAM с комментариями.
Идеально для новичков КИПиА — с нуля до промышленного кода!
Символическая цена! Базовое учебное пособие (50к+ символов PDF, 40 стр.) — от основ до готовых проектов.
Что внутри: Синтаксис ST по IEC 61131-3, типы данных (BOOL/INT/REAL), операторы, циклы IF/FOR/WHILE, функции/блоки, таймеры/счётчики, конечные автоматы, работа с IO (%I/%Q/%IW), отладка, оптимизация.
Практика: Управление светофором, конвейерная линия, резервуар + полные коды PROGRAM с комментариями.
Идеально для новичков КИПиА — с нуля до промышленного кода!
👍1🔥1👏1
МАССИВЫ И СТРУКТУРЫ В ST ДЛЯ ПЛК
Символическая цена! (50k+ символов PDF - переход от “каши из переменных” к промышленному коду!)
Проблема: 20 датчиков = 20 переменных Temp_01…Temp_20. Цикл проверки = 500 строк кода. Добавили линию - переписывай всё заново!
Решение: Один массив + 5 строк цикла. Массив станций + вложенные структуры = код масштабируется с 2 до 200 линий БЕЗ переписывания.
Реальный кейс: 10 станций розлива бутылок. Каждая со своими настройками дозировки, PID, историей ошибок. Весь контроль — 30 строк кода вместо 500!
Символическая цена! (50k+ символов PDF - переход от “каши из переменных” к промышленному коду!)
Проблема: 20 датчиков = 20 переменных Temp_01…Temp_20. Цикл проверки = 500 строк кода. Добавили линию - переписывай всё заново!
Решение: Один массив + 5 строк цикла. Массив станций + вложенные структуры = код масштабируется с 2 до 200 линий БЕЗ переписывания.
Реальный кейс: 10 станций розлива бутылок. Каждая со своими настройками дозировки, PID, историей ошибок. Весь контроль — 30 строк кода вместо 500!
👍1🔥1👏1
⚙ УПРАВЛЕНИЕ ДВИГАТЕЛЯМИ НА ПЛК
Практическое руководство по одной из самых частых задач в автоматизации - управлению электродвигателями на языке Structured Text (ST).
Это не просто "включить/выключить", а полный разбор того, как делать это правильно, безопасно и профессионально.
Что внутри (30+ страниц):
✅ Архитектура системы
✅ Три стратегии пуска: прямой, мягкий стартер, с контролем тока
✅ Фильтрование шумных датчиков
✅ 8 типичных ошибок с решениями (КЗ при реверсе, зависание, дребезжание)
✅ Full State Machine (STOPPED → STARTING → RUNNING → ERROR)
✅ Реальные примеры.
📥 Скачивайте и изучайте!
Практическое руководство по одной из самых частых задач в автоматизации - управлению электродвигателями на языке Structured Text (ST).
Это не просто "включить/выключить", а полный разбор того, как делать это правильно, безопасно и профессионально.
Что внутри (30+ страниц):
✅ Архитектура системы
✅ Три стратегии пуска: прямой, мягкий стартер, с контролем тока
✅ Фильтрование шумных датчиков
✅ 8 типичных ошибок с решениями (КЗ при реверсе, зависание, дребезжание)
✅ Full State Machine (STOPPED → STARTING → RUNNING → ERROR)
✅ Реальные примеры.
📥 Скачивайте и изучайте!
👍1🔥1👏1
📘 IO Config Guide: практическое руководство
Руководство по “подводным камням” входов/выходов ПЛК
По символической цене. На живых примерах показывается, почему IO — это не “подключили провода и забыли”, а полноценный слой архитектуры между железом и программой. Разбираются типичные грабли: неверные адреса (I0 вместо I0.0), рассинхрон между клеммой и логическим адресом, перепутанная полярность NC/NO и инвертированные E‑stop, ошибки с типами данных на аналоговых входах, смешивание 0–10 V и 4–20 mA, отсутствие дебаунсинга и фильтрации, кривое масштабирование и калибровка, выход за допустимые диапазоны. Код на языке ST.
Руководство по “подводным камням” входов/выходов ПЛК
По символической цене. На живых примерах показывается, почему IO — это не “подключили провода и забыли”, а полноценный слой архитектуры между железом и программой. Разбираются типичные грабли: неверные адреса (I0 вместо I0.0), рассинхрон между клеммой и логическим адресом, перепутанная полярность NC/NO и инвертированные E‑stop, ошибки с типами данных на аналоговых входах, смешивание 0–10 V и 4–20 mA, отсутствие дебаунсинга и фильтрации, кривое масштабирование и калибровка, выход за допустимые диапазоны. Код на языке ST.
👍1🔥1👏1
📘 100 примеров программирования ПЛК на языке ST
100 примеров ST для ПЛК, которые хочется сразу запустить
Это не теория “про ST вообще”, а готовый набор из 100 рабочих примеров — от первых IF и таймеров до насосных станций, конвейеров и комплексных систем.
Примеры разбиты на 10 блоков: базовая логика, таймеры/счётчики, аналоговые сигналы, массивы и циклы, строки и форматирование, диагностика, собственные FB, а дальше уже реальные объекты — насосные станции и транспортные линии, вплоть до полноценных промышленных задач. Каждый пример — с полным кодом, объявлением переменных и комментариями на русском языке.
100 примеров ST для ПЛК, которые хочется сразу запустить
Это не теория “про ST вообще”, а готовый набор из 100 рабочих примеров — от первых IF и таймеров до насосных станций, конвейеров и комплексных систем.
Примеры разбиты на 10 блоков: базовая логика, таймеры/счётчики, аналоговые сигналы, массивы и циклы, строки и форматирование, диагностика, собственные FB, а дальше уже реальные объекты — насосные станции и транспортные линии, вплоть до полноценных промышленных задач. Каждый пример — с полным кодом, объявлением переменных и комментариями на русском языке.
👍1🔥1👏1
Обработка ошибок в CODESYS на языке ST
Учебное пособие по созданию надёжных ПЛК-программ без аварийных остановов на языке Structured Text (ST).
Рассматриваются ключевые runtime-ошибки: деление на ноль, переполнение типов данных, выход за границы массивов и таймауты связи.
Включает полный практический пример станции водоподготовки с 8 функциональными блоками — от чтения датчиков до главного цикла Main.
Учебное пособие по созданию надёжных ПЛК-программ без аварийных остановов на языке Structured Text (ST).
Рассматриваются ключевые runtime-ошибки: деление на ноль, переполнение типов данных, выход за границы массивов и таймауты связи.
Включает полный практический пример станции водоподготовки с 8 функциональными блоками — от чтения датчиков до главного цикла Main.
👍1🔥1👏1
🚦 Конечный автомат для чайников: делаем светофор
Если в коде уже появились Flag_Start, Flag_Run, Flag_Stop, Flag_Alarm и ещё десяток похожих битов — у вас начинается лапша.
Такой код быстро становится неуправляемым: трудно читать, сложно отлаживать, страшно менять.
Есть нормальный способ — конечный автомат. Он помогает держать логику процесса в порядке: одно состояние, одно действие, один переход. Разберём на простом и понятном примере — светофор.
Шаг 1. Рисуем кружочки состояний
Сначала не пишем код. Сначала рисуем, в каких состояниях вообще может быть система.
Для светофора это:
- Красный
- Красный + жёлтый
- Зелёный
- Жёлтый
В каждый момент времени светофор может быть только в одном из них.
Шаг 2. Нумеруем состояния
Даём каждому состоянию номер:
0 — Инициализация
10 — Красный
20 — Красный + жёлтый
30 — Зелёный
40 — Жёлтый
Почему с шагом 10? Потому что потом можно легко вставить новое состояние между ними. Например, 25 — и ничего не ломается.
Шаг 3. Пишем CASE
Переводим идею в код на ST (не забываем объявить переменные ламп):
VAR
iState : INT := 0;
tStep : TON;
LampRed : BOOL;
LampYellow : BOOL;
LampGreen : BOOL;
END_VAR
CASE iState OF
0:
iState := 10;
10:
LampRed := TRUE;
LampYellow := FALSE;
LampGreen := FALSE;
tStep(IN := TRUE, PT := T#5s);
IF tStep.Q THEN
tStep(IN := FALSE); // Сбрасываем таймер для следующего шага
iState := 20;
END_IF;
20:
LampRed := TRUE;
LampYellow := TRUE;
LampGreen := FALSE;
tStep(IN := TRUE, PT := T#2s);
IF tStep.Q THEN
tStep(IN := FALSE);
iState := 30;
END_IF;
30:
LampRed := FALSE;
LampYellow := FALSE;
LampGreen := TRUE;
tStep(IN := TRUE, PT := T#5s);
IF tStep.Q THEN
tStep(IN := FALSE);
iState := 40;
END_IF;
40:
LampRed := FALSE;
LampYellow := TRUE;
LampGreen := FALSE;
tStep(IN := TRUE, PT := T#2s);
IF tStep.Q THEN
tStep(IN := FALSE);
iState := 10;
END_IF;
END_CASE;
Шаг 4. Прописываем переходы
Каждое состояние не только включает свои выходы, но и понимает, когда перейти дальше.
Логика цикла:
- красный горит 5 секунд
- потом красный + жёлтый 2 секунды
- потом зелёный 5 секунд
- потом жёлтый 2 секунды
...и цикл начинается заново.
Получается не каша из условий, а понятная последовательность: состояние → действие → таймер → переход.
Важный трюк: обратите внимание на строчку tStep(IN := FALSE); внутри условия. Мы принудительно сбрасываем таймер перед переходом. Если этого не сделать, на следующем шаге таймер не увидит передний фронт и не начнет считать заново! Это позволяет использовать всего один таймер для всех шагов.
Почему это лучше, чем флаги
Плохой код обычно выглядит так:
IF Start AND NOT Alarm THEN
Flag_Run := TRUE;
END_IF;
IF Timer.Q AND Flag_Run THEN
Flag_Wait := TRUE;
END_IF;
Сначала кажется, что всё нормально. Потом вы открываете этот код через месяц и не понимаете:
- кто выставил флаг
- кто его сбросил
- почему система зависла
- почему одно условие ломает другое
А с конечным автоматом всё проще. Если iState = 30 — система в зелёном. Если iState = 40 — идёт жёлтый. Никакой магии, только ясная структура.
Если у процесса есть шаги и режимы — почти всегда нужен CASE.
Главное правило
Если процесс можно описать как цепочку шагов — делайте конечный автомат. Если вместо этого вы строите систему из десятка IF и флагов — через какое-то время сами не сможете это отладить.
Что дальше
Если вы уже читали наши открытые материалы и чувствуете, что «кусочки знания есть, но цельной картины нет» - в канале как раз про эту картину: от идеи до промышленного запуска, с учётом всех тех ошибок, которые обычно всплывают только на реальных объектах.
Подписаться на канал "ПЛК и автоматизация" можно здесь: https://t.me/tribute/app?startapp=sL0M
Подписка по символической цене! 1 месяц - 850 рублей.
Присоединяйтесь. У нас в канале уже много всего интересного и полезного!
Если в коде уже появились Flag_Start, Flag_Run, Flag_Stop, Flag_Alarm и ещё десяток похожих битов — у вас начинается лапша.
Такой код быстро становится неуправляемым: трудно читать, сложно отлаживать, страшно менять.
Есть нормальный способ — конечный автомат. Он помогает держать логику процесса в порядке: одно состояние, одно действие, один переход. Разберём на простом и понятном примере — светофор.
Шаг 1. Рисуем кружочки состояний
Сначала не пишем код. Сначала рисуем, в каких состояниях вообще может быть система.
Для светофора это:
- Красный
- Красный + жёлтый
- Зелёный
- Жёлтый
В каждый момент времени светофор может быть только в одном из них.
Шаг 2. Нумеруем состояния
Даём каждому состоянию номер:
0 — Инициализация
10 — Красный
20 — Красный + жёлтый
30 — Зелёный
40 — Жёлтый
Почему с шагом 10? Потому что потом можно легко вставить новое состояние между ними. Например, 25 — и ничего не ломается.
Шаг 3. Пишем CASE
Переводим идею в код на ST (не забываем объявить переменные ламп):
VAR
iState : INT := 0;
tStep : TON;
LampRed : BOOL;
LampYellow : BOOL;
LampGreen : BOOL;
END_VAR
CASE iState OF
0:
iState := 10;
10:
LampRed := TRUE;
LampYellow := FALSE;
LampGreen := FALSE;
tStep(IN := TRUE, PT := T#5s);
IF tStep.Q THEN
tStep(IN := FALSE); // Сбрасываем таймер для следующего шага
iState := 20;
END_IF;
20:
LampRed := TRUE;
LampYellow := TRUE;
LampGreen := FALSE;
tStep(IN := TRUE, PT := T#2s);
IF tStep.Q THEN
tStep(IN := FALSE);
iState := 30;
END_IF;
30:
LampRed := FALSE;
LampYellow := FALSE;
LampGreen := TRUE;
tStep(IN := TRUE, PT := T#5s);
IF tStep.Q THEN
tStep(IN := FALSE);
iState := 40;
END_IF;
40:
LampRed := FALSE;
LampYellow := TRUE;
LampGreen := FALSE;
tStep(IN := TRUE, PT := T#2s);
IF tStep.Q THEN
tStep(IN := FALSE);
iState := 10;
END_IF;
END_CASE;
Шаг 4. Прописываем переходы
Каждое состояние не только включает свои выходы, но и понимает, когда перейти дальше.
Логика цикла:
- красный горит 5 секунд
- потом красный + жёлтый 2 секунды
- потом зелёный 5 секунд
- потом жёлтый 2 секунды
...и цикл начинается заново.
Получается не каша из условий, а понятная последовательность: состояние → действие → таймер → переход.
Важный трюк: обратите внимание на строчку tStep(IN := FALSE); внутри условия. Мы принудительно сбрасываем таймер перед переходом. Если этого не сделать, на следующем шаге таймер не увидит передний фронт и не начнет считать заново! Это позволяет использовать всего один таймер для всех шагов.
Почему это лучше, чем флаги
Плохой код обычно выглядит так:
IF Start AND NOT Alarm THEN
Flag_Run := TRUE;
END_IF;
IF Timer.Q AND Flag_Run THEN
Flag_Wait := TRUE;
END_IF;
Сначала кажется, что всё нормально. Потом вы открываете этот код через месяц и не понимаете:
- кто выставил флаг
- кто его сбросил
- почему система зависла
- почему одно условие ломает другое
А с конечным автоматом всё проще. Если iState = 30 — система в зелёном. Если iState = 40 — идёт жёлтый. Никакой магии, только ясная структура.
Если у процесса есть шаги и режимы — почти всегда нужен CASE.
Главное правило
Если процесс можно описать как цепочку шагов — делайте конечный автомат. Если вместо этого вы строите систему из десятка IF и флагов — через какое-то время сами не сможете это отладить.
Что дальше
Если вы уже читали наши открытые материалы и чувствуете, что «кусочки знания есть, но цельной картины нет» - в канале как раз про эту картину: от идеи до промышленного запуска, с учётом всех тех ошибок, которые обычно всплывают только на реальных объектах.
Подписаться на канал "ПЛК и автоматизация" можно здесь: https://t.me/tribute/app?startapp=sL0M
Подписка по символической цене! 1 месяц - 850 рублей.
Присоединяйтесь. У нас в канале уже много всего интересного и полезного!
👍3🔥1🥰1
🤖 Профессия, которую ИИ не заберёт
Пока все спорят, кого нейросети оставят без работы первым — копирайтеров, дизайнеров или программистов, — есть одна сфера, где реальность куда жёстче любых прогнозов.
Попробуйте поручить ChatGPT запустить электрогенератор.
Или настроить конвейер на заводе.
Или взять на себя ответственность за сбой в системе управления.
Не получается?
Вот именно.
ИИ может помочь написать код.
Может подсказать решение.
Может ускорить рутину.
Но он не поедет на объект.
Не проверит, почему линия встала.
Не поймёт по звуку, что оборудование работает нестабильно.
Не возьмёт на себя риски, если ошибка остановит производство на миллионы рублей.
Потому что заводам нужны не просто “люди, которые умеют в код”. Им нужны инженеры, которые понимают, как работает реальный мир.
Именно поэтому профессия инженера по автоматизации остаётся одной из самых устойчивых.
Это специалист, который:
- программирует контроллеры;
- работает со SCADA-системами;
- настраивает управление станками, насосами, турбинами и производственными линиями;
- отвечает не за кнопки на сайте, а за процессы, от которых зависит целое предприятие.
Разница простая:
- Обычный код живёт на экране.
- Код инженера по автоматизации двигает металл, давление, температуру, подачу сырья и работу огромных систем.
И вот такую работу нейросеть “забрать” не может.
Она может стать инструментом.
Но не заменить человека, который понимает производство, логику процессов и цену ошибки.
Если вы хотите войти в профессию, где ваш навык будет нужен не только сегодня, но и через годы, посмотрите курс «Инженер по автоматизации».
Там учат с нуля:
- работать с ПЛК;
- разбираться в SCADA;
- собирать проекты в портфолио;
- осваивать профессию, которая связана с реальным сектором, а не с очередной перегретой нишей.
👉 Ссылка на курс:
https://electricalschool.info/automation-engineer.php
Пока одни боятся, что ИИ их заменит, другие осваивают профессию, где без человека всё просто встанет.
Реклама. ООО «Нетология». ИНН 7726464125 ERID: 2bL9aMPo2e4BA5qnNG9pz4mR2f
Пока все спорят, кого нейросети оставят без работы первым — копирайтеров, дизайнеров или программистов, — есть одна сфера, где реальность куда жёстче любых прогнозов.
Попробуйте поручить ChatGPT запустить электрогенератор.
Или настроить конвейер на заводе.
Или взять на себя ответственность за сбой в системе управления.
Не получается?
Вот именно.
ИИ может помочь написать код.
Может подсказать решение.
Может ускорить рутину.
Но он не поедет на объект.
Не проверит, почему линия встала.
Не поймёт по звуку, что оборудование работает нестабильно.
Не возьмёт на себя риски, если ошибка остановит производство на миллионы рублей.
Потому что заводам нужны не просто “люди, которые умеют в код”. Им нужны инженеры, которые понимают, как работает реальный мир.
Именно поэтому профессия инженера по автоматизации остаётся одной из самых устойчивых.
Это специалист, который:
- программирует контроллеры;
- работает со SCADA-системами;
- настраивает управление станками, насосами, турбинами и производственными линиями;
- отвечает не за кнопки на сайте, а за процессы, от которых зависит целое предприятие.
Разница простая:
- Обычный код живёт на экране.
- Код инженера по автоматизации двигает металл, давление, температуру, подачу сырья и работу огромных систем.
И вот такую работу нейросеть “забрать” не может.
Она может стать инструментом.
Но не заменить человека, который понимает производство, логику процессов и цену ошибки.
Если вы хотите войти в профессию, где ваш навык будет нужен не только сегодня, но и через годы, посмотрите курс «Инженер по автоматизации».
Там учат с нуля:
- работать с ПЛК;
- разбираться в SCADA;
- собирать проекты в портфолио;
- осваивать профессию, которая связана с реальным сектором, а не с очередной перегретой нишей.
👉 Ссылка на курс:
https://electricalschool.info/automation-engineer.php
Пока одни боятся, что ИИ их заменит, другие осваивают профессию, где без человека всё просто встанет.
Реклама. ООО «Нетология». ИНН 7726464125 ERID: 2bL9aMPo2e4BA5qnNG9pz4mR2f
👍1🔥1👏1
Арифметические операции в ST: сложение, вычитание, умножение и деление
Математика — это язык, на котором говорит природа, и язык, на котором должна говорить программа для ПЛК. Когда инженер-автоматизатор пишет программу управления технологическим процессом, он постоянно выполняет математические операции: вычисляет средние значения датчиков, масштабирует аналоговые сигналы, рассчитывает мощность потребления, определяет необходимые корректировки.
Арифметические операции в Structured Text (ST) — это базовый инструмент, которым должен владеть каждый программист, работающий с ПЛК. На первый взгляд сложение и вычитание кажутся тривиальными действиями, однако подводные камни, связанные с типами данных, порядком операций и точностью вычислений, часто приводят к серьезным ошибкам. Давайте разберемся во всех аспектах арифметических вычислений в ST.
Ссылка на статью:
https://electricalschool.info/automation/3301-arifmeticheskie-operacii-v-st.html
Математика — это язык, на котором говорит природа, и язык, на котором должна говорить программа для ПЛК. Когда инженер-автоматизатор пишет программу управления технологическим процессом, он постоянно выполняет математические операции: вычисляет средние значения датчиков, масштабирует аналоговые сигналы, рассчитывает мощность потребления, определяет необходимые корректировки.
Арифметические операции в Structured Text (ST) — это базовый инструмент, которым должен владеть каждый программист, работающий с ПЛК. На первый взгляд сложение и вычитание кажутся тривиальными действиями, однако подводные камни, связанные с типами данных, порядком операций и точностью вычислений, часто приводят к серьезным ошибкам. Давайте разберемся во всех аспектах арифметических вычислений в ST.
Ссылка на статью:
https://electricalschool.info/automation/3301-arifmeticheskie-operacii-v-st.html
👍1🔥1👏1
📐 Структурированный текст (ST): база, которую нельзя игнорировать
Уважаемые коллеги!
Язык Structured Text (ST) — стандарт IEC 61131‑3. С ним работают и на старой «незаходящей» ControlLogix, и в современном Codesys, и в TWINCAT. Ошибка в типах данных или приоритете оператора — и механизм вместо пуска получает аварию.
Мы подготовили серию наглядных плакатов по ST. Сегодня делимся первыми тремя - они закрывают 80% ежедневных задач.
❗ Это только начало. Остальные плакаты — в VIP-канале.
В закрытой части в Telegram вас ждут:
✅ Массивы и структуры в ST (с примерами инициализации)
✅ Таймеры и счётчики в ST (TP, TON, TOF, CTU, CTD)
✅ Прерывания и обработка ошибок в ST (включая системные флаги)
✅ Работа со временем в ST (TIME → DINT, вычитание моментов)
✅ Функции и функциональные блоки (FB vs FC)
✅ Строки в ST (конкатенация, поиск, преобразование)
🔐 Как получить доступ к VIP-каналу в Telegram?
👉 Подпишитесь на платную подписку по ссылке здесь:
https://t.me/tribute/app?startapp=sL0M
или здесь:
https://web.tribute.tg/s/L0M
Цена подписки ниже одного часа пусконаладки, а время, сэкономленное на поиске информации, окупится за первый же проект.
😢 ПЛК и автоматизация (промо)
Уважаемые коллеги!
Язык Structured Text (ST) — стандарт IEC 61131‑3. С ним работают и на старой «незаходящей» ControlLogix, и в современном Codesys, и в TWINCAT. Ошибка в типах данных или приоритете оператора — и механизм вместо пуска получает аварию.
Мы подготовили серию наглядных плакатов по ST. Сегодня делимся первыми тремя - они закрывают 80% ежедневных задач.
❗ Это только начало. Остальные плакаты — в VIP-канале.
В закрытой части в Telegram вас ждут:
✅ Массивы и структуры в ST (с примерами инициализации)
✅ Таймеры и счётчики в ST (TP, TON, TOF, CTU, CTD)
✅ Прерывания и обработка ошибок в ST (включая системные флаги)
✅ Работа со временем в ST (TIME → DINT, вычитание моментов)
✅ Функции и функциональные блоки (FB vs FC)
✅ Строки в ST (конкатенация, поиск, преобразование)
🔐 Как получить доступ к VIP-каналу в Telegram?
👉 Подпишитесь на платную подписку по ссылке здесь:
https://t.me/tribute/app?startapp=sL0M
или здесь:
https://web.tribute.tg/s/L0M
Цена подписки ниже одного часа пусконаладки, а время, сэкономленное на поиске информации, окупится за первый же проект.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥2🥰1
🚀 Практическое пособие по ПИД-регулятору скорости двигателя на ST в CODESYS — с реальным разбором, как собрать замкнутый контур управления для асинхронного двигателя и частотника
Внутри — не только теория, но и рабочая архитектура: масштабирование сигнала тахогенератора, отдельный FB_SpeedPID, рампа разгона/торможения, антинасыщение, диагностика отклонения скорости и привязка к задачам ПЛК с фиксированным циклом.
Отдельно разобраны два способа интеграции с частотным преобразователем — через аналоговый выход и через Modbus RTU, а также типичные ошибки, которые чаще всего ломают пусконаладку.
Код показан не «в вакууме», а в связке с реальной промышленной логикой: аварии, квитирование, блокировки и настройка коэффициентов по трассировке в CODESYS. Это хороший материал для тех, кто хочет перейти от простого ПИД в учебнике к нормальной рабочей реализации на ПЛК.
Получить этот файл подписавшись на ВИП-канал "ПЛК и автоматизация": https://t.me/tribute/app?startapp=sL0M
После подписки вы получите доступ к архиву со всеми ранее опубликованными материалами💥
😢 ПЛК и автоматизация (промо)
Внутри — не только теория, но и рабочая архитектура: масштабирование сигнала тахогенератора, отдельный FB_SpeedPID, рампа разгона/торможения, антинасыщение, диагностика отклонения скорости и привязка к задачам ПЛК с фиксированным циклом.
Отдельно разобраны два способа интеграции с частотным преобразователем — через аналоговый выход и через Modbus RTU, а также типичные ошибки, которые чаще всего ломают пусконаладку.
Код показан не «в вакууме», а в связке с реальной промышленной логикой: аварии, квитирование, блокировки и настройка коэффициентов по трассировке в CODESYS. Это хороший материал для тех, кто хочет перейти от простого ПИД в учебнике к нормальной рабочей реализации на ПЛК.
Получить этот файл подписавшись на ВИП-канал "ПЛК и автоматизация": https://t.me/tribute/app?startapp=sL0M
После подписки вы получите доступ к архиву со всеми ранее опубликованными материалами
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
📌 Что нужно знать, чтобы стать инженером по автоматизации с нуля?
Смотрите на вакансии инженеров АСУ ТП и думаете: «С чего вообще начать?»
Кажется, что нужно иметь за плечами 5 лет сурового технического вуза. На деле фундамент профессии состоит из 4 понятных блоков. Забирайте чек-лист базовых навыков:
1. Основы физики и электротехники ⚡️
Вам не придется рассчитывать орбиты планет. Достаточно понимать, что такое ток, напряжение и сопротивление, как читать простые электрические схемы и как работают базовые датчики (температуры, давления, уровня жидкости) и реле.
2. Программируемые логические контроллеры (ПЛК) 🧠
Это промышленные микрокомпьютеры — «мозги» любого станка или конвейера. Важно освоить промышленные языки программирования стандарта IEC 61131-3. Самые популярные — LD (похож на электрические схемы) и ST (похож на классический язык Pascal).
3. SCADA-системы 🖥
Это тот самый красивый интерфейс на экране оператора. Вы должны уметь визуализировать процесс: нарисовать резервуар, привязать к нему датчик уровня воды, настроить тревожные уведомления (алармы) и графики.
4. Промышленные сети 🌐
Оборудование должно общаться между собой и передавать данные в диспетчерскую. Базовый минимум — понимание архитектуры сетей и самого народного протокола Modbus (а также основ Ethernet/IP).
🤯 Звучит сложно?
Если собирать информацию по крупицам из старых учебников и форумов — да, можно потратить годы.
Но освоить эту базу и выйти на уровень Junior можно всего за 1 год, если учиться системно. В Нетологии сейчас идет набор на курс «Инженер по автоматизации».
Там дают всю эту выжимку без лишней воды:
✅ Обучение с полного нуля
✅ Практика: от написания кода для ПЛК до настройки SCADA
✅ 4 готовых проекта в ваше портфолио
✅ Диплом о переподготовке и помощь с поиском работы
👉 Забирайте программу курса и скидку по этой ссылке:
https://electricalschool.info/automation-engineer.php
Пока одни боятся, что ИИ их заменит, другие осваивают профессию, где без человека всё просто встанет.
Реклама. ООО «Нетология». ИНН 7726464125 ERID: 2bL9aMPo2e4BA5qnNG9pz4mR2f
Смотрите на вакансии инженеров АСУ ТП и думаете: «С чего вообще начать?»
Кажется, что нужно иметь за плечами 5 лет сурового технического вуза. На деле фундамент профессии состоит из 4 понятных блоков. Забирайте чек-лист базовых навыков:
1. Основы физики и электротехники ⚡️
Вам не придется рассчитывать орбиты планет. Достаточно понимать, что такое ток, напряжение и сопротивление, как читать простые электрические схемы и как работают базовые датчики (температуры, давления, уровня жидкости) и реле.
2. Программируемые логические контроллеры (ПЛК) 🧠
Это промышленные микрокомпьютеры — «мозги» любого станка или конвейера. Важно освоить промышленные языки программирования стандарта IEC 61131-3. Самые популярные — LD (похож на электрические схемы) и ST (похож на классический язык Pascal).
3. SCADA-системы 🖥
Это тот самый красивый интерфейс на экране оператора. Вы должны уметь визуализировать процесс: нарисовать резервуар, привязать к нему датчик уровня воды, настроить тревожные уведомления (алармы) и графики.
4. Промышленные сети 🌐
Оборудование должно общаться между собой и передавать данные в диспетчерскую. Базовый минимум — понимание архитектуры сетей и самого народного протокола Modbus (а также основ Ethernet/IP).
🤯 Звучит сложно?
Если собирать информацию по крупицам из старых учебников и форумов — да, можно потратить годы.
Но освоить эту базу и выйти на уровень Junior можно всего за 1 год, если учиться системно. В Нетологии сейчас идет набор на курс «Инженер по автоматизации».
Там дают всю эту выжимку без лишней воды:
✅ Обучение с полного нуля
✅ Практика: от написания кода для ПЛК до настройки SCADA
✅ 4 готовых проекта в ваше портфолио
✅ Диплом о переподготовке и помощь с поиском работы
👉 Забирайте программу курса и скидку по этой ссылке:
https://electricalschool.info/automation-engineer.php
Пока одни боятся, что ИИ их заменит, другие осваивают профессию, где без человека всё просто встанет.
Реклама. ООО «Нетология». ИНН 7726464125 ERID: 2bL9aMPo2e4BA5qnNG9pz4mR2f
👍2🔥1👏1
VIP-канал "ПЛК и автоматизация"
Внутри не «курс для новичков», а разбор реальных инженерных задач: двигатели, печи, парогенераторы, FSM и многое другое.
Но важное отличие в другом: мы учим не приёмам, а системному мышлению. Как спроектировать архитектуру проекта так, чтобы через год её было не страшно открывать. Как сделать так, чтобы второй, третий и десятый объект не превращались в копипаст‑ад из 1000 строк в Main.
Если вы уже читали открытые материалы и чувствуете, что «кусочки знания есть, но цельной картины нет» - в канале как раз про эту картину: от идеи до промышленного запуска, с учётом всех тех ошибок, которые обычно всплывают только на реальных объектах.
Подписаться на канал "ПЛК и автоматизация" можно здесь: https://t.me/tribute/app?startapp=sL0M
Подписка по символической цене!
Внутри не «курс для новичков», а разбор реальных инженерных задач: двигатели, печи, парогенераторы, FSM и многое другое.
Но важное отличие в другом: мы учим не приёмам, а системному мышлению. Как спроектировать архитектуру проекта так, чтобы через год её было не страшно открывать. Как сделать так, чтобы второй, третий и десятый объект не превращались в копипаст‑ад из 1000 строк в Main.
Если вы уже читали открытые материалы и чувствуете, что «кусочки знания есть, но цельной картины нет» - в канале как раз про эту картину: от идеи до промышленного запуска, с учётом всех тех ошибок, которые обычно всплывают только на реальных объектах.
Подписаться на канал "ПЛК и автоматизация" можно здесь: https://t.me/tribute/app?startapp=sL0M
Подписка по символической цене!
👍1🔥1👏1