Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР1

.pdf
Скачиваний:
17
Добавлен:
27.01.2022
Размер:
588.68 Кб
Скачать

Отчет по лабораторной работе № 1 по дисциплине «Технические средства автоматизации и управления»

на тему:

«Программное управление и измерение параметров технических объектов»

Цель работы

Изучить принципы построения автоматизированных систем на основе ЭВМ семейства IBM AT, методы программного обмена данными между ЭВМ и внешними устройствами, техническую реализацию интерфейса и программную реализацию алгоритмов управления.

Задание № 1

Безусловный обмен данными

Вид сигнала, U(i)

Амплитуда, Umax. [В]

Число точек на периоде, М

 

 

 

Umaxexp(-3i/M), 0iM

5,0

100

 

 

 

Пункт 2. Разработать алгоритм и программу генерации произвольного числа периодов периодического аналогового сигнала с заданными амплитудными характеристиками. Для получения максимальной частоты генерации выходного сигнала ЦАП следует до начала эксперимента рассчитать мгновенные значения сигнала на интервале равном одному периоду.

Выполнение:

Цифровое значение амплитуды: 0 В это 2048. Рассчитываем значение n для 5 В:

UDAC = U(n - 2048), где U = 2,5 мВ

n = UDAC / U+2048 = 5/0,0025+2048 = 4048

Прирост относительно 0 составляет 2000.

Алгоритм:

1.Объявление переменной, содержащей число точек на периоде, массива и счетчика цикла.

2.Формирование массива данных экспоненциального сигнала на интервале одного периода.

3.Реализация цикла для записи очередного значения массива при условии генерации сигнала до нажатия любой клавиши.

Программа: uses crt; const M=100; var

U: array [1..M] of integer; i: integer;

begin

for i:=1 to M do U[i]:=Round(2048+2000*exp(-3*i/M)); i:=1;

repeat

PortW[$300]:= U[i];

inc(i);

if i>M then i:=1 until keypressed

while keypressed do readkey

end.

Пункт 4. В цикл генерации указанного сигнала вставить вычислительную процедуру (wait).

Выполнение: uses crt;

const M=100; var

U: array [1..M] of integer; i: integer;

Procedure wait(i:word); var j:word;

begin for j:=1 to i do end;

begin

for i:=1 to M do U[i]:=Round(2048+2000*exp(-3*i/M)); i:=1;

repeat

PortW[$300]:= U[i]; inc(i);

if i>M then i:=1 wait(100);

until keypressed

while keypressed do readkey

end.

2

Задание № 2

Обмен данными по готовности внешнего устройства

Диапазон изменения

Дискретность изменения

Канал АЦП

сигналов ЦАП, [В]

сигнала ЦАП, [мВ]

 

 

 

 

±2,0

40

8

 

 

 

Пункт 2. Разработать алгоритм и программы:

установки на выходе ЦАП напряжений в заданном диапазоне и с дискретностью, указанными преподавателем;

измерения напряжений на входе АЦП по готовности, преобразования кодов АЦП в напряжение Uкв. и сохранения полученных данных на диске (предусмотреть возможность установки диапазона измерения АЦП, режима подключения входного сигнала и номера канала мультиплексора).

Выполнение:

Количество точек:

4 В / 40 мВ = 4/0,04 = 100

Значение n для 2 В:

n = UDAC / U+2048 = 2/0,0025+2048 = 2848

Шаг изменения: 40 мВ / 2,5 мВ = 16

Байт, записываемый в регистр управления:

7

6

5

4

3

2

1

0

U2

U1

M32

C4

C3

C2

C1

C0

По условию требуется диапазон измерения +/- 2 В, значит: U2 = 1 и U1 = 0. Используем ассиметричное подключение, значит: М32 = 1.

Используем 8 канал, значит: С4 = 0, С3 = 0, С2 = 1, С1 = 1, С0 = 1. Получаем 10100111, то есть $А7

Алгоритм:

1.Объявление переменной, содержащей число точек на периоде, массива, счетчика цикла, переменной для входного значения и файла.

2.Формирование массива данных для выдачи на ЦАП.

3.Установление регистра управления.

4.Осуществление задержки на переключение.

5.Объявление файла.

6.Создание / перезапись файла.

7.Реализация цикла для записи очередного значения массива в ЦАП, запуска АЦП на измерение, записи в файл выходного и измеренного значения.

8.Закрытие файла.

3

Программа: uses crt; const M=100; var

U: array [1..M] of integer; Uvx,i: integer;

f:text; Procedure wait(i:word);

var j:word;

begin for j:=1 to i do end;

begin

for i:=1 to M do U[i]:=Round(2848-(i-1)*16); Port[$302]:=$А7;

wait(100);

assign(f, ’c:\Results.txt’); rewrite(f);

for i:=1 to M do begin PortW[$300]:= U[i]; asm NOP end; Port[$304]:=$FF; asm NOP end;

while (Port[$302]>=$F8) do ; Uvx:=PortW[$300]; writeln(f, U[i],’ ’,Uvx);

end;

close(f)

end.

Вывод

На лабораторной работе были изучены цифро-аналоговые и аналого-цифровые преобразователи, измерительные усилители и мультиплексоры аналоговых сигналов. Была осуществлена программная реализация алгоритмов управления для обмена данными по готовности внешнего устройства и безусловного метода обмена данными между ЭВМ и внешними устройствами.

4

5

Соседние файлы в предмете Технические средства автоматизации и управления