PDA

Просмотр полной версии : Преобразователь линейный значений сигнала с аналогового входа 0...4000 Ом в 0...400



По самые по...
17.12.2018, 10:32
Ищется красиво исполненный макрос линейного преобразователя значений сигнала с аналогового входа - измеритель сопротивления 0...4000 Ом (он вроде в формате float32) в сигнал 0...400 (int16).

maximov2009
17.12.2018, 10:41
Добрый день. А зачем Вам макрос? Здесь нужно всего 2 блока, делитель (вещественный) на 10 и после него преобразователь из флоат в инт.
Ну если хотите - можете эти 2 блока в макрос завернуть. А смысл?
С уважением.

По самые по...
17.12.2018, 11:32
А не произойдет целочисленное деление? Например 3/10=0

Ревака Юрий
17.12.2018, 11:52
Ищется красиво исполненный макрос линейного преобразователя значений сигнала с аналогового входа - измеритель сопротивления 0...4000 Ом (он вроде в формате float32) в сигнал 0...400 (int16).

Все уже давно есть http://www.owen.ru/forum/showthread.php?t=25068&p=294559&viewfull=1#post294559, выход уже можно в INT преобразовать.

maximov2009
17.12.2018, 12:04
А не произойдет целочисленное деление? Например 3/10=0

Вы же делите ВЕЩЕСТВЕННОЕ число блоком fDIV там такого не произойдёт. А потом уже преобразуете в целочисленное.
Боитесь потерять точность при преобразовании - домножьте перед преобразованием на нужную 1000(или сколько боитесь потерять).

Вообще для чего Вам нужно? Может вопрос по другому решается.

С уважением.

По самые по...
17.12.2018, 12:35
Нормалек! Поделил на 10,0 и подложил макрос flimit1. У меня таким образом уставка с переменного резистора, через модбас в ПЧ поступает. Точность не важна. Макрос flimit1 ограничивает уставку при обрыве резистора.