Полная версия этой страницы:
Расчет расходов воды
Попросили коллеги по сантехническому отделу смастерить нечто эдакое.
Во имя дружбы ВК-шников и ОВ-шников пришлось попариться (особого интузиазма мне эта работа не прибавляла).
Не исключено что будут ошибки. Некоторые нормы (например для общепита) взяты по супер-связям нашего главспеца
.
Расчитываю на традиционную мега-активность ВК-шников
.
Товарищ Kopchello указал на ошибки. закрыли на редакцию.
Небольшая инструкция.
В серых ячейках задаются исходные данные.
Красные (или оранжевые
) ячейки просьба не трогать - в них расчеты проводятся.
Также скрыты "ширмой" листы в которых определяются альфы и лист с базой данных для потребителей.
Туда тоже желательно не лазить
.
Хотя в принципе в листе "БД" можете поменять нормы расходов, если вас не устраивают выдаваемые программой. Но для неопытных товарищей все эти действия чреваты последствиями
.
Прилагаем отредактированную версию. 85 kb
Интересная прграммка! расходы такие же как у меня получились плюс минус сто - двести грамм))))
мельком посмотел и увидел таку вещь - в случае если присутствуют в расчете потребители "ДУШИ ПРОМ ПРЕДПРИЯТИЙ" то и для них считается вероятность, что по моему не есть правильно.
если справлюсь со своей зелёной, попозже выложу свой файл...
но тем не менее реализация прекрасная
Сантехник
18.4.2007, 15:11
А куда делись потребители в сутки там или в час в расчетах присутствуют и те и другие. И до балансовой таблицы довести не мешало бы, а система открытая/закрытая.
Да отопленцам лучше свои темы развивать. Типа расчета точки росы и парциального давления в толще стены (лично для меня проблема).
Данная прога не претендует на широкое применение. Преследовались другие цели. Хотел вам, уважаемые коллеги продемонстрировать, что если захотеть, то можно сделать что-то интересное.
Самым сложным в плане реализации программы это было альфы находить в зависимости от таблицы в которую попадаем, и интрополировать соответсно. С этим я справился, а дальше мне стало нудно и неинтересно возиться, т.к лично мне она не пригодится
Поэтому она конечно сырая, но призываю ВК-шников не лениться и мастерить самостоятельно что-то (мне вот по жизни одни лентяи ВК-шники попадаются. интересно это случайность или закономерность?
). Здесь вот еще раньше была выложена прога по ВК, так ее тоже ОВ-шник написал. Вам не стыдно
? Ясно что сами вы для себя лучше бы сделали. Если сделали так поделитесь. А то каждый себе какую-то корявую табличку смастерил, и хватит
Пуская для вас эта несовершенная работа (сделаная человеком, который никогда реально этих расходов не считал) будет стимулом сделать лучший продукт
.
на самом деле выбор значений альфа из таблицы как мне кажется не лучший способ.
Один раз апроксимировать и пользоваться формулами
Цитата(ssn @ Apr 19 2007, 14:41 )
на самом деле выбор значений альфа из таблицы как мне кажется не лучший способ.
Один раз апроксимировать и пользоваться формулами
Я, кстати, всегда в таких случаях в экселе строю график, линию тренда - получаю зависимость и пользуюсь формулой. Для альф тоже так сначала сделал, вроде и относительная погрешность минимальная, но когда начал подставлять - получил большую абсолютную
.
Потом мне Kopchello сказал что все формулы для альфы - лажовые. Вот я и мучился с интрополяцией. Особенно для первой таблицы - она там двойная
.
так и есть.. разбиваем диапазон на 5 частей, для каждой части находим линию тренда с максимальной степенью, в результате погрешность значения альфы получается в редко когда около 5% (а то и меньше).
хотел прилепить свой файл, фигня какая то... не прилепляется и всё.. рар... ща ещё попробую
68 к
Добавлено - 17:06
как интересно.. зип сразу отправился...
Точно!!! тоже помню хотел разбить...
главспец настояла на интрополяции
, сказала что их в институте заставляли делать, поэтому так правильно
Правильнее назвать мою прогу Демо-версия.
Гость, хочу спросить как получилось сделать одну такую вещь. Когда выбираешь потребителя то справа есть бегунок. Я искал искал такое - не нашел, там же в бейсике только раскрывается полный список без этого бегунка? Нет же такой команды с бегунком. Может надо как-то диапозон по-другому задавать?
Предлагаю сотрудничать в создании этой программы для ВК. Сделал подобную. Остановился на АПЖ и подборе расходомеров.
Сейчас делаю интерполяцию по таблицам Шевелевых, на пластик уже сделал.
если надо, кидаю свою интерполяцию... может все же пригодится.
30 К
Цитата(Михаил I @ 23.5.2007, 8:36)
Гость, хочу спросить как получилось сделать одну такую вещь. Когда выбираешь потребителя то справа есть бегунок. Я искал искал такое - не нашел, там же в бейсике только раскрывается полный список без этого бегунка? Нет же такой команды с бегунком. Может надо как-то диапозон по-другому задавать?
Предлагаю сотрудничать в создании этой программы для ВК. Сделал подобную. Остановился на АПЖ и подборе расходомеров.
Сейчас делаю интерполяцию по таблицам Шевелевых, на пластик уже сделал.
На самом деле нет ничего сложного в этом, и бейсик ни причем. Хотя эта возможность дает создавать такие проги, которыми завален данный раздел. Я долго искал, таки нашел, в свое время
.
Внимание! Открываю главные секреты экселя для юзеров без макросов:
В настройке панели инструментов вытащите панель "Формы". Там в этой панели множество кнопок и переключателей, из которых я в своей практике использую три вида. Самый распространенный называется "поле со списком" (думаю вы об этом бегунке рассказывали). Нажимаете его и в свободном поле листа шелкаете ЛКМ. Наведите на появившийся квадрат с уголком курсор и щелкните правой клавишей мыши. Выберите формат объекта. Далее закладка "элемент управления". В строке "формировать список по диапазону" указываете диапазон срок с текстом. В строке "связь с ячейкой" указываете ячейку, на которую в дальней шем будете ссылаться в формулах (например "индекс"). После выбора какой-то строки в образовавшемся поле со списком - в ячейке, с которой вы установили связь будет отображаться порядковый номер строки. Это нам как раз и необходимо. Далее вставляете какую-нибудь таблицу СНиПа со строками, соответствующими сформированым. Для вытягивания какого-то числа из таблицы пользуйтесь формулой "=индекс(....". Таблица, имеет строки и столбцы. Номер строки мы определили, аналогично можно определить столбцы. в формуле "индекс" указывается диапазон, через точку с запятой номер строки и номер столбца. Номер строки - ссылка на ячейку, с которой предварительно установили связь. Повторюсь, номер столбца, можно аналогично определять, или же в противном случае не делать в формуле ссылку на ячейку, а просто писать цыфру, например "1".
А дальше логические функции и уже отработаные приемчики
Сантехник
24.5.2007, 13:57
Наверно каждый ВКшник делает такое. первую слепил в суперкалке перевел в квадропро потом в экзель. А выбор из списка очень хорошая вещь пол года назад освоил не нарадуюсь.
Интерполяцию по Шевелеву делать не надо надо открыть первые страницы и вбить в таблицу приведенные там формулы. Получится для холодной воды для любого материала и диаметра (меди в шевелеве нет ну и бог с ней)
Если доберетесь до Снипа на наружку приложение 10 кааца то найдете в параметре С или В ссылку на кинематический коэф вязкости а это уже путь к пересчету на любую температуру. Вот и будет табличка с графами материал трубы диаметр и температура , а если нужно то через вязкость и среду заложить можно хладоген какой нибудь. Успехов всем.
Гость, я так и сделал. Но там команда поле со списком. А бегунка то нет. Т.е. треугольников справа
нет их. Хотя и список то большой ,а бегунок не появляется. В чем причина не пойму
там есть еще такая функция - поле с раскрывающимся списком. Почему-то она не активна и не выбирается.
Вот так выглядит.
Тоже самое с меньшим размером
Похоже дело в настройках экселя или в везении. Потому что в программе Гостя сделал ту же команду - поле со списком - там бегунок появляется. В моем файле нет и все, хоть тресни!
То Михаил I
Действительно не знаю почему у вас так выходит (вернее не выходит).
Прикреплю, для наглядности первые три шага. Если попросите, то и остальные потом
.
так оно все и происходит. В свойствах объекта ничего такого больше нет чтобы показывался этот бегунок.
Вот скачал вашу программу. Делаю тоже самое - там выходит. В моем файле - нет
ну попробуйте переустановить "офис" раз такое дело. Чесслово не знаю где надо поковырять, чтоб работало. Никуда не лазил специально, все по умолчанию получилось
не надо переустанавливать...
в настройках есть набор подключаемых модулей форм
на вкладке формы нажать расширение и получится список кнопок на форме.
просто есть команда список, поле со списком и поле с раскрывающимся списком
может в этом дело?
Михаил I
25.5.2007, 10:57
SSN, я решил свою проблему!!!
Было просто!
А вот по поводу команды поле с раскрывающимся списком, она неактивна. Как ее включить?
у меня тоже неактивна
а зачем она вам?
И как вы решили свою проблему?
Михаил I
25.5.2007, 11:13
не ну если она есть, значит может быть активна
а решил просто. В формате элемента во вкладке элемент управления есть число строк. Я думал это число строк вообще моего диапозона, а это оказалось число, указываемых на экране. У меня было 80, вот и пыталось отобразиться 80 строчек на мониторе. Сделал 30 - появилась прокрутка
Кстати где-то читал, что "в такие-то строчки не лесть в них проводятся расчеты".
Эти строчки можно заблокировать от пользователей защитой экселя.
Цитата(Михаил I @ 25.5.2007, 11:13)
Кстати где-то читал, что "в такие-то строчки не лесть в них проводятся расчеты".
Эти строчки можно заблокировать от пользователей защитой экселя.
да, можно. но я чего-то пробовал и у меня не получилось
В сервисе защита - защищает целый лист или целую книгу. а в формате ячейки тоже есть защита - но там чепуха какая-то не действующая.
Михаил I
25.5.2007, 11:32
в защите в общей есть настройки. Галочки надо ставить не везде, а только на РЕДАКТИРОВАНИЕ ЯЧЕЙКИ.
типа ячейка будет изменяться в программе ,учавствовать в расчетах в формулах, но пользователь уже изменить ее не сможет
в свойстве ячейки можно поставить галочку про то, что в случае защиты листа ячейка будет защищаемой. вот и все. а при выборе защиты листа все ячейки у которых эта галочка не стоит окажутся не защищёнными. и защитить можно от разных действий - выделение, редактирование, удаление.. ну там длинный список...
Михаил I
25.5.2007, 11:34
Цитата(ssn @ 25.5.2007, 14:33)
в свойстве ячейки можно поставить галочку про то, что в случае защиты листа ячейка будет защищаемой. вот и все. а при выборе защиты листа все ячейки у которых эта галочка не стоит окажутся не защищёнными. и защитить можно от разных действий - выделение, редактирование, удаление.. ну там длинный список...
точно!
вообще как то сразу не могу найти где я видел длинный список подключаемых форм... там их очееееень много было всяких и разных... может попозже "посильнее" порыскаю
ааа... всё.. это я парю... это было в ВБА... подключаемые формы... точно, сори...
ну а тут просто - точно так же как делается видимость кнопок на всех панелях, заходим и ставим галки
Михаил I
25.5.2007, 11:47
нда, в ВБА возможностей то побольше. Но для создания таких вот простеньких программ для гидр. расчета - эксель лучше всего подходит.
К счастью или к сожалению многие существующие методики достаточно упрощены - что позволяет нам, не имея должных навыков программирования, делать вполне состоятельные самопальные расчетные программки. Достаточно освоить пару трюков, логические функции и вуаля прога гатова
! Так что не ленимся, товарищи, трудимся кто во что гаразд, не даем разделу засыхать, выкладываем творения и перенимаем опыт друг у друга.
Михаил I
25.5.2007, 12:26
я согласен!
меня пока остановил расчет трубопроводов, т.к. не знаю как загнать таблицы Шевелевых в ворд.
альфа от NP по таблице
Гляньте на 3-хэтажную формулу
Такая интерполяция катит?
А погрешность средняя какая получается?
Я таким способом пытался зависимость подбора труб сделать, сломало меня эти уравнения считать. Да и погрешность немаленькая была.
ПО-моему через макрос проще. Если погрешность маленькая, то почему бы и не применять.
Недавно занимаюсь проектированием ВК. Для упрощения своей собственной жизни создал следующий расчет. Выкладываю его на Ваш суд. Создал его в 2007 офисе. Возможно, в более ранних версиях будет работать некорректно. Точно не знаю, не пробовал. Конечно, расчет еще сырой. И всего для 6 видов потребителей. Дошел только до расчета максимальных секундных расходов для каждой группы. По-моему, для расчета α можно пользовать обычную линейную интерполяцию и не заморачиваться с апроксимацией. На листе "исх. данные" выбирается тип потребителя, вводится число приборов и кол-во потребителей. Сама интерполяции на листе "справка".
Размер файла 244 Кб.
Выложил последний вариант (см. пост за 5.6.2007, 10:05)
Михаил I
28.5.2007, 10:58
Комментарии: Замысел хороший, особенно хорошо сделана интерполяция. Не знал такой команды "ПоискПоз", мне пригодится, спасибо.
Рекомендации: порекомендовал бы скрыть то что не нужно и путает.
Предложения: можно дооформить. Основные расчеты загнать в общую таблицу. Т.е. нажал кнопку и отправил на принтер. А также предлагаю не расслабляться и доделать программу.
Спасибо, Михаил! Я специально не стал скрывать ненужное, шоб было видно: что, куда и из чего. Сижу не расслабляюсь и доделываю.
Забыл сказать, что программа считает только при вероятности и числе приборов указанных в табл. 2 приложения 4 СНиП 2.04.01-85. Буду дорабатывать. Михаил, Вы каким excel открывали? Если не 2007, были ли какие-нибудь проблемы? Есть еще одна особенность. Собственно, она следует из ф-лы 3 пункт 3.4 Произведение PN не зависит от числа приборов, а только от числа потребителей. Т.е. не важно, будет ли 100 человек пользоваться 10 или 100 приборами, произведение PN=const.
Михаил I
28.5.2007, 11:33
Цитата(Dимыч @ 28.5.2007, 14:31)
Произведение PN не зависит от числа приборов, а только от числа потребителей. Т.е. не важно, будет ли 100 человек пользоваться 10 или 100 приборами, произведение PN=const.
Это понятно. Это достаточно, чтобы сосчитать расход.
А для полного гидравлического расчета с потерями и диаметрами придется N все-таки вводить.
Не было никаких проблем. Открывал 2003 офисом. Да и макросов, вроде как, нет. Проблем с чтением не должно быть.
У меня бывает, что русский шрифт не понимает какие-то офисы.
Димыч! Так держать! Это ж интересно!
Dимыч, поведай как у тебя список выпадает, и откуда кнопка с прокрутом берется? чето я не понял
"Формула! Где формула! Нам нужна формула!!!"
2 ГОСТь
В 2007 Excel: вкладка "Данные" - кнопка "Проверка данных" - В окошке "Тип данных" выбирается "Список" и задается диапазон значений. Для предыдущих версий, это, по-моему, вкладка "Конструктор". Врать не буду, точно не помню. На работе стоит только только 2007 офис. Он немного по-другому организован. Что-то упрощено, а что-то через одно место делать приходится.
Приду домой, посмотрю. Завтра точно скажу.
Михаил I
29.5.2007, 14:18
Димыч! Ты гений! Где ты раньше был! У меня в 2003 также...через данные.
Михаил I
29.5.2007, 14:33
Появились кое-какие вопросы.
Как созданным списком сделать ссылку на другой лист?
У Димыча несколько иной подход нежели у меня. Получается вып. список через данные. А для поиска соответствующей строки используется функция "ВПР(" или "ГПР". Я делаю вып. список через формы, а потом формула "индекс". Результат общий.
Очень интересно посмотреть, когда одни и те же задачи можно по разному решать
.
"Поискпоз" тоже нормальная функция; до сегодняшнего дня не знал о ней, и приходилось делать множество логических операций, чтобы получить номер необходимой позиции.
Почерпнул прямо полезной инфы, в кои-то веки с данного раздела
.
Михаил I
29.5.2007, 14:38
Я создал список через форму, указал привязку. Ну как обычно. Но как запустить макрос, чтобы по привязанному числу выписывались цифры из снипа?
Вы мне льстите.
Михаил, посмотри в моем расчете. Я тоже столкнулся с этой проблемой. Решил ее, скопировав ссылку из формулы, где есть упоминание на нужный мне лист. В моем случае в диапазоне значений написано =Справка!$A$96:$A$172.
Михаил I
29.5.2007, 14:43
ааа, ну т.е. вручную в ту строчку набить ссылку на лист и ячейки?
В общем, да. Или вручную или скопировать.
Михаил I
29.5.2007, 14:53
Понятно, спасибо!
Мне все же через макрос привычнее
Цитата(Михаил I @ 29.5.2007, 14:38)
Я создал список через форму, указал привязку. Ну как обычно. Но как запустить макрос, чтобы по привязанному числу выписывались цифры из снипа?
мне кажется я об этом пытался объяснить:
Цитата
Для вытягивания какого-то числа из таблицы пользуйтесь формулой "=индекс(....". Таблица, имеет строки и столбцы. Номер строки мы определили, аналогично можно определить столбцы. в формуле "индекс" указывается диапазон, через точку с запятой номер строки и номер столбца. Номер строки - ссылка на ячейку, с которой предварительно установили связь. Повторюсь, номер столбца, можно аналогично определять, или же в противном случае не делать в формуле ссылку на ячейку, а просто писать цыфру, например "1".
и никаких макросов.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.