- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Вычисление шарового объема
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
Вычисление шарового объема
Добрый день. Имеется шаровая ёмкость РСС-600 (Резервуар стальной сферический), компьютер с установленной RSView32, контроллер SLC-500. На ёмкости установлен уровнемер. По уровню заполнения вычисляется объем заполнения ёмкости, в м3.
Для этого в DerivedTag прописана формула вычисления шарового сегмента. Где вместо h подставляется значения уровня. Затем в DerivedTags переводится в тоннаж. Имеется свежая градуировочная таблица по этой ёмкости(т.е. такая-то величина заполнения шара соответствует такой-то величине объема). Для того чтобы максимально приблизить значения пересчета под градуировочную таблицу, делаю файлик в ексель, куда заношу данные градуировочной таблицы. Затем, изменяя R в формуле, подгоняю максимально возможно значения под таблицу. Теперь вопрос. Как сделать, чтобы вычисляемые значения идеально совпадали с градуировочной таблицей. Формулой тут не обойдешся. Нужно как-то заносить градуировочную таблицу в RSView32 или контроллер?
Формула вычисления шарового сегмента:
Для этого в DerivedTag прописана формула вычисления шарового сегмента. Где вместо h подставляется значения уровня. Затем в DerivedTags переводится в тоннаж. Имеется свежая градуировочная таблица по этой ёмкости(т.е. такая-то величина заполнения шара соответствует такой-то величине объема). Для того чтобы максимально приблизить значения пересчета под градуировочную таблицу, делаю файлик в ексель, куда заношу данные градуировочной таблицы. Затем, изменяя R в формуле, подгоняю максимально возможно значения под таблицу. Теперь вопрос. Как сделать, чтобы вычисляемые значения идеально совпадали с градуировочной таблицей. Формулой тут не обойдешся. Нужно как-то заносить градуировочную таблицу в RSView32 или контроллер?
Формула вычисления шарового сегмента:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Вычисление шарового объема
Решение в ответе на вопрос: "А что надёжнее, комп под "форточками" или контроллер?".
У нас градуировочные таблицы заносятся в контроллеры через спец.страницы проекта RSView32.
Доступ к изменению содержимого таблицы под паролем. Смотреть можно и без пароля.
Все вычисления в контроллере. Дублированные станции АРМ на RSView32 ведут архивы и рисуют графики, печатают отчёты.
Впрочем, многое зависит от выбранной учетной политики, т.е. от ответа на знаменитое "Нахрена?".
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- освоился
- Сообщения: 259
- Зарегистрирован: 01 фев 2010, 10:37
- Имя: Александр
- Страна: Россия
- город/регион: Брянск
- Благодарил (а): 10 раз
- Поблагодарили: 33 раза
Вычисление шарового объема
У вас же резервуар не идеальная сфера, поэтому неудивительно, значения, рассчитанные по формуле не совпадают с градуировочной таблицей.
А вообще, если таблица не очень большая, ее можно попробовать интерполировать полиномом n-ой степени…
А вообще, если таблица не очень большая, ее можно попробовать интерполировать полиномом n-ой степени…
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
Вычисление шарового объема
Интерполяция не подходит, таблица большая, проверял. Точнее выходит формулой.
Отправлено спустя 2 минуты 55 секунд:
Вот это интересно, не могли бы вы поподробнее описать, как это делается? Как формируется таблица в контроллере?
-
- почётный участник форума
- Сообщения: 1181
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 351 раз
- Поблагодарили: 241 раз
Вычисление шарового объема
Конкретно какой?
Даже в очень древних, не имея Float, была возможность вычислять в 32 разряда. См. Help для S:13...S:14, а потом на команды MUL и DDV.
На SCL-5/02 (хуже его только 5/01) делал позиционирование деталей и очень успешно.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- эксперт
- Сообщения: 1584
- Зарегистрирован: 29 май 2009, 21:40
- Имя: Александр
- Страна: Россия
- город/регион: Курган
- Благодарил (а): 86 раз
- Поблагодарили: 208 раз
Вычисление шарового объема
Расчет объема продукта коммерческий? Используется для сличительный операций по перемещению продукта из одного резервуара в другой?
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
Вычисление шарового объема
Да. Понимаю, что лучше должен стоять массомер и т.д. и т.п. Но имеем то, что имеем. Поэтому и возник вопрос, чтобы вычисляемые данные точно совпадали с градуировочной таблицей.
-
- эксперт
- Сообщения: 1584
- Зарегистрирован: 29 май 2009, 21:40
- Имя: Александр
- Страна: Россия
- город/регион: Курган
- Благодарил (а): 86 раз
- Поблагодарили: 208 раз
Вычисление шарового объема
Это обычная практика считать по объему. Массомер ставиться не всегда, и не везде. Как правило, система состоит из: измерителя уровня, многозонного датчика температуры, датчика гидростатического давления. Исходя из давления и уровня - плотность. По градуировочным таблицам и уровню - объем. По объему и плотности - масса. По многозонному датчику температуры - корректировка для приведения к нормальным условиям измерений. У Вас еще на 600 м3. А есть на 20 000 , и на 50 000. И принцип такой же, по градировочной таблице. Выбор конечно, за Вами. Но в данном случае единственный документ, подтверждающий объем при определенном взливе - именного градуировочная таблица. Если верно помню, то еще должна быть так называемая "мертвая" зона. Если примените полином, или иные функции, то придется доказывать (причем метрологически) правильность вычислений. И заботится о защите от изменений. Также резервуар периодически проходит некоторые сравнительные измерения, к примеру, измерения базовой высоты. И при определенных отклонениях будет проводится новая градуировка. Также резервуары проходят периодическую поверку. И таблицы корректируются. Также должен проводится геодезический контроль высотных отметок фундамента резервуара. А при определенных отклонениях от изначальных опять может быть принято решение о проведении поверки. И опять новая гравировочная таблица. Также в таблицах учитываются технологические трубопроводы до секущих задвижек, и технологическое оборудование внутри резервуара. То есть от взлива к взливу зависимость изменения очень даже может быть не описываться формулой. Даже такой простой по расчету как резервуар вертикальный стальной (по сути вертикальный цилиндр, чего уж проще считать объем), и тем не менее вводится в систему градуровочная таблица.
И причем в таблице еще должна быть поправочная таблица. Вроде как обычно уровень в таблицах указывается через 10 мм. Но в дополнительной таблице еще имеются поправочные значения уже по миллиметрам, насколько изменяется объем.
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
Вычисление шарового объема
Благодарю за развернутый ответ! Но вопрос остаётся, как внести градуировочную таблицу в контроллер, пока смутно представляю себе.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Вычисление шарового объема
Это массив объёмов требуемой размерности. Обычно калибровочная таблица составляется с фиксированным шагом по уровню. Поэтому работаем с индексацией элементов массива.
Используя индексную адресацию переходим от массива объёмов к массиву площадей сечений. Используя понравившуюся нам интерполяцию площадей (обычно хватает и линейной) определяем объёмный "довесок" к ближайшей меньшей точке калибровочной таблицы объёмов.
Как-то так.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- эксперт
- Сообщения: 1584
- Зарегистрирован: 29 май 2009, 21:40
- Имя: Александр
- Страна: Россия
- город/регион: Курган
- Благодарил (а): 86 раз
- Поблагодарили: 208 раз
Вычисление шарового объема
а зачем вносить его в контроллер? В моем представлении это обычно делается на "вехнем" уровне. А со среднего, то есть с контроллера, берутся данные по текущим измерениям. При этом надо иметь ввиду, что у персонала должна быть возможность внесения изменений в градуровочные таблицы. Обычно это или ведомственные метрологи, или технологи предприятия. Со своей учетной записью, с соответвующими правами. Вы им предоставите возможность перезаливать программу контроллера?
шаг - 1 см. Плюс еще имеется коэфициент вместимости на этом поясе - мм/м3. То есть какой объем добавляется на каждый милиметр уровня выше уровня. От пояса до пояса уровни вместимости могут иметь разное значение.
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
Вычисление шарового объема
Хотя бы из-за надёжности, видится хранение в контроллере более надёжным,чем на "верхнем" уровне. Плюс скорость обработки. Зачем технологам лезть в контроллер? Изменять таблицу они могут и с "верхнего" уровня, программу контроллера им перезаливать необязательно.olexsa писал(а): ↑08 сен 2023, 12:19 а зачем вносить его в контроллер? В моем представлении это обычно делается на "вехнем" уровне. А со среднего, то есть с контроллера, берутся данные по текущим измерениям. При этом надо иметь ввиду, что у персонала должна быть возможность внесения изменений в градуровочные таблицы. Обычно это или ведомственные метрологи, или технологи предприятия. Со своей учетной записью, с соответвующими правами. Вы им предоставите возможность перезаливать программу контроллера?
-
- эксперт
- Сообщения: 1584
- Зарегистрирован: 29 май 2009, 21:40
- Имя: Александр
- Страна: Россия
- город/регион: Курган
- Благодарил (а): 86 раз
- Поблагодарили: 208 раз
Вычисление шарового объема
Надеюсь, администраторы не сочтут на рекламу
http://old.radarmaster.ru/img/file/winopi.pdf
На данный момент времени при поднятии темы про измерения уровня в резевуарах, вычислении массы продукта, вспоминается именно эта система.
http://old.radarmaster.ru/img/file/winopi.pdf
На данный момент времени при поднятии темы про измерения уровня в резевуарах, вычислении массы продукта, вспоминается именно эта система.
А что в контроллере вычислять будете?
зачем скорость обработки? Объем, масса продукта в резевууарах фиксируются не менее чем через 2 часа после окончания технологических операций на нем (заполнение / опорожнение). Плюс к этому имеется максимальная скорость опорожнеия / наполнения резервуара. То есть это довольно таки инерционный процес. И скорость обработки здесь очень даже не на первом месте.
-
- почётный участник форума
- Сообщения: 5790
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 673 раза
- Поблагодарили: 840 раз
Вычисление шарового объема
И как? Без мата вспоминается? ;)
Вот есть же счастливые места, где людям налоговая и экономическая безопасность прощают пропажу архивов...
Эх, бросить бы всё...
ОДИН вычислитель (ПЛК) и минимум ДВА регистратора (АРМы), плюс "верхний уровень"...
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- почётный участник форума
- Сообщения: 1181
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 351 раз
- Поблагодарили: 241 раз
Вычисление шарового объема
В нем уже есть Float и Long, 32 разряда.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
Вычисление шарового объема
Составляю три массива. Первый массив с уровнем заполнения (с шагом 1 см), второй массив с объемом, третий с коэффициентом вместимости. Затем беру показания с уровнемера(без значения после запятой, значения после запятой заношу в какую-нибудь временный тэг "temp"), пробегаюсь поиском по первому массиву, нахожу индекс элемента. По индексу нахожу нужный объем во втором массиве. Значения временного тэга "temp" умножаю на нужный коэффициент вместимости и прибавляю найденный объем. Тем самым получая точный объем.
А если емкость не одна, а штук двадцать, и записей в одной таблице свыше 1000. SLC -5/04 не "закипит" от такого помещаемого/обрабатываемого объема данных?
А если емкость не одна, а штук двадцать, и записей в одной таблице свыше 1000. SLC -5/04 не "закипит" от такого помещаемого/обрабатываемого объема данных?
-
- эксперт
- Сообщения: 1584
- Зарегистрирован: 29 май 2009, 21:40
- Имя: Александр
- Страна: Россия
- город/регион: Курган
- Благодарил (а): 86 раз
- Поблагодарили: 208 раз
Вычисление шарового объема
записей в таблице на один резервуар будет около 2000. Щаровый резервуар на 600 м3 - это приблизительно 10 м в диаметре, то есть 1000 см. На каждый см - 1 запись, плюс 1 запись на коэффициент вместимости. 2000 - это максимум количества записей. По факту их будет меньше. Есть "мертвая" зона внизу, и есть ограничение по максимальному наполнению (в технической документации на резервуар).
Вот здесь что то не так.
Без тегов попробую описать, как это делается персоналом вручную.
1. Лот - рулеткой измеряется уровень продукта в резервуаре. К примеру, получилось 5105 мм = 510,5 см
2. По градуировочной таблице находится объем на высоте 510 см - V1.
3. По градуировочной таблице находится коэффициент вместимости для уровня 510 см.
4. Умножаем 5 мм на коэффициент вместимости. Получаем ещё одно значение объема - V2.
5. Искомый объем равен сумме: V = V1+V2.
-
- здесь недавно
- Сообщения: 27
- Зарегистрирован: 10 янв 2019, 17:13
- Имя: Алексей
- Благодарил (а): 19 раз
- Поблагодарили: 4 раза
-
- эксперт
- Сообщения: 1584
- Зарегистрирован: 29 май 2009, 21:40
- Имя: Александр
- Страна: Россия
- город/регион: Курган
- Благодарил (а): 86 раз
- Поблагодарили: 208 раз
Вычисление шарового объема
нашёл, где мною было упущение. Запись "значения после запятой" - воспринимаю, что имеются ввиду значения десятых долей миллиметров. Вы же скорее всего имели ввиду, что значения будут в сантиметрах. Вот эту тонкость необходимо на изначальном этапе согласовать как с прибором измерения, так и с заказчиком. По прибору - не все и не всегда приборы передают значения в сантиметрах. Конечно, многое зависит от прибора, его функциональных возможностей. Но в большинстве случаев это миллиметры. А в градуировочных таблицах сантиметры. А в документации заказчика, требованиях ведомств это могут быть или миллиметры, или метры.
-
- частый гость
- Сообщения: 441
- Зарегистрирован: 21 июл 2013, 19:32
- Имя: Вадим
- город/регион: Северодвинск
- Благодарил (а): 15 раз
- Поблагодарили: 39 раз
Вычисление шарового объема
А что мешает просто линейно сынтерполировать на участке 510...511 см, без дополнительных таблиц?olexsa писал(а): ↑09 сен 2023, 08:32 1. Лот - рулеткой измеряется уровень продукта в резервуаре. К примеру, получилось 5105 мм = 510,5 см
2. По градуировочной таблице находится объем на высоте 510 см - V1.
3. По градуировочной таблице находится коэффициент вместимости для уровня 510 см.
4. Умножаем 5 мм на коэффициент вместимости. Получаем ещё одно значение объема - V2.
5. Искомый объем равен сумме: V = V1+V2.
-
- эксперт
- Сообщения: 1584
- Зарегистрирован: 29 май 2009, 21:40
- Имя: Александр
- Страна: Россия
- город/регион: Курган
- Благодарил (а): 86 раз
- Поблагодарили: 208 раз
Вычисление шарового объема
Теоретически ничего. При проведении поверки резервуаров фактическим заполнением (кстати, более достоверным, чем теоретический, потому что очень сложно учесть изменение геометрии резервуара при заполнении продуктом) именно так и рассчитывают коэффициент заполнения, который потом вносится в градуировочную таблицу. Но такие тонкости необходимо согласовывать с заказчиком.
Мною ведь не зря в самом начале был задан вопрос для каких целей будет применяться система. Если к примеру, для сличения отпущенного/принятого продукта между организациями, подразделениями внутри организации, когда пытаются найти причину дисбаланса, то показать электронный аналог градуировочной таблицы гораздо проще и эффективнее, чем доказывать, и рассказывать, как считает программа (написанное - практический опыт).
Последний раз редактировалось olexsa 09 сен 2023, 10:48, всего редактировалось 1 раз.
-
- освоился
- Сообщения: 259
- Зарегистрирован: 01 фев 2010, 10:37
- Имя: Александр
- Страна: Россия
- город/регион: Брянск
- Благодарил (а): 10 раз
- Поблагодарили: 33 раза
-
- эксперт
- Сообщения: 1584
- Зарегистрирован: 29 май 2009, 21:40
- Имя: Александр
- Страна: Россия
- город/регион: Курган
- Благодарил (а): 86 раз
- Поблагодарили: 208 раз
Вычисление шарового объема
на узком участке (поясе) в 10 мм получается линейно. Из - за малого радиуса кривизны. А применить формулу объема для всего резервуара не получиться. Причины написаны выше.
Как мне кажется, предложенный способ по массивам наиболее применим. При условии предоставления возможности корректировки данных технологами, метрологами предприятия.
Но при этом необходимо учитывать еще один момент. Выше написано, что резервуаров может быть 20 шт. То есть это резервуарный парк. Как правило, поверку резервуаров стараются смещать по времени - по месяцам, годам (это длительная процедура. Особенно если проводился ремонт, замена конструктивных элементов). И система должна позволять выполнять загрузку градуировочной таблицы, ее корректировку без останова работы учета по другим резервуарам. А если для этого необходима остановка контроллера - так опять же согласование этой тонкости с заказчиком, лучше письменным. Чтобы через год, два, три от него не было претензий.
-
- здесь недавно
- Сообщения: 36
- Зарегистрирован: 12 май 2020, 06:21
- Имя: Андрей
- Страна: Россия
- город/регион: Новосибирск
- Благодарил (а): 9 раз
- Поблагодарили: 29 раз
Вычисление шарового объема
Понадобится два массива данных. Правильно написал, ув. Ryzhij. Берете первый массив с фиксированным шагом по уровню. Второй массив с объемами, привязанными к нужному уровню. Затем делаете линейную интерполяцию данных. Например: Где, X1 - это уровень по гр.таблице (здесь в мм)
Х2 - это следующий уровень по гр.таблице(шаг 10мм);
f(x1) - это объем, соответствующий значению уровня в Х1 (5990мм уровня заполнения = 367.287 м3 объема);
f(x2) - это объем, соответствующий значению уровня в Х2 (6000 мм уровня заполнения = 368.139 м3 объема);
Х - значение, "идущее" с уровнемера. ( в данном примере в мм).
У вас нет необходимых прав для просмотра вложений в этом сообщении.