Последний раз редактировалось kondor3000; 26.10.2022 в 16:30.
Например при 0 - показывает +1 градус, при 100 показывает 105. Дельта сдвига -1 градус. Температура Т = (Т изм.-1). При 0 будет 0, при 100 показывает 104.
Теперь считаем коэффициент к=100/104=0,96154. На самом деле после запятой 12 знаков, округляем до нужной точности.
Теперь формула будет Т = (Т изм.-1)*0,96154.
Проверяем при нуле Т=(1-1)*0,96154=0*0,96154=0, при 100 - Т=(105-1)*0,96154=104*0,96154= 100,00016
Последний раз редактировалось kondor3000; 26.10.2022 в 18:53.
Хотел добавить, что сдвиг, вместе с наклоном можно сделать без дополнительных элементов, просто настройками входа!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Вам дал пример по 2 точкам. Если хотите, сделайте хоть по 10. И при -5 в том числе. Но график при 0, должен показывать 0. Вот скрин с графиками для наглядностиIMG_20221027_140001.jpg
Последний раз редактировалось kondor3000; 27.10.2022 в 14:02.
Ну а как вам то что у меня получилось?
Смотря что хотели получить.
Если как стандартная коррекция например в ТРМ-ах, то можно сделать один блок на ST:
Код:function out: real; var_input in : real; offset : real; // сдвиг slope : real; // наклон end_var // ограничение сдвиг if offset > 50 then offset := 50; elsif offset < -50 then offset := -50; end_if; // ограничение наклон if slope > 1.1 then slope := 1.1; elsif slope < 0.9 then slope := 0.9; end_if; // расчёт out := (in + offset) * slope; end_function