Школа для Электрика. Все Секреты Мастерства. Образовательный сайт по электротехнике  
ElectricalSchool.info - большой образовательный проект на тему электричества и его использования. С помощью нашего сайта вы не только поймете, но и полюбите электротехнику, электронику и автоматику!
Электрические и магнитные явления в природе, науке и технике. Современная электроэнергетика, устройство электрических приборов, аппаратов и установок, промышленное электрооборудование и системы электроснабжения, электрический привод, альтернативные источники энергии и многое другое.
 
Школа для электрика | Правила электробезопасности | Электротехника | Электроника | Провода и кабели | Электрические схемы
Автоматизация | Тренды, актуальные вопросы | Обучение электриков | Вебинары и курсы | Калькулятор по электротехнике | Контакты



Автоматизация производственных процессов: датчики, исполнительные механизмы, ПЛК, частотники, HMI/SCADA и промышленные сети. Примеры типовых задач автоматизации, схемы подключения, основы программирования и диагностика, чтобы внедрять решения быстрее и надёжнее.

 

База знаний | Избранные статьи | Эксплуатация электрооборудования | Электроснабжение
Электрические аппараты | Электрические машины | Электропривод | Электрическое освещение

 Школа для электрика / Автоматизация производственных процессов / ШИМ в ПЛК: широтно-импульсная модуляция для управления нагрузками в Siemens S7, ОВЕН и Codesys


 Школа для электрика в Telegram

ШИМ в ПЛК: широтно-импульсная модуляция для управления нагрузками в Siemens S7, ОВЕН и Codesys



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

ШИМ, или PWM по-английски (Pulse-Width Modulation), - это способ управления подачей мощности к нагрузке через изменение длительности импульса при постоянной частоте следования. В мире промышленной автоматизации этот принцип превратился в изящный мост между цифровой логикой контроллера и аналоговыми по своей природе физическими процессами.

ШИМ в ПЛК

Физический принцип: как прямоугольный импульс управляет мощностью

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

Включайте электродвигатель на пять секунд из десяти - скорость удвоится. На девять из десяти - маховик раскрутится почти до максимума. Ровно так же работает ШИМ: транзисторный ключ открывается и закрывается тысячи раз в секунду, а нагрузка - нагреватель, электродвигатель, соленоид - в силу своей тепловой или механической инерции воспринимает не отдельные импульсы, а их усреднённый эффект.

Два ключевых параметра определяют работу ШИМ-сигнала. Первый - частота, то есть сколько раз в секунду повторяется цикл включения-выключения. Второй - коэффициент заполнения (Duty Cycle), показывающий, какую долю периода транзистор открыт. Коэффициент заполнения 50% означает равные промежутки включения и выключения. При этом нагрузка получает ровно половину доступной мощности. Обратная величина коэффициента заполнения - скважность: при длительности импульса 10 мкс на период 100 мкс скважность равна десяти, а Duty Cycle составляет 0,1, или 10%.

Это фундаментальное свойство: интегрируя напряжение импульсов по времени, получаем площадь под импульсами, и воздействие на исполнительный механизм оказывается тождественным работе при среднем напряжении. Именно поэтому транзистор в ШИМ-ключе почти не греется: в открытом состоянии его сопротивление близко к нулю, в закрытом - ток не течёт вовсе, а переходные процессы занимают наносекунды. КПД такого преобразователя достигает 95–98%, что кардинально отличает его от линейного регулятора, рассеивающего избыточную мощность в виде тепла.

Аналоговый и цифровой ШИМ: два пути к одному результату

В классической аналоговой реализации ШИМ формируется компаратором: пилообразный или треугольный сигнал подаётся на один вход, управляющее напряжение - на другой. Когда пила ниже управляющего сигнала, на выходе логическая единица; когда выше - ноль. Чем выше управляющее напряжение, тем шире импульсы, тем больше средняя мощность. Именно по этому принципу работает легендарная микросхема TL494, до сих пор встречающаяся в блоках питания, сварочных инверторах и зарядных устройствах.

Цифровой ШИМ в ПЛК устроен иначе: N-битный счётчик непрерывно считает от нуля до максимума, аппаратный компаратор сравнивает его с регистром уставки. Пока счётчик меньше уставки - выход в единице; достиг или превысил - выход в нуле. Изменяя содержимое регистра уставки из программы, инженер плавно меняет коэффициент заполнения, не прерывая генерацию. Частота при этом остаётся неизменной и определяется тактовой частотой таймера и его разрядностью.

Принципиальное преимущество цифрового ШИМ в ПЛК - аппаратная независимость от основного цикла сканирования. Транзистор переключается аппаратным таймером в фоне, пока программа занимается другими задачами. Это гарантирует стабильность частоты даже при высокой загрузке процессора.

Аппаратные возможности ПЛК: что поддерживает ШИМ

Ключевое ограничение ШИМ в ПЛК - тип выходов. Реле коммутируют механически, их ресурс составляет несколько миллионов циклов: при частоте ШИМ 1 кГц этот ресурс исчерпывается за несколько часов. Поэтому ШИМ реализуется исключительно на транзисторных выходах (тип DC/DC), где полевой или биполярный транзистор переключается за наносекунды без износа.

В Siemens S7-1200 и S7-1500 ШИМ встроен аппаратно: специальные высокоскоростные выходы (High-Speed Outputs, HSO) с маркировкой Qa.0–Qa.3 поддерживают режим PWM через технологический объект.

В S7-1200 CPU 1214C DC/DC/DC доступно два высокоскоростных выхода с частотой до 100 кГц. Настройка производится в TIA Portal через вкладку технологических объектов: выбирается выход, задаётся базовая частота, разрядность (обычно 1000 делений для 0,1% точности), режим обновления - и система генерирует начальный код с функциональным блоком CTRL_PWM.

В Siemens S7-200 предусмотрены выходы PTO/PWM: по два на каждый CPU, регистры управления SMB66–SMB85 задают период, ширину импульса и тип работы.

В ПЛК ОВЕН на платформе Codesys быстрые транзисторные выходы поддерживают ШИМ через программный блок с параметрами PWM_POWER (коэффициент заполнения в единицах от 0 до PWM_PERIOD) и PWM_PERIOD (период в миллисекундах).

Функциональный блок CTRL_PWM в TIA Portal

В TIA Portal v16 и новее настройка PWM выполняется через конфигурацию устройства. Путь: Device configuration -> CPU -> Properties -> Pulse Generator (PTO/PWM) -> выбор нужного канала (PWM1–PWM4).

В параметрах канала задаются:

  • Time base — временная база: миллисекунды или микросекунды
  • Период — например, 100 мс для нагревателей или 1 мкс для высокочастотного управления двигателями
  • Формат ширины импульса — выбирается из четырёх вариантов:

Формат

Диапазон

Разрешение

Hundredths (сотые)

0 до 100

1%

Thousandths (тысячные)

0 до 1 000

0.1%

Ten-thousandths (десятитысячные)

0 до 10 000

0.01%

S7 Analog format

0 до 27 648

~0.0036%

После выбора формата нужно назначить Q-адрес для управления шириной импульса (например, QW1000). Этот адрес будет использоваться в программе для изменения коэффициента заполнения.

Привязка к физическому выходу: поддерживаются только транзисторные (DC) выходы. Каналы Qa.0–Qa.3 работают до 100 кГц, каналы Qa.4 и выше — до 20 кГц.

Вызов CTRL_PWM в SCL

Блок CTRL_PWM запускает и останавливает аппаратный генератор импульсов. Сигнатура блока содержит четыре параметра (параметра ERROR не существует — все ошибки передаются через STATUS):

CTRL_PWM(
    PWM    := "PWM_1",    // Тип HW_PWM — системная константа, создаётся автоматически
    ENABLE := TRUE,       // TRUE = запустить генератор, FALSE = остановить
    BUSY   => #Busy,      // BOOL: TRUE пока обрабатывается команда
    STATUS => #Status     // WORD: код статуса выполнения
);

Управление коэффициентом заполнения

Изменение ширины импульса выполняется прямой записью в Q-адрес, назначенный каналу при конфигурации. Структура "DB".Ctrl.ModifyTimeHigh относится к объектам движения S7-1500 и неприменима к PWM генератору S7-1200.

// Способ 1: через символьный тег (рекомендуется)
"Pulse_1_PulseWidth" := WORD#5000;   // 50% при формате 0–10000
// Способ 2: напрямую по адресу (если назначен QW1000)
QW1000 := WORD#5000;                 // 50% при формате 0–10000
// Примеры значений при формате Ten-thousandths (0–10000):
// WORD#0      = 0%   (генератор молчит)
// WORD#2500   = 25%
// WORD#5000   = 50%
// WORD#7500   = 75%
// WORD#10000  = 100% (постоянный сигнал HIGH)

Изменение значения вступает в силу немедленно — без перезапуска генератора.

Коды STATUS

Статус возвращается через выход STATUS (WORD):

Код

Значение

16#0000

Норма, команда выполнена успешно

16#8091

Генератор не активирован в конфигурации устройства

16#8092

Неверный параметр PWM (неверная ссылка на HW_PWM)

16#8093

Внутренняя ошибка CPU

Полный пример управления PWM

PROGRAM PWM_Control
VAR
    ctrlPWM         : CTRL_PWM;
    // Управление
    pwmEnable       : BOOL := TRUE;
    DutyPercent     : REAL := 50.0;       // Желаемый коэффициент 0–100%
    // Диагностика
    pwmBusy         : BOOL;
    pwmStatus       : WORD;
    // Промежуточные переменные
    calcValue       : REAL;
    pwmWord         : WORD;
END_VAR
// === ШАГ 1: Масштабирование 0–100% -> 0–10000 (формат Ten-thousandths) ===
calcValue := (DutyPercent / 100.0) * 10000.0;
// Пример: 75% -> (75 / 100) * 10000 = 7500
// === ШАГ 2: Ограничение диапазона ===
IF calcValue > 10000.0 THEN calcValue := 10000.0; END_IF;
IF calcValue < 0.0     THEN calcValue := 0.0;     END_IF;
// === ШАГ 3: Преобразование типа и запись в Q-адрес ===
pwmWord := REAL_TO_UINT(calcValue);
"Pulse_1_PulseWidth" := pwmWord;    // Изменение вступает немедленно
// === ШАГ 4: Управление генератором ===
ctrlPWM(
    PWM    := "PWM_1",
    ENABLE := pwmEnable,
    BUSY   => pwmBusy,
    STATUS => pwmStatus
);
// === ШАГ 5: Диагностика ===
IF pwmStatus <> 16#0000 THEN
    // Ошибка: остановить выход для безопасности
    "Pulse_1_PulseWidth" := WORD#0;
    // Здесь можно добавить сигнализацию оператору
END_IF;
END_PROGRAM

Программный ШИМ на таймерах: когда аппаратного выхода нет

Если аппаратных HSO-выходов не хватает или контроллер не поддерживает встроенный ШИМ, применяется программный метод на таймерах. В блоке OB30 (циклическое прерывание 10–100 мс) накапливается счётчик времени: когда он меньше SetPoint, Period - выход включён, иначе выключён. Перезапуск по истечении полного периода.

Существенный недостаток - нестабильность частоты: джиттер достигает ±1 цикла ПЛК (1–10 мс). Для управления нагревателем с постоянной времени 60 секунд это абсолютно несущественно. Для скоростного привода - неприемлемо.

Программный ШИМ в Codesys реализуется через функциональный блок FB_PWM: входы Period (REAL, секунды) и DutyCycle (REAL, 0–1), выход Q (BOOL).

Период исчисляется секундами, поэтому два таймера TON легко справляются с задачей без потери точности.

Важно об интерфейсе блока: входы Period и DutyCycle должны быть объявлены как VAR_INPUT, но их значения нельзя изменять внутри блока — это нарушение стандарта IEC 61131-3. Для ограничения и защиты значений используются локальные копии в секции VAR.

Функциональный блок FB_PWM

FUNCTION_BLOCK FB_PWM
VAR_INPUT
    Enable      : BOOL;               // Разрешение работы ШИМ
    DutyCycle   : REAL;               // Коэффициент заполнения: 0.0 — 1.0
    Period      : REAL;               // Период ШИМ в секундах (например, 10.0)
END_VAR
VAR_OUTPUT
    Q           : BOOL;               // Выход ШИМ (подключается к нагрузке)
END_VAR
VAR
    // Таймеры фаз включения и выключения
    tmrOn       : TON;
    tmrOff      : TON;
    // Расчётные времена в формате TIME
    tOn         : TIME;
    tOff        : TIME;
    // Локальные копии входов (нельзя изменять VAR_INPUT напрямую)
    safeDC      : REAL;               // Защищённая копия DutyCycle
    safePeriod  : REAL;               // Защищённая копия Period
    // Промежуточные переменные для расчёта через DWORD (мс)
    periodMS    : DWORD;
    timeOnMS    : DWORD;
    timeOffMS   : DWORD;
    // Внутреннее состояние: FALSE = фаза OFF, TRUE = фаза ON
    State       : BOOL := TRUE;       // Старт с фазы включения
END_VAR
// === ШАГ 1: Копируем входы в локальные переменные ===
safeDC     := DutyCycle;
safePeriod := Period;
// === ШАГ 2: Ограничение коэффициента заполнения (0.0 — 1.0) ===
IF safeDC > 1.0 THEN safeDC := 1.0; END_IF;
IF safeDC < 0.0 THEN safeDC := 0.0; END_IF;
// === ШАГ 3: Защита периода от нулевого и отрицательного значения ===
IF safePeriod <= 0.0 THEN safePeriod := 1.0; END_IF;  // Минимум 1 секунда
// === ШАГ 4: Сброс при отключении ===
IF NOT Enable THEN
    Q     := FALSE;
    State := TRUE;
    tmrOn (IN := FALSE, PT := T#0S);
    tmrOff(IN := FALSE, PT := T#0S);
    RETURN;
END_IF;
// === ШАГ 5: Граничные случаи — 0% и 100% мощности ===
IF safeDC = 0.0 THEN
    Q := FALSE;
    RETURN;
ELSIF safeDC = 1.0 THEN
    Q := TRUE;
    RETURN;
END_IF;
// === ШАГ 6: Расчёт времён включения и выключения через DWORD (мс) ===
// Переводим секунды в миллисекунды, умножаем на коэффициент
// DWORD_TO_TIME / REAL_TO_DWORD — стандартные функции, работают везде
periodMS  := REAL_TO_DWORD(safePeriod * 1000.0);
timeOnMS  := REAL_TO_DWORD(DWORD_TO_REAL(periodMS) * safeDC);
timeOffMS := REAL_TO_DWORD(DWORD_TO_REAL(periodMS) * (1.0 - safeDC));
tOn  := DWORD_TO_TIME(timeOnMS);
tOff := DWORD_TO_TIME(timeOffMS);
// === ШАГ 7: Машина состояний (два состояния: ON и OFF) ===
IF State THEN
    // --- ФАЗА ВКЛЮЧЕНИЯ ---
    // Таймер считает время tOn, затем переключаемся в OFF
    tmrOn (IN := TRUE,  PT := tOn);
    tmrOff(IN := FALSE, PT := tOff);
    IF tmrOn.Q THEN
        State := FALSE;
        tmrOn(IN := FALSE, PT := tOn);   // Сброс таймера
    END_IF;
ELSE
    // --- ФАЗА ВЫКЛЮЧЕНИЯ ---
    // Таймер считает время tOff, затем переключаемся в ON
    tmrOff(IN := TRUE,  PT := tOff);
    tmrOn (IN := FALSE, PT := tOn);
    IF tmrOff.Q THEN
        State := TRUE;
        tmrOff(IN := FALSE, PT := tOff); // Сброс таймера
    END_IF;
END_IF;
// === ШАГ 8: Выход следует состоянию ===
Q := State;
END_FUNCTION_BLOCK

Пример вызова FB_PWM в основной программе

PROGRAM PLC_PRG
VAR
    Heater1         : FB_PWM;              // Экземпляр блока
    TempSensor      : REAL;                // Текущая температура, °C
    SetPoint        : REAL := 200.0;       // Уставка, °C
    Power           : REAL;                // Мощность 0.0 — 1.0
    HeaterOut       : BOOL AT %Q0.0;       // Физический выход на ТЭН
END_VAR
// === Простой P-регулятор ===
// При отклонении на 50°C -> 100% мощности
// При отклонении на 25°C -> 50% мощности
Power := (SetPoint - TempSensor) / 50.0;
IF Power > 1.0 THEN Power := 1.0; END_IF;
IF Power < 0.0 THEN Power := 0.0; END_IF;
// === Вызов ШИМ-блока ===
Heater1(
    Enable    := TRUE,
    DutyCycle := Power,      // 0.0 — 1.0 от регулятора
    Period    := 15.0,       // Период 15 секунд
    Q         => HeaterOut   // Выход на ТЭН
);
END_PROGRAM

Расчёт при DutyCycle = 0.75 и Period = 15.0 сек:

  • tOn = 15.0 * 0.75 = 11.25 сек — ТЭН включён
  • tOff = 15.0 * 0.25 = 3.75 сек — ТЭН выключён
  • Средняя мощность = 75%

Сравнение подходов

Параметр

Программный ШИМ (Codesys)

Аппаратный ШИМ (TIA Portal)

Частота

0.01 Гц — 2 Гц

1 Гц — 100 кГц

Точность

Зависит от цикла ПЛК

Независима от цикла ПЛК

Платформа

Любой Codesys / ОВЕН

Только Siemens S7-1200/1500

Нагрузка

Нагреватели, клапаны

Двигатели, LED, преобразователи

HSO-выход

Не нужен

Обязателен (только DC-выходы)

Настройка

Только в коде

Device configuration + код

Выбор частоты ШИМ: ключевое решение для каждого применения

Частота ШИМ определяет характер работы нагрузки и уровень помех. Слишком низкая частота приводит к видимым пульсациям света, слышимому свисту трансформаторов, неравномерному нагреву. Слишком высокая - к росту потерь на переключение в транзисторе и усилению электромагнитных помех.

Для нагревателей и ТЭНов достаточно 0,5–5 Гц: тепловая инерция нагревательного элемента сглаживает любые пульсации, а низкая частота исключает сетевые помехи.

Для регулировки яркости светодиодного освещения нужно минимум 50–100 Гц, чтобы мерцание оставалось незаметным глазу, а в фотографической и видеосъёмочной технике поднимают до 1–10 кГц. Двигатели постоянного тока и серводвигатели требуют 5–20 кГц: на этой частоте ток нарастает плавно, механические вибрации минимальны, и ротор не жужжит. Соленоидные клапаны управляются на 50–200 Гц.

Нагрузка

Типичная частота ШИМ

Обоснование

ТЭН, нагреватель

0,1–5 Гц

Тепловая инерция, нет требований к скорости

LED-освещение

100 Гц – 10 кГц

Устранение мерцания для глаза и камер

DC-двигатель

5–20 кГц

Плавный ток, акустический комфорт

Серводвигатель

10–50 кГц

Высокая динамика, минимум пульсаций

Соленоидный клапан

50–200 Гц

Пропорциональное усилие без гидроудара

Типичные применения в промышленной автоматизации

Управление нагревателями - классика ШИМ в ПЛК. Выход ПИД-регулятора (0–100%) напрямую преобразуется в коэффициент заполнения: при 50% нагреватель получает половину мощности, при 75% - три четверти. Период выбирают 5–20 секунд, чтобы ТЭН не щёлкал чаще необходимого, а термостатирование оставалось плавным. В TIA Portal выход PID_Compact типа PWM подключается к технологическому объекту напрямую, без дополнительного масштабирования.

Регулировка скорости вентиляторов и насосов через ШИМ вместо частотного преобразователя - экономичное решение для маломощных нагрузок до 200–500 Вт. Транзисторный ключ на MOSFET вроде IRLZ44N (55 В, 47 А) с драйвером IR2104 управляется прямо с выхода ПЛК. Обратный диод защищает от индуктивных выбросов обмоток.

Диммирование светодиодных лент и прожекторов в SCADA-управляемых системах освещения: ПЛК принимает уставку яркости 0–100% от системы диспетчеризации по Modbus, преобразует в коэффициент заполнения 0–10000 и записывает в PWM DB. Свет меняется плавно, без мерцания, с задержкой не более 10 мс.

Пропорциональные соленоидные клапаны в гидравлике и пневматике: ШИМ позволяет регулировать усилие плунжера (а значит, расход жидкости) без использования дорогого аналогового выхода. Катушка клапана принимает импульсы, интегрирует их через собственную индуктивность, и якорь занимает промежуточное положение. Метод применяется в мобильной технике, металлообработке, системах дозирования.

ШИМ и ПИД: идеальный тандем

Связка ПИД-регулятора с ШИМ-выходом - одна из самых распространённых схем в промышленности. ПИД вычисляет выходное значение от 0 до 100% на основе рассогласования измеренной и заданной величин, а ШИМ транслирует этот процент в коэффициент заполнения для дискретного транзисторного ключа.

Важный нюанс: период ШИМ должен быть значительно меньше постоянной времени регулируемого объекта. Если нагреватель имеет постоянную времени 60 секунд, период ШИМ 10 секунд даёт достаточную плавность. Для двигателя с постоянной времени 0,1 секунды период ШИМ должен быть не более 5–10 мс. Нарушение этого соотношения приводит к пульсациям регулируемой переменной, которые ПИД будет безуспешно пытаться компенсировать, раскачивая систему.

Anti-windup интегральной составляющей ПИД особенно важен в связке с ШИМ: когда выход насыщается (100% или 0%), интегратор обязан заморозиться, иначе накопленная ошибка при снятии насыщения вызовет перерегулирование.

Диагностика и типичные ошибки при работе с ШИМ

Неправильно выбранный тип выхода - самая распространённая ошибка новичков. Попытка реализовать ШИМ на релейном выходе ведёт к быстрому выгоранию контактов и нестабильной частоте. Всегда проверяйте маркировку CPU: DC/DC/DC означает транзисторные выходы, AC/DC/Relay - релейные.

Электромагнитные помехи от ШИМ: быстрые фронты переключения транзистора создают высокочастотный шум, распространяющийся по силовым проводам. Снеки (snubber-цепочки) RC параллельно нагрузке, ферритовые бусины на силовых проводах и разделение аналоговых и силовых кабельных трасс - обязательные меры для сохранения чистоты аналоговых измерений в том же шкафу.

В Siemens TIA Portal STATUS блока CTRL_PWM 16#8091 означает попытку запустить PWM на выходе, не поддерживающем высокоскоростной режим. Решение - пересмотреть конфигурацию и выбрать правильный физический выход из числа Qa.0–Qa.3.

ОВЕН и Codesys: ШИМ без аппаратного таймера

В контроллерах ОВЕН ПЛК110, ПЛК150, ПЛК160 быстрые транзисторные выходы (Fast outputs) поддерживают ШИМ программным блоком. В конфигурации Codesys к выходу привязывается блок PWM: параметр PWM_PERIOD задаёт период в миллисекундах (например, 10000 = 10 секунд для нагревателя), PWM_POWER задаёт ширину импульса в тех же единицах (5000 из 10000 = 50%).

Типичный рецепт для нагревателя в ОВЕН: ПИД блок FB_PID с выходом REAL 0.0–1.0 умножается на PWM_PERIOD и записывается в PWM_POWER. Связка работает в цикле OB1, период ШИМ - 20 секунд, разрешение 1% вполне достаточно для термостатирования с точностью ±0,5°C.

Будущее ШИМ в промышленных контроллерах

В 2026 году ШИМ в ПЛК эволюционирует вместе с силовой электроникой. Нитрид галлия (GaN) и карбид кремния (SiC) транзисторы переключаются на частотах 1–10 МГц с потерями в разы меньше, чем кремниевые MOSFET. Это открывает путь к ШИМ-выходам ПЛК для прямого управления силовыми ключами без промежуточных драйверных плат.

Интеграция ШИМ с AI-алгоритмами в edge-ПЛК позволяет адаптивно менять частоту переключения в зависимости от загрузки, температуры и спектра помех - что-то среднее между классическим ШИМ и интеллектуальным частотным преобразователем.

Если вы хотите не просто читать о ШИМ и ПЛК, а по-настоящему разобраться в программировании Siemens, ОВЕН и Codesys - с реальными примерами кода, разбором ошибок и ответами от практикующих инженеров - подписывайтесь на Telegram-канал ПЛК и автоматизация. Это сообщество для тех, кто хочет превратить теорию в рабочие проекты.

Андрей Повный



Если Вам понравилась эта статья, поделитесь ссылкой на неё в социальных сетях. Это сильно поможет развитию нашего сайта!

Ранее на эту тему: Автоматизация производственных процессов

Не пропустите обновления, подпишитесь на наши соцсети:

Школа для электрика в Telegram

Школа для электрика в ВКонтакте

Телеграмм каналы для тех, кто каждый день хочет узнавать новое и интересное:

Электровикторина "Докажи, что ты электрик!":

Викторина для электриков

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

Онлайн-калькулятор по электротехнике

Интерактивное веб-приложение:

Обучение теоретическим основам электротехники (ТОЭ)

Онлайн-калькулятор освещения:

Калькулятор освещения LED-светильниками

Интерактивный инструмент для изучения возобновляемой энергетики:

Симулятор микросетей

Для повышения вашей продуктивности:

Таймер по методу Pomodoro

Развивайте свои профессиональные навыки:

Каталог обучающих вебинаров и курсов для технических специалистов

Выбирайте удобный формат и темы!