Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заочники_ЦБП / Пример_К.Раб.doc
Скачиваний:
38
Добавлен:
12.03.2016
Размер:
278.02 Кб
Скачать

Обобщенный алгоритм функционирования мкс

МКС реализует алгоритм сбора и обработки данных с датчиков, представленный на рис 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 – результат вычисления функции (выходные сигналы У)

Соседние файлы в папке Заочники_ЦБП