Скачиваний:
12
Добавлен:
01.05.2014
Размер:
56.83 Кб
Скачать

Задание на выполнение лабораторной работы

Создать программу, реализующую управление системой налива, нагрева и слива жидкости в резервуаре. В системе происходит управление впускным, выпускным клапанами и нагревателем. При срабатывании датчика нижнего уровня жидкости происходит включение нагревателя. При уровне жидкости ниже уставки нагрев отсутствует. При этом если выходной клапан открыт, то входной закрыт и наоборот. При отсутствии жидкости загорается индикатор. При достижении верхнего уровня впускной клапан закрывается, загорается индикатор.

Разработать блок-схему алгоритма управления системой.

Оформить процесс прибавления/убавления жидкости и процесс управления отдельными процедурами.

В подпрограмме инициализации выполнить необходимые присвоения и обнуления.

Схема установки представлена на рисунке 1:

Рис. 1. Схема установки нагрева воды.

BODY NOP Начало тела программы

JSR INIT Загрузка инициализации

JSR PECH Загрузка ПП печи

LDAA I 020 проверка состояния «насос ВКЛ/ВЫКЛ»

SK1 и если ВЫКЛ (0)

JMP EXIT выход; ИНАЧЕ

LDAA I 021 проверка направления перекачки(0-вниз,1-вверх)

SK1 если слив (0)

JMP ELSE переход к ELSE; ИНАЧЕ

JSR NAL запустить ПП налива

JMP EXIT выход

ELSE JSR SLIV запуск ПП слива

EXIT END

INIT LDAA TD64

BEQ CON

LDD # 2000 запись верхнего уровня

STD R 2003

LDD #250 запись уставки

STD R 2001

LDD # 270 запись текущего уровня; 270 – случайное число!

STD R 2005

CON RTS

PECH NOP ПП печи

LDD R 2005 Считать текущее состояние

SUBD R 2001 вычесть из текущего уставку

BCS ELSP если ниже уставки – переход на ELSP

SET O 030 индикатор печи ВКЛ

JMP ENDP в конец

ELSP CLR O 030 индикатор печи ВЫКЛ

ENDP RTS

SLIV NOP ПП слива

LDD 2005 считали текущий уровень

BEQ ELSS если он нулевой => ELSS

CLR O 031 ИНАЧЕ: индикатор верха ВЫКЛ

SUBD #1 декремент текущего уровня

STD R 2005 запись

JMP ENDS выход

ELSS SET O 032 индикатор нуля ВКЛ

ENDS RTS

NAL NOP ПП налива

LDD R 2005 читаем текущий уровень

SUBD R 2003 сравниваем с максимумом

BEQ ELSN если он достигнут => ELSN

CLR O 032 ИНАЧЕ: индикатор нуля ВЫКЛ

LDD R 2005 читаем текущий уровень снова

ADDD #1 инкремент

STD R 2005 запись

JMP ENDN выход

ELSN SET O 031 индикатор максимума ВКЛ

ENDN RTS конец!!!

Список используемой памяти и проч.:

R 2001 – R 2002 - уставка

R 2003 – R 2004 - верхний уровень

R 2005 – R 2006 - текущий уровень

I 020 – насос вкл/выкл

I 021 - направление вверх/вниз

O 030 - нагреватель

O 031 – верхний уровень достигнут!

O 032 – нижний уровень достигнут!

Соседние файлы в папке Лабораторная работа 31