PDA

Просмотр полной версии : макрос для вычисления плотности воды



delta8
18.02.2024, 20:09
добрый день, подскажите что делаю не так? написал формулу для вычисления плотности воды по температуре и давлению, но почему то цифры не сходятся с табличными значениями плотности, прилагаю макрос и формулу

kondor3000
18.02.2024, 20:47
добрый день, подскажите что делаю не так? написал формулу для вычисления плотности воды по температуре и давлению, но почему то цифры не сходятся с табличными значениями плотности, прилагаю макрос и формулу

Офигеть, такую формулу и квадратиками писать. Даже смотреть больно) Пишите формулу на языке ST, все текстом.

Вот пример

function_block DEC_HEX // Конвертация из Десятичной в Шестадцатиричную
var_input
x: udint;
end_var
var_output //объявление выходных переменных
Q,Q1,Q2 : udint;
end_var
VAR
a,b,c,d: udint;
end_var
// Q := a*real_to_udint(POW(16,3)) + b*real_to_udint(POW(16,2))+c*real_to_udint(POW(16, 1))+d*real_to_udint(POW(16,0)); пример формулы, POW-возведение в степень

a:=x/1000; b:=(x-a*1000)/100; c:=(x-a*1000-b*100)/10; d:=x-a*1000-b*100-c*10;
Q := a*4096 + b*256+c*16+d; Q1:=Q/100; Q2:=Q-Q1*100;
end_function_block

АРТ.Кар 64
19.02.2024, 03:26
Смотреть больно даже "прямо сейчас"?
А как же француз-учёный Боме почти 200 лет тому назад смотрел ? Однако и формулу вывел и таблицу составил.
И никому не запрещает ей пользоваться. Нужно только её посмотреть.
А то ,что Вы пытаетесь высчитать -то ни один ареометр такой точности не имеет.
Если есть возможность "округлить до десятых"-то будет гораздо проще.
Но почему-то при слове "ареометр" мне повесть "Два капитана" В.Каверина вспоминается.
А формула,действительно "Будь здоров"
Тут даже Стерлинг с вычислением факториала "отдыхает"
А на "Программируемом реле" высчитывать "высшую математику"-это равносильно тому,что при помощи "счётных палочек" высчитать расстояние от Земли до Альфа Центавра.

delta8
19.02.2024, 07:17
Смотреть больно даже "прямо сейчас"?
А как же француз-учёный Боме почти 200 лет тому назад смотрел ? Однако и формулу вывел и таблицу составил.
И никому не запрещает ей пользоваться. Нужно только её посмотреть.
А то ,что Вы пытаетесь высчитать -то ни один ареометр такой точности не имеет.
Если есть возможность "округлить до десятых"-то будет гораздо проще.
Но почему-то при слове "ареометр" мне повесть "Два капитана" В.Каверина вспоминается.
А формула,действительно "Будь здоров"
Тут даже Стерлинг с вычислением факториала "отдыхает"
А на "Программируемом реле" высчитывать "высшую математику"-это равносильно тому,что при помощи "счётных палочек" высчитать расстояние от Земли до Альфа Центавра.

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

Dimensy
19.02.2024, 08:49
В макросе, на первый взгляд, все правильно (замечания имеются, но на ход они не влияют). Попробуйте на калькуляторе посчитать и сравнить результаты

delta8
19.02.2024, 09:21
В макросе, на первый взгляд, все правильно (замечания имеются, но на ход они не влияют). Попробуйте на калькуляторе посчитать и сравнить результаты

73665

Вот тут в таблице уже есть результаты где сравнивается погрешность между ГССД и формулой при разных температурах и давлении.
У меня температура 25 с датчика и давление 0,5МПа избыточное, но плотность получается в районе 435 кг/м3

МихаилГл
19.02.2024, 09:24
73665

Вот тут в таблице уже есть результаты где сравнивается погрешность между ГССД и формулой при разных температурах и давлении.
У меня температура 25 с датчика и давление 0,5МПа избыточное, но плотность получается в районе 435 кг/м3

В эксель загони и проверь... Может опечатка в формуле, или где то размерность не СИшная.

1exan
19.02.2024, 09:26
73665

Вот тут в таблице уже есть результаты где сравнивается погрешность между ГССД и формулой при разных температурах и давлении.
У меня температура 25 с датчика и давление 0,5МПа избыточное, но плотность получается в районе 435 кг/м3

Переменную [ Т х.в. абс ] подключите нормально, она у вас в воздухе висит

МихаилГл
19.02.2024, 09:28
73665

Вот тут в таблице уже есть результаты где сравнивается погрешность между ГССД и формулой при разных температурах и давлении.
У меня температура 25 с датчика и давление 0,5МПа избыточное, но плотность получается в районе 435 кг/м3

Нашел я ваши ошибки. Вы ставите блок отнимания SUB и задаете отрицательный коэффициент...73666

МихаилГл
19.02.2024, 09:32
Переменную [ Т х.в. абс ] подключите нормально, она у вас в воздухе висит

Ну и это до кучи...

delta8
19.02.2024, 09:43
Нашел я ваши ошибки. Вы ставите блок отнимания SUB и задаете отрицательный коэффициент...73666

Отлично,спасибо большое, моя невнимательность

capzap
19.02.2024, 10:51
раз уж все закончилось, пока тему не закрыли предлагаю сравнить мой вариант с формульным

МихаилГл
19.02.2024, 11:13
раз уж все закончилось, пока тему не закрыли предлагаю сравнить мой вариант с формульным

Мы не ищем простых решений)