Создание редактора входных воздействий цифровых сигналов для САПР OrCad 9.1, страница 2

Filename : no file opened / Имя_Файла – имя открытого (редактируемого) файла.

Resolution : указывает отображаемую область, помещающуюся на экран, по умолчанию 2000ns.

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

где

 - Вызов меню для создания нового сигнала

 - Открыть файл внешних воздействий

 - Сохранить редактируемый файл

 - Кнопки увеличения / уменьшения разрешения при отображении сигнала

 - Горизонтальный скроллинг сигналов

 - Вертикальный скроллинг сигналов

 - Вызов диалога «О программе» :

Все вышеперечисленные функции дублируются в меню программы.

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

Типы поддерживаемых сигналов: базовый, шинный и периодически повторящийся.

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

В диалоговом окне необходимо заполнить предлагаемые поля, такие как «Имя сигнала», «Время активации», «Начальное значение» и, для периодических сигналов,  поля длительности.

Стоит обратить внимание на ввод имени сигнала, которе строится следующим образом

ИМЯ_СХЕМЫ.ИМЯ_СИГНАЛА_НА_СХЕМЕ

При неправильнои вводе будет выведено предупреждение программы.

Следует также помнить, что одновременно можно редактировать сигналы только из одной схемы, т.е. если один сигнал называется, к примеру, SCHEMATIC1.D0, то другой ОБЯЗАТЕЛЬНО должен начинаться с префикса SCHEMATIC1. , иначе присохранении файла возникнут ошибки.

При нажатии правой кнопкой мыши на форму выскакивает контекстное меню:

Оно позволяет удалить текущий сигнал, создать новый сигнал, а также, при выборе пункта меню «Signal Properties», просмотреть свойства сигнала, а также задать его текущее значение с помощью диалога «Signal Information»:

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

Пример работы программы:

4. Сообщения оператору.

Стандартные сообщения системы Windows, а также сообщения об ошибках ввода:

Если неправильно введено имя сигнала

.

Если неправильно введено стартовое время

Если неправильно введено начально значение для шинного сигнала:

Сообщения оператору также поступают из статусной строки:

Приложения отсутствуют.

Руководство (системного) программиста (ГОСТ-19.504-79).

1. Назначение и условие применения программы.

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

2. Характристики программы.

Для функционирования программы необходима следующая конфигурация компьютера:

CPU: iPentium, Video: 800x600 256 color mode, MS Windows 9x, 2000, XP

3. Обращение к программе.

Обращение к программе осуществляется запуском исполняемого файла stmed.exe, либо выбором пункта меню SIMULATE в САПР OrCAd, при условии, что программа проинсталлирована нужным образом.

4. Входные и выходные данные.

Входные данные – действия пользователя по созданию / редактированию сигналов внешних воздействий, либо файл с уже созданными сигналами. Выходные данные – файл с информацией о введенных сигналах в формате OrCad.

5. Сообщения (сообщения системному программисту).

Отсутствуют

6. Структура программы.

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

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

Для сигнала был введен специальный класс, приведенный ниже, а также массив, состоящий из объектов данного класса.

Вот этот класс:

//-----------------------------------------------------------------------

#define N 100 //макс. кол-во перключений у сигнала

#define M 5   //макс. длина в символах значения сигнала

#define NUM_SIGNALS 10 //макс. кол-восигналов

class signal{

  private:

    int num_ff;     //количество переключений сигнала

int times[N];   //время переключения сигнала

    char v[N][M];   //значене сигнала

    int dim;        //Если ==1, то базовый сигнал, если ==2, то шинный сигнал, если ==3 – периодически повторяемый сигнал

    char name[100]; //имя сигнала в формате (ИМЯ_СХЕМЫ.ИМЯ_СИГНАЛА)

public:

    void SetSignalInfo(int _ff, int _dim,char *_name);  //Установка информ. о сигнале

    void SetOneFF(int index,int _time, char *val); //Уст. инф. об одном переключении

voidInsertFF(int _time, char *val);  //вставить переключение по времени

    char *GetValAtTime(int _time); //вернуть значение по времени

    int FindNearest(int _time);//ищет индекс ближайшего переключения

    int GetFFAtTime(int _time); //Возвращает номер переключения

    void delFF(int index);//удаляет переключение по индексу

    int GetDimension(); //Считать разрядность сигнала

    int GetNumFF();     //Считать кол-во переключений сигнала

    char *GetName();    //Считать имя сигнала

    void GetOneFF(int index, int *_time, char *val);  //Считать информацию о переключении

void Save(FILE *f); //сохранть сигнал

    signal();  //конструктор

} signals[NUM_SIGNALS]; //А вот в этом статическом массиве хранится информация о всех сигналах схемы

intnum_signals=0; //Количество сигналов в схеме

intr_res_x=2000; //Разрешение по умолчанию (т.е., на одном экране видно сразу 2000 наносекунд)

int offset=0;

int sig_offset=0;

int cur_sig=0; //текущий сигнал

int ctrl_down=0;

int schname_len=0; //длина строки имени схемы

int CUR_X=0;

int opened=0;  //открыт ли файл

7. Настройка программы.

Для инсталляции программы необходимо выполнить ряд действий:

1) Переименовываем файл SIMULATE.EXE из каталога CAPTURE в любой другой *.exe, например SIMULATE1.EXE

2) Помещаем программу STMED.EXE в каталог CAPTURE и переименовываем его в SIMULATE.EXE

3) Создаем в корневом каталоге диска C:\ файл STIMED.DAT, единственной строчкой которого должно быть полное имя файла, который раньше назывался SIMULATE.EXE, в нашем случае

C:\\Program Files\\OrCADnt\\CAPTURE\\simulate1.exe

Следует обратить внимание, что слешей надо ставить по два, т.к. это связано с особенностью языка C в интерпретации строковых величин.

8. Проверка программы.

Тестирование пройдено.

9. Дополнительные возможности.

Отсутствуют.