ЛР1
.pdfОтчет по лабораторной работе № 1 по дисциплине «Технические средства автоматизации и управления»
на тему:
«Программное управление и измерение параметров технических объектов»
Цель работы
Изучить принципы построения автоматизированных систем на основе ЭВМ семейства IBM AT, методы программного обмена данными между ЭВМ и внешними устройствами, техническую реализацию интерфейса и программную реализацию алгоритмов управления.
Задание № 1
Безусловный обмен данными
Вид сигнала, U(i) |
Амплитуда, Umax. [В] |
Число точек на периоде, М |
|
|
|
Umaxexp(-3i/M), 0≤i≤M |
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