Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
Инжиниринговая Компания ЭнергоАвтоматик
Сертифицированный производитель шкафов автоматики.
8-800-350-25-71
8-800-350-25-71
+79600664773
E-mail
sale@nrga.ru
Режим работы
Пн. – Пт.: с 9:00 до 18:00
Компания
  • О компании
  • Сертификаты
  • Вакансии
  • Реквизиты
Каталог
  • Автоматизация АСУТП
  • Автоматизация и решения для серверных и дата-центров
  • Автоматизация складов
  • Взрывозащищенные шкафы автоматики
  • Датчики
  • Клапана противопожарные
  • Машинное зрение оборудование
  • Пожарная автоматика шкафы ШУПК ШДУ ШУН ШУЗ
  • Промавтоматика
  • Промышленные роботы
  • Управление освещением
  • Шкафы автоматики
  • Шкафы с зарядкой для электромобилей
  • Шкафы управления вентиляцией
  • Шкафы управления насосами
  • Ящики серии Я5000
Новости
Статьи
Контакты
Инжиниринговая Компания ЭнергоАвтоматик
8-800-350-25-71
8-800-350-25-71
+79600664773
E-mail
sale@nrga.ru
Режим работы
Пн. – Пт.: с 9:00 до 18:00
Компания
  • О компании
  • Сертификаты
  • Вакансии
  • Реквизиты
Каталог
  • Автоматизация АСУТП
    Автоматизация АСУТП
  • Автоматизация и решения для серверных и дата-центров
    Автоматизация и решения для серверных и дата-центров
  • Автоматизация складов
    Автоматизация складов
  • Взрывозащищенные шкафы автоматики
    Взрывозащищенные шкафы автоматики
  • Датчики
    Датчики
  • Клапана противопожарные
    Клапана противопожарные
  • Машинное зрение оборудование
    Машинное зрение оборудование
  • Пожарная автоматика шкафы ШУПК ШДУ ШУН ШУЗ
    Пожарная автоматика шкафы ШУПК ШДУ ШУН ШУЗ
  • Промавтоматика
    Промавтоматика
  • Промышленные роботы
    Промышленные роботы
  • Управление освещением
    Управление освещением
  • Шкафы автоматики
    Шкафы автоматики
  • Шкафы с зарядкой для электромобилей
    Шкафы с зарядкой для электромобилей
  • Шкафы управления вентиляцией
    Шкафы управления вентиляцией
  • Шкафы управления насосами
    Шкафы управления насосами
  • Ящики серии Я5000
    Ящики серии Я5000
Новости
Статьи
Контакты
    Инжиниринговая Компания ЭнергоАвтоматик
    Компания
    • О компании
    • Сертификаты
    • Вакансии
    • Реквизиты
    Каталог
    • Автоматизация АСУТП
      Автоматизация АСУТП
    • Автоматизация и решения для серверных и дата-центров
      Автоматизация и решения для серверных и дата-центров
    • Автоматизация складов
      Автоматизация складов
    • Взрывозащищенные шкафы автоматики
      Взрывозащищенные шкафы автоматики
    • Датчики
      Датчики
    • Клапана противопожарные
      Клапана противопожарные
    • Машинное зрение оборудование
      Машинное зрение оборудование
    • Пожарная автоматика шкафы ШУПК ШДУ ШУН ШУЗ
      Пожарная автоматика шкафы ШУПК ШДУ ШУН ШУЗ
    • Промавтоматика
      Промавтоматика
    • Промышленные роботы
      Промышленные роботы
    • Управление освещением
      Управление освещением
    • Шкафы автоматики
      Шкафы автоматики
    • Шкафы с зарядкой для электромобилей
      Шкафы с зарядкой для электромобилей
    • Шкафы управления вентиляцией
      Шкафы управления вентиляцией
    • Шкафы управления насосами
      Шкафы управления насосами
    • Ящики серии Я5000
      Ящики серии Я5000
    Новости
    Статьи
    Контакты
      8-800-350-25-71
      +79600664773
      E-mail
      sale@nrga.ru
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      Инжиниринговая Компания ЭнергоАвтоматик
      Телефоны
      8-800-350-25-71
      +79600664773
      E-mail
      sale@nrga.ru
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      Инжиниринговая Компания ЭнергоАвтоматик
      • Компания
        • Компания
        • О компании
        • Сертификаты
        • Вакансии
        • Реквизиты
      • Каталог
        • Каталог
        • Автоматизация АСУТП
        • Автоматизация и решения для серверных и дата-центров
        • Автоматизация складов
        • Взрывозащищенные шкафы автоматики
        • Датчики
        • Клапана противопожарные
        • Машинное зрение оборудование
        • Пожарная автоматика шкафы ШУПК ШДУ ШУН ШУЗ
        • Промавтоматика
        • Промышленные роботы
        • Управление освещением
        • Шкафы автоматики
        • Шкафы с зарядкой для электромобилей
        • Шкафы управления вентиляцией
        • Шкафы управления насосами
        • Ящики серии Я5000
      • Новости
      • Статьи
      • Контакты
      • 8-800-350-25-71
        • Телефоны
        • 8-800-350-25-71
        • +79600664773
      • sale@nrga.ru
      Главная
      —
      Статьи
      —
      Программирование
      —Пример программы обработки аналоговых сигналов на ST для ПЛК Siemens

      Пример программы обработки аналоговых сигналов на ST для ПЛК Siemens

      Пример программы обработки аналоговых сигналов на ST для ПЛК Siemens
      Программирование

      Пример программы на языке Structured Text (ST) для обработки аналоговых сигналов на ПЛК Siemens

      Пример программы обработки аналоговых сигналов на языке ST для ПЛК Siemens

      В этой статье представлен пример программы на языке Structured Text (ST) для обработки аналоговых сигналов на ПЛК Siemens. Программа считывает аналоговый сигнал с датчика (например, датчика температуры), масштабирует его в инженерные единицы (например, градусы Цельсия) и управляет выходным сигналом (например, включает или выключает нагреватель в зависимости от заданного диапазона).

      Код программы

      // Объявление переменных
      VAR
          AnalogInput : INT;           // Аналоговый вход (сырое значение от датчика)
          ScaledValue : REAL;          // Масштабированное значение в инженерных единицах
          TemperatureSetpoint : REAL;  // Заданное значение температуры (уставка)
          HeaterOutput : BOOL;         // Выход управления нагревателем
          MinRawValue : INT := 0;      // Минимальное значение аналогового входа (например, 0)
          MaxRawValue : INT := 27648;  // Максимальное значение аналогового входа (например, 27648 для 4-20 мА)
          MinEngValue : REAL := 0.0;   // Минимальное значение в инженерных единицах (например, 0°C)
          MaxEngValue : REAL := 100.0; // Максимальное значение в инженерных единицах (например, 100°C)
      END_VAR
      
      // Основной код программы
      
      // 1. Масштабирование аналогового сигнала в инженерные единицы
      ScaledValue := SCALE_X(
          IN := AnalogInput,           // Сырое значение аналогового входа
          MIN := MinRawValue,          // Минимальное значение аналогового входа
          MAX := MaxRawValue,          // Максимальное значение аналогового входа
          MIN_ENG := MinEngValue,      // Минимальное значение в инженерных единицах
          MAX_ENG := MaxEngValue       // Максимальное значение в инженерных единицах
      );
      
      // 2. Логика управления нагревателем
      IF ScaledValue < TemperatureSetpoint THEN
          // Если температура ниже уставки, включаем нагреватель
          HeaterOutput := TRUE;
      ELSE
          // Если температура достигла уставки, выключаем нагреватель
          HeaterOutput := FALSE;
      END_IF;

      Пояснение к программе

      1. Аналоговый вход (AnalogInput)

      Это сырое значение, считанное с аналогового входа ПЛК (например, 0–27648 для сигнала 4–20 мА).

      2. Масштабирование

      Функция SCALE_X (или аналогичная) используется для преобразования сырого значения аналогового сигнала в инженерные единицы (например, градусы Цельсия).

      • IN — сырое значение аналогового входа.
      • MIN и MAX — минимальное и максимальное значения аналогового входа.
      • MIN_ENG и MAX_ENG — минимальное и максимальное значения в инженерных единицах.

      3. Логика управления

      Программа сравнивает масштабированное значение температуры (ScaledValue) с заданной уставкой (TemperatureSetpoint).

      • Если температура ниже уставки, включается нагреватель (HeaterOutput := TRUE).
      • Если температура достигает уставки, нагреватель выключается (HeaterOutput := FALSE).

      4. Параметры масштабирования

      • MinRawValue и MaxRawValue — диапазон сырого значения аналогового сигнала (например, 0–27648 для 4–20 мА).
      • MinEngValue и MaxEngValue — диапазон значений в инженерных единицах (например, 0–100°C).

      Пример использования

      Предположим, аналоговый датчик температуры подключен к входу ПЛК и выдает сигнал 4–20 мА, что соответствует диапазону 0–100°C.

      • Если сырое значение AnalogInput = 13824, то после масштабирования ScaledValue = 50.0 (температура 50°C).
      • Если уставка TemperatureSetpoint = 60.0, то нагреватель включится, так как 50.0 < 60.0.

      Дополнительные улучшения

      1. Гистерезис

      Чтобы избежать частого включения/выключения нагревателя, можно добавить гистерезис:

      IF ScaledValue < (TemperatureSetpoint - Hysteresis) THEN
          HeaterOutput := TRUE;
      ELSIF ScaledValue > (TemperatureSetpoint + Hysteresis) THEN
          HeaterOutput := FALSE;
      END_IF;

      Где Hysteresis — значение гистерезиса (например, 2.0°C).

      2. Фильтрация сигнала

      Для сглаживания аналогового сигнала можно использовать фильтр (например, скользящее среднее).

      3. Обработка ошибок

      Добавить проверку на обрыв или короткое замыкание аналогового сигнала (например, если AnalogInput < MinRawValue или AnalogInput > MaxRawValue).

      Заключение

      Этот пример демонстрирует базовую обработку аналоговых сигналов на ПЛК Siemens. Программа может быть адаптирована под конкретные требования системы.


      Дополнительно
      Все оборудование Инжиниринговой компании ЭнергоАвтоматик сертифицированно и отвечает всем требованиям текущего законодательства.
      Назад к списку
      8-800-350-25-71
      8-800-350-25-71
      +79600664773
      E-mail
      sale@nrga.ru
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      sale@nrga.ru
      © 2026 Инжиниринговая Компания ЭнергоАвтоматик
      Политика конфиденциальности