Дискретный сигнал имеет два состояния — включено/выключено, а аналоговый непрерывно меняется во времени и принимает множество значений. Дискретные входы читают «0/1» с кнопок и концевых выключателей, аналоговые — измеряют ток или напряжение от датчиков. ПЛК оцифровывает аналоговый сигнал через АЦП: дискретизация по времени плюс квантование по уровню.
Дискретный (бинарный) сигнал несёт всего два состояния: логический ноль или логическую единицу. Так работают кнопки, выключатели, концевые выключатели, датчики положения типа on-off [2]. Для ПЛК это самый простой случай: модуль дискретного ввода фиксирует наличие или отсутствие напряжения на клемме, и программа видит готовое булево значение. Аналоговый (непрерывный) сигнал — это уровень напряжения или тока, который в каждый момент времени соответствует какой-то технологической величине: температуре, давлению, расходу, положению, скорости [2]. Значение меняется плавно и может принимать бесконечное множество значений внутри диапазона.
Стандартные аналоговые сигналы нормированы, чтобы датчики и модули разных производителей стыковались между собой. По напряжению распространены диапазоны –10…+10 В и 0…+10 В, по току — 0–20 мА и 4–20 мА [8]. Токовый сигнал 4–20 мА удобнее в промышленности: токовая петля меньше подвержена помехам на длинных линиях, а нижняя граница 4 мА позволяет отличить нулевое значение измеряемой величины от обрыва линии. Аналоговые выходы ПЛК используют те же диапазоны, что и входы [8].
Чтобы процессор мог обработать непрерывную величину, её нужно превратить в число. Этим занимается АЦП: по ГОСТ IEC 61131-2-2012 аналоговый вход — устройство, преобразующее непрерывный сигнал в дискретное мультибитовое двоичное число [8]. Процесс состоит из двух шагов: дискретизация — взятие отсчётов через равные промежутки времени, и квантование — замена каждого отсчёта ближайшим значением из фиксированного набора уровней. Результат — код с определённой разрядностью, который программа дальше масштабирует в физические единицы.
Измерительный тракт аналогового входа обычно состоит из нескольких звеньев: сигнал с датчика, нормирующий преобразователь, собственно АЦП и передача кода в память контроллера [8]. В программе сырой код АЦП приводится к инженерным единицам по линейной функции, а для подавления помех применяют фильтрацию и усреднение. Для дискретных входов логика обработки другая: важны фронты сигнала, подавление дребезга контактов и защита от ложных срабатываний [1].
На практике скорости обработки входов и выходов различаются. Контроллер работает циклически: читает входы, выполняет программу, обновляет выходы [5]. Аналоговый вход обновляется медленнее из-за времени преобразования АЦП и фильтрации, дискретный выход переключается практически мгновенно [5]. Типичная ошибка — ждать от аналогового канала такой же реакции, как от дискретного, и строить на нём быстродействующие защиты. Вторая частая ошибка — не учитывать разрядность и диапазон: при выборе модуля смотрят и на тип сигнала (ток/напряжение), и на разрешение, иначе точности измерения не хватит для задачи.
Материалы сайта по теме
- Дискретные и аналоговые сигналы: особенности обработки в промышленных контроллерах
- Составные части PLC
- Программирование ПЛК. 5.Цифровые и аналоговые сигналы.
- Модули ввода/вывода EKF PRO-Logic для автоматизированных систем управления
- Язык CFC в Codesys, часть 12 из 24
- BECKHOFF PLC CX8090 К SCADA TRACE MODE по MODBUS TCP
Частые вопросы
Что такое дискретный вход?
Это канал ПЛК, который читает два состояния — есть сигнал или нет. К нему подключают кнопки, выключатели, концевые выключатели и другие датчики типа on-off [2].
Что такое аналоговый вход?
Это канал, который принимает непрерывно меняющийся сигнал тока или напряжения и преобразует его в число через АЦП [8]. Служит для измерения температуры, давления, расхода и подобных величин.
Какие стандартные аналоговые сигналы применяются?
По напряжению — –10…+10 В и 0…+10 В, по току — 0–20 мА и 4–20 мА [8]. Токовый диапазон 4–20 мА позволяет обнаружить обрыв линии по падению тока ниже 4 мА.
Как ПЛК оцифровывает аналоговый сигнал?
Сигнал дискретизируется по времени и квантуется по уровню в АЦП, на выходе получается мультибитовый двоичный код [8]. Программа затем масштабирует этот код в физические единицы.
Почему аналоговый вход реагирует медленнее дискретного?
Преобразование в АЦП и фильтрация требуют времени, тогда как дискретный вход фиксирует состояние почти мгновенно [5]. Это нужно учитывать при построении быстродействующих алгоритмов.