Coder Social home page Coder Social logo

siemenspie's People

Contributors

wyfinger avatar

Watchers

 avatar  avatar

siemenspie's Issues

Перемещение отдельных уставок

Несколько уставок находятся физически в XML файле не по своим функциональным группам.
Это затрудняет просмотр и проверку файлов конфигурации.

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

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

Работа напрямую с DEX

Было бы круто уметь работать сразу с DEX файлами, не отвлекаясь на запуск DIGSI, импорт конфигураций, экспорт в двух форматах.
DEX это просто ZIP, правда не все программы его корректно открывают.
Нужно покопаться в нем, выяснить в каком формате там хранятся уставки.

Работа большая и не факт что удастся, но ...

Отказ от Win32

Нужно найти какую-нибудь хорошую библиотеку для работы с Excel и отказаться от Win32 зависимости, т.к. он не может скомпилить exe с такой зависимостью.

Правка отдельных адресов при формировании

В наименованиях отдельных уставок присутствуют спецсимволы, например адреса 1242, 1244, 1307.
Теперь, после того, как мы считываем MLFB можно программно править наименования этих уставок в процессе работы экспортера.

(первичные величины)

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

Добавлять версию конвертера в выходной документ

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

Скрытие длинных адресов для 6MD

В 6MD довольно много уставок без адреса, но на самом деле адрес у них есть, например 0x2000016769F2, т.е. это длинное число.
Этот адрес необходимо выводить в бланк, т.к. по нему подхватывается комментарий из общего файла с комментариями, но он здорово мешает тем, что из-за узкого столбца адреса некоторые адреса, которые могли бы быть высотой в одну строку становятся в три строки.
Решение - изменять цвет текста на белый и размер шрифта на 3.

Автомтическое определение Ктт и Ктн

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

Два режима: [проверка] и [подготовка ТУ]

Режим [проверка]
Предназначен только для проверки файлов конфигурации. В этом режиме производится только экспорт уставок из конфига в файл. Коррекция наименований и заголовков ("params_correct", "titles_correct") не применяется.

Режим [подготовка ТУ]
Предназначен для подготовки шаблона ТУ.
В этом режиме помимо того, что делается в первом режиме делается также:

  1. Коррекция наименований уставок ("params_correct");
  2. Коррекция поздаголовков ("titles_correct");
  3. Вставляется формула для комментариев к уставкам (в зависимости от типа устройства);

И теперь самое главное: зачем тогда нафиг нужен режим 1 ?
только чтобы файл быстрее открывался из-за отсутствия ссылок на другой файл в формулах ?....
пошел думать...

Адрес 236, удаление адресов из бланка

Адрес 236 "Единицы измерения расстояния" есть в конфиге,
но его не видно в DIGSI, для таких случаев можно добавить логику удаления адресов из бланка, настройки можно организовать в "params_to_rearrange" - просто целевой адрес указывать пустым.

Ускорение работы с Excel

Если Excel уже запущен - работает довольно медленно, и к тому же в этот момент невозможно работать с другими документами Excel.

Нужно подумать как это решить - копать следует в сторону DispatchApplication.

Перемещение адресов, адрес можно потерять

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

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

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

Округление

ПС 220 кВ Береговая-2

ВЛ 110 кВ Береговая-2 – Береговая-1

7SA522 Уставка [1303] задана 0.619 (Реактивное сопротивление ступени Z1).

Терминал работает со вторичными, в конфиге указано 0.113.

При отображении в первичных DIGSI отображает 0.622, а на выходе Siemens Pie получается 0.621.

Как считает Python:
1787904207-screenshot_1

Mathcad, к слову, считает также (с той же точностью):
2744954819-screenshot_2

Округление, это не такая уж простая операция: https://en.wikipedia.org/wiki/Rounding

6MD первичные/вторичные

Проверить режим корректировки шапок подгрупп уставок.

Сейчас для 6MD он пишет так:
Screenshot_1

Хотя на самом деле все уставки в 6MD задаются во вторичных.

Нужно писать везде вторичные/вторичные (в группах, где есть электрические параметры, хотя они и не конвертируются), кроме группы Данные энергосистемы 1 в которой задаются первичные и вторичные параметры ТТ и ТН.

Эту группу можно определить во адресам voltage_primary, voltage_second, current_primary, current_second.

Оформление страницы

Колонтитул, поля, масштаб для печати страниц.
Много времени уходит впустую на выставление этого вручную.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.