Segnetics

Вернуться   Segnetics > База знаний > Библиотека макросов

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.02.2015, 13:38   #1
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Пересчёт одного диапазона в другой (аппроксимация, LIN_TRAFO)

Макросы кусочно-линейной аппроксимации, т.е. пересчёта значения из одного диапазона в другой диапазон.


Аналог в codesys: LIN_TRAFO FB

Например, если у вас есть значение, изменяющееся в диапазоне от 100 до 400, а вам удобно использовать то же самое значение, но в диапазоне от 0 до 100, то настраиваете макрос:

in0 = 100
in1 = 400

out0 = 0
out1 = 100

Значение 4..400 подаёте на вход in макроса, а с выхода out вы получаете то же самое значение, но уже приведённое к диапазону 0..100

Также этот макрос очень удобно использовать в преобразованиях значений, полученных с аналогового входа в удобные вам единицы измерения.

Внимание, применяя макросы с типом данных int и long учитывайте наличие ошибок округления при работе с малыми числами! Например, невозможно корректно преобразовать диапазон 0..100 в диапазон 50..55 с помощью макросов с типами int и long. Используйте для этого тип данных real.
Вложения
Тип файла: msl Approx (int).msl (4.9 Кбайт, 2088 просмотров)
Тип файла: msl Approx (long).msl (5.0 Кбайт, 1654 просмотров)
Тип файла: msl Approx (real).msl (8.5 Кбайт, 2250 просмотров)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 02.09.2022 в 16:41
Arsie сейчас на форуме   Ответить с цитированием
Благодарность от:
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 17:37.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023