Ответы на часто встречающиеся вопросы Энергостат-1.1, Энергостат-3.1, 4.1, 5.1.

I. Энергостат-1.1

1. Подготовка исходных данных для прогнозирования
1.1. Какие величины, показатели настраиваются для прогнозирования в стандартной установке?
1.2.
Какой объем данных необходим для запуска алгоритмов прогнозирования?
1.3.
При отсутствии фактических суточных графиков температуры возможно ли использование ее среднесуточных значений для прогнозирования? Не приведет ли это к ухудшению точности?
1.4.
Какая величина необходима для прогнозирования потребления - освещенность или облачность?
1.5.
В какой форме следует готовить данные по освещенности (или облачности) для ввода в программу и учете при прогнозировании?

2. Структура параметров (показателей) и групп
2.1. Параметры в группе расположены неудобно, не в той последовательности. Как их упорядочить?
2.2.
В дереве групп под Каталогом параметров была группа Основные параметры. После некоторых операций она исчезла. Что могло послужить причиной?
2.3.
В паспорте расчетного параметра при попытке ввести длинную формулу происходит ее усечение. Есть ли возможность задать формулу произвольной длины?

3. Ввод, коррекция, просмотр и анализ данных
3.1. Часовые значения в таблицах не совпадают с теми, которые отображаются при переходе в режим просмотра получасовок. Откуда берутся часовые значения?
3.2.
Каким образом можно произвести поиск, просмотр и коррекцию ошибок в фактических данных?

    3.3. Что делать, если при просмотре данных на месте отсутствующих значений отображаются нули?

    3.4. При просмотре суточных фактических значений не отображаются выходные дни. Каким образом можно просмотреть данные по этим дням?

   4. Прогнозирование и оценки точности
4.1. Как учитываются при прогнозе переносы рабочих и выходных дней, праздничные дни?
4.2.
Как скорректировать прогноз потребления на другую температуру?
4.3.
Что делать, если при просмотре прогноза потребления не отображается колонка температуры?
4.4. Как настроить прогнозирование потребления с учетом облачности?
4.5.
Учитывается ли программой различное влияние температуры на потребление в областях очень низких, средних и высоких температур?

    4.6. Прогноз не работает по причине ошибки чтения сезонной кривой. Как её устранить?

    5. Вопросы по установке и настройке
5.1. Файловая структура
5.1.1. Попытка запуска программы модулем power.exe не удалась (данных нет, отсутствуют нужные пункты меню). Запуск через .bat файл прошел удачно. Какова необходимость так запускать программу?
5.1.2. Много настроек находится в .opt файлах. Что это за формат?
5.1.3. Как разграничить доступ пользователям программы?
5.2. Резервное копирование данных
5.2.1. Какие файлы следует копировать при создании резервных копий?
5.3. Вопросы по загрузке данных из ОИК

II. Энергостат-3.1, 4.1, 5.1

1. Ввод исходных данных для прогнозирования, коррекция и просмотр
2. Статистический анализ данных
3. Прогнозирование и оценки точности
4. Вопросы по установке и настройке
4.1. Файловая структура
4.2. Резервное копирование данных
4.3. Вопросы по загрузке данных из ОИК


1. Подготовка исходных данных для прогнозирования

1.1. Какие величины, показатели настраиваются для прогнозирования в стандартной установке?

Для уровня энергосистем обычно настраивается прогноз потребления территории, потребления АО, крупных потребителей территории, собственных нужд федеральных электростанций и потерь РАО. При этом потребление территории, как однородный и стабильный во времени ряд значений, прогнозируется с учетом модели сезонных кривых с учетом метеофакторов. Потребление крупных потребителей, СН электростанций, потерь может быть выполнено по модели предыдущего среднего дня или взято из плановых заявок. Прогноз потребления АО определяется, как разность прогнозов потребления территории и потребления других составляющих.

Состав показателей при установке на уровне ОДУ аналогичен, за исключением того, что данные описанной выше структуры представлены по всем территориям энергосистем ОДУ и в целом.

1.2. Какой объем данных необходим для запуска алгоритмов прогнозирования?

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

  • минимум за 1 год, чтобы просто запустить модель прогноза с минимальными требованиями по точности,
  • минимум за 2-3 года, чтобы обеспечить приемлемую точность прогнозирования.

К таким показателям можно отнести: потребление территории энергосиcтемы, ОЭС, температура. При этом важно отметить, что структура этих показателей не должна меняться во времени. Имеется в виду, например, что потребление АО-энерго, может быть неоднородным за период в два - три года, поскольку, если происходит выделение крупных потребителей, заводов, и т. д., ряд значений потребления будет неоднородным — в виде "лесенки", что делает невозможным применение сезонных моделей без сложной предварительной обработки. Потребление территории в этом смысле однородно.

Для показателей, для которых достаточно применения простых моделей, например, предыдущего среднего дня, достаточно небольшого количества данных до 1-2 месяцев. К таким показателям можно отнести потребление крупных предприятий, собственные нужды электростанций, графики потребления которых определяются собственными режимами работы. Для прогноза этих величин плохо применимы сезонные модели, как для потребления территорий энергосистем, поэтому обычно применяются модели предыдущего среднего дня или в качестве прогноза используется график плановой заявки предприятия или электростанции.

1.3. При отсутствии фактических суточных графиков температуры возможно ли использование ее среднесуточных значений для прогнозирования? Не приведет ли это к ухудшению точности?

Довольно распространенная ситуация. Часто при отсутствии фактических суточных графиков температуры используется среднесуточная температура, полученная от Гидрометеоцентра или из других источников. При этом среднесуточная температура вводится, как суточный график с одним и тем же среднесуточным значением на все часы. В более новых версиях предполагается более точное преобразование среднесуточной температуры в суточный график на основе среднемноголетней статистики хода суточного графика температуры для данного времени года.

Ввод фактической среднесуточной температуры в ячейку среднего значения и
автоматическое заполнение всех точек суточного графика среднесуточным значением

Использование температуры при прогнозировании имеет следующую особенность. В отличие от освещенности, когда ее изменение тут же сказывается на уровень потребления, температура влияет на потребление с некоторым запозданием. Наблюдается так называемая тепловая инерция помещений и других объектов. Анализ хода графиков потребления во многих энергосистемах в периоды резкого похолодания или потепления показывает, что потребление в эти периоды больше соответствует температуре вчерашнего дня, чем текущего. Более точные оценки дают значение этого запаздывания от 18 до 22 часов. Для учета влияния температуры вводится понятие эффективной действующей температуры, как некоторого усреднения фактической температуры за несколько предыдущих дней. Усреднение производится с различными весами, так что наибольший вес при усреднении имеет температура, которая была 18 часов назад. В этом смысле, при прогнозировании потребления не так важно знать, каков был точный ход температуры внутри суток (при расчете эффективной температуры происходит сглаживание данных). Конечно, при отсутствии суточных графиков точно определить момент начала резкого изменения температуры невозможно и это вносит некоторую ошибку при прогнозе, однако не такую существенную, как если бы температура не учитывалась вообще.

1.4. Какая величина необходима для прогнозирования потребления - освещенность или облачность?

При прогнозе потребления может учитываться, как естественная освещенность (например, в люксах), так и облачность (например, в баллах). На текущий момент влияние освещенности или облачности учитывается при прогнозе одинаково, и задается коэффициентом влияния в процентах, зависящим от времени суток. В дневные часы и часы сумерек этот коэффициент больше, ночью он близок к нулю. Эта модель не позволяет достаточно точно учесть влияние освещенности или облачности при прогнозировании. Дело в том, что влияние естественной освещенности особенно важно в часы наиболее вероятного включения или выключения освещения. Это моменты восхода и захода солнца, когда происходит массовое включение или выключение осветительных приборов. Моменты включения-выключения могут быть сдвинутыми по времени, если высок уровень облачности. Так, например, в пасмурную погоду включение освещения следует ожидать несколько раньше, чем в солнечную. Конечно, в этом смысле предпочтительно использование естественной освещенности в люксах с дискретностью измерения 1 час, чем облачности. Однако в перспективе разработка моделей прогноза может позволить более точно учесть естественную освещенность, когда имеются данные лишь по уровню облачности. Для учета этого предполагается в новых версиях реализовать учет более сложную, примерно следующую модель. Для каждого региона (географические широта+высота) может быть вычислено точное значение количества падающего света в зависимости от времени суток и времени года — F0(время, день года). При этом естественная освещенность будет представлена функцией:

F(время, день года) = Kобл * F0(время, день года),

где Kобл  — доля света прошедшая через толщу облаков (1 — соответствует ясно, 0 — соответствует состоянию облачности близкое к ночи). При этом, если Fвкл  — уровень естественной освещенности, когда происходит включение-выключение осветительных приборов, то время самого момента определяется из уравнения

Fвкл = K* F0(время вкл., день года)

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

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

Возможно использование шкалы, например, от 0 до 10, или такой шкалы: 1- ясно, 2 облачно, 3 пасмурно, 4- очень пасмурно с осадками.


2. Структура параметров (показателей) и групп

2.1. Параметры в группе расположены неудобно, не в той последовательности. Как их упорядочить?

Упорядочить параметры в группе можно перемещая их вверх или вниз. Для этого следует выделить параметр, и далее при нажатой клавише Alt, нажать одну из клавиш:

  • Left — для перемещения в начало группы;
  • Right — для перемещения в конец группы;
  • Up — для перемещения на позицию вверх;
  • Down — для перемещения на позицию вниз.

2.2. В дереве групп под Каталогом параметров была группа Основные параметры. После некоторых операций она исчезла. Что могло послужить причиной?

Причин может быть две. Для начала следует проверить, не удалена ли группа вообще из базы данных. Это можно уточнить в Каталоге параметров, раскрыв его полностью (клавиши Ctrl + Enter). Если группа там присутствует, то причина в следующем. После запуска программы в панелях отображаются корневые группы, раскрывая которые можно перемещаться по дереву. Корневой считается группа, которая не находится ни в каких других группах. Вероятно, группа Основные параметры была добавлена в другую группу, отчего перестала быть корневой и отображаться в панели. Следует просмотреть все дерево и удалить клавишей Del ее из всех других групп, где она находиться (исключая конечно Каталог параметров). При этом сама группа не удаляется, а удаляется всего лишь ее принадлежность родительской группе.

2.3. В паспорте расчетного параметра при попытке ввести длинную формулу происходит ее усечение. Есть ли возможность задать формулу произвольной длины?

В существующей версии программы длина формулы ограничена 127 символами. Задание формулы произвольной длины можно произвести следующим образом. В формуле параметра возможно использование ссылки на файл, в котором написан текст формулы произвольной длины. Например, для параметра с номером 10006 формулу можно написать так:

FILE=FRM\10006.frm

Далее в каталоге MDB (если его нет, то в MDB30) следует создать каталог для формул FRM и в нем файл 10006.frm, в который вписать текст длиной формулы.


3. Ввод, коррекция, просмотр и анализ данных

3.1. Часовые значения в таблицах не совпадают с теми, которые отображаются при переходе в режим просмотра получасовок. Откуда берутся часовые значения?

В большинстве мест на данный момент устанавливается программа для работы с получасовыми данными, т. е. суточные графики параметров сохраняются в базе данных с получасовой дискретностью. Функции прогноза и другие также выполняются на интервале полчаса. Есть версии с часовой, 15, 10 минутной дискретностью. Все нижесказанные объяснения справедливы и для них.

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

Режимы отображения суточного графика — часовая и получасовая дискретность просмотра

Главным был вопрос, что должно отображаться в часовом режиме просмотра. Опыт внедрения показал, что необходимы 2 варианта, которые и реализованы в последних версиях:

  • в качестве часовых значений отображаются часовые интегралы, посчитанные на основании получасовых значений.
  • в качестве часовых значений отображаются исходные значения получасового суточного графика, взятые на момент часа.

Выбор того или иного режима можно сделать в окне настройки (Меню Сервис\Настройка):

Установка режима отображения часовых значений

Далее опыт внедрения показал, что одно и тоже по смыслу часовое значение, например, интеграл за 00:00 — 01:00, в различных местах отображается по разному. Например, в подразделениях СО интеграл с 00:00 по 01:00 отображается под номером часа 1, а в АТС под номером 0. Поэтому, в том же окне настроек, можно указать режим отображения нумерации часов:

  • 1, 2, 3, …
  • 0-1, 1-2, 2-3, …
  • 0, 1, 2, …

Режимы отображения нумерации часов, как 1-24 и 0-23

Здесь важно то, что сама нумерация часов никак не изменяет отображение самих часовых значений. Каков бы ни был этот режим, часовые значения всегда будут одними и теми же, просто в одном случае они будут с нумерацией 1, 2, 3…, в другом 0, 1, 2…

Отдельно хотелось бы сказать об алгоритме расчета часовых интегралов, если выбран этот режим отображения часовых значений. Часовой интеграл считается по разному, в зависимости от типа точек исходного суточного графика:

  1. Для точек в виде получасовых интегралов (усредненных значений) часовое значение есть среднее двух получасовок покрывающих данный час: Vn = (V(n-1):30 + Vn:00) / 2.
  2. Для точек в виде получасовых мгновенных значений часовое значение вычисляется, как площадь по двумя трапециями ((n-1):00 и (n-1):30) и ((n-1):30 и n:00): Vn = (V(n-1):00 + 2*V(n-1):30 + Vn:00) / 4

Примечание. Здесь Vn  — это для СО, для АТС должно быть Vn-1.

Тип точек суточного графика указывается в паспорте параметра:

Указание типа точек суточного графика

Существует еще дополнение по режиму просмотра получасового суточного графика. Если точки графика — получасовые интегралы, то обычный режим отображения 00:00 — 23:30 приводит к следующим недоразумениям. Первая точка за 00:00 есть интеграл за последние полчаса предыдущих суток, а интеграл за последние полчаса текущих суток не виден, поскольку соответствует 24:00. Для того, чтобы видеть все точки суточного графика, покрывающие текущие сутки, была реализована возможность установки режима отображения 00:30 — 24:00 в окне настройки:

Установка режима отображения получасового суточного графика, как 00:00 — 23:30 и 00:30 — 24:00

Режимы отображения получасового суточного графика, как 00:00 — 23:30 и 00:30 — 24:00

3.2. Каким образом можно произвести поиск, просмотр и коррекцию ошибок в фактических данных?

Часто в базе данных присутствуют заведомо ошибочные значения, выбросы. Для предварительной общей оценки качества данных можно воспользоваться диалоговым окном Статистика (меню Статистика\Статистика суточных графиков…) и построить график значений параметра за определенный период. Так, например, на рисунке ниже представлены значения температуры за 2004 год.

Пример большого числа ошибок в данных по температуре

Невооруженным глазом видно большое количество выбросов. В этой ситуации требуется коррекция данных. Поиск выбросов, с возможностью табличного и графического просмотра, а также коррекцию, можно производить в окне просмотра суточных значений. Для этого следует открыть окно просмотра факта для требуемого параметра, создать отслеживаемый график всех точек, далее открыть окно поиска выбросов (меню Файл | Поиск выброса…). В нем необходимо выделить требуемый параметр, например потребление, и нажать Поиск назад для поиска назад от текущей, отображенной в окне факта даты. Если выброс будет найден, программа автоматически переместится на найденную дату, после чего данные можно скорректировать и заново выполнить поиск следующих ошибок.

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

3.3. Что делать, если при просмотре данных на  месте отсутствующих значений отображаются нули?

Такая ситуация может возникать, если в меню Файл \ Данные стоит флажок напротив пунктов Считать отсутствующие мгнов. (интегр.) значения как 0. Необходимо снять выделение с этих пунктов.

3.4. При просмотре суточных фактических значений не отображаются выходные дни. Каким образом можно просмотреть данные по этим дням?

В таком случае вероятно, что в фильтре дней установлен просмотр данных только по рабочим дням. Для просмотра значений параметра в выходные дни нужно просмотреть окно Фильтр дней и выбрать интересующие дни:

 

 


4. Прогнозирование и оценка точности.

4.1. Как учитываются при прогнозе переносы рабочих и выходных дней, праздничные дни?

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

В окне Особые даты представлены ежегодные праздники,
а также сдвиги рабочих и выходных дней для каждого года.

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

Отдельного разговора заслуживают переносы праздничных дней начала 2005 года и возможного учета их в программе. Первое важное замечание касается того, что не следует удалять из ежегодных праздников, например, дату 12 декабря. Это приведет к ошибкам получения статистики для всех лет до 2004 включительно. Список ежегодных праздников менять не нужно. Для того чтобы, например, дата 12.12.2005 (понедельник) считалась обычным днем, следует пометить ее, как понедельник (нек). Т.е явное задание признака для конкретной даты имеет больший приоритет, чем отношение даты к ежегодному празднику. Так же следует действовать для других измененных праздничных дней, в том числе и для других лет.

4.2. Как скорректировать прогноз потребления на другую температуру?

При прогнозировании потребления в таблице прогноза следует нажать кнопку "солнышко" :

Коррекция прогноза потребления на другие значения температуры

Рядом с колонкой потребления появится колонка температуры (если прогнозирование ведется с учетом освещенности — то также отобразится колонка освещенности). Значения в колонке температуры — это прогнозные значения, которым соответствует прогноз потребления. При коррекции температуры в ячейках, потребление автоматически пересчитывается. Возможна корректировка среднесуточного значения температуры с автоматической разбивкой по всему суточному графику и пересчетом прогноза потребления.

4.3. Что делать, если при просмотре прогноза потребления не отображается колонка температуры?

Во-первых, посмотреть текущую модель прогноза для потребления. Чтобы был возможен учет температуры, для потребления должна быть установлена модель Модель сезонных кривых для прогноза потребления. В некоторых случаях, как например, для потребления АО, установлена комбинаторная модель прогноза, как разность прогноза потребления территории и крупных потребителей. В этом случае одна из составляющих в формуле модели, — потребление территории, должна прогнозироваться по модели Модель сезонных кривых для прогноза потребления. В случае других моделей (предыдущего среднего дня или сезонных кривых) коррекция на температуру невозможна, поскольку в этих моделях нет учета температуры.

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

В-третьих, следует посмотреть полный паспорт потребления и задать зависимость потребления от температуры. В поле Зависимость указан в квадратных скобках номер влияющего параметра - температуры и далее формула пересчета или имя файла, в котором она записана.

Задание зависимости потребления от температуры (и освещенности)

4.4. Как настроить прогнозирование потребления с учетом облачности?

Чтобы учитывать облачность при прогнозе потребления, нужно настроить модель прогноза самой облачности, для чего необходимо построение сезонных кривых облачности, т.е. на основе нескольких лет ее ход внутри года. При этом может возникнуть проблема: если данные по облачности существуют только за 1 год, то построение правильной сезонной кривой невозможно. Не совсем точная сезонная кривая облачности не дает возможность точно посчитать коэффициент влияния облачности на потребление. Для того, чтобы посчитать этот коэффициент, надо знать для каждого дня фактические значения потребления и облачности, а также значения сезонных кривых. При этом отношение (Pфакт-Pсез)/(Oфакт-Oсез) и есть этот коэффициент влияния.

Вообщем же случае, для учета облачности при прогнозировании необходимо:

  1. построить сезонную кривую облачности;
  2. установить для облачности модель прогноза Модель сезонных кривых.
  3. В настройке модели прогноза потребления (Модель сезонных кривых для прогноза потребления) следует задать значение влияющего коэффициента облачности, исходя из наилучшей точности прогноза. При этом следует также проверить задание температурных коэффициентов, т.к. при учете облачности они изменятся;
  4. В паспорте потребления задать зависимость от освещенности, как [номер параметра облачности]FILE=p_q.dep.

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

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

Да, учитывается. Коэффициент влияния температуры сам зависит от нее. Заложенная в программу модель этой зависимости позволяет учесть следующие эффекты:

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

4.6. Прогноз не работает по причине ошибки чтения сезонной кривой. Как её устранить?

Для проверки можно сделать следующее:

1). Посмотрите полное значение переменной QUALIFIER в окне (Файл\Меню администратора\Внутрипрограммные переменные). Например:

 
Должно быть G:\POWER\AO\MDB30\ как на рисунке, если каталог с программой находится в корне диска G.
 
2). Посмотрите в паспорте параметра (например Потребление) значение сезонной кривой

 
 
3). Сложите QUALIFIER и значение сезонной кривой в паспорте
G:\POWER\AO\MDB30\  + S\10000.s = G:\POWER\AO\MDB30\ S\10000.s 
 
Ошибка происходит, потому что программа не может прочитать этот файл: G:\POWER\AO\MDB30\ S\10000.s. Посмотрите есть ли такой файл.
 

5. Вопросы по установке и настройке

5.1. Файловая структура

5.1.1. Попытка запуска программы модулем power.exe не удалась (данных нет, отсутствуют нужные пункты меню). Запуск через .bat файл прошел удачно. Какова необходимость так запускать программу?

Запуск программы из .bat имеет две причины:

  1. если бы программа запускалась вызовом power.exe, то возникли бы проблемы с заменой исполняемых модулей на более новые, т.к. если программа запущена с рабочего места, заменить ее уже невозможно без отключения всех пользователей (файлы заблокированы). Такой способ установки новых версий неприемлем (например, в режиме круглосуточной работы диспетчерской службы). Поэтому вызов программы осуществляется посредством .bat файла. Из него вызывается, например, модуль POWER\EXEMDB\30\power.exe. В случае установки новой версии программы, делается копия каталога 30, например, в 30A, и туда устанавливаются новые модули, далее в .bat файле вызов POWER\EXEMDB\30\power.exe меняется на POWER\EXEMDB\30A\power.exe. После этого запуск .bat файла приводит к запуску уже новой версии.
  2. запуск из .bat файла дает возможность выполнять из него дополнительно ряд служебных программ, а также изменять параметры командной строки для power.exe. В случае запуска модуля power.exe через ярлык, параметры командной строки находились бы на каждом рабочем месте, что значительно затруднило бы их изменение.

5.1.2. Много настроек находится в .opt файлах. Что это за формат?

Часто при использовании программных модулей производится задание параметров через командную строку (опций). При этом возникает необходимость часть параметров вызывать постоянно. Для того чтобы не записывать каждый раз их в командной строке, можно сохранять постоянную часть в определенный файл и вызывать его при запуске. Например, в вызове programm.exe -OPT=params.opt -TIME="10:00", постоянно используемая часть параметров задана в файле params.opt, а переменная — в командной строке. Параметр -OPT=params.opt означает, что следует обработать все содержимое файла params.opt, как командную строку. Что касается формата файлов *.opt, то это обычные текстовые файлы, в которых записана командная строка или несколько строк, которые выполняются последовательно. Для удобства, все модули комплекса при запуске обрабатывают по умолчанию одноименный файл с опциями (если он существует), расположенный там же, где и сам модуль: power.opt для power.exe, oik_load.opt для oik_load.exe, oik.opt для oik.exe. После обработки этого файла далее уже обрабатываются параметры командной строки.

Такая схема использования показала ряд преимуществ, по сравнению с хранением настроек в .ini файлах (речь идет о неизменяемых пользователем настройках). Во-первых, стало возможным разбивать настройки по группам в различные файлы. Например, общие для всех настройки программы сохраняются в common.opt. Общие настройки для работы с SQL базой данных сохраняются в comm_sql.opt и т. д. Стало возможно вызывать из одних файлов настроек другие. Во-вторых при таком способе есть возможность переопределения настроек. Например, если в common.opt задана общая настройка, в командной строке ее можно переопределить для конкретного пользователя. В общем случае возможна организация произвольного сложного вызова .opt файлов друг из друга, что важно при адаптации, когда требуется гибкая установка комплекса в определенные условия.

Обычно в файловых версиях комплекса вызов common.opt производится в командной строке для power.exe в .bat файле. Для SQL версий там вызывается файл comm_sql.opt, а уже из него common.opt. В некоторых инсталляциях эта схема может быть изменена.

5.1.3. Как разграничить доступ пользователям программы?

На текущий момент разграничить доступ к данным можно только используя два режима — полный доступ или только на чтение. В будущем предполагается реализация более сложных схем.

1. Для разграничения доступа общедоступными средствами:

  • для файловой версии  — с использованием средств разграничения доступа самого файлового сервера. При этом задается различные варианты доступа к различным каталогам программы.
  • для SQL версии - возможно разграничение доступа на данные, хранящиеся в SQL базе, средствами СУБД. На ту же часть данных, которые хранятся в виде файлов (сезонные кривые, настройки прогноза,…) доступ может быть задан с использованием средств файлового сервера.

2. Для разграничения доступа средствами самой программы можно добавить следующий код на языке C-- (похож на С) в файл PLUGINS\power.c--:

//Ставим по умолчанию всем доступ только на чтение 
  
MDBSetDBAccess("MDBDBA_READONLY"); 
  
String ComputerName=GetComputerName(); 
  
//Message(ComputerName); 
  
//Для указанных имен комьютеров даем полный доступ 
  
if("PETROV"==ComputerName || "SIDOROV"==ComputerName || "IVANOV"==ComputerName) 
  
MDBSetDBAccess("MDBDBA_READWRITE");

В этом случае важно, что защита реализована на уровне программы и из нее, в режиме только на чтение, нельзя изменить данные. Однако, используя средства Windows, данные и файлы могут быть удалены, т.е. этот вариант защищает от ошибочного использования самой программы, а не от преднамеренного уничтожения данных.

5.2. Резервное копирование данных

5.2.1. Какие файлы следует копировать при создании резервных копий?

Следующие файлы и каталоги подлежать резервированию:

  1. Каталог с настройками для конкретной энергосистемы POWER\<каталог энергосиcтемы>. Например, для Орловской энергосистемы это каталог POWER\ORL, для Ростовской POWER\RST, POWER\ODU\UR — для ОДУ Урала, POWER\CDU — для ЦДУ, …В этом каталоге всегда располагается файл настроек common.opt. Копировать каталог POWER\<каталог энергосиcтемы> следует со всеми подкаталогами и файлами.
  2. файлы настроек для исполняемых модулей:
    \POWER\EXEMDB\60\*.opt — для часовой файловой версии,
    \POWER\EXESQL\60\*.opt — для часовой SQL-версии.
    \POWER\EXEMDB\30*.opt — для получасовой файловой версии,
    \POWER\EXESQL\30\*.opt — для получасовой SQL-версии.
  3. Для SQL версий программы следует производить резервирование самой базы данных средствами самой СУБД.

Примечание. В большинстве случаев рекомендуется производить полное резервирование корневого каталога установки комплекса со всеми подкаталогами и файлами. В этом случае упрощается сам процесс резервирования и восстановления, за счет некоторого увеличения объема резервной копии.

5.3. Вопросы по загрузке данных из ОИК