Разработка микропроцессорной системы управления ответственным объектом, страница 6

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

При отсутствии сбоев парафазный сигнал ПТ, усиленный операционным усилителем, удерживает якорь реле в притянутом состоянии. При нарушении работы на выходе ПТ появляется непарафазный сигнал и в МПС поступает запрос на прерывание. Обработчик данного запроса на прерывание возвращается к началу программы, устанавливает флаг сбоя SECOND в “1” и формирует сигнал восстановления ПТ. В случае возникновения повторного сбоя вследствие непарафазности сигнала реле обесточивается, чем и обеспечивается защитное состояние МПС. В случае прохождения этого цикла повторения программы без сбоев МПС сбрасывает флаг сбоя.



Рисунок 3 - Функциональная схема БСС


4 Разработка программного обеспечения

4.1 Разработка алгоритма работы ВК

Блок-схема работы ВК представлена на рисунке 5 и на рисунке 6.

После сброса МПС происходит инициализация ее периферийных модулей – ППА, ПСА, ПКП, ПТ, путем записи управляющих слов в их внутренние регистры. Затем указателю Pointer присваивается адрес таблицы входных значений и рассчитаных функций DataTable, а переменной-счетчику Index значение 3. После этого происходит цикл считывания оцифрованных аналоговых величин V1 – V3 и считываются двоичные сигналы Х1 – Х5. Данные величины записываются в ОЗУ по адресу DataTable со смещением Index. При этом уменьшенное на единицу значение переменной Index подается на входы выбора линии коммутатора ADD, а сигналы выбора АЦП, выбора регистра с двоичными значениями Х1 – Х5 и сигнал завершения преобразования АЦП на линии CSadc, CSx и Ready соответственно. Эти линии показаны на рисунке 4. Затем вычисляются заданные функции Y1 – Y4. После чего анализируем значение на линии Mode. В случае если это тестовый режим, то происходит повторение вышеописанных операций. Если же это рабочий режим, то осуществляем вывод значений вычисленных функций, запись этих значений в резервную таблицу DataTableInt и анализ тумблера СТОП. Переход к началу программы не будет осуществляться до тех пор, пока этот тумблер включен. Запись значений вычисленных функций в резервную таблицу необходима для того, чтобы в случае поступления запроса на прерывание, требующего передачи значений вычисленных функций, во время выполнения тестового цикла передать именно значения вычисленные в соответствии с рабочими входными значениями.

Блок-схемы алгоритмов приведены на рисунках 7 и 8.

МПС обрабатывает запросы на прерывание шести уровней:

1)  запрос на прерывание по сигналу от источника питания – INT0. Этот запрос имеет высший приоритет. При запросе на прерывание по сигналу от источника питания происходит выработка сигнала Y5, посылка в последовательный канал связи код символа «!».

2)  запрос на прерывание от БСС1 – INT1. После получения запроса на прерывание от БСС1 происходит переход на начало программы, установка флага сбоя и сброс ПТ БСС1. Если в следующем цикле происходит повторный запрос, то производится останов МПС. Если же цикл пройден безаварийно, то сбрасывается флаг сбоя.

3)  запрос на прерывание от БСС2 – 2. После получения этого запроса происходит немедленный останов МПС.

4)  запрос на прерывание от аварийного датчика – INT3. При этом происходит выдача на индикацию значений Х1 – Х5, N1, формирование запроса на прерывания микроконтроллера КМ1816ВЕ51, который будет осуществлять аварийную световую сигнализацию, и останов МПС.

5)  запрос на прерывание от внешней ЭВМ – INT4. ПСА при приеме символа от внешней БИС выставляет этот запрос на прерывание. В случае получения символа «А» в линию связи посылается значение Y1, а в случае получения символа «D» - значение Y4.

6) 
запрос на прерывание от пульта управления – INT5. МПС при получении данного запроса на прерывание производит индикацию значений некоторых булевых переменных (последнее значение; результат сравнения; значение выражения Х1*Х2*Х3*Х4; значение выражения Х1vХ2vХ3vХ4) и константы Q и происходит переход к началу программы.