SymSin

 

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

Автор - Токарев Ю. В. (студент 3-го курса факультета информационных систем и технологий УлГТУ).

 

Скачать архив программы (412КБ)

 

Состав и системные требования программного продукта SymSin

 

Программный продукт SymSinW предназначен для восстановления электрических схем, состоящих из сопротивлений, проводимостей, индуктивностей, емкостей, а также управляемых источников, по заданному символьному выражению определителя, и состоит из модуля восстановления схем SymSin.exe, модуля графического интерфейса SymSinW.exe и файла настроек SymSin.ini. Программа SymSinW разработана Ю. В. Токаревым.

 

Необходимые условия для работы программы: ОС Windows 98/2000/Me/XP.

 

Рекомендуемые системные требования: 8Мб свободного места на жестком диске, процессор с тактовой частотой 1.8 ГГц, 64 Мб оперативной памяти.

 

Работа с программой

 

1) Запустить модуль графической оболочки SymSinW.exe и настроить параметры программы.

 

Рис. 1. Окно графической оболочки.

 

Настройка параметров программы

 

Программа может быть настроена двумя способами:

1) Используя файл настроек SymSin.ini, расположенный в директории, в которой установлена программа:

Файл настроек содержит 3 секции настроек general, files и visual.

В разделе [general] хранятся основные настройки модуля восстановления схем:

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

· logtask – числовой параметр, отвечающий за сохранение отчета о сформированном задании. Если параметр равен «0», то отчет о задании не сохраняется, если «1», то – сохраняется.

· logcirc – числовой параметр, отвечающий за сохранение отчета о восстановлении промежуточных схем. Если параметр равен «0», то отчет - не сохраняется, если «1», то - сохраняется.

В раздел [files] записываются имена входных и выходных файлов, а также файлов отчета. Адреса файлов указываются относительно места расположения модуля SymSin.exe. Все параметры раздела являются текстовыми.

· resultfile – имя выходного файла с полученными схемами.

· inputfile – имя входного файла с выражением определителя.

· logfile - имя файла с отчетом о ходе выполнения реконструкции.

· taskfile - данный параметр указывает на имя файла с отчетом о сформированном на основе определителя задании для реконструкции.

· circfile  - данный параметр указывает на имя файла с отчетом о в ходе реконструкции промежуточных схемах.

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

· left - положение окна программы при запуске графической оболочки относительно левой границы экраны.

· top - положение окна программы при запуске графической оболочки относительно верхней границы экраны.

· width – ширина окна программы.

· height – высота окна программы.

Ниже приведен текст возможного файла с настройками:

[general]

logtask=1

logcirc=1

program=symsin.exe

[files]

resultfile=Result\result.cir

inputfile=in

logfile=Report\log.txt

taskfile=Report\task.txt

circfile=Report\level.cir

[visual]

left=556

top=254

width=592

Height=508 

2) Используя графическую оболочку. Для этого нужно в окне графической оболочки (рис. 1) зайти в меню «файл» и выбрать пункт «настройки». После чего появится диалоговое окно с некоторыми настройками программы (рис. 2).

 

Рис 2. Окно настроек.

 

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

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

 

Ввод схемного определителя

 

Для ввода выражения схемного определителя предназначено многострочное поле ввода (рис. 1). Пользователь может редактировать введенное выражение, вставлять и копировать любые части выражения в буфер памяти. Также возможна загрузка определителя из файла, для этого необходимо выбрать пункт «Загрузить» из меню «файл» главного окна и выбрать соответствующий файл в появившемся окне обозревателя файлов. После выбора произойдет автоматическая загрузка содержимого файла в поле многострочного ввода.

 

Правила ввода определителя

 

Программа автоматически удалит из введенных данных все символы, которые не являются буквами латинского алфавита, цифрами, знаками сложения, умножения, или скобками. Для обозначения резистора может использоваться любая подстрока, состоящая из символов латинского алфавита и цифр, при  условии, что она будет начинаться с символа “R” или “r” (например, R1982ggggg – будет воспринят программой как резистор).

Для обозначения проводимости может использоваться любая подстрока, состоящая из символов латинского алфавита и цифр, при  условии, что она будет начинаться с символа “g” (например, g1982ggggg – будет воспринят программой как проводимость).

Для обозначения конденсатора может использоваться любая подстрока, состоящая из символов латинского алфавита и цифр, при  условии, что она будет начинаться с символа “с” (например, с1982ggggg – будет воспринят программой как конденсатор).

Для обозначения индуктивности может использоваться любая подстрока, состоящая из символов латинского алфавита и цифр, при  условии, что она будет начинаться с символа “L” (например, L1982ggggg – будет воспринят программой как индуктивность).

Для обозначения ИТУН может использоваться любая подстрока, состоящая из символов латинского алфавита и цифр, при  условии, что она будет начинаться с символа “G” (например, G1982ggggg – будет воспринят программой как ИТУН).

Для обозначения ИТУT может использоваться любая подстрока, состоящая из символов латинского алфавита и цифр, при  условии, что она будет начинаться с символа “F” (например, F1982ggggg – будет воспринят программой как ИТУТ).

Для обозначения ИНУН может использоваться любая подстрока, состоящая из символов латинского алфавита и цифр, при  условии, что она будет начинаться с символа “K” (например, K1982ggggg – будет воспринят программой как ИНУН).

Для обозначения ИНУТ может использоваться любая подстрока, состоящая из символов латинского алфавита и цифр, при  условии, что она будет начинаться с символа “H” (например, H1982ggggg – будет воспринят программой как ИНУТ).

 

Завершение процесса реконструкции

 

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

Рис. 3. Сообщение о результатах выполнения программы

 

Затем появится диалоговое окно с подтверждением сохранения полученных схем в отдельные файлы (рис. 4). При нажатии конки «Yes» все схемы будут сохранены в отдельные файлы с именами, имеющими следующий вид: «имя_файла_из_настроек[порядковый_номер_схемы].cir». При нажатии «No» все схемы будут сохранены в один файл, указанный в настройках.

 

Рис. 4. Запрос на подтверждение сохранения полученных схем

 

Формы отчетов

 

1. Отчет о работе программы формируется параллельно с выполнением программы. В отчете указывается время начала проведения той или иной операции, название операции и длительность её выполнения. Например, строка «[15:18:36] Sorting... 0:00:00:150» означает, что в 15 часов 18 минут и 36 секунд по местному времени, была проведена операция сортировки массива, которая заняла 0 часов, 0 минут, 0 секунд и 150 миллисекунд. В отчете могут быть упомянуты следующие операции: Reading – чтение исходных данных, Opening – раскрытие скобок в определителе, Sorting – сортировка массива со слагаемыми, Shifting – выделение в формуле очередного элемента, Generating – генерация схем из нейтрализованных, Adding – добавление очередного элемента, Counting – подсчет слагаемых в определителе без раскрытия скобок, Checking – сравнение выражений двух раскрытых определителей. В конце отчета содержится общая информация о результатах восстановления.

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

 

+R1*R2
+R1*R3
+R2*R3
******
Add-R1
==================================================
+R2
+R3
******
Add-R2
==================================================
+1
******
Elements for tree: R3

 

Из данного примера следует, что для того чтобы восстановить схемы соответствующие определителю R1*R2+R1*R3+R2*R3 необходимо сначала получить все схемы, состоящие из элемента R3, определитель, которых равен 1. Затем к полученным схемам добавить элемент R2 таким образом, чтобы определитель полученных схем равнялся R2+R3. Затем к схемам полученным на предыдущем этапе добавить элемент R1 так, чтобы полученная схема имела исходный определитель.

3. Отчет с промежуточными схемами состоит из нескольких пронумерованных файлов, в каждый из которых записаны описания всех схемы, полученные на каждом шаге восстановления. Файл с младшим порядковым номером соответствует первому выполненному шагу, файл со старшим номером – последнему. 

4. Файлы с искомыми схемами содержат описания схем, определители, которых равны заданному выражению. Все схемы записываются в формате cir-файла.