SCALE_X Команда нормализации NORM_X нормализует вход- ное значение VALUE внутри диапазона значений, указанного в па- раметрах MIN и MAX, в соответствие со следующей формулой:
OUTVALUE MIN . MAX MIN
Таким образом, по сути, выполняется линейное сжатие значения
VALUE от некоторого исходного диапазона MIN; MAX возмож- ных значений к диапазону 0;1 .
Команда масштабирования SCALE_X масштабирует нормализованный вещественный параметр VALUE, где (0,0 <=
VALUE <= 1,0), в тип данных и диапазон значений, указанные в параметрах MIN и MAX:
OUTMINVALUEMAXMIN . Таким образом, по сути, выполняется линейное растяжение зна- чения VALUE от исходного диапазона 0;1 к некоторому конеч-
ному диапазону MIN; MAX значений.
Команды NORM_X и SCALE_X обычно используются для об- работки аналоговых сигналов с аналоговых входов и выходов ПЛК. Аналоговые сигналы применяются для измерения значений раз- личных изменяющихся физических величин, таких как температу- ра, давление, расход и т. д. Но так как различных типов сигналов очень много, для удобства используются нормирующие преобразо- ватели, встроенные в датчик, либо выносные, которые преобразуют выходной электрический сигнал с датчика в унифицированный то- ковый сигнал 4–20 мА или сигнал напряжения 0–10 В. И далее этот унифицированный сигнал приходит на аналоговый вход ПЛК.
Далее аналоговый сигнал с помощью АЦП (аналого-цифрового преобразователя) преобразуется в некое целочисленное значение, обычно в формате Integer (целые числа в диапазоне от –32768 до 32767). Так, в ПЛК S7-1200 для сигнала 4–20 мА представление аналогового сигнала изменяется от 0 до 27648 счетов АЦП. Затем это число в программе с помощью специальных инструкций необ- ходимо перевести в реальные единицы измерения.
Типовой метод преобразования значения аналогового входа ис- пользует инструкции NORM_X – нормализации значения и SCALE_X – масштабирования.
NORM_X нормализует параметр VALUE к диапазону значений, определенному параметрами MIN и MAX (рис. 49). На вход пара- метра VALUE приходит значение с датчика. MIN – минимальное значение в диапазоне, в данном случае 0, MAX – максимальное зна- чение, то есть 27648. На выходе мы получаем нормализованное значение, которое заносим в переменную temp_value.
Затем масштабируем полученное значение согласно диапазону измерения датчика, например, для датчика давления, от 0 до 160 бар (рис. 50).
Рис.49.Использование команды NORM_X
при обработке сигнала аналогового датчика
Рис.50.Использование команды SCALE_X
при обработке сигнала аналогового датчика
Результирующим значением выходной переменной out_value будет фактическое значение давления в bar. Таким образом мы из электрического сигнала с датчика давления получаем целочислен- ное значение этой переменной.