ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (https://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (https://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   Вопрос: Тарировка бака КПГ (https://forum.tk-chel.ru/showthread.php?t=8007)

Arl 05.11.2019 01:18

Цитата:

Сообщение от SK (Сообщение 195594)
более 10 лет такая двумерная таблица никому не была нужна

Хорошо помню время, когда никому не нужны были персональные компьютеры и смартфоны.
Цитата:

Сообщение от SK (Сообщение 195594)
в случае организации двумерной таблицы - потребуется огромное количество переделок

Не надо ломать хорошо работающий механизм: не переделывать, по возможности - добавить.
Цитата:

Сообщение от SK (Сообщение 195594)
Данные давления и температуры будут в разных записях и могут оказаться с разными интервалами времени

Все в Ваших руках, не мне подсказывать, как их объединить (может добавить датчик Т, Р в микропрограмму)
Цитата:

Сообщение от SK (Сообщение 195596)
как правильно в этой таблице найти значение для температуры +26.4 и давления 23.8

Таблицы можно заранее составить с нужной точностью, например через 0.5 градуса (0,1) и через 1 бар.

SK 05.11.2019 11:08

Цитата:

Сообщение от Arl (Сообщение 195633)
Не надо ломать хорошо работающий механизм: не переделывать, по возможности - добавить.

В том и дело, что отличие кардинальное. В т.ч. с точки зрения функционирования.
В текущей таблице, делается ордината точки интерполируется посредство подстановки абсциссы в формулу либо линейную (кусочно-линейная аппроксимация), либо в сплайн (многочлен Лагранжа).
А при "газовой" таблице мы имеем несколько (множество) относительно параллельных" графиков, расположенных друг над другом.
Там уже надо будет формульно интерполировать дважды для двух графиков, между которыми находится температурная точка, а потом брать эти два значения за крайние и искать на этом отрезке значение, согласно промежуточной точке температуры.
либо
Прописать гигантскую таблицу с шагом 0.1 градуса через 1 бар = 700 * 40 = 28.000 значений. Не очень хорошая идея.
Тем более, что там явно кусочно-линейная зависимость...

Мне всё же видится, что там зависимость по одной из осей должна поддаваться формулизации. Думаю, зависимость от температуры вполне описывается формульно. Это позволит использовать обычную таблицу + формульную корректировку, прописываемую в дизайнере параметров в нижней части.

Arl 05.11.2019 11:42

Цитата:

Сообщение от SK (Сообщение 195648)
надо будет формульно интерполировать дважды для двух графиков, между которыми находится температурная точка, а потом брать эти два значения за крайние и искать на этом отрезке значение, согласно промежуточной точке температуры.

Не надо интерполяций, такая точность излишняя. Достаточно округления до целой градуса и целой бара.
И да, таблица давлений не до 40, до 250 бар (до 40 было приведено как усеченный пример).
Таки да, в лоб - таблица получается все равно большая (21250 значений).
Не знаю, насколько это чревато.
Если в размере таблицы -проблема, то делать через 10 и через 10, но тогда нужна кусочно-линейная интерполяция.
Формульно - пока проблемы, очень громоздко.

plex 05.11.2019 11:49

Цитата:

Сообщение от Arl (Сообщение 195651)
Достаточно округления до целой градуса и целой бара.

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

Добавлено через 26 секунд
Цитата:

Сообщение от Arl (Сообщение 195651)
Формульно - пока проблемы, очень громоздко.

поверьте доработка программы в сотни раз более громоздко, и более процессоро затратно при расчете

Arl 05.11.2019 11:57

Пример из СССР, здесь нету давлений в области 200-250 (где особенно выражены нелинейности от коэффициента сжимаемости) и области -40°С.
Побалуйтесь с табличкой.
ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА КПГ (м. куб.) В ОДНОМ БАЛЛОНЕ ОБЪЕМОМ 50 л
Давление газа в баллоне, кгс/кв. см Температура окружающей среды, °С
 -30-20-100+10+20+30+40
100,550,550,540,530,530,530,520,52
201,151,121,101,101,091,071,061,04
301,791,701,701,691,651,631,611,57
402,412,332,302,272,222,172,152,13
503,213,052,982,942,842,812,752,72
604,053,753,663,573,533,453,413,27
705,004,614,434,324,174,074,023,89
806,455,715,335,204,884,764,654,55
907,636,726,255,925,635,495,295,17
1008,777,697,246,766,496,255,955,81
1109,828,597,977,537,246,966,636,47
12010,919,388,958,458,007,797,327,14
13012,0410,169,859,298,788,338,027,83
14012,511,1110,7710,149,599,098,758,54
15013,1611,9011,3610,8710,279,749,389,15
16013,7912,5012,1211,4311,1110,3910,139,76
17013,9313,2812,6911,8111,4910,9010,6310,37
18014,2913,6413,2412,5012,0011,5411,2510,98
19014,6214,1813,5712,8412,5012,0311,5911,18
20014,9314,2913,8112,9912,6612,5012,1911,63

Добавлено через 3 минуты
Цитата:

Сообщение от plex (Сообщение 195652)
поверьте доработка программы в сотни раз более громоздко, и более процессоро затратно при расчете

Так если большие таблицы не проблема, то расчетов практически никаких - только округление входных параметров до целого.

Добавлено через 1 минуту
Цитата:

Сообщение от plex (Сообщение 195652)
программа так не работает, у нее везде все точно

Программа работает так, как ей задали.

plex 05.11.2019 12:00

Цитата:

Сообщение от Arl (Сообщение 195654)
Программа работает так, как ей задали.

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

Arl 05.11.2019 12:00

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

plex 05.11.2019 12:01

Цитата:

Сообщение от Arl (Сообщение 195658)
Тем более, что таблица рассчитывается всего один раз, пользоваться ей можно в дальнейшем без расчетов.

ну это не аргумент для доработки программы, программа прямо сегодня позволяет решить вашу задачу, зачем ее дорабатывать?

Arl 05.11.2019 12:07

Цитата:

Сообщение от plex (Сообщение 195657)
предлагаете из точно программы сделать не точную, только для одной задачи, причем не желаете переписать таблицу в в таблицу с которой может работать программа

Точнее не нужно практически, погрешность измерения температуры и давления, геометрии современных баллонов (они тоже меняют свой размер от температуры и от давления, особенно от давления, потому как полимерные).
А использовать одномерную таблицу можно и сейчас, преобразовав в нею двумерную, сдвигом строк или столбцов.
Только как-то некрасиво получается решение.
Но никакого полного тупика здесь не вижу.

plex 05.11.2019 12:27

Цитата:

Сообщение от Arl (Сообщение 195660)
Только как-то некрасиво получается решение.

Округление перед расчетом тоже не очень красиво

Добавлено через 8 минут
Сделал простой расчет от температуры, но что-то в исходных данных ИМХО не ладно, ну не может с ростом температуры свойства газа меняться то в одну то в другу сторону при постепенном увеличении температуры


Добавлено через 2 минуты
Ошибка в сравнении с Вашей таблицей выходит 0,3-1.24% кроме 0 где ошибка около 2.25%


Текущее время: 23:14. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot