Микропроцессорные системы в электроэнергетике
Разработка и реализация программы, имитирующей работу автоматического повторного включения выключателя высоковольтной линии после отключения выключателя действием релейной защиты. Расчет времени выполнения одного цикла в таймере с вложенными циклами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 02.10.2016 |
Размер файла | 357,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Микропроцессорные системы в электроэнергетике
Расчетно-графическаяработа №1
Выполнил: студент гр. Эк-13-04 Толеуов С.
Проверила: Мустагулова Б.
Алматы 2015
1. Задание к расчетно - графической работе №1 «АПВ ВЛ»
Цель работы: приобрести начальные знания в области применения микроконтроллеров и основ цифровой техники.
1.1 Теоретические сведения и выполнение работы
Расчетно-графическая работа выполняется на основании знаний, полученных при выполнении лабораторных работ по основам микропроцессорной техники. Необходимо разработать программу, имитирующую работу автоматического повторного включения выключателя высоковольтной линии (ВЛ) после отключения выключателя ВЛ действием релейной защиты. Сигнал отключения выключателя имитируется на УМК-7 подачей единичного сигнала от одного из разрядов PORTD с помощью кратковременного включения тумблера S1 на рисунке 1. Тумблер S0 включен постоянно. Энергия подается на бит RB1 PORTB, что вызывает запуск программы, которая с выдержкой времени в соответствии с заданием подает в определенный разряд PORTC, на определенное время энергию. К этому разряду подключена обмотка реле, включающая выключатель ВЛ. Номер разряда выбирается по заданию по порядковому номеру в списке группы. Время паузы АПВ, создаваемой таймером Timer2, необходимо рассчитать, исходя из тактовой частоты 20 МГц.
Рисунок 1 Схема соединения на УМК-7 для РГР № 1
Таблица 1
Варианты задания для РГР № 1
№ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
Тапв, сек |
0,21 |
0,41 |
0,52 |
0,62 |
0,78 |
0,88 |
0,93 |
0,98 |
1,04 |
|
№ бит вкл. |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
1 |
|
№ |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
|
Тапв, сек |
1,04 |
0,98 |
0,93 |
0,88 |
0,78 |
0,62 |
0,52 |
0,41 |
0,21 |
|
№ бит вкл. |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
1 |
Окно наблюдения должно содержать значение PORTC в двоичном значении для отображения включения выключателя от бита PORTC в соответствии с заданием, а также значения счетчиков 1, 2 и 3 циклов. Когда начинает выполняться команда btfss возникает цикл, т.к. бит RB1 = 0. Снимается первое окно через PrtSc. После включения тумблера S1 и выполнения команды bsf PORTC,3 снимается вторая копия экрана (PrtSc). На этой копии в заданном заданием бите PORTC появляется 1, т.е. подается сигнал на включение выключателя. В реальных условиях сигнал держится только определенное время, достаточное для включения выключателя и пропадании сигнала отключения выключателя, поступающего по телемеханике. Эту паузу обеспечивает Timer1.Затем программа опять переходит в ждущий режим появления сигнала отключения выключателя. Так как сигнал отключения выключателя имитируется вручную, то в программе сделан цикл остановки. Нажмите Halt и Reset для возвращения на начало программы. В этом режиме снимается второе окно.
1.2 Расчет времени выполнения одного цикла в таймере с вложенными циклами
таймер включение программа высоковольтный
Если тактовая частота генератора равна 20 МГц, то время выполнения одного такта равно 0,05 мкс. Время выполнения машинного цикла, состоящего из четырех тактов равно 0,2 мкс. Подсчитаем максимальную величину задержки внутреннего цикла в приведенной ниже программе 1.
Фрагмент одного внутреннего цикла таймера выполняет за два цикла команды вычитания и проверки нулевого результата (DECF и BTFSS) и команду безусловного перехода за 2 цикла, т.е. в сумме за 4 цикла. Максимально во внутреннем цикле может быть выполнено 255 подциклов (предельное значение десятичного числа, которое может быть введено в 8-ми разрядный регистр). При вычитании 255-й раз результат равен 0. В этом случае в бите Z регистра STATUS появляется 1 и по условию команды BTFSS пропускается следующая инструкция и выполняется следующая за ней инструкция, т.е. происходит выход из цикла. Но команда BTFSS в этом случае выполняется также за два цикла. Общее время выполнения внутреннего цикла:
255*4*0,2 + 3 *0,2=204,6 мкс, примерно для расчетов 205 мкс
При организации одного внешнего цикла в нем выполняется операция вычитания, проверки бита Z и две операции безусловного перехода, т.е. 4 цикла + внутренний цикл:
4*0,2 + 204,6 = 205,4 мкс, примерно для расчетов 205 мкс
Если еще раз повторить внутренний цикл, то пауза равна 205*2=410 мкс.
На основании приведенного примера, подбором числа повторений в каждом цикле, можно рассчитать общее время паузы, созданной таймером.
1.3 Пример создания программы «АПВ ВЛ» на Assembler для МК PIC16F877A
Задание: разработать программу, реализующую упрощенный вариант работы АПВ ВЛ со следующими исходными данными:
- время паузы 0,1 сек (100000 мкс);
- сигнал на включение выключателя ВЛ выдается с 3-го бита PORTC;
- сигнал внешнего прерывания имитировать подачей энергии со 2-го бита
PORTD;
- задержку времени, необходимую для запуска схемы включения выключателя принять равную 200 подциклам Timer1.
На первом цикле мы можем создать максимально на основании вышеприведенного расчета задержку в 204 мкс.
Определение числа циклов и подциклов выполняем последовательно. Вначале проверим, можно ли выполнить такую задержку на втором внешнем цикле.
Nвторого внешнего цикла = 100000/205=487
Число подциклов второго внешнего цикла максимально 255. Подсчитаем примерно время второго внешнего цикла:
255*205 = 52275 мкс
Определим примерно число подциклов третьего цикла:
100000/52275 = 2
Приведенный расчет дает нам возможность рассчитывать примерное число подциклов третьего цикла для создания определенной паузы. Предположим, что нам задана выдержка 1,14 сек. Тогда приближенное количество подциклов третьего цикла определится по формуле:
1140/ 52=22
Программа РГР1
include "p16f877A.inc"
Sch_in EQU H'22'; счетчик внутреннего цикла задержки.
Sch_out equ H'23' ; счетчик второго цикла задержки.
Sch3 equ H'24' ; счетчик третьего цикла задержки.
org h'00'
nop
nop
nop
org h'05'
Nach
clrf STATUS
clrf PORTC ; Очистка регистра порта С
bsf STATUS,5
movlw B'00001111'
movwf TRISB ;настроить биты 0-3 PORTB на ввод
clrf TRISC ;настроить PORTC на вывод
clrf TRISD ;настроить PORTD на вывод
bcf STATUS,5
WaitPush
btfss PORTB,0 ; Ждать включение тумблера и подачи 1 в RB0-имитация
;отключения выключателя ВЛ
goto WaitPush
call Timer2; пауза АПВ в соответствии с заданием
M1
bsf PORTC,3; подача энергии на бит включения выключателя в
;соответствии с заданием
call Timer1; выдержка, необходимая для включения выключателя
;goto Nach ; работает в реальных условиях
Goto M1
goto $
Timer1
movlw D'200'; для отладки принять 2
movwf Sch_in; устанавливаем значение счетчика.
N_in
decf Sch_in,F; уменьшаем значение счетчика Sch_in на 1.
btfss STATUS,Z; если счетчик Sch_in обнулился, пропускаем GOTO.
goto N_in; срабатывает только при Z=0
return
Timer2
MOVLW d'2';это же значение оставляем для отладки
MOVWF Sch3; значение W является аргументом для таймера.
N3
MOVLW D'255'; для отладки D'2'
MOVWF Sch_out; устанавливаем значение внешнего счетчика.
N_out; метка внешнего счетчика.
MOVLW D'255'; для отладки D'2'
MOVWF Sch_in; устанавливаем значение внутреннего счетчика.
N_in; метка внутреннего счетчика.
DECF Sch_in,F; уменьшаем значение счетчика Sch_in на 1.
BTFSS STATUS,Z; если счетчик Sch_in обнулился, пропускаем GOTO.
GOTO N_in; срабатывает только при Z=0.
DECF Sch_out,F; уменьшаем значение счетчика Sch_out на 1.
BTFSS STATUS,Z; если счётчик обнулился, пропускаем GOTO.
GOTO N_out; инструкция срабатывает только при Z=0.
DECF Sch3,F; уменьшаем значение счетчика Sch3 на 1,
BTFSS STATUS,Z; если оно равно нулю (Z=1), пропускаем GOTO.
GOTO N3; срабатывает только при Z=0.
RETURN; конец подпрограммы Timer2.
End
На рисунках 3 и 4 приведены PrtSc для данного примера.
Рисунок 3 Ожидание сигнала отключения выключателя
Рисунок 4 На бите 3 PORTC 1, выключатель включился
Размещено на Allbest.ru
Подобные документы
Разработка программы, имитирующей работу системы массового обслуживания. Методы и средства решения задачи. Создание концептуальной и структурной моделей системы. Анализ и оценка результатов моделирования, определение достоинств и недостатков системы.
курсовая работа [469,5 K], добавлен 03.03.2015Фаза "избавления" программы от ошибок. Задача обработки ошибок в коде программы. Ошибки с невозможностью автоматического восстановления, оператор отключения. Прекращение выполнения программы. Возврат недопустимого значения. Директивы РНР контроля ошибок.
учебное пособие [62,3 K], добавлен 27.04.2009Общие сведения о таймерах, история их возникновения и применение. Развитие и совершенствование языков программирования. Разработка приложения "Таймер" для выключения и отмены отключения компьютера, показа времени начала работы программы и ее автозагрузки.
курсовая работа [182,9 K], добавлен 30.01.2015Использование информационной системы отдела кадров предприятия для уменьшения времени выполнения функций, автоматического создания документации, проставления дат и табельных номеров, простоты поиска. Интерфейс программы и структура базы данных приложения.
курсовая работа [254,7 K], добавлен 25.03.2011Разработка программы с использованием языка программирования Pascal для выполнения алгебраических действий с действительными числами без знака в шестнадцатеричной системе счисления. Описание хода выполнения, схема алгоритма, листинг программы, ее функции.
реферат [687,5 K], добавлен 28.10.2011Анализ информации как объекта защиты и изучение требований к защищенности информации. Исследование инженерно-технических мер защиты и разработка системы управления объектом защиты информации. Реализация защиты объекта средствами программы Packet Tracer.
дипломная работа [1,2 M], добавлен 28.04.2012Расчет надежности функционирования систем (Лисп-реализация). Схема включения конденсаторной батареи, показатели интенсивности отказов и вероятности безотказной работы за год. Функциональные модели и блок-схемы решения задачи. Примеры выполнения программы.
курсовая работа [349,5 K], добавлен 25.01.2010Написание программы, моделирующей работу вычислительного центра и возможные пути ее улучшения. Разработка моделирующего алгоритма и машинная реализация. Возможные улучшения в работе системы. Математическое описание системы, листинг и отчет программы.
курсовая работа [99,0 K], добавлен 03.07.2011Определение и общая структура Scada. Структура системы Trace mode. Административный уровень системы. Средство блокирования троянских программ. Способы защиты Scada-системы. Разработка средств обнаружения и выполнения автоматического карантина файлов.
курсовая работа [1,2 M], добавлен 10.04.2017Структура и основные операции коммерческого банка. Использование языка программирования Visual Basic for Application, математическая формулировка задачи. Разработка модуля программы расчёта кредитов и депозитов. Схема алгоритма выполнения программы.
курсовая работа [2,9 M], добавлен 09.04.2012