Автоматизация анализа архивных показаний

Поиск, обсуждение, работа программного обеспечения
Аватара пользователя
ivan70rus
Опытный
Posts in topic: 3
Сообщения: 105
Зарегистрирован: 17 мар 2013, 15:58

Автоматизация анализа архивных показаний

#1

Непрочитанное сообщение ivan70rus » 29 май 2013, 21:43

Большинство из нас при анализе архивных показаний, заботливо снятых с вычислителя, сталкиваются с огромной кучей проблем. Надо прощёлкать мышкой 700-1500 строк, одновременно наблюдая за динамикой изменения показаний по нескольким столбцам. Благо теплоучётчика, что есть такие замечательные люди, как Александр Григорьевич Лупей, который разработал удачнейший, на мой взгляд, метод анализа через построение диаграмм. Такой метод сокращает время, потраченное на анализ архива в десятки раз и позволяет вывести ряд закономерностей, которые через просмотр "мышкой" архивов не заметишь.

К сожалению, много операций в екселе приходится делать вручную. Кто то привык тратить время на эту рутину, я вот не хочу. В экселе есть такая замечательная вещь как макросы. Из макросов можно составлять сложные структуры - надстройки к екселю для выполнения специализированных (как в нашем случае функций). Я решил сотрудничать, пока на своём энтузиазме, с профессионалами екселя: обозначать задачи, которые лучше автоматизировать, реализовывать и выкладывать здесь.

Учебник по макросам http://office.microsoft.com/ru-ru/train ... ?section=1

Для начала выкладываю код макроса, который заменяет строку архива формата "дата-время" 24.05.2013 09:00:00 на строку в текстовом формате 24.05.13:09 собственно код:

Option Explicit
Sub myTime()
Dim lCol As Long, lRow As Long
lCol = Range("A1").End(xlToRight).Column
lRow = Range("A1").End(xlDown).Row
Range(Cells(1, lCol + 1), Cells(lRow, lCol + 1)).FormulaR1C1 = "=TEXT(RC[-" & lCol & "],""ДД.ММ.ГГ:ЧЧ"")"
Range(Cells(1, lCol + 1), Cells(lRow, lCol + 1)).Value = Range(Cells(1, lCol + 1), Cells(lRow, lCol + 1)).Value
Range(Cells(1, lCol + 1), Cells(lRow, lCol + 1)).Offset(, -lCol).Value = Range(Cells(1, lCol + 1), Cells(lRow, lCol + 1)).Value
Range(Cells(1, lCol + 1), Cells(lRow, lCol + 1)).Clear
End Sub

Аватара пользователя
Aleksey
Гуру форума
Posts in topic: 1
Сообщения: 1725
Зарегистрирован: 14 окт 2011, 21:54
Откуда: Приморский край, г.Уссурийск
Благодарил (а): 2 раза
Поблагодарили: 4 раза
Контактная информация:

Автоматизация анализа архивных показаний

#2

Непрочитанное сообщение Aleksey » 29 май 2013, 22:47

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

Аватара пользователя
Токарев Виктор
Ветеран форума
Posts in topic: 2
Сообщения: 1245
Зарегистрирован: 23 июн 2012, 05:21
Благодарил (а): 3 раза
Поблагодарили: 15 раз

Автоматизация анализа архивных показаний

#3

Непрочитанное сообщение Токарев Виктор » 30 май 2013, 23:57

Язык программирования полезен, но сложен для простых смертных....

Аватара пользователя
Андрей Чигинев
Гуру форума
Posts in topic: 2
Сообщения: 2380
Зарегистрирован: 13 янв 2012, 23:18
Поблагодарили: 4 раза

Автоматизация анализа архивных показаний

#4

Непрочитанное сообщение Андрей Чигинев » 31 май 2013, 01:49

Насчет "простых смертных" - наверное, напрасно... не боги горшки обжигают :mi_ga_et:
А вот тема просто замечательная. Не столько с точки зрения использования макросов екселя, сколько вообще - именно с точки зрения автоматизации анализа архивов теплосчетчиков. Понятно, что ручной работы при этом останется достаточно много, но очень многое - в определенном смысле "черновую работу" можно переложить на специально написанную программу. Как-то давным давно на теплопункте.ру Александр Григорьевич описывал "Методику Лупея" и по результатам этого описания был составлен екселевский шаблон для автоматизации некоторых операций при анализе часовых архивов. Сейчас покопаюсь в компьютере, где-то он у меня должен быть. Правда, макросов там нет :-( , но, если будет такая необходимость, прикрутить вполне возможно...

Аватара пользователя
Андрей Чигинев
Гуру форума
Posts in topic: 2
Сообщения: 2380
Зарегистрирован: 13 янв 2012, 23:18
Поблагодарили: 4 раза

Автоматизация анализа архивных показаний

#5

Непрочитанное сообщение Андрей Чигинев » 31 май 2013, 02:10

Ну вот, шаблон нашелся... А ведь как давно это было - скоро уже пять лет как... :-(
Выделенные розовым цветом на первой странице книги ячейки заполняются реальными данными - часовыми архивами расходов, температур и давлений за 31 сутки. Плюс также надо указать паспортную погрешность расходомеров и заявленный диапазон расходов. А все остальное посчитается и отрисуется само собой :mi_ga_et:
Да, следует учитывать, что этот шаблон выполняет анализ для закрытой схемы теплоснабжения.

Пару минут спустя...

Вот тебе на!... XLT-файл форум не пропускает для выкладывания! Пересохраняю файл в формат XLSX и снова пытаюсь отправить...

...Еще пару минут...

XLSX-файл пролез нормально, но есть у меня серьезное подозрение, что будь в нем макросы, то вряд ли защита форума пропустила бы его для выкладывания... :men: Хотя, это можно и, наверное, даже нужно проверить.
Вложения
Шаблон по методике AGL(закрытая схема)1.xlsx
(183.16 КБ) 1641 скачивание

Аватара пользователя
ivan70rus
Опытный
Posts in topic: 3
Сообщения: 105
Зарегистрирован: 17 мар 2013, 15:58

Автоматизация анализа архивных показаний

#6

Непрочитанное сообщение ivan70rus » 31 май 2013, 12:46

На сайте ПланетаЕксель админ написал, что макровирус видел один раз в 2005 и тот нежизнеспособный. Энтой угрозы давно нет и впомине. По поводу методики А. Г. Лупея, надо скидываться и заказывать надстройку к екселю, в которой будет реализована методика и пожелания пользователей. Я бы прикрутил туда и журнал ППР на узлах, удобно видеть отметку производимых работ и их последствия. Приглашаю к участию (пока начну один), а там посмотрим, что будет получаться. Ясно две вещи: методика нужна и писать надстройки должны профильные программисты. Я, например, в екселе ближе к профану и не желаю особо тратить время на познание его премудростей.

Писал в поддержку ПО "Пролог" (используется для работы с приборами "Логика", в частн. СПТ-941). Просил научить форматировать дату-время, чтобы было сокращено и в формате "общий". Пришёл ответ:
1. Выбрать узел и архив которые необходимо экспортировать в программе ПРОЛОГ.
2. Нажать кнопку “экспорт данных”.
3. В появившемся окне выбрать временнОй период экспортируемых данных
4. Нажать кнопку “продолжить”
5. В появившемся окне “диалог экспорта” на вкладке “вид экспорта”, “форматы” выбрать CSV файл
6. На вкладке “форматы” найти поле Дата и время и указать в этом поле нужный формат вывода, например так
dd"/"MM:hh
7. Нажать кнопку “Начать экспорт”.
Проверил - дата-время отображаются в формате "общий" и изменять их нет необходимости. Остаётся применять первый макрос для уже экспортированных в ексель файлов. Кому как, но я не вижу смысла год на графике отображать и оставил dd/mm:hh как ВКТ-7 делает.

Аватара пользователя
Токарев Виктор
Ветеран форума
Posts in topic: 2
Сообщения: 1245
Зарегистрирован: 23 июн 2012, 05:21
Благодарил (а): 3 раза
Поблагодарили: 15 раз

Автоматизация анализа архивных показаний

#7

Непрочитанное сообщение Токарев Виктор » 01 июн 2013, 12:36

Однажды я был под впечатлением методики А.Г.Лупея, и хотелось мне все автоматизировать, спросил у Александра Григорьевича разрешения, он сказал я бы рад, но что бы ее автоматизировать-надо ее понимать....
Когда Александр Григорьевич был одержим автоматизацией анализа по Луепеевски, и даже обучал программистов тонкостям тепловой метрологии, затем ему озвучили цену данной методики и как бы мечта осталось мечтой.
Так что думаю, чтобы складываться на автоматизацию методики Лупея, мне по крайней мере работать лет так 5, при этом ничего не кушав и ходить в одной рубашке)
И поверь Иван, это сейчас ты хочешь все и сразу, пройдет немного времени и ты поймешь, что бороться с произволом в стране в частности приборов учета тепловой энергии это очень сложный процесс, будешь ездить на различные консилиуму, тратя дорогое время, но при этом ничего не изменится.
Так что, кто одержим Методикой уважаемого метролога страны Александра Григорьевича, тот и эксель постепенно изучит...
Автоматизация-это хороший процесс...Можно конечно попытаться, чем черт не шутит....

Аватара пользователя
ivan70rus
Опытный
Posts in topic: 3
Сообщения: 105
Зарегистрирован: 17 мар 2013, 15:58

Автоматизация анализа архивных показаний

#8

Непрочитанное сообщение ivan70rus » 04 июн 2013, 23:05

Поддержка ПО "Логика" СПТ-941 по поводу создания отдельного столбца с номером часа отвечает:
Насколько я понял, экспорт данных помогает Вам анализировать данные с помощью графиков.
В присланном файле EXCEL я не увидел графиков, которые используют одновременно два столбца “ВРЕМЯ”.
Если это так, то Ваша задача решается простым способом – провести экспорт два раза. Один раз экспорт столбца время в виде ДД/ММ/ЧЧ, второй раз в виде ЧЧ.
Соответственно, по оси абсцисс будут на одном графике ДД/ММ/ЧЧ, на другом ЧЧ.
Другой вариант (реализуемый может быть еще проще) – макрос, вставляющий столбец с временем в формате ЧЧ, вычисляемый из первого столбца.


в планата-ексель.ру советуют:
http://www.planetaexcel.ru/forum/?PAGE_ ... &TID=48655

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

Ответить