Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SCORPIO / DIPLOM / DIPLX.DOC
Скачиваний:
32
Добавлен:
16.04.2013
Размер:
1 Мб
Скачать

1.10.1.1. Основная программа

Этот раздел ПО включает следующие части:

  • инициализация программируемых БИС и считывание микропереключателей;

  • основной цикл программы.

Инициализация программируемых БИС

Это часть программы отрабатывает сразу по включению контроллера до того как придет первый запрос немаскируемого прерывания TRAP. За это время выполняется:

  • установка стека;

  • очистка ОЗУ;

  • программирование параллельного интерфейса КР580ВВ55А, двух таймеров КР580ВИ53, последовательного интерфейса КР580ВВ51А;

  • считывается состояние микропереключателей на плате контроллера и определяются дискретность управления, заданное значение угла ФИ, зона нечувствительности;

  • разрешаются прерывания микропроцессора.

Основной цикл программы

В этом цикле находится программа пока не приходят запросы прерывания TRAP и RST 7.5. В цикле осуществляется передача видеобуфера контроллера через интерфейс RS-232C на ПЭВМ (если есть) и подсветка светодиодов.

1.10.1.2. Подпрограмма обработки прерывания trap

П/п отрабатывает с частотой 20 мс (50 Гц). Внутренний диспетчер прерываний следит за тем, чтобы отрабатывалось только 50-ое прерывание (величина DISKW). П/п выполняет следующие операции:

  • считывает содержимое счетчиков A, B, С таймера (длины импульсов напряжения, тока, первой ступени), после чего перепрограммирует таймер;

  • заполняет видеобуфер контроллера переменными, которые надо передать через RS-232C;

  • выводит 16 разрядное слово управления конденсаторами в буферные регистры КР589ИР12.

1.10.1.3. Подпрограмма обработки прерывания rst 7.5

П/п отрабатывает с частотой 1 с (1 Гц). П/п содержит внутренний диспетчер прерываний и две подпрограммы WRITE и CONTROL.

П/п WRITE выполняется при каждом прерывании RST 7.5 и производит перезапись считанных со счетчиков A,B,C значений в соответствующие скользящие массивы, длинной 128 слов каждый.

П/п CONTROL выполняется с частотой DISKU, задаваемой микропереключателями на плате, и реализует алгоритм управления компенсацией. П/п выполняет следующие операции:

  • вычисление средних значений A,B,C (напряжение, ток и первая ступень) на интервале управления;

  • распознание особых ситуаций, как то: напряжение в сети больше предельного 380В+10% и ток в сети меньше установленного;

  • вычисление угла ФИ между током и напряжением;

  • вычисление рассогласования между текущим значением ФИ и заданным;

  • управление конденсаторной батареей путем определения 16 разрядного слова управления конденсаторами;

  • индикация управления на светодиодах контроллера.

1.10.1.4. Комплекс подпрограмм типа bios

BIOS контроллера включает часто используемые в ПО подпрограммы:

Y88B умножение целых двоичных чисел без знака формата8*8=16;

Y24A умножение целых двоичных чисел без знака формата16*8=24;

Y32A умножение целых двоичных чисел без знака формата16*16=32;

DOPB преобразование кода числа в регистровой паре ВС в доп. код;

DOPD преобразование кода числа в регистровой паре DE в доп. код;

DOPH преобразование кода числа в регистровой паре HL в доп. код;

D32A деление целых двоичных чисел без знака формата 32:16=(16,16);

SLOW пересылка слова MEM(DE)<-- MEM(HL);

USTB не используется;

DEBI преобразование двоично-десятичного числа в двоичное;

RSB вывод байта через интерфейс RS-232C;

MASS перепись массива по новому адресу;

SRED вычисление среднего значения массива слов;

D16 деление целых двоичных чисел без знака формата16:8=(8,8);

FUNC вычисление табличной функции;

GRAN введение аргумента в границы;

COD перекодировка кода для вывода на индикаторы.

Соседние файлы в папке DIPLOM