Гл5_07 (Раздаточный материал к курсовому проекту), страница 3
Описание файла
Файл "Гл5_07" внутри архива находится в следующих папках: Раздаточный материал к курсовому проекту, Доп_материалы. PDF-файл из архива "Раздаточный материал к курсовому проекту", который расположен в категории "". Всё это находится в предмете "системы автоматического управления (сау) (мт-11)" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "системы автоматического управления (сау) (мт-11)" в общих файлах.
Просмотр PDF-файла онлайн
Текст 3 страницы из PDF
Так, если наш клапан управляетсяот пятого бита первого регистра платы ПУД-5 и сигнал «выбор устройства» ВУ этого регистра подключен, например, к третьему биту регистра адреса 175776, следует сделатьтакие присвоения:klapan.register:=3;klapan.bit:= 5;В программе следует завести и всегда поддерживать массив переменных - копийрегистров плат УСО - copy_rg[0..15]. Таких регистров при любой комплектации контроллера будет не более 16, поскольку у нас в распоряжении 16 линий ВУ.
В частности, копиярегистра РГ1 будет храниться в переменной – copy_rg[3], поскольку этот регистр подключен к третьей линии ВУ, как было оговорено ранее. Для чтения регистр РГ1 аппаратно недоступен, а его значение для управляющей программы нужно. Тогда процедура включения элемента будет выглядеть так:procedure on_obj(var object: type_channel);begincopy_rg[object.register]:= copy_rg[object.register] OR mask_on[object.bit];(* установили бит с номером object.bit в единицу и изменили копию регистра РГ1*)bit_obj:= copy_rg[object.register];(* выставили управляющее слово на внутреннюю шину данных УСО контроллера *)register_obj:= mask_on[object.register];(* активизировали соответствующую линию ВУ на шине адресов, запись в РГ1 *)register_obj:=0;(*сохранили информацию в РГ1, отключив его от шины данных*)end;(* конец процедуры включения объекта *)Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им.
Н. Э. Баумана, V_Ryabov@mail.ru7Теперь, если нам потребуется включить какой либо элемент, например, тот же клапан, в потоке управляющей программы достаточно записать: on_obj(klapan); илиoff_obj(klapan); для выключения. Попробуйте самостоятельно написать процедуру выключения.Как видите, хотя сама идея реализуется лишь одной ассемблерной операцией, пришлось немного помудрить, чтобы сделать текст программы понятным и обойти аппаратные особенности контроллера.Плата контроля сигналов КС-5 служит для контроля 32-х сигналов с объектауправления, причем, сигналы могут быть дискретными ДК или аналоговыми АК. Диапазон контролируемых сигналов 0…10,24В.Функциональная схема проведения дискретного или аналогового контроля представлена на рис.
5.3. Контролируемые сигналы подключены к аналоговому мультиплексору платы КС-5, который управляется сигналом с линии ВУ регистра 175776 линий адресоввнутренней шины и пятью старшими битами регистра 176776 линий данных(бит10…бит14). Если в эти биты регистра данных записать номер канала, например 16, иактивизировать соответствующую линию ВУ, коммутатор включится и контролируемыйсигнал поступит на инверсный вход компаратора.На прямой вход компаратора подается сигнал с выхода цифроаналогового преобразователя ЦАП.
ЦАП является десятиразрядным и на его вход подается дискретный сигналс десяти младших бит (бит0…бит9).Uref10.24В176776Ус-5-1D175776Ус-5AЦАП32АККС-5или32ДКРис. 5.3. Функциональная схема проведения дискретного и аналогового контроля.На цифроаналоговый преобразователь подано опорное напряжение в 10,24В отвстроенного в контроллер источника. Так, что одной дискрете цифрового сигнала соответствует 10 мВ.Дискретный контроль проводится следующим образом. В старшие биты регистраданных 176776 записывается адрес контролируемого канала, а в младшие – значение порогового напряжения.
Затем коммутатор активизируется соответствующей линией ВУ.Тогда на прямой вход компаратора поступит напряжение с выхода ЦАП, т.е. установленное пороговое значение, а на инверсный – сигнал с контролируемой линии. Выход компаратора покажет больше ли контролируемый сигнал установленного порога. Проконтролировать это можно, считав состояние старшего бита регистра 176776.Составим процедуру, точнее логическую функцию, программирующую дискретныйконтроль Status( u_control:real; var object: type_channel): boolean.Здесь: u_control – значение порогового напряжения в вольтах, object – имя контролируемого элемента. В полях записи типа type_channel, описывающей имя контролируемогоэлемента будут, как и ранее: в поле register которых записан номер соответствующей линииВУ, в поле bit – номер канала.Рябов Владимир Тимофеевич.
Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru8Function Status(u_control:real; var object: type_channel): Boolean;var code: word;(*переменная для формирования кода шины D *)porog: integer;(*переменная для перевода u_control в код шины D *)begincode:= object.bit*1024; (* записали в code номер контролируемого канала *)(* и сместили на десять бит влево *)porog:= u_control div 0.01;(* перевели заданный порог в вольтах в *)(* дискретное значение *)bit_obj:=code OR porog;(* сформировали и выставили код шины D *)register_obj:= mask_on[object.register];(* активизировали линию ВУ *)(* на шине адресов, подключили канал к ЦАП *)(* возможно, здесь понадобится задержка на установку сигнала ЦАП и срабатывание*)(* оптронной развязки в читаемом бите регистра 176776 шины данных *)if (bit_obj AND #$8000)=0 then Status:=false else Status:=true;(* считали значение из старшего бита регистра bit_obj и определили результат *)register_obj:=0;(*обнулили шину адресов, сняли ВУ*)end;(* конец функции дискретного контроля ДК элемента *)При аналоговом контроле для начала воспользуемся методом последовательногосчета, эквивалентным, по сути, методу однократного интегрирования, но свободным отего основного недостатка - нестабильности задающего генератора (см.
гл.5.2.Б «Аналогово-цифровые преобразователи»).Как и ранее, будем считать, что описан тип переменной type_channel – запись с целочисленными полями, в поле object.bit которой содержится номер контролируемого канала, а в поле object.register – номер линии ВУ, активизирующей аналоговый коммутаторМС платы КС-5 (см. рис. 5.3.).Function Cntrl_ ( var object: type_channel): integer;var code: integer;begincode:= (object.bit*1024) AND $FC00; (* номер контролируемого канала *)(* в биты 10…14 и ноль в дискретный код, подаваемый на ЦАП ( биты 0…9) *)bit_obj:=code;repeatcode:= code+1;bit_obj:=code;(* содержимое кода, подаваемого на ЦАП *)register_obj:= mask_on[object.register];(* активизировали линию ВУ *)(* возможно, здесь понадобится задержка на установку сигнала ЦАП и срабатывание*)(* оптронной развязки в читаемом бите регистра 176776 шины данных *)until (bit_obj AND #$8000)=0;(* пока выход компаратора не единица *)Cntrl_:=code;(* присвоить функции найденное значение кода *)end;Посложнее, но и почти в сто раз быстрее будет функция, реализующая поразрядноевзвешивание.
Именно так реально и делали аналоговый контроль в УТК-5. Длительностьпреобразования составляла менее половины миллисекунды.Function Cntrl ( var object: type_channel): integer;var code, min, max, i, n: integer;beginmin:=0;(* в нижний предел диапазона записать нуль*)max:=$4FF;(* в верхний предел диапазона записать нуль - 1024*)code:=$0200;(* испытуемый код – 512*)Рябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru9n:= object.bit*1024;(* номер канала в биты 10…14 числа n *)for i:=1 to 10 dobeginbit_obj:=code OR n; (* номер канала и испытуемый код на шину данных *)(* возможно, здесь понадобится задержка на установку сигнала ЦАП и срабатывание*)(* оптронной развязки в читаемом бите регистра 176776 шины данных *)if bit_obj AND #$8000)=0 then max:=codeelse min:=code;code:= (max+min) div 2end(* конец цикла преобразования *)Cntrl_:=code;(* присвоить функции найденное значение кода *)end;В завершение рассмотрения работы модуля КС-5 отметим, что и дискретный и аналоговый контроль здесь могут инициироваться только программно и контроллер сам всевремя, пока идет преобразование, занят этой операцией.Модуль УЗН-5 (устройство запоминания напряжения) предназначен для выдачивосьми аналоговых управляющих сигналов на объект управления.
Цифро-аналоговое преобразование десятиразрядное, ток нагрузки не более 20 мА. Функциональная схема модуля представлена на рис. 5.4.Uref10.24ВУЗН-58АУ176776Ус-5-1D175776Ус-5AЦАПРис. 5.4. Функциональная схема модуля УЗН-5.В модуль входит аналоговый коммутатор на 8 каналов, к входу которого подключен выходной сигнал десятиразрядного цифроаналогового преобразователя. Этот же ЦАПиспользуется и для контроля сигналов в модуле КС-5.К выходам коммутатора присоединены восемь идентичных каналов, содержащихоперационный усилитель в прямом включении с единичным коэффициентом усиления.В разделе 2.2.Б мы изучали с Вами различные схемы включения ОУ. В прямомвключении входное сопротивление усилителя определяется только входным сопротивлением собственно ЧИПа, а оно у схем, выполненных по k-МОП очень велико.
Именно такие усилители и применены в УЗН-5.Если выходное напряжение ЦАП на короткое время подать через коммутатор наканал с ОУ, стоящий на его входе конденсатор С зарядится и на выходе усилителя появится напряжение ЦАП, поскольку коэффициент усиления схемы равен единице. Приразмыкании коммутатора конденсатор С будет очень медленно разряжаться на большоевходное сопротивление усилителя. Как медленно и как быстро. Для заряда конденсаторадостаточно одного машинного цикля микроЭВМ, т.е. единиц микросекунд, в пределахРябов Владимир Тимофеевич. Кафедра «Электронные технологии в машиностроении»МГТУ им. Н. Э. Баумана, V_Ryabov@mail.ru10процента выходной сигнал изменяется за минуту.
Такие схемы включения ОУ с конденсатором на входе и единичным усилением называют аналоговой памятью. Их широко применяют в ячейках Track end Hold при аналогово-цифровом преобразовании (см. гл.2.5.В).Для подачи сигнала АУ на канал необходимо:1. Установить требуемое напряжение на на выходе ЦАП и номер канала на селекторе каналов.2. Активизировать селектор МС подачей сигнала ВУ.3. Снять сигнал ВУ.Попробуйте самостоятельно написать процедуру выдачи АУ, используя введенныенами ранее типы переменных.Б. Контроллеры семейства ОРИОНКОШКОШКОШШина Q-busКОШИРПСКОШКОШФункциональная схема контроллера семейства ОРИОН представлена на рис.