Лабораторная работа №3.
Цель работы:
Создать программу, реализующую управление системой налива, нагрева и слива жидкости в резервуаре. В системе присутствуют впускной и выпускной клапаны. При уровне жидкости ниже уставки нагрев отсутствует. При этом если выходной клапан открыт, то входной закрыт и наоборот. При отсутствии жидкости загорается индикатор. При достижении верхнего уровня впускной клапан закрывается.
Разработать блок-схему алгоритма управления системой.
Оформить процесс прибавления/убавления жидкости и процесс управления отдельными процедурами.
R2000, R2001 - текущий уровень.
Значения уставок принять:
R2002 – уставка для включения нагревателя. (=250)
R2003, R2004 – верхний уровень.(=2000).
В подпрограмме инициализации выполнить необходимые присвоения и обнуления.
Таблица зависимости значений выходных сигналов от входных:
|
Выпускной клапан |
Впускной клапан |
Нагрев |
Отсутствие жидкости |
F500=1 |
O032=0 (закрыт) |
O033=1 (открыт) |
- |
- |
F500=0 |
O032=1 |
O033=0 |
- |
- |
R2000 2<R2002 |
- |
- |
O 030=0 |
O031=1 |
R2000 2>=R2002 |
- |
- |
O 030=1 |
O031=0 |
Блок-схема алгоритма управления:
да
нет
нет да
да нет
да
да
нет
нет
Текст программы:
00000 LDAA T D64
00001 BEQ M1 00013
00002 LDAA # 250
00003 STAA R 2002
00004 LDD # 02000
00005 STAA R 2003
00006 STAB R 2004
00007 SET F 500
00008 LDAA # 000
00009 STAA R 2000
00010 CLR O 030
00011 SET O 031
00012 STAA R 2001
00013 M1 LDAA F 500
00014 SK0
00015 JMP M2 00028
00016 SET O 032
00017 CLR O 033
00018 LDAA T D90
00019 BEQ M5 00043
00020 JSR WHAT 00058
00021 JSR MINS 00044
00022 LDAA R 2000
00023 LDAB R 2001
00024 SUBD # 00000
00025 SK1
00026 SET F 500
00027 JMP M5 00043
00028 M2 SET O 033
00029 CLR O 032
00030 LDAA T D90
00031 BEQ M5 00043
00032 JSR WHAT 00058
00033 JSR PLUS 00052
00034 LDAA R 2000
00035 LDAB R 2003
00036 CBA
00037 BNE M5 00043
00038 LDAA R 2001
00039 LDAB R 2004
00040 CBA
00041 BNE M5 00043
00042 CLR F 500
00043 M5 END
00044 MINS LDAA R 2000
00045 LDAB R 2001
00046 SUBD # 00001
00047 SK1
00048 SET F 500
00049 STAA R 2000
00050 STAB R 2001
00051 M6 RTS
00052 PLUS LDAA R 2000
00053 LDAB R 2001
00054 ADDD # 00001
00055 STAA R 2000
00056 STAB R 2001
00057 M7 RTS
00058 WHAT LDAA R 2000
00059 LDAB R 2001
00060 SUBD # 00250
00061 BPL T1 00065
00062 SET O 031
00063 CLR O 030
00064 JMP T2 00067
00065 T1 SET O 030
00066 CLR O 031
00067 T2 RTS