wyfinger / siemenspie Goto Github PK
View Code? Open in Web Editor NEWSiemens Siprotec Protection Config Processor
Siemens Siprotec Protection Config Processor
Несколько уставок находятся физически в XML файле не по своим функциональным группам.
Это затрудняет просмотр и проверку файлов конфигурации.
Необходимо при обработке каждого адреса сличать номер адреса и MLFB со списком. Адреса которые необходимо переместить нужно прятать (не выводить в документ, сохранять данные в отдельном массиве), а также проверять не нужно ли вставить вслед за только что обработанным адресом данные адреса, спрятанного ранее.
При таком подходе (работа в один проход) не получится передвинуть адрес выше, чем он находится физически в XML-файле, но по опыту это и не нужно.
Регистрация расширения невозможна при отсутствии прав администратора. Из-за этого срывается работа программы.
Поместить функцию в try/except и потестить.
Было бы круто уметь работать сразу с DEX файлами, не отвлекаясь на запуск DIGSI, импорт конфигураций, экспорт в двух форматах.
DEX это просто ZIP, правда не все программы его корректно открывают.
Нужно покопаться в нем, выяснить в каком формате там хранятся уставки.
Работа большая и не факт что удастся, но ...
Нужно найти какую-нибудь хорошую библиотеку для работы с Excel и отказаться от Win32 зависимости, т.к. он не может скомпилить exe с такой зависимостью.
В наименованиях отдельных уставок присутствуют спецсимволы, например адреса 1242, 1244, 1307.
Теперь, после того, как мы считываем MLFB можно программно править наименования этих уставок в процессе работы экспортера.
эта строка на шапках блоков уставок, где встречаются электрические параметры не видна, нужно как-то сделать автоподбор высоты ячейки.
Для того, чтобы знать какой версией скрипта выполнялось преобразование XML и XRio в начало выходного документа вставлять версию скрипта.
В качестве версии можно использовать какой-нибудь хешь основного файла.
В 6MD довольно много уставок без адреса, но на самом деле адрес у них есть, например 0x2000016769F2, т.е. это длинное число.
Этот адрес необходимо выводить в бланк, т.к. по нему подхватывается комментарий из общего файла с комментариями, но он здорово мешает тем, что из-за узкого столбца адреса некоторые адреса, которые могли бы быть высотой в одну строку становятся в три строки.
Решение - изменять цвет текста на белый и размер шрифта на 3.
Сразу после определения MLFB кода нужно пытаться определить Ктт и Ктн.
Сильно упростит работу, если не нужно будет вводить их каждый раз самостоятельно.
Режим [проверка]
Предназначен только для проверки файлов конфигурации. В этом режиме производится только экспорт уставок из конфига в файл. Коррекция наименований и заголовков ("params_correct", "titles_correct") не применяется.
Режим [подготовка ТУ]
Предназначен для подготовки шаблона ТУ.
В этом режиме помимо того, что делается в первом режиме делается также:
И теперь самое главное: зачем тогда нафиг нужен режим 1 ?
только чтобы файл быстрее открывался из-за отсутствия ссылок на другой файл в формулах ?....
пошел думать...
Адрес 236 "Единицы измерения расстояния" есть в конфиге,
но его не видно в DIGSI, для таких случаев можно добавить логику удаления адресов из бланка, настройки можно организовать в "params_to_rearrange" - просто целевой адрес указывать пустым.
Если Excel уже запущен - работает довольно медленно, и к тому же в этот момент невозможно работать с другими документами Excel.
Нужно подумать как это решить - копать следует в сторону DispatchApplication.
Некоторые адреса, которые стоят не на своих местах в XML файле при обработке сохраняем, чтобы потом вставить в нужном месте, при этом это самое "нужное место" обозначается в конфиге как адрес, сразу после которого нужно вставить данные "нехорошего" адреса.
Проблема может возникнуть, если в результате изменений в 0ХХХ адресах уставка, после которой необходимо вставить сохраненный ранее "нехороший" адрес будет скрыта - возможна ситуация, когда такой адрес просто исчезнет из отчетного документа.
Необходимо по завершении всей работы контролировать, чтобы в буфере для перемещаемых адресов было пусто и если это не так - возвращать эти адреса туда, где они стояли в конфиге (нужно к информации об адресе в этом буфере сохранять еще номер строки, откуда он был взят).
ПС 220 кВ Береговая-2
ВЛ 110 кВ Береговая-2 – Береговая-1
7SA522 Уставка [1303] задана 0.619 (Реактивное сопротивление ступени Z1).
Терминал работает со вторичными, в конфиге указано 0.113.
При отображении в первичных DIGSI отображает 0.622, а на выходе Siemens Pie получается 0.621.
Mathcad, к слову, считает также (с той же точностью):
Округление, это не такая уж простая операция: https://en.wikipedia.org/wiki/Rounding
Проверить режим корректировки шапок подгрупп уставок.
Хотя на самом деле все уставки в 6MD задаются во вторичных.
Нужно писать везде вторичные/вторичные (в группах, где есть электрические параметры, хотя они и не конвертируются), кроме группы Данные энергосистемы 1 в которой задаются первичные и вторичные параметры ТТ и ТН.
Эту группу можно определить во адресам voltage_primary, voltage_second, current_primary, current_second.
Колонтитул, поля, масштаб для печати страниц.
Много времени уходит впустую на выставление этого вручную.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.