Страница 1 из 1

Вычисление значения по объемному КПД

Добавлено: 30 апр 2025, 10:49
VitalyaLev
Доброго времени суток уважаемые форумчане! Прошу помощи в следующей задаче:
Имеется переменная Q - производительность
Имеется переменная N - количество оборотов
Имеется объемный КПД в виде:
при N > 0 и N < = 50 , КПД = 0,5
при N > 50 и N <= 100, КПД = 0,65
при N > 200 и N < = 200, КПД = 0,9

P = Q*КПД

Как составить плату чтобы в формулу значение КПД, подставлялось в зависимости от оборотов
Не могу понять, как реализовать вычисление по условию одним словом

Re: Вычисление значения по объемному КПД

Добавлено: 30 апр 2025, 15:48
lfgjikjjyj
V-KPD_(Code_-_Basic).ubi

Re: Вычисление значения по объемному КПД

Добавлено: 30 апр 2025, 21:27
VitalyaLev
lfgjikjjyj писал(а): 30 апр 2025, 15:48 V-KPD_(Code_-_Basic).ubi
Спасибо конечно, но в Вашем блоке нет зависимости переменной КПД

Re: Вычисление значения по объемному КПД

Добавлено: 02 май 2025, 08:20
Naladchik
VitalyaLev писал(а): 30 апр 2025, 21:27 ... нет зависимости переменной КПД
Любопытно, а о какой зависимости речь? Все, о чем говорилось то и реализовано.
Реализация, конечно, своеобразная, аж две функции для такой ерунды, но тут уж кто как хочет так и реализовывает.

Re: Вычисление значения по объемному КПД

Добавлено: 02 май 2025, 08:32
montirovka
VitalyaLev писал(а): 30 апр 2025, 21:27
lfgjikjjyj писал(а): 30 апр 2025, 15:48 V-KPD_(Code_-_Basic).ubi
Спасибо конечно, но в Вашем блоке нет зависимости переменной КПД
Интересный упрек! А топик стартер видел что написал? Это можно зайти и подправить.
2025-05-02_08-27-39.png
Можно график КПД увидеть?
В программе FLProg есть блоки масштабирования. Если линейная зависимость - линейное масштабирование блок Scale.
Задаете входной диапазон и выходной.
Если нелинейное - то Poligon.
маштабированиеjpg.jpg
Если судить по данным то линейной зависимости нет.
Полигон по вашим данным будет выглядеть вот так:
Полигон.jpg
Что бы преобразовать полигон в линейную вы можете указать первую и последнюю точку.
Полигон_2_точки.jpg

Re: Вычисление значения по объемному КПД

Добавлено: 02 май 2025, 16:33
lfgjikjjyj
Naladchik писал(а): 02 май 2025, 08:20
VitalyaLev писал(а): 30 апр 2025, 21:27 ... нет зависимости переменной КПД
Любопытно, а о какой зависимости речь? Все, о чем говорилось то и реализовано.
Реализация, конечно, своеобразная, аж две функции для такой ерунды, но тут уж кто как хочет так и реализовывает.
зато чистенько и прибрано получилось :)
да я их на самом деле сделал несколько мне было интересно что будет быстрее в цыкле
и на иф и на свиче и на макросах и на таблицах но скорость всегда почти одна и таже примерно 66к цыклов могу лиш предположить что это уже порог в вычислениях самого флоата на уно в данном моменте лег ограничением а не поиск и подставление значений
единственое как вариант можно дописать что бы блок срабатывал по изменению на входах а не вращал код в каждом цыкле но учитывая наличие диспечера в 9 версии многие утяжеления блока излишни становятся немного во вред

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

Re: Вычисление значения по объемному КПД

Добавлено: 03 май 2025, 07:53
Naladchik
lfgjikjjyj писал(а): 02 май 2025, 16:33 "... мне было интересно что будет быстрее в цыкле ..."
теперь понятно для чего было функции объявлять как <static inline>.
Не мог понять зачем эти навороты для такой мелочевки.

Re: Вычисление значения по объемному КПД

Добавлено: 06 май 2025, 07:57
VitalyaLev
Naladchik писал(а): 02 май 2025, 08:20
VitalyaLev писал(а): 30 апр 2025, 21:27 ... нет зависимости переменной КПД
Любопытно, а о какой зависимости речь? Все, о чем говорилось то и реализовано.
Реализация, конечно, своеобразная, аж две функции для такой ерунды, но тут уж кто как хочет так и реализовывает.
Прошу прощения за свои упреки, ввиду малого опыта использования FLProg, не увидел функций вписанных в блок, всё реализовано как и надо.
Большое спасибо!

Re: Вычисление значения по объемному КПД

Добавлено: 06 май 2025, 08:00
VitalyaLev
montirovka писал(а): 02 май 2025, 08:32
VitalyaLev писал(а): 30 апр 2025, 21:27
lfgjikjjyj писал(а): 30 апр 2025, 15:48 V-KPD_(Code_-_Basic).ubi
Спасибо конечно, но в Вашем блоке нет зависимости переменной КПД
Интересный упрек! А топик стартер видел что написал? Это можно зайти и подправить.
2025-05-02_08-27-39.png
Можно график КПД увидеть?
В программе FLProg есть блоки масштабирования. Если линейная зависимость - линейное масштабирование блок Scale.
Задаете входной диапазон и выходной.
Если нелинейное - то Poligon.
маштабированиеjpg.jpg
Если судить по данным то линейной зависимости нет.
Полигон по вашим данным будет выглядеть вот так:
Полигон.jpg
Что бы преобразовать полигон в линейную вы можете указать первую и последнюю точку.
Полигон_2_точки.jpg
У меня ступенчатая зависимость
при 50 - 0,895
при 100 - 0,900
при 200 - 0,930
при 300 - 0,960
при 400 - 0,970
при 500 - 0,950

Спасибо, так и реализовал

Re: Вычисление значения по объемному КПД

Добавлено: 06 май 2025, 08:20
montirovka
VitalyaLev писал(а): 06 май 2025, 08:00
montirovka писал(а): 02 май 2025, 08:32
VitalyaLev писал(а): 30 апр 2025, 21:27

Спасибо конечно, но в Вашем блоке нет зависимости переменной КПД
Интересный упрек! А топик стартер видел что написал? Это можно зайти и подправить.
2025-05-02_08-27-39.png
Можно график КПД увидеть?
В программе FLProg есть блоки масштабирования. Если линейная зависимость - линейное масштабирование блок Scale.
Задаете входной диапазон и выходной.
Если нелинейное - то Poligon.
маштабированиеjpg.jpg
Если судить по данным то линейной зависимости нет.
Полигон по вашим данным будет выглядеть вот так:
Полигон.jpg
Что бы преобразовать полигон в линейную вы можете указать первую и последнюю точку.
Полигон_2_точки.jpg
У меня ступенчатая зависимость
при 50 - 0,895
при 100 - 0,900
при 200 - 0,930
при 300 - 0,960
при 400 - 0,970
при 500 - 0,950

Спасибо, так и реализовал
Удачи в проекте.