Министерство образования Российской Федерации
Тольяттинский государственный университет
Кафедра «Автоматизация машиностроения»
Задания к лабораторным работам по дисциплине «Моделирование систем»
Тольятти, 2003 содержание
Лабораторная работа №1 3
Лабораторная работа №2 5
Лабораторная работа №3 6
Лабораторная работа №4 7
Лабораторная работа №5 9
Лабораторная работа №6 10
Лабораторная работа №7 11
Лабораторная работа №1
Логические функции
1. Реализуйте одну из логических функций в редакторе ЛМК, другую – в РКС. Посмотрите, как ваши программы будут выглядеть в каждом из представлений.
А2.0 = E 0.0 E 0.1 + E 0.2 E 0.3 (E 0.4 + E 0.5)
А2.1 = (E 0.0 + E 0.1 E 0.2 E 0.3) (E 0.4 + E 0.5)
А2.2 = E 0.0 E 0.1 + E 0.2 E 0.3 (E 0.4 + E 0.5)
А2.3 = E 0.0 +[E 0.1 (E 0.2 + E 0.3 + E 0.4) + E 0.5]
А2.4 = E 0.0 (E 0.1 + E 0.2 + E 0.3) (E 0.4 + E 0.5)
А2.5 = E 0.0 (E 0.1 + E 0.2 + E 0.3 E 0.4 E 0.5)
А2.6 = [E 0.0 + E 0.1 (E 0.2 + E 0.3)] (E 0.4 + E 0.5)
А2.7 = E 0.0 E 0.1 + (E 0.2 + E 0.3) E 0.4 + E 0.5
А3.0 = (E 0.0 + E 0.1) (E 0.2 + E 0.3) E 0.4 + E 0.5
А3.1 = E 0.0 E 0.1 + E 0.2 (E 0.3 + E 0.4 + E 0.5)
2. Напишите программу, осуществляющую управление и проверку работы вентиляторов в помещении следующим образом. Одновременно всегда должны работать 2 вентилятора. Как только один из них сломался, должен включиться третий. По сигналу поломки одного из вентиляторов происходит его ремонт. Если не работают одновременно 2 (или 3) вентилятора, то подается аварийный сигнал.
Входные сигналы – сигналы об исправности вентиляторов, задаются с модуля-эмулятора входов контроллера.
Выходные сигналы – сигналы на включение и выключение вентиляторов (при неисправности вентилятор необходимо выключить).
Лабораторная работа №2
Арифметические функции
Написать программу для сравнения выражений:
(41 + 23) - (41 - 21 + 16) и (15 - 7) + (14 -12) ;
Если выражения равны, то установить Е13.3 в "1", иначе в "0".
Сравнить два арифметических выражения:
(10 - 7) + (12 - 11 + 34) и (11 - 2) - (4 - 1),
Если они равны, то установить А 12.2 в "1", иначе в "0".
Сравнить:
(11 + 23) + (18 - 5 + 13) и (5 + 2) + ( 44 - 12),
Если они равны, то установить Е 1.0 в "1", иначе в "0".
4. Сравнить:
(16 + 43) + (12 + 31 + 16) и (25 + 17) - (4 - 3),
Если они равны, то установить Е 7.1 в "1", иначе в "0".
5. Сравнить:
(8 - 5) + (19 + 7 - 15) и (6 - 3) + (32 + 16),
Если они равны, то установить Е 2.5 в "1", иначе в "0".
Лабораторная работа №3
Индексная адресация
Вариант 1
Написать программу, обнуляющую слова данных DW50…DW20, используя в качестве индексного регистра DW55.
Написать программу, присваивающую единицы битной области выходов A2.0 A3.0, используя в качестве индексного регистра MW20.
Вариант 2
Написать программу, обнуляющую байты меток МВ10…МВ29.
Переписать значения 10 входных байтов на выходные, если пятый бит каждого входного байта равен "1", иначе обнулить соответствующий выходной байт.
Вариант 3
Написать программу, присваивающую единицы битной области выходов A2.0 A3.0, используя в качестве индексного регистра MW20.
Написать программу, присваивающую правым байтам слов данных DW1…DW9, значения 1…9.
Вариант 4
Написать программу, обнуляющую слова данных DW50…DW20, используя в качестве индексного регистра DW55.
Переписать значения 10 входных байтов на выходные, если пятый бит каждого входного байта равен "1", иначе обнулить соответствующий выходной байт.
Вариант 5
Написать программу, обнуляющую байты меток МВ10…МВ29
Написать программу, присваивающую правым байтам слов данных DW1…DW9, значения 1…9.
Вариант 6
Написать программу, обнуляющую байты меток МВ10 ... МВ29.
Написать программу, сдвигающую значения выходных байтов с 1 по 10 вправо на 5 бит с обнулением старшего бита, используя команды сдвига и индексации.
Вариант 7
Написать программу, обнуляющую слова данных DW50 ... DW20, используя в качестве индексного регистра DW55.
Написать программу, сдвигающую значения выходных байтов с 1 по 10 вправо на 5 бит с обнулением старшего бита, используя команды сдвига и индексации.