Производство по чертежам Подбор аналогов Цены производителя Оригинальная продукция в короткие сроки
INNERпроизводство и поставка промышленных комплектующих и оборудования
Бесплатно Личный кабинет — избранное и расчёты ★ Регистрация →
Новинка Симуляторы и тренажёры — ЧПУ, допуски, ПИД Попробовать →
Правовая информация →

INNER
Контакты

Масштабирование аналоговых сигналов в ПЛК

  • 14.07.2026
  • Познавательное

Масштабирование аналоговых сигналов в ПЛК — это пересчёт «сырого» кода АЦП, полученного от токового или вольтового входа, в инженерные единицы: бары, градусы, кубометры в час. Без такого пересчёта в программе фигурирует безразмерное число, а не физическая величина, с которой работают алгоритм регулирования, уставки и визуализация. Ниже разобран весь путь сигнала: от унифицированного тока 4–20 мА и разрядности преобразователя до линейной формулы масштабирования, блоков нормирования и обработки обрыва датчика.

Содержание статьи
Ввод сигнала

Как аналоговый сигнал попадает в ПЛК

Датчики физических величин — давления, температуры, расхода, уровня — передают измеренное значение в виде непрерывного электрического сигнала. В промышленной автоматизации применяют две основные группы унифицированных сигналов: токовые и сигналы напряжения постоянного тока. Их допустимые диапазоны, а также требования к входным и нагрузочным сопротивлениям нормирует ГОСТ 26.011-80.

Токовый сигнал 4–20 мА стал фактическим отраслевым стандартом: значение тока в петле не зависит от сопротивления и длины линии, поскольку источник тока автоматически поддерживает заданный ток. Это позволяет передавать сигнал на значительные расстояния без потери точности. Согласно ГОСТ 13033-84, диапазон 4–20 мА сигналов постоянного тока является предпочтительным. Сигналы напряжения (например, 0–10 В) применяют преимущественно на коротких линиях, во встраиваемой технике и системах вентиляции.

Тип сигналаТиповые унифицированные диапазоныОбласть применения
Токовый0–5 мА; 0–20 мА; 4–20 мАДлинные линии, помехозащищённая передача, полевые датчики
Напряжения0–10 В и другиеКороткие линии, встраиваемая техника, HVAC

На входе модуля аналогового ввода сигнал поступает на аналого-цифровой преобразователь (АЦП). По ГОСТ IEC 61131-2-2012 аналоговый вход определяется как устройство, преобразующее непрерывный сигнал в дискретное многоразрядное двоичное число для работы в системе программируемого контроллера. Результатом преобразования становится целочисленный код, который и предстоит пересчитать в физическую величину.

Наверх Разрешение

Код АЦП и разрядность входа

После оцифровки в памяти ПЛК оказывается целое число — код АЦП. Диапазон возможных значений кода определяется разрядностью преобразователя: n-разрядный АЦП формирует 2n уровней. Чем выше разрядность, тем мельче шаг квантования и тем точнее представлен сигнал.

Разрядность АЦПЧисло уровнейДиапазон кода
8 бит2560…255
10 бит10240…1023
12 бит40960…4095
16 бит655360…65535

Важно различать физическую разрядность АЦП и представление кода в программе. Многие модули нормируют номинальный диапазон сигнала к фиксированному числовому окну независимо от внутренней разрядности. Распространённый пример: номинальному диапазону 4–20 мА соответствует код 0…27648, а участки ниже 4 мА и выше 20 мА отображаются отрицательными значениями и значениями выше 27648 (области недодиапазона и переддиапазона). Точные границы кода нужно брать из руководства на конкретный модуль ввода — именно эти числа подставляются в формулу масштабирования.

Прежде чем писать пересчёт, найдите в документации модуля два числа: какому коду соответствует нижняя граница сигнала (например, 4 мА) и какому — верхняя (20 мА). Ошибка именно в этих значениях — самая частая причина неверных показаний.

Наверх Пересчёт

Формула масштабирования

В штатных диапазонах связь кода АЦП и измеряемой величины линейна, поэтому пересчёт сводится к линейной интерполяции между двумя опорными точками — нижней и верхней границами шкалы датчика. Общая формула масштабирования:

EU = EUmin + (RAW − RAWmin) × (EUmax − EUmin) / (RAWmax − RAWmin)

где EU — искомое значение в инженерных единицах; EUmin, EUmax — нижняя и верхняя границы шкалы датчика; RAW — текущий код АЦП; RAWmin, RAWmax — коды, соответствующие нижней и верхней границам сигнала.

Отношение (RAW − RAWmin) / (RAWmax − RAWmin) даёт долю от полной шкалы в диапазоне от 0 до 1; умножение на размах (EUmax − EUmin) и прибавление EUmin переводят эту долю в физическую величину. Для сигнала 4–20 мА нижней границе (4 мА) соответствует RAWmin, а верхней (20 мА) — RAWmax.

Датчик давления с выходом 4–20 мА и диапазоном измерения 0–16 бар подключён к модулю, где номинальному диапазону 4–20 мА соответствует код 0…27648.

Тогда EUmin = 0 бар, EUmax = 16 бар, RAWmin = 0, RAWmax = 27648.
При текущем коде RAW = 13824 (середина шкалы):
P = 0 + (13824 − 0) × (16 − 0) / (27648 − 0) = 13824 × 16 / 27648 = 8 бар.

Если модуль выдаёт «сырой» код АЦП без внутреннего нормирования — например, 12-разрядный вход оцифровывает полный диапазон 0–20 мА в код 0…4095, — то 4 мА соответствует код 819, а 20 мА — код 4095. Формула та же, меняются только опорные коды: RAWmin = 819, RAWmax = 4095.

Масштабирование — это всего лишь линейная интерполяция между двумя парами «код ↔ величина». Правильно определить эти две пары важнее, чем сама формула.

Наверх Функции

Блоки нормирования и масштабирования

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

Шаг 1. Нормирование (NORM_X)

Функция нормирования переводит код АЦП в безразмерную долю в диапазоне 0.0…1.0:

frac = (RAW − RAWmin) / (RAWmax − RAWmin)

На входе задаются нижняя и верхняя границы кода и текущее значение; на выходе — вещественное число (REAL), показывающее, какую часть шкалы занимает сигнал.

Шаг 2. Масштабирование (SCALE_X)

Функция масштабирования разворачивает нормированную долю в инженерный диапазон:

EU = EUmin + frac × (EUmax − EUmin)

На входе — границы шкалы датчика и доля с предыдущего шага; на выходе — величина в физических единицах. Последовательное применение двух функций математически эквивалентно единой формуле масштабирования из предыдущего раздела.

Существуют и объединённые функции масштабирования (условно — SCALE), которые сразу переводят код АЦП типа INT в значение REAL по заданной шкале, проверяя попадание сигнала в рабочий диапазон. Порядок реализации канала обычно такой:

  1. Чтение кода. Получить целочисленный код АЦП из образа входов модуля.
  2. Контроль диапазона. Сравнить код с границами; при выходе за пределы установить флаг недостоверности и ограничить значение.
  3. Нормирование. Перевести код в долю 0…1 (NORM_X).
  4. Масштабирование. Развернуть долю в инженерные единицы по шкале датчика (SCALE_X).
  5. Использование. Передать результат в регулятор, архив и на визуализацию.
Наверх Аналоговый выход

Обратное масштабирование для аналогового выхода

Для аналогового выхода (управление регулирующим клапаном, частотным приводом, задатчиком) задача обратная: инженерную величину — например, задание в процентах открытия или в оборотах — нужно перевести в код цифро-аналогового преобразователя. По ГОСТ IEC 61131-2-2012 аналоговый выход преобразует многоразрядное двоичное число в непрерывный сигнал. Формула инвертируется относительно кода:

RAW = RAWmin + (EU − EUmin) × (RAWmax − RAWmin) / (EUmax − EUmin)

Здесь EU — задаваемая величина, RAW — код, который выставляется в образ выходов и подаётся на ЦАП. Как и на входе, опорные коды RAWmin и RAWmax берутся из документации на модуль вывода для выбранного диапазона сигнала. Перед записью в модуль результат ограничивают допустимым диапазоном кода, чтобы не выйти за пределы шкалы токового или вольтового выхода.

Наверх Диагностика

Живой ноль и обрыв датчика

Ключевое преимущество диапазона 4–20 мА перед 0–20 мА и 0–10 В — так называемый живой ноль. Нижней границе измеряемой величины соответствует не нулевой ток, а 4 мА. Смещение в 4 мА выполняет две функции: питает двухпроводной датчик по той же линии и позволяет отличить нормальную работу от обрыва цепи. При обрыве провода или потере питания ток падает до 0 мА — значение, которое в рабочем диапазоне 4–20 мА невозможно, и потому однозначно трактуется как неисправность.

У сигналов 0–20 мА и 0–10 В такой возможности нет: ноль — это допустимое рабочее значение, и обрыв неотличим от корректного измерения нижней границы шкалы. Именно поэтому ГОСТ 13033-84 определяет диапазон 4–20 мА как предпочтительный, и в ответственных контурах применяют именно его.

Пороги неисправности по NAMUR NE 43

Отраслевая рекомендация NAMUR NE 43 стандартизирует поведение аналогового сигнала за пределами рабочего диапазона, чтобы система управления могла отличить достоверный сигнал от отказа прибора. Значения тока вне диапазона 4–20 мА интерпретируются как насыщение или аппаратная неисправность.

Диапазон токаТрактовкаСтатус
≤ 3,6 мААппаратная неисправность: обрыв, короткое замыкание, отказ прибора (режим downscale)отказ
3,6–3,8 мАЗона различения (сигнал не формируется)запрет
3,8–4,0 мАНижнее насыщение (выход за нижнюю границу шкалы)насыщение
4,0–20,0 мАРабочий диапазон, 0–100 % измеряемой величинынорма
20,0–20,5 мАВерхнее насыщение (выход за верхнюю границу шкалы)насыщение
20,5–21,0 мАЗона различения (сигнал не формируется)запрет
≥ 21,0 мААппаратная неисправность (режим upscale)отказ

Зоны различения (3,6–3,8 мА и 20,5–21,0 мА) намеренно оставлены свободными: в них не должно быть достоверных сигналов. Это позволяет системе управления выставить порог срабатывания внутри зоны без ложных тревог из-за дрейфа. В программе ПЛК обработку сводят к двум проверкам после чтения кода: если пересчитанный ток ниже нижнего порога или выше верхнего — канал помечается как недостоверный, а его значение не используется в регулировании.

Прибор, настроенный на режим downscale, при внутреннем отказе выдаёт 3,6 мА, на режим upscale — 21 мА. Для двухпроводных датчиков часто рекомендуют режим upscale, поскольку такому прибору требуется минимальный ток для собственного питания, и слишком низкий сигнал для него ненадёжен. Выбор режима должен согласовываться с логикой безопасности контура.

Наверх Практика

Типовые ошибки при масштабировании

Большинство проблем с показаниями возникает не из-за формулы, а из-за неверных исходных данных и целочисленной арифметики.

  1. Перепутаны опорные коды. В формулу подставлен диапазон физической разрядности (например, 0…4095) вместо нормированного окна модуля (0…27648) или наоборот. Результат линейно смещён и растянут.
  2. Смешаны диапазоны 0–20 и 4–20 мА. Если датчик работает в 4–20 мА, а нижней границе ошибочно назначен код нуля тока, при нормальной нижней величине показания завышены.
  3. Целочисленное переполнение и потеря дроби. Умножение больших целых кодов до деления вызывает переполнение, а деление до умножения — потерю точности. Пересчёт ведут в формате с плавающей точкой (REAL).
  4. Нет ограничения диапазона. Без контроля границ шум и выбросы за пределами шкалы дают физически невозможные значения, которые уходят в регулятор.
  5. Игнорирование обрыва. Обрыв в 4–20 мА даёт ток около нуля; без отдельной проверки нижнего порога это масштабируется в отрицательную или нулевую величину и воспринимается как «нормальное» измерение.
Наверх Вопросы

Вопросы и ответы

Что такое масштабирование аналогового сигнала в ПЛК?

Это пересчёт целочисленного кода АЦП, полученного от токового или вольтового входа, в физическую величину — давление, температуру, расход. В штатном диапазоне связь линейна, поэтому пересчёт выполняется линейной интерполяцией между нижней и верхней границами шкалы датчика.

Как перевести код АЦП в инженерные единицы?

По формуле EU = EUmin + (RAW − RAWmin) × (EUmax − EUmin) / (RAWmax − RAWmin). Нужны две пары опорных значений: коды, соответствующие нижней и верхней границам сигнала, и сами границы шкалы датчика. Расчёт ведут в формате REAL.

Чему равен код АЦП для 4 и 20 мА?

Зависит от модуля. Во многих модулях номинальному диапазону 4–20 мА соответствует код 0…27648. Если модуль выдаёт «сырой» код 12-разрядного АЦП на диапазон 0–20 мА (0…4095), то 4 мА отвечает код 819, а 20 мА — 4095. Точные значения берут из руководства на модуль.

Какими блоками масштабируют сигнал?

Часто применяют двухшаговую схему: функция нормирования (NORM_X) переводит код в долю 0…1, функция масштабирования (SCALE_X) разворачивает долю в инженерный диапазон. Существуют и объединённые функции (условно SCALE), выполняющие оба действия и проверяющие попадание в рабочий диапазон.

Как определить обрыв датчика 4–20 мА в программе?

При обрыве ток падает до нуля — значения, невозможного в рабочем диапазоне 4–20 мА благодаря живому нолю. По рекомендации NAMUR NE 43 токи ниже 3,6 мА и выше 21 мА трактуются как аппаратная неисправность. В программе после чтения кода добавляют проверку нижнего и верхнего порогов и при их нарушении помечают канал недостоверным.

Почему используют 4–20 мА, а не 0–20 мА?

Из-за живого ноля. В 4–20 мА нижней величине соответствует 4 мА, поэтому ток 0 мА однозначно означает обрыв или потерю питания. В 0–20 мА и 0–10 В ноль — допустимое рабочее значение, и обрыв неотличим от корректного измерения нижней границы шкалы.

Нужно ли масштабировать сигнал для аналогового выхода?

Да, но формула инвертируется: инженерную величину переводят в код ЦАП по выражению RAW = RAWmin + (EU − EUmin) × (RAWmax − RAWmin) / (EUmax − EUmin). Перед записью результат ограничивают допустимым диапазоном кода выхода.

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

Источники

  1. ГОСТ 26.011-80. Средства измерений и автоматизации. Сигналы тока и напряжения электрические непрерывные входные и выходные.
  2. ГОСТ 13033-84. ГСП. Приборы и средства автоматизации электрические аналоговые. Общие технические условия.
  3. ГОСТ IEC 61131-2-2012. Контроллеры программируемые. Часть 2. Требования к оборудованию и испытания.
  4. ГОСТ Р МЭК 61131-3-2016. Контроллеры программируемые. Часть 3. Языки программирования.
  5. NAMUR NE 43. Standardization of the signal level for the failure information of digital transmitters.
  6. Техническая документация производителей модулей аналогового ввода-вывода (руководства по эксплуатации, каталоги, описание представления кода АЦП).

© Компания Иннер Инжиниринг. Все права защищены.

Появились вопросы?

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