powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Период в базе учета эл.энергии
25 сообщений из 57, страница 2 из 3
Период в базе учета эл.энергии
    #34131324
rus_75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!:)

Возникла проблема:

Имеется таблица Счетчики, в ней содержится информация о всех счетчиках предприятия.
На предприятии есть несколько объектов, например 3 штуки.
Объект №2 питается от двух вводов, соответственно на каждом вводе стоит счетчик - Счетчик1 и Счетчик 2.

Под Счетчиком 1 установлены еще 3 счетчика - Счетчик 1.1, Счетчик 1.2, Счетчик 1.3.

В свою очередь под Счетчиком 1.1 установлены еще 2 счетчика - Счетчик 1.1.1 и Счетчик 1.1.2

Например за ноябрь месяц расходы счетчиков составили: Счетчик1=1200 кВт , Счетчик2=900 кВт

Счетчик 1.1=600 кВт , Счетчик 1.2=100 кВт, Счетчик 1.3=200 кВт

Счетчик 1.1.1 =200 кВт, Счетчик 1.1.2=300 кВт

В отчете должно быть так:

Расход по Объекту 2

Счетчик 1 расход = 300 (1200-(600+100+200))
Счетчик 2 расход = 900

Счетчик 1.1 расход = 100 (600-(200+300))
Счетчик 1.2 расход = 100
Счетчик 1.3 расход = 200

Счетчик 1.1.1 расход = 200
Счетчик 1.1.2 расход = 300

Итого по объекту 2 расход = 2100


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

Второй путь - Разбить на 3 таблицы (Главная, Второстепенная, Третьестепенная) - но ведь счетчики обладают одними и теми же свойствами (тип счетчика, номер счетчика, показания на начало, показания на конец), сделав это мы нарушим правило нормализации, и как в этом случае получить нужный отчет.

Вобщем сломал голову :). Помогите, пожалуйста.

Прикрепил схему в jpeg
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34131679
Фотография alexmsp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, мы становимся свидетелями начального этапа разработки нормальной коммерческой системы учета для РАО ЕЭС.
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34131698
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
id, тип счетчика, номер счетчика, уровень счетчика, id счетчика предыдущего уровня.


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

id счетчика предыдущего уровня - берётся из этойте таблицы

новая таблица

id, id счетчика, показания , дата показаний


при таком можно и уровни добавлять и вычислять что угодно
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34131701
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Id в первой таблице тип счетчик , вручную не вводятся
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34131708
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давай в Ебурге напишу такое.
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34131718
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ
только схема на рисунке составлена не верно
вводы не могут объединяться , хоть и должна существовать возможность их переключения
нада либо учитывать /снимать показания на момент переключения и соответственно на этоже время менять и учитывать это в ид счетчиках верхнего уровня
, либо учитывать показания счетчиков на вводах как один.
иначе будет путанца

второй вариант предпочтительней
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34131733
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS
так же нада учесть возможность смены счетчика, дата , показания. старого и нового
иначе смена счетчика приведет к бесполезности этого софта
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34131908
rus_75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяЗЫ
только схема на рисунке составлена не верно
вводы не могут объединяться , хоть и должна существовать возможность их переключения
нада либо учитывать /снимать показания на момент переключения и соответственно на этоже время менять и учитывать это в ид счетчиках верхнего уровня
, либо учитывать показания счетчиков на вводах как один.
иначе будет путанца

второй вариант предпочтительней

Привет, земляк :)!

Схема составлена соотвествии с тем, как это делается в Свердловэнерго. Я это сейчас считаю в Excel - Ввод1+Ввод2 минус все остальное под ними. Главный вопрос - сколько энергии потребил объект, второстепенный по какому вводу :).
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34131910
Фотография ILL HEAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 вадя
с тебя халявные зажыгалки от гаспрома ;)
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34131937
rus_75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 вадя
Вот прикрепил по твоему сценарию 2 таблицы.
Мне непонятно, как правильно создать запрос, учитывая уровни счетчиков.
уровень1 - это два ввода - счетчик 1 и счетчик 2 - они суммируются
уровень2 - это под счетчиком 1 установлены 2 счетчика - счетчик 1.1 и счетчик 1.2
уровень3 - это под счетчиком 1.1 установлен счетчик 1.1.1

В таблице, которую приложил, на втором уровне расход будет суммарный по счетчику 1.1 и счетчику 1.2, и от него будет вычитаться расход счетчика 1.1.1, что не правильно.
Так как расход счетчика 1.2 не должен добавляться к счетчику 1.1.
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34134857
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обрати внимание на изменения в таблице счетчики (последний столбец)
таблица исправлена в соответсвии с твоим рисунком, чтоб было нагляднее

создай заполни таблицу показания для приведенного рисунка. лучше дляя 3 произведенных снятий показаний (для каждого счетчика 4 записи в таблице показаний, 3 снятия + 1 начальное)

поставь задачу что нужно посчитать, вывести и т.д.

условность: все показания снимаются одновременно (т.е. сумма показаний нижнего уровн равна показаниям счетчика на уровень выше)
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34134895
rus_75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
условность: все показания снимаются одновременно (т.е. сумма показаний нижнего уровн равна показаниям счетчика на уровень выше)

В том то и дело, что например на счетчике 1.1- 600 кВт это суммарный расход по всем трем счетчикам - Счетчик 1.1.1 (200 кВт) + Счетчик 1.1.2 (300 кВт)=500 кВт, а 100 кВт - это расход по Счетчику 1.1 (600-500). Например, ситуация из жизни - есть головная подстанция (Счетчик 1 и Счетчик 2) -они считают общий расход по подстанции. От подстанции запитаны два завода, которые не принадлежат нашему предприятию (Счетчик 1.1 и Счетчик 1.2.). Этим заводам надо предъявить счет за ИХ электроэнергию (600 и 100 кВт). Но у завода 1 (счетчик 1.1) есть еще два предприятия, которым тоже надо выставить свой счет (на 200 и 300 кВт). Вот посчитав весь "левый расход" и отняв его от головного, узнаем - сколько же потребила наша подстанция на свои нужды.

Поэтому утверждение (т.е. сумма РАСХОДОВ нижнего уровня равна РАСХОДУ счетчика на уровень выше) неверно, так как разность расхода головных счетчиков минус расход подиненных- это собственный расход энергии на подстанции.

У меня на предприятии всего таких объектов 4 штуки, из них 3 штуки - имеют два уровня, и только один - 3 уровня, по которому я нарисовал схему.

Просто хочу сделать сразу такую стуктуру, которая бы учитывала все возможные варианты схем - универсальную. Если , допустим возникнет новый объект с несколькими уровнями вложения счетчиков, то просто в форме это было бы учтено.

У меня была мысль разбить на 2 или 3 базы, и просто считать каждый уровень в своей базе (в одной - только главные счетчики, во второй - второстепенные), но решил спросить у спецов, реально ли все это осуществить в одной базе
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34135248
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда возникаеи вопрос времкни снития показанийесли одновременно то так можно поступить
если с разницей внесколько часов - то показания не верны
тогда на рисунке нада показать ещё одну ветку пустую и для неё сформулировать метод получения показаний
первоначпльно из рисунка этого не видно

пожалуйста отобразите такой рисунок и продолжем дальше
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34136010
rus_75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Показания снимаются одновременно во всех случаях
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34136157
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это уже легче
с аськой как?
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34136165
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадято показания не верны


если идти от верхнего счетчика к нижним последовательно по узлам, то разночтения можно нивилировать до не существенных значений
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34136364
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BULK INSERT вадято показания не верны


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


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

на первом этапе нада построить работающую модель, причем с возможностью (пока только на уровне мыслей) рашеня дальнейших задач
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34136599
rus_75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ася 299442102, я тебе писал на аську в профиле, но она видимо не работает.
Спасибо.
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34137744
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работает, но только в рабочее время, я получил.
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34139500
rus_75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как Вы показали в демо-таблице насчет записи ввода 1 и ввода 2 в одну запись - так не получится - надо вести учет расхода по всем физическим счетчикам, просто программно разделять их по уровням и, исходя из этого высчитывать расход косвенным методом с помощью запросов.
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34139528
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда у тебя должно быть два дерева - для каждого ввода
как утебя показано на рисунке - выходы счетчиков соединены - это не правильно
тогда в случае (если такое физически возможно) при переключении всего хозяйства на один ввод (аварийная ситуация) ты потеряешь все данные . т.к. на момент перекючения не будут сняты показания. или кто-то будет фиксировать показания счетчиков?


а то что у меня показано - вариант. Для облегчения (но это уже избыточность) можно ввести поле номер ввода, избыточным также является и хранение данных в поле расход - это поле вычисляемое по значениям в поле показания счетчиков.

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

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

у тебя аська в рабочее время фунциклирует?
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34139758
rus_75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадятогда у тебя должно быть два дерева - для каждого ввода
как утебя показано на рисунке - выходы счетчиков соединены - это не правильно
тогда в случае (если такое физически возможно) при переключении всего хозяйства на один ввод (аварийная ситуация) ты потеряешь все данные . т.к. на момент перекючения не будут сняты показания. или кто-то будет фиксировать показания счетчиков?

В учете электроэнергии такое соединение является ПРАВИЛЬНЫМ, так как энергосбыту по барабану с какого ввода ты потребил, в документах эти ввода проходят как одная точка и расход по двум счетчикам суммируется, т.е. в отчете ты показываешь расход обоих вводов, допустим, если один ввод не работает, то расход будет равен Ввод1+Ввод2 (0).


а то что у меня показано - вариант. Для облегчения (но это уже избыточность) можно ввести поле номер ввода, избыточным также является и хранение данных в поле расход - это поле вычисляемое по значениям в поле показания счетчиков.

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

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

Ответы:
- переключения возможны, но это неважно - показания снимаются один раз в месяц, и без разницы по какому вводу ты потребил - они суммируются, в таблицах счетчиков надо ввести такое поле, чтобы запрос при обработке видел, какие счетчики работаю в паре на первом уровне(ввод1 и ввод2), суммировал их и вычитал подчиненные счетчики. Например запрос считающий первый уровень - он просмотрел все записи и увидел, что счетчиков первого уровня 6 штук, допустим ОБЪЕКТ 1 (ввод1 +ввод2), ОБЪЕКТ 2 (ввод 1, второго ввода нет), Объект3 (ввод1 второго ввода нет), ОБЪЕКТ 4 (ввод1 +ввод2).
Далее этот же запрос, или другой запрос подсчитал сколько счетчиков в подчинении есть у каждого из этих объектов и какие из них принадлежат каждому объекту - вычислил их расход.

Третий запрос подсчитал сколько счетчиков третьего уровня и какие из них относятся к счетчикам второго уровня.

Четвертый запрос(Расход) = Запрос первого уровня - Запрос второго уровня -Запрос третьего уровня.

2. Точность такая, расход нижнего уровня почти всегда меньше расхода первого уровня, поэтому разница между первым и вторым уровнем является расходом певого уровня, посчитанным косвенным методом.

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

вадяу тебя аська в рабочее время фунциклирует?
Да уже включена:)
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34140042
Zalagaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rus_75Спасибо, большое, привет передам, тока я работаю в Газпроме, и не могут мне дать нормального программера для написания проги по учету электроэнергии - вот сам взялся, тока VBA - пока темный лес.
Да-уж

Я вот BP работаю - такая ж история:))
...
Рейтинг: 0 / 0
Период в базе учета эл.энергии
    #34140073
Фотография simply
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть очень хорошая программа по учету эл.энергии сдаланная в Access и выложеная и инете как пример. Правда не помню где она лежит. Это классный пример для учебы. Если нужно то она у меня есть, могу переслать как образец.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Период в базе учета эл.энергии
    #39136672
ЮраСка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SNiL, доброго времени суток!

Если есть возможность помогите пожалуйста :)
В продолжение этой темы... Подобная база данных с показаниями счетчиков показания со счетчиков пишутся в базу каждую минуту.
Необходимы запросы:
1. с выборкой по датам, например, с 03.12.2015 по 24.12.2015
Дата (в нашем случае каждая дата из диапазона) | Начальные показания на эту дату | Конечные показания на эту дату | Количество(конечн. - нач.)
Вся загвоздка в том, что между датами получается перелет по показаниям... :( а нужно, чтобы начальные показания "становились"(были) конечными из предыдущей даты.

2. Подобный запрос за сутки в разрезе по часам, то есть с 0 до 23
Номер часа | Начальные показания на этот час | Конечные показания на этот час | Количество (Конечн. - начальн)
Тут все тоже самое... :( получается перелет и нужно тоже самое, чтобы начальные становились конечными из прошлого часа

В чем заключается "перелет": Показания в базу пишутся с интервалом в минуту (пишутся в 5-ю секунду каждой минуты, но не в этом суть :) ) это выглядит так:
23.12.2015 23:59:05 | 57849
24.12.2015 00:00:05 | 57855
и т.д.

и получается что если в запросе брать максимум на 23.12.2015 то это будет 57849, а минимум на 24.12.2015 будет 57855 и в связи с этим не будет учитываться уже целых 6 единиц в итоговой сумме запроса...

тоже самое в запросе за сутки по часам...

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

ЗАРАНЕЕ ОЧЕНЬ БЛАГОДАРЕН!!!
...
Рейтинг: 0 / 0
25 сообщений из 57, страница 2 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Период в базе учета эл.энергии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]