У заказчика датчики температуры 4-20мА. Подскажите, как лучше обработать сигнал для стандартной программы вентиляции для контроллера м245.
Самый простой вариант использовать блок "масштабирования" (scale) из раздела Математика.
Картинка для примера во вложении.
На вход "x" подаем значение сигнала с канала.
На x0, x1 - подаем масштабирование токового сигнала 4, 20 мА.
На входа y0, y1 - подаем шкалу датчика температуры - для примера 0, 100.
На выходе y получаем отмасштабированный сигнал.
Выходы hi, lo - можно использовать для диагностики обрыва или кз датчика, зашкала.
Цитата: MKO от 30 мая 2025, 11:34:03Самый простой вариант использовать блок "масштабирования" (scale) из раздела Математика.
Картинка для примера во вложении.
На вход "x" подаем значение сигнала с канала.
На x0, x1 - подаем масштабирование токового сигнала 4, 20 мА.
На входа y0, y1 - подаем шкалу датчика температуры - для примера 0, 100.
На выходе y получаем отмасштабированный сигнал.
Выходы hi, lo - можно использовать для диагностики обрыва или кз датчика, зашкала.
Только вроде нужно умножить на 1000 значение входа, чтобы получить 4-20мА. Это миллиамперы.
Верно. На входе вы получите значение в амперах, то есть диапазон от 0,004 до 0,02 (А).
Цитата: Konstantin Markov от 30 мая 2025, 11:34:03Самый простой вариант использовать блок "масштабирования" (scale) из раздела Математика.
Картинка для примера во вложении.
На вход "x" подаем значение сигнала с канала.
На x0, x1 - подаем масштабирование токового сигнала 4, 20 мА.
На входа y0, y1 - подаем шкалу датчика температуры - для примера 0, 100.
На выходе y получаем отмасштабированный сигнал.
Выходы hi, lo - можно использовать для диагностики обрыва или кз датчика, зашкала.
Как раз была мыслы этот блок использовать, просто думал, что может быть еще какое решение есть.
Если зависимость линейная (тока от температуры в данном случае), то это единственно верный способ обработать данные с датчика.
Если зависимость нелинейная (все резистивные датчики) - то нужно пользоваться блоком линеаризации
Как раз была мыслы этот блок использовать, просто думал, что может быть еще какое решение есть.
[/quote]
Другое решение это сделать свой блок такой же. Я так и сделал. Штатный блок масштабирования масштабирует только до крайних значений. Дальше он не считает а выдает сигнал больше меньше.
Иногда мне нужно чтобы он продолжал считать выше или ниже заданных значений, поэтому сделал свой.
Вот если бы в штатном блоке была такая галочка в настройках, было бы супер.
Например график погодозависимости когда делаешь, то нет смысла ограничиваться крайними значениями.
Или датчик линейный иногда берешь отрезок в нужном диаппазоне, тоже нужно чтобы он и дальше считал, но более точно в заданном диаппазоне. Поэтому было бы не плохо в настройках выбирать, считать дальше или нет.