- •Курсовая работа по дисциплине
- •Введение
- •Обобщенный алгоритм функционирования мкс
- •1.2.Обработка информации с дискретных датчиков
- •1.3. Обработка информации с аналоговых датчиков
- •1.4. Управление пуском – остановом электродвигателя
- •1.5. Управление технологическим параметром в заданных пределах
- •1.6. Обработка запроса прерывания
Обобщенный алгоритм функционирования мкс
МКС реализует алгоритм сбора и обработки данных с датчиков, представленный на рис 2. Блок 1 выполняет начальную установку системы и загрузку в выходные каналы начальных значений управляющих воздействий и настраивает модули контроллера на выбранные режимы работы.
Блок 2 реализует задачу логического управления: принимает информацию от дискретных датчиков Х1, …, Хn, вычисляет значение булевой функцииY1= f(Х1, …, Хn) в соответствии с заданным выражением и выдает это значение в качестве управляющего сигнала (УС) Y1 по соответствующему выходному каналу контроллера на ИМ.
Блок 3 обеспечивает прием информации от аналоговых датчиков V1, …, VM, ее преобразование в цифровую форму, вычисление значений управляющих воздействий Y2 и Y3 и выдает их на ИМ.
При этом сигналы Y2 и Y3 являются двоичными сигналами, поступающими по выбранным каналам контроллера. При выполнении этой функции оператор задает значения уставок регулируемого параметра с пульта управления (ПУ) контроллера.
Блок 4 обеспечивает циклический режим управления или останов МКС в соответствии с командой, поступающей от оператора с ПУ.
Кроме того, в системе имеется также двоичный датчик аварийной ситуации INT, поступающий в контроллер в режиме прерывания выполняемой программы. Сигнал прерывания INT от аварийного датчика включает на пульте управления аварийную световую или звуковую сигнализацию путем запуска зуммера.
Рис.2. Блок-схема обобщенного алгоритма
МКС управления
1.2.Обработка информации с дискретных датчиков
Реализация логических функций. Одной из распространенных функций в контроллерах логического управления является реализация булевых функций. В реальной системе входные сигналы из датчиков поступают в контроллер через один из входных портов. В курсовой работе при использовании симулятора контроллера используются два варианта формирования входных сигналов.
Первый вариант соответствует моделированию реальной ситуации, для которой любой из наборов входных сигналов загружается с клавиатуры компьютера во входной порт контроллера. Анализируемые входные наборы сигналов Хi должны быть вначале загружены из входного порта в аккумулятор контроллера, а затем анализироваться последовательно, начиная с переменной X1, поступающим в нулевой разряд входного порта (см. алгоритм).
Анализируемые биты должны заноситься в триггер переноса C командой циклического сдвига аккумулятора RRC A (для чего исходный код должен быть предварительно загружен в аккумулятор), а затем анализироваться командами условного перехода JC или JNC.
Однако при большом количестве возможных комбинаций входных сигналов это потребует большого времени для набора и выполнения программы для каждой из комбинаций, чтобы выполнить полное тестирование программы.
Второй вариант предусматривает вначале формирование значения всевозможных наборов входных сигналов хранящихся в виде массива данных в резидентной памяти данных контроллера. Значения функций также формируются в отдельном массиве этой же памяти данных.
Вариант 1. Работа контроллерной системы происходит в соответствии с логической функцией у =х1х2 V /х3 , для которой таблица истинности имеет следующий вид:
-
X3
X2
X1
Y
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
Выберем следующее распределение портов контроллера для подключения датчиков входных сигналов (порт ввода Р1, разряды 0,1,2) и исполнительного механизма ИМ (порт вывода Р2, канал 2):
Рис.3. Структурная схема МКС обработки дискретных сигналов
Схема алгоритма реализации заданной функции имеет следующий вид:
Рис.4. Схема алгоритма выполнения логической функции
Текст программы логической функции:
$Mod812
M4:CLRP2.5 ;у=0
JNB P1.0, M1
JNB P1.1, M1
M2: SETB P2.5 ; y =1
JMP M4
M1: JNB P1.2, M2
JMP M4
END
Время выполнения программы: 6 мксек.
Размер программы: 17Байт
Второй вариант реализации функции. Данный вариант предусматривает вначале формирование значений всевозможных наборов входных сигналов, хранящихся в виде массива данных в резидентной памяти данных контроллера. Значения функции У также формируются в отдельном массиве этой же памяти данных.
Схема алгоритма для данного варианта будет иметь следующий вид:
Текст программы в режиме автозаполнения наборов входных сигналов Х:
Память данных:
Память данных в симуляторе
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
2 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
3 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
Комбинации входных сигналов (Х3,Х2,Х1) хранятся, начиная с 20 ячейки РПД, выходные сигналы У формируются в РПД, начиная с 30 ячейки.
$Mod812
; начальная установка регистров
START: MOV R0, #20H
MOV R2, #08H
; формирование массива таблицы истинности
CLR A
M1: MOV @R0, A
INC A
INC R0
DJNZ R2, M1
; начальная установка регистров
MOV R0, #20H
MOV R1, #30H
MOV R2, #08H
M5: MOV A, @R0 ; Ввод {X}
; вычисление функции У=Х1Х2 V /Х3
JNB acc.0, M3
JNB acc.1, M3
M2: MOV A, #01H ; y =1
JMP M4
M3: JNB acc.2, M2
MOV A, #00H ; y=0
M4: MOV @R1, A ; вывод y в память данных
; формирование адресов R0, R1
;и анализ завершения циклов
INC R0
INC R1
DJNZ R2, M5
JMP $ ; «останов» программы
END
Время выполнения: 63 мксек.
Размер: 43 Байт
Карта памяти:
20H – 2FH – таблица истинности (значения Х с дискретных датчиков)
30H – 3FH – результат вычисления функции (выходные сигналы У)