автореферат диссертации по приборостроению, метрологии и информационно-измерительным приборам и системам, 05.11.16, диссертация на тему:Цифровое управление со случайным периодом дискретизации оптической пеленгационной установкой
Оглавление автор диссертации — кандидата технических наук Гулимов, Михаил Владимирович
ВВЕДЕНИЕ.
1. АНАЛИЗ ЦИФРОВОЙ УПРАВЛЯЮЩЕЙ СИСТЕМЫ
ТРАЕКТОРНЫХ ИСПЫТАНИЙ.
1.1. Оптическая пеленгационная установка как информационно-измерительная система траекториях испытаний.
1.2. Цифровая управляющая система оптическая пеленгационной установка.
1.3. Стохастическая дискретизация в цифровой управляющей системы оптической пеленгационной установкой.
1.4. Методы исследования цифровых управляющих систем со случайным временем дискретизации.
1.5. Постановка задачи исследования цифровой управляющей системы со стохастическим периодом дискретизации оптической пеленгационной установкой.
1.6. Выводы.
2. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ЦИФРОВОЙ СИСТЕМЫ
УПРАВЛЕНИЯ ОПТИЧЕСКОЙ ПЕЛЕНЕАЦИОННОЙ УСТАНОВКОЙ
СО СЛУЧАЙНЫМ ВРЕМЕНЕМ ДИСКРЕТИЗАЦИИ.
2.1. Непрерывные случайные процессы в цифровых системах управления.
2.2. Учет скачкообразных процессов в системе, вызванных стохастической дискретизацией.
2.3. Модель процесса случайной дискретизации с непуассоновским законом распределения.
2.4. Выводы.
3. КОРРЕЛЯЦИОННЫЙ АНАЛИЗ ЦИФРОВОЙ УПРАВЛЯЮЩЕЙ СИСТЕМЫ СО СТОХАСТИЧЕСКИМ ПЕРИОДОМ.
3.1. Корреляционный анализ системы с пуассоновским законом распределения времени дискретизации.
3.2. Анализ устойчивости цифровой управляющей системы с пуассоновским периодом дискретизации.
3.3. Корреляционный анализ цифровой управляющей системы с непуассоновским законом распределения времени дискретизации.
3.4. Выводы.
4. МЕТОД СИНТЕЗА ЦИФРОВОЙ УПРАВЛЯЮЩЕЙ СИСТЕМЫ ОПТИЧЕСКОЙ ПЕЛЕНГАЦИОННОЙ УСТАНОВКОЙ.
4.1 Метод построения программного обеспечения системы регистрации и управления слежением оптической пеленгационной установки под операционной средой Windows.
4.1.1 Экспериментальное определение закона распределения периода дискретизации.
4.1.2 Синтез моделей процесса дискретизации.
4.2 Математическая модель оптической пеленгационной установки.
4.3 Синтез цифровой управляющей системы.
4.4 Выводы.
Введение 2001 год, диссертация по приборостроению, метрологии и информационно-измерительным приборам и системам, Гулимов, Михаил Владимирович
Актуальность темы. Неотъемлемой частью процесса создания конкурентоспособной продукции являются испытания. Рост требований к образцам изделий, появление у них качественно новых и количественный рост существующих функциональных возможностей порождает одну из важнейших научно-технических задач, состоящую в создании абсолютно новых средств, позволяющих проводить адекватные и достоверные испытания. Решение указанной проблемы должно проводиться в направлении интеграции функций сбора данных, управления средствами к. измерения, а также повышения точностных характеристик сбора информации, ее достоверности.
Одними из важнейших и ответственных являются полигонные испытания вследствие того, что именно при их проведения проводится анализ поведения всей испытуемой системы в целом, ее эксплуатационные характеристики, надежность. В качестве информационно-измерительной системы рассматриваемого класса испытаний выступает оптическая пеленгационная установка, функциями которой является выделение пространственных координат испытуемого объекта.
Включение вычислительной техники в качестве основного элемента в контур траекторных испытаний позволяет наиболее полно решить поставленную задачу. Это связано, прежде всего, с возможностью передачи ЭВМ функций сбора, обработки, хранения и визуализации данных, управления слежением, контроля состояния оптической пеленгационной установкой, а также ряда специфических операций тестирования, настройки и калибровки. Объединение функций сбора информации с управлением приводит к тому, что ряд выходных переменных информационно-измерительной системы используются не только для регистрации, но также участвуют в контуре управления оптической пеленгационной установкой. Поэтому от того, насколько высоким динамическим и точностным требованиям будет удовлетворять цифровая управляющая система оптической пеленгационной установкой, настолько в целом можно будет судить об успехе проведения траекторных испытаний.
Указанные обстоятельства определили выбор объекта исследования диссертации, который может быть охарактеризован как цифровая управляющая система оптической пеленгационной установкой.
Характерной особенностью выбранного объекта исследования являются значительная вычислительная сложность совместного выполнения цифрового управления с рядом рассмотренных операций, а также ненормированное время самих вычислений, получения информации. Данное обстоятельство приводит к разбросу промежутков времени между соседними моментами выборки данных, что, в свою очередь, переводит управляющую систему оптической пеленгационной установкой в разряд цифровых систем управления со стохастическим периодом дискретизации. Не менее важными особенностями цифровой системы управления оптической пеленгационной установкой являются малая величина периода дискретизации по сравнению с наименьшей постоянной времени и свойство фильтра нижних частот динамической системы.
Вопросы влияния переменного периода дискретизации на ошибку слежения и стабилизации в настоящее время исследованы не в полной мере, что и определило выбор предмета исследования, который может быть охарактеризован как процесс цифрового управления оптической пеленгационной установкой со случайным периодом дискретизации при получении и регистрации измерительной информации.
Целью диссертационной работы является создание метода анализа и синтеза цифровых средств управления оптической пеленгационной установкой со стохастическим периодом дискретизации.
В соответствии с поставленной целью автором решены следующие задачи:
1) исследована оптическая пеленгационная установка с точки зрения объекта цифрового управления, в результате чего получены зоны допустимых ошибок управления;
2) разработана математическая модель цифровой управляющей системы с переменным временем дискретизации с учетом ряда допущений, приемлемых для рассматриваемого случая, позволяющая значительно упростить процесс вероятностного анализа и синтеза;
3) разработана методика вероятностного анализа цифровой управляющей системы с переменным временем дискретизации, позволяющая получать аналитические соотношения для расчета математических ожиданий и дисперсий фазовых координат системы;
4) предложен способ анализа устойчивости по математическому ожиданию и корреляционной функции для цифровой управляющей системы с переменным временем дискретизации, подчиняющемуся пуассоновскому закону распределения;
5) разработана методика синтеза цифровой управляющей системы с переменным временем дискретизации, позволяющая корректировать параметры передаточной функции фильтра с целью минимизации ошибки, вызванной случайной дискретизации по времени;
6) проведено экспериментальное исследование программно-аппаратного комплекса, функционирующего с нерегулярным периодом дискретизации, результатом которого стали статистические данные влияния переменного периода дискретизации на качество управления.
Методы исследования. В работе используются методы теории управления, теории Марковских процессов, теории сигналов, теории вероятности.
Научная новизна работы заключается в следующем:
1) Предложена методика учета произвольного закона распределения периода дискретизации, позволяющая использовать результаты, полученные для пуассоновского процесса дискретизации.
2) Предложена методика анализа вероятностных характеристик цифровой системы управления средствами измерения с переменным временем дискретизации.
3) Разработана методика синтеза цифрового управления с переменным временем дискретизации оптической пеленгационной установкой, позволяющая уменьшить влияние переменного периода дискретизации на ошибку управления.
4) Исследовано влияние переменного периода дискретизации на ошибку управления оптической пеленгационной установкой.
Практическая ценность работы заключается в применении теоретических положений и выводов диссертации для решения практических задач по созданию цифровых управляющих систем со стохастическим периодом дискретизации средствами измерения:
1) Предложена многопотоковая структура программного обеспечения, позволяющая выделить в отдельные автономные блоки (потоки) вычислительные операции сбора данных и управления слежением, сохранения данных регистрации, работы интерфейсной части программного продукта, а также эффективно управлять распределением ресурсов ЭВМ при решении различных задач траекториях испытаний путем переопределения приоритетов потоков.
2) Создан программно-аппаратный комплекс проведения траекторных испытаний, позволяющих проводить регистрацию и управление оптической пеленгационной установкой с допустимой ошибкой, а также выполнять обработку, хранение и визуализацию данных, тестирование, калибровку и настройку оптической пеленгационной установки.
3) Разработан пакет программ, позволяющий проводить статистическое исследование разброса периода дискретизации, моделирование процесса управления, снимать амплитудно-фазовые частотные характеристики оптической пеленгационной установки с последующей их аппроксимацией линейными передаточными функциями.
Реализация результатов диссертационной работы:
Выполнение хоздоговорной НИР «Разработка программного к. обеспечения комплекса цифрового управления оптической пеленгационной установкой» по договору № 022801 от 1.10.98 г. с Конструкторским бюро приборостроения, г. Тула.
2. Выполнение хоздоговорной работы «Экспериментальная обработка системы цифрового управления оптической пеленгационной установкой» по договору № 218901 от 15.11.99 г. с Конструкторским бюро приборостроения, г. Тула.
3. Теоретические результаты работы внедрены в учебный процесс в учебных курсах «Системы автоматизации и управления» и «Теория автоматического управления» на кафедре РТиАП Тульского государственного университета.
Апробация работы. Основные положения диссертационной работы докладывались на следующих конференциях и семинарах: 1. XVI научная сессия РНТОРЭС, посвященная Дню радио (г.Тула, ТулГУ, 1999г.). 2. XVIII научная сессия РНТОРЭС, посвященная Дню радио (г.Тула, ТулГУ, 2001г.). 3. Ежемесячные семинары аспирантов и магистров ТулГУ (г.Тула, 1998-2000г.г.). 4. Ежегодные научно-практические конференции профессорско-преподавательского состава ТулГУ (г. Тула, 1998-2000 г.г.).
Публикации. По результатам исследований опубликовано 7 печатных работ.
Характеристика работы. Диссертационная работа состоит из введения, четырех разделов, заключения, изложенных на 130 страницах машинописного текста, содержит 37 рисунков, 3 таблицы, список использованной литературы из 87 наименования и 2 приложений.
Заключение диссертация на тему "Цифровое управление со случайным периодом дискретизации оптической пеленгационной установкой"
4.4. Выводы
1. Предложен способ построения многопотокового программного обеспечения под операционной средой Windows 9х, позволяющий эффективно управлять вычислительными ресурсами ЭВМ путем переопределения приоритетов потоков.
2. Проведена идентификация оптической пеленгационной установки, позволившая построить динамическую модель контура цифровой управляющей системы.
ЗАКЛЮЧЕНИЕ
В целом по диссертационной работе можно сформулировать следующие основные выводы и результаты:
1. Проведена постановка задачи анализа цифровой управляющей системы оптической пеленгационной установкой со стохастическим периодом дискретизации по времени.
2. Получены соотношения, определяющие ошибку стохастической дискретизации для случая «дрожания» периода, на основании которых сформулированы основные факторы, влияющие на ее величину.
3. Предложен метод моделирования непуассонов ских процессов дискретизации, позволяющий аппроксимировать реальную плотность вероятностей периода дискретизации комбинацией экспоненциальных законов.
4. На основании исследований математических моделей получены соотношения, определяющие: первый и второй корреляционные моменты фазовых координат системы с пуассоновскими случайными процессами дискретизации, первый и второй корреляционные моменты фазовых координат системы со случайным процессом дискретизации, закон распределения которого отличен от пуассоновского.
5. Предложен способ синтеза программного обеспечения под операционной системой Windows 9х, позволяющий получить удобную структуру программного обеспечения и возможность программного управления перераспределением вычислительных ресурсов ЭВМ.
6. Разработан метод синтеза цифровой системы управления оптической пеленгационной установкой со стохастическим периодом дискретизации при проведении регламентного обслуживания, позволяющий уменьшить влияние стохастизма периода дискретизации на процесс управления.
7. Разработано программное обеспечение для ЭВМ контура траекторных испытаний, позволившее унифицировать режимы основной работы и регламентного обслуживания.
8. Проведен вероятностный анализ цифровой управляющей системы траекторных испытаний на основе разработанной методики, позволивший сделать вывод о не превышении ошибки управления требуемого значения и приемлемости предложенного способа синтеза программного обеспечения ЭВМ.
9. Прикладные результаты диссертационной работы внедрены в рамках хоздоговорных тем «Разработка программного обеспечения комплекса цифрового управления оптической пеленгационной установкой» по договору № 022801 от 1.10.98 г. с Конструкторским бюро приборостроения, г. Тула и «Экспериментальная обработка системы цифрового управления оптической пеленгационной установкой» по договору № 218901 от 15.11.99 г. с Конструкторским бюро приборостроения, г.Тула. Теоретические результаты работы внедрены в учебных курах «Системы автоматизации и управления» и «Теория автоматического управления» на кафедре РТиАП Тульского государственного университета.
Библиография Гулимов, Михаил Владимирович, диссертация по теме Информационно-измерительные и управляющие системы (по отраслям)
1. Автоматное управление асинхронными процессами в ЭВМ и дискретных систем / Под ред. В.И. Варшавского. М.: Наука. Гл. ред. физ.-мат. лит., 1986.-400 с.
2. Алиев Г.М. Вероятностные измерительно-вычислительные устройства / Г.М. Алиев, Г.С. Тер-Исраелов, A.A. Тер-Хачатуров. -М.: Энергоатом-издат, 1983. 168с., ил.
3. Алмазов B.C. Вероятностные модели систем: Учеб. пособие / Ленингр. техн. ун-т. СПб, 1991. - 77с., ил.
4. Анализ и синтез сложных систем и цепей с помощью ЭВМ: Электроника и автоматика XXXVI. Талин, 1988. - 87с., ил.
5. Анализ производительности ЭВМ: Учеб. пособие / В.М. Игнатьев, Е.В. Ларкин; Тул. гос. техн. ун-т. Тула, 1994, 104 е.: ил.
6. Андриянов A.B., Шпак И.И. Цифровая обработка информации в измерительных приборах и системах. Минск; Вышэйш. школа, 1987. -147с.
7. Артамонов Г.Т., Тюрин В.Д. Анализ информационно-управляющих систем со случайным интервалом квантования сигнала по времени. М.: Энергия, 1977.
8. Артемьев В.М., Ивановский A.B. Дискретные системы управления со случайным периодом квантования. М.: Энергоатомиздат, 1986. - 96 с.:ил.
9. Артемьев В.М., Ивановский A.B. Статический анализ импульсных систем со случайным временем следования импульсов. Тезисы докладов IV Всесоюзного Совещания по статическим методам теории управления. -М.: Наука, 1978, с. 2-4.
10. Ю.Архангельский Ю.Б., Мясников В.И. Статическое исследование изменения времени цикла ЦУВМ в системе управления радиотелескопом. В. сб.: Цифровые системы управления точными механизмами. JI. Наука, 1971.-202 с.
11. П.Астанов Ю.М., Медведев Ю.С. Статистическая теория систем систем автоматического регулирования и управления: Учеб. пособие для вызов по спец. «Автоматика и телемеханика» / Под ред. Е.П. Попова. М.: Наука, 1982. -304с., ил.
12. Байчук JIM. Синтез координирующих систем автоматического управления. -М.: Энергоатомиздат, 1991. 160с., ил.
13. БессекерскийВ.А., Изранцев В.В. Системы автоматического управления с микроЭВМ. М.: Наука, 1987. - 318 с.
14. Бессекерский В.А., Попов Е.П. Теория систем автоматического регулирования. -М.: Наука, 1975. 768 е.: ил.
15. БессекерскийВ.И. Цифровые автоматические системы. М.: Наука, 1976.
16. Бессонов JI.A. Методы и средства идентификации динамических объектов / A.A. Бессонов, Ю.В. Загашвили, A.C. Маркелов. Л.: Энергоатомиздат. Ленингр. отд-ние, 1989. - 279с., ил.
17. Борцов Ю.А., Юнгер И.Б. Автоматические системы с разрывным управлением. -Л.: Энергоатомиздат, 1986. 168с., ил.
18. Брахман Т.Р. Многокритериальность и выбор альтернативы в технике. -М.: Радио и связь, 1984. 288с., ил.
19. Венцель Е.С. Теория вероятностей. -М.: Наука, 1964. 574 е.: ил.
20. Вермишем Ю.Х. Методы автоматического поиска решений при проектировании сложных технических систем. М.: Радио и связь, 1982. -152с., ил.
21. Вероятностные автоматы и их приложения / Сост. В.М. Захаров. Казань: Изд-во Казанского ун-та, 1986. - 211с., ил.1 о 1iz i
22. Вирьянский З.Я., Пиневский М.М. Стратегия проектирования систем управления. Д.: Судостроение, 1978. - 143с., ил.
23. Волнокин В.Е., Чансеев П.И. Анализ и синтез систем автоматического управления на ЭВМ. Алгоритмы м программы. Справочник. М.: Радио и связь, 1991. -256с., ил.
24. Гайдук А.Р. Алгебраические методы анализа и синтеза систем автоматического управления / Северо-Кавказ. науч. центр высшей школы: Отв. Ред. A.A. Колесников. -Из-во Ростов, ун-та, 1988. -208с., ил.
25. Гайцгори В.Г. Управление системами с быстрыми и медленными движениями. -М.: Наука, 1991. 223с.
26. Гальперин М.В. Квантование времени в информационных системах. М.: Изд-во АН СССР, 1961, с. 299-412.
27. Гроп Д. Методы идентификации систем / Пер. с англ. В.Л. Васильева и В.И. Лопатина; Под ред. Е.И. Кринецкого. М.: Мир, 1979. - 302с., ил.
28. Гук М. Аппаратные средства IBM PC. СПб.: Питер, 2000. - 816 е.: ил.
29. Гулимов М.В. Применение теории Марковских процессов для моделирования стохастического периода дискретизации цифровых систем // XXIV «Гагаринские чтения»: Тез. докл. Молодежной научно-технической конференции, 1998; М., 1998. ч. 5. с. 50-51.
30. Гулимов М.В. Метод построения цифровых управляющих систем на базе ЭВМ под операционными средами типа Windows 9х // XXVI «Гагаринские чтения»: Тез. докл. Молодежной научно-технической конференции, 2000; М.; 2000. т. 1. с. 409.
31. ЗГГулимов М.В., Ларкин Е.В. Об одном методе исследования цифровых систем управления с нефиксированным временем квантования // Тез. докл. XVI научной сессии РНТОРЭС им. A.C. Попова, Тула: ТулГУ, 1999.-е. 51.
32. Гулимов М.В., Ларкин Е.В. К вопросу о стахостической дискретизации // Тез. докл. XVIII научной сессии РНТОРЭС им. A.C. Попова, Тула: ТулГУ, 2001.-с. 30.
33. Гулимов М.В., Ларкин Е.В. Вероятностный анализ цифровых систем управления с переменным периодом дискретизации. // Международная научно-техническая конференция «Проблемы проектирования и производства систем и комплексов», Тула: ТулГУ, 2001. — с. 41-43.
34. Евстигнеев В.А. Применение теории графов в программирование. М. Наука, 1985.-352 е.: ил.
35. Жильцов К.К. Приближенные методы расчета систем с переменной структурой. -М.: Энергия, 1974. 224с., ил.
36. Изерман Р. Цифровые системы управления / Пер. с англ. С.П. Забродина и др.; Под ред. И.М. Макарова. -М.: Мир, 1984. 541с., ил.
37. Кагана Б.М., Канавский М.М. Цифровые вычислительные машины и системы. М.: Энергия, 1974. 412с., ил.
38. Казаков И.Е. Статические методы проектирования систем управления. М.: Машиностроение, 1969. -212с., ил.
39. Казаков И.Е. Статическая динамика систем с переменной структурой. -М.: Наука, 1978. 312с., ил.
40. Казаков И.Е,. Мальчиков C.B. Анализ стохастических систем в пространстве состояний. -М.: Наука, 1983. 384с., ил.
41. Казамаров А.А. и др. Динамика двухмерных систем автоматического управления. -М.: Наука. Гл. ред. физ.-мат. лит., 1967. 308 с.
42. Козлов В.М. Вычислительные методы синтеза систем автоматического управления / В.М. Козлов, В.Е. Куприянов, B.C. Заборский. Ленингр. политехи, ин-т им. М.И. Калинина. - Л.: Изд-во Ленингр. ун-та, 1989. -224с., гш.
43. Коновалов Г.В., Тарасенко Е.М. Импульсные случайные процессы в электросвязи. -М.: Связь, 1973. 126с., ил.
44. Копылов Б.И. Случайные процессы в системах автоматического управления: Учеб. пособие / Моск. инж.-физ. инст. М.: МИФИ, 1987. - 73с., ил.
45. Корн Г., Корн Т. Справочник по математике. Для научных работников и инженеров: Пер. с англ. -М.: Наука, 1973. 832 е.: ил.
46. Корны шеи Ю.П., Чумак E.H. Исследование законов распределения длительностей занятия приборов АТС. В сб.: Методы и структуры систем телеграфика. -М.: Наука, 1979, с. 49-58.
47. Косач И.М., Ерошинков М.Г. Аналитическое моделирование стохастических систем. Минск: Навука i тэхниеа, 1993. - 264с., ил.
48. Косякин A.A., Шамриков Б.М. Колебания в цифровых автоматических системах. -М.: Наука. Гл. ред. физ.-мат. лит., 1983. 336 с.
49. Красовский A.A. Статическая теория переходных процессов в системах управления. -М.: Наука, 1968.
50. Красовский A.A. Аналитическое конструирование контуров управления летательных аппаратов. М.: Машиностроение, 1969.
51. Круг Е.К., Дилигенский С.М. Принципы построения однористальных цифровых регуляторов. М.: Сов. радио, 1969. - 224с.
52. Крутько П.Д. Статическая динамика импульсных систем. М.: Советское радио, 1963.
53. Кузин JI.T. Расчет и проектирование дискретных систем управления. -М.: Машгиз, 1962.
54. Кузнецов Б.И. и др. Микропроцессорное управление многоканальными системами высокой точности / Б.И.Кузнецов, В.Е. Сергеев, В.М. Чернышев. -Киев: Тэхника, 1990. -208с.
55. Кузовков Н.Т. Непрерывные и дискретные системы управления и методы их идентификации / Н.Т. Кузовков, C.B. Карабанов, О.С. Салышев. -М.: Машиностроение, 1978. -222с., ил.
56. Куо Б. Теория и проектирование цифровых систем управления: Пер. с англ. -М.: Машиностроение, 1986. -448 е.: ил.
57. Ларкин Е.В. Вычисление временных характеристик стохастических алгоритмов // Алгоритмы и структуры систем обраб. информ. Тула: ТГТУ, 1993.-е. 34-41.
58. Ларкин Е.В., Гулимов M.B. Анализ систем управления с помощью сетей Пети-Маркова // Известия Тульского государственного университета. Серия: Вычислительная техника. Автоматика. Управление. Том 2. Вып. 3. Управление. Тула: ТулГУ, 2000. - с. 133-138.
59. Липатов И.Н. Статистический синтез систем автоматического управления: Пермский тех. ун-т. Пермь, 1997. - 82с., ил.
60. Мадорский Л.С. Устойчивость импульсных систем со случайным периодом. -Изв. вузов. Приборостроение, 1978, № 1, с. 25-27.
61. Мирошников М.М. Теоретические основы оптико-электронных приборов. Учеб. пособие для вузов. Л.: Машиностроение. Ленингр. отд-ние, 1977.-600с., ил.
62. Основы проектирования следящих систем / Под ред. A.C. Шаталова. М.: Машиностроение, 1978. -391 е.: ил.67.0стрем К., Виттенмарк Б. Системы управления с ЭВМ: Пер. с анлг. -М.: Мир, 1987.-480 е., ил.
63. Панарин В.М. Математическая модель процесса сварки для автоматизированного синтеза систем слежения по стыку // Элементы и системы оптимальной идентификации и управления технологическими процессами. Тула: ТулПИ, 1993. - с. 97-102.
64. Параев Ю.И. Введение в статическую динамику процессов управления и фильтрации. -М.: Советское радио, 1976.
65. Розов А.К. Оценивание параметров случайных сигналов в автоматических системах. Л.: Машиностроение. Ленингр. отд-ние, 1990. - 171с., ил.
66. Сети Петри-Маркова: Учеб. пособие / В.М. Игнатьев, Е.В. Ларкин; Тул. гос. ун-т. Тула, 1997. 163 е., ил.
67. Сигалов Г.Г., Мадорский Л.С. Основы теории дискретных систем управления. Минск: Вышейш. школа, 1974.
68. Солодов А.В. Системы с переменным запаздыванием. М.: Наука, 1980. - 384с., ил.
69. Теория автоматического управления/ Под ред. А.С. Шаталова. М.: Высшая школа, 1977.
70. Тихонов В.И., Миронов М.А. Марковские процессы. М.: Советское радио, 1977.-488 е.: ил.
71. Ту Ю.Т. Цифровые и импульсные системы автоматического управления. М.: Машиностроение, 1984.
72. Цветков Э.И. Основы теории статистических измерений. 2-е изд., пе-рераб. и доп. - Л.: Энергоатомиздат, 1986. - 256с., ил.
73. Хэррис К., Валенка Ж. Устойчивость динамических систем с обратной связью: Пер. с англ. -М.: Мир, 1987. 360 е.: ил.
74. Panarin V.M. A two-channel system for going tracking with adaptation for edge preparation // Welding international. 13(2), 1999. - Pp. 155-158.
75. Torras C. Computer Vision: Theory and Industry Applications. Berlin etc.: Springer - Verlag, 1992. - 455 p.
76. УТВЕРЖДАЮ Первый заместитель генерального1. У'Г. ■.- •■«. ■••1. Дудка в,1. V' <- 'V V¿тА^ & 19991. Дудка В.Д. 1999 г.1. АКТо внедрении в производство результатов и выводов диссертационной работы аспиранта кафедры ЭВМ ТГУ Гулимова Михаила Владимировича
77. Использование теоретических и практических результатов исследований позволило унифицировать процесс разработки программного обеспечения, повысить точность обработки сигналов с оптической пеленгационной установки.1. Юрманов АС.1. Осин А.И.
78. Комиссия кафедры РпиАП Тульского государственного университета в составе:
79. ЛаркинЕ.В. председатель комиссии, заведующий кафедрой, доктор технических наук, профессор,
80. Мозжечков В. А. доктор технических наук, профессор,
81. Теоретические результаты исследований включены в конспект лекций по курсам «Системы автоматизации и управления» и «Теория автоматического управления», использованы в методических указаниях по практическим и лабораторным занятиям по данным курсам.
82. Эффективность внедрения заключается в повышении качества усвоения материала и приобретения студентами знаний по перспективным направлениям развития науки и техники в области исследования вычислительных систем и систем управления на их основе.
83. Внедрение осуществлено на основании учебно-методического плана кафедры ЭВМ Тульского государственного университета.
84. Председатель комиссии Члены комиссии
85. Ларкин Е.В. Мозжечков В.А.1. Зайчиков И.В.lili // // // // // // 11 // // // // // //
86. Project PCControl.dpr Tula State University
87. Copyright (c) 1999-2001. All Rights Reserved.
88. SUBSYSTEM: FILE: AUTHOR: VERSION:
89. ОЭПУ Application HjuntPublicFunc. inc Michael Gulimov 2.01. OVERVIEW
90. Offset: Integer; {смежение нуля} Factor: Real; {коррекитуущий коэффициент} end;структура данных параметров переключения диафрагм} rcdOneRecordDiaphragm = record
91. Time: Real; {время переключения}
92. MaxError: Real; {допустимая ошибка управления при переключении} end;структура данных параметров переключения каналов}rcdOneRecordCanal = record
93. Time: Real; {время переключения}
94. AddressTerminal: Byte; SubAddressTerminal: Byte; ControlBit: Boolean; NumberBoard: Byte;1. HandleBC: THandle;
95. Signal: rcdTrajectory; Error: rcdTrajectory; HorAngle: Longlnt; VerAngle: Longlnt; OutHor: Smalllnt; платформы}
96. TimeMaxOut, TimeMinOut: rcdDoublelnt; ValueMinOut, ValueMaxOut, CounterLine: rcdDoublelnt; FoundMaxOut: Boolean; Step: Byte;
97. OffsetVolt, ResidualOffset: rcdTrajectory;
98. ChangeFrequence, AllFoundHor, AllFoundVer: Boolean;
99. MaskFatalErrorsLow, MaskFatalErrorsHi: Word;1. MakeTXTFile: Boolean;1. CounterRefresh: Word;
100. ThreadSave: TThreadForSave;
101. ThreadForSaveLAF: TThreadForSaveLAF;
102. FactorSimpleControl: rcdTraj ectory;1. FactorSwapOut: Real;
103. OneRecordRegl: rcdOneRecordRegl;
104. OneRecordWar: rcdOneRecordWar;
105. MainThread: TMainThread; VarChoiseSet: rcdChoiseSet; BoundMass: array 1.10, 1.2. of Real;
106. DateTrajec: array 1.2, 1.3. of Real; CalibrationADC: array [0.15] of rcdCalibrationADC;
107. MemPathToTrajectory: String = * MemTimeReg: LongWord = 0; PathToTrajectory: String;
108. BaseAddrLA4: Word; BaseAddrLA2DACl5: Word; BaseAddrTXIPC: Word; MainFreq: Word; LengthFP: Byte;
109. BaseAddressStop: Word; BitStop: Byte;
110. Project PCControl.dpr Tula State University
111. Copyright © 1999-2001. All Rights Reserved.
112. SUBSYSTEM: FILE: AUTHOR: VERSION:
113. ОЭПУ Application untPublicFunc.pas Michael Gulimov 2.01. OVERVIEW
114. Source file for implementation of untPublicFunction.pas.unit untPublicFunction; interfaceuses
115. Priority := tpNormal; FreeOnTerminate := True;
116. SDialog := TSaveDialog.Create(nil);
117. SDialog.Filter := 'Файлы JIAX|*.hcl;*.hoi;*.vcl;*.vol'; SDialog.Title := 'Сохранение ЛАФЧХ. . ';
118. SDialog.Options := SDialog.Options + ofOverwritePrompt.; SDialog.FileName := 'LAF'; if SDialog.Execute then begin
119. Extension := ExtractFileExt(SDialog.FileName);
120. SDialog.FileName := Copy(SDialog.FileName, 1, Length(SDialog.FileName) Length(Extension) ) ;if Open then begin
121. FileLAF.Hor.OpenLoopSystem.SaveToFile(SDialog.FileName + '.hoi'); FileLAF.Ver.OpenLoopSystem.SaveToFile(SDialog.FileName + '.vol'); end else beginif Hor then begin
122. FileLAF.Hor.ClosedSystem.SaveToFile(SDialog.FileName + '.hcl'); FileLAF.Hor.OpenLoopSystem.SaveToFile(SDialog.FileName + '.hoi'); end;if Ver then begin
123. FileLAF.Ver.ClosedSystem.SaveToFile(SDialog.FileName + '.vcl'); FileLAF.Ver.OpenLoopSystem.SaveToFile(SDialog.FileName + '.vol'); end; end; end;1. SDialog.Free;
124. FreeMem(MainThread.PVarPointerRegl, MainThread.SizeMemory); SDialog.Free; Exit; end elseif not SDialog.Execute then begin frmRegWork.btnStart.Enabled := True;
125. FreeMem(MainThread.PVarPointerRegl, MainThread.SizeMemory); SDialog.Free; Expend;
126. Extension := ExtractFileExt(SDialog.FileName); if Extension = ''then SDialog.FileName := SDialog.FileName + '.txt' else if Extension <> '.txt'then SDialog.FileName := Copy(SDialog.FileName, 1, Length(SDialog.FileName) Length(Extension)) + '.txt';
127. Screen.Cursor := crAppStart;if RegistrationMode = 'Regulation' then begin
128. SaveOnDiskRegl(MainThread.PVarPointerRegl, SizeOf(rcdOneRecordRegl) * (FullTime + MainThread.PrevTimeRegistration + 1), SDialog.FileName); MakelniFileRegl ;if MainThread.MakeTXTFile then begin
129. FormatAngle := '%' + IntToStr(5 + LengthFP) + '.' + IntToStr(LengthFP) +f';
130. FormatVolt := '%' + IntToStr (4 + LengthFP) + ',' + IntToStr(LengthFP) +•f';
131. FileForAccounts := TStringList.Create; FileForAccounts.Clear;i := MainThread.PrevTimeRegistration; PointToSave := MainFreq div VarChoiseSet.Frequency; with MainThread do beginwhile i <= FullTime do begin
132. StringForWrite := Format('%6.3f', PVarPointerReglЛ.Time.); StringForWrite := StringForWrite + #32 + Format(FormatAngle, [PVarPointerRegl".InSignal.Hor]);
133. StringForWrite := StringForWrite + #32 + Format(FormatAngle, PVarPointerRegl".InSignal.Ver.);
134. StringForWrite := StringForWrite + #32 + Format(FormatAngle, PVarPointerRegl".Error.Hor. ) ;
135. StringForWrite := StringForWrite + #32 +
136. Format(FormatAngle, PVarPointerReglA.Error.Ver.);
137. StringForWrite := StringForWrite + #32 + Format(FormatAngle, PVarPointerReglA.HorAngle * FactorMCIAngle MemCurrentHor.);
138. StringForWrite := StringForWrite + #32 + Format(FormatAngle, PVarPointerReglA.VerAngle * FactorMCI^Angle MemCurrentVer.);
139. StringForWrite := StringForWrite + #32 + Format(FormatVolt, PVarPointerReglA.OutHor * FactorAngleVolt.);
140. StringForWrite := StringForWrite + #32 + Format(FormatVolt, PVarPointerReglA.OutVer * FactorAngleVolt.);
141. StringForWrite := StringForWrite + #32 + '$' + IntToHEX(PVarPointerReglA.AllErrors, 4) ;1.c(PVarPointerRegl, PointToSave);1.c(i, PointToSave);
142. FileForAccounts.Add(StringForWrite) ; end;end;
143. FileForAccounts.SaveToFile(SDialog.FileName);
144. FileForAccounts.Free; end;
145. FreeMem(MainThread.PMemVarPointerRegl, MainThread.SizeMemory); end;if RegistrationMode = 'War' then begin end;
146. Temp: String; i: Byte; beginfor i := 1 to 3 do begin
147. Temp := Uppercase(IniFile.ReadString('SWITCH', 'Canal' + IntToStr(i) + 'Board', ''));if Temp = 'LA4' then begin
148. ControlSwitchCanal1.BaseAddr := BaseAddrLA4; ControlSwitchCanali.Memory := @Digital0utLA4; end;if Temp = 'LA2DAC15' then begin
149. ControlSwitchCanal1.BaseAddr := BaseAddrLA2DAC15; ControlSwitchCanali.Memory := @DigitalOutLA2DAC15; end;
150. ControlSwitchCanal1.Number := IniFile.Readlnteger('SWITCH', 'Canal' + IntToStr(i) + 'Number', 0);
151. ControlSwitchCanal1.Digit := IniFile.Readlnteger('SWITCH', 'Canal' + IntToStr(i) + 'SetClear', 0); end;for i := 1 to 3 do begin
152. Temp := Uppercase(IniFile.ReadString('SWITCH', 'Diaphragm' + IntToStr(i) + 'Board', '') ) ;if Temp = 'LA4' then begin
153. ControlSwitchDiaphragm1.BaseAddr := BaseAddrLA4; ControlSwitchDiaphragmi.Memory := @Digital0utLA4;end;if Temp = 'LA2DAC15' then begin
154. ControlSwitchDiaphragm1.BaseAddr := В a s eAddrLA2 DAC15; ControlSwitchDiaphragmi.Memory := @Digital0utLA2DACl5; end;
155. ControlSwitchDiaphragm1.Number := IniFile.Readlnteger('SWITCH', 'Diaphragm' + IntToStr(i) + 'Number', 0);
156. DigitalOutLA4 := IniFile.Readlnteger('INITLA4', 'DigitalOut', $00); MemDigitalOutLA4 := Digital0utLA4;
157. DigitalOutLA2DAC15 := IniFile.Readlnteger('INITLA2DAC15', 'DigitalOut',$00) ;
158. MemDigitalOutLA2DAC15 := DigitalOutLA2DAC15;
159. Priority := tpHigher; FreeOnTerminate := True; MakeControl := False; MakeRegWork := False; MakeLAF := False; DoCLI := False; OneRecordRegl.AllErrors := 0;1.iFileMain := TIniFile.Create(PathToIni + '\03Iiy.ini');
160. FactorMCIAngle := IniFileMain.ReadFloat('MAIN', 'ConstMCI^Angle', 360) / (IntPower(2, 16) 1);
161. FactorVoltAngle := IniFileMain.ReadFloat('MAIN', 'ConstVoltAngle', 12) / IntPower(2, 11);
162. FactorAngleVolt := IniFileMain.ReadFloat('MAIN', 'ConstAngleVolt', 10) / IntPower(2, 11);
163. FactorSimpleControl.Hor := IniFileMain.ReadFloat('MAIN', 'FactorSimpleControlHor', 0.01);
164. FactorSimpleControl.Ver := IniFileMain.ReadFloat('MAIN', 'FactorSimpleControlVer', 0.01);
165. FactorSwapOut := IniFileMain.ReadFloat('MAIN', 'FactorSwapOut', 0.1); MakeTXTFile := IniFileMain.ReadBool('MAIN', 'MakeTXTFile', False); {считывание предельных углов рабочих диапазонов каналов}
166. HorAntiClockWise := IniFileMain.Readlnteger('DETENTS', 'HorAntiClockWise', 0) ;
167. CurrentAngle.Ver := VerDown + (VerUp VerDown) / 2;
168. DigitalOutLA4 := MemDigitalOutLA4; DigitalOutLA2DAC15 := MemDigitalOutLA2DAC15;
169. PVarPointerRegl".Time := Time / MainFreq; TakeDataMCI;if not InBound and (BoundMassPointBoundMass, 1. <= PVarPointerRegl".Time) then begin InBound := True;if VarChoiseSet.Lacing then begin {сшивать}
170. PointBoundMass := PointBoundMass + 1; end;if not InBound and (Time >= 0) then {расчет типового входного сигнала} case InAction of0: InSignal := Amplitude; 1: begin
171. Signal.Hor := Amplitude.Hor * Sin(2 * Pi * (PVarPointerRegl".Time + Phasa.Hor) * Frequency.Hor);
172. Signal.Ver := Amplitude.Ver * Sin(2 * Pi * (PVarPointerRegl".Time + Phasa.Ver) * Frequency.Ver); end; 2: begin1. TempHor :=
173. Trunc((PVarPointerReglA.Time + Phasa.Hor) * 2 * Frequency.Hor);
174. TempVer := Trunc((PVarPointerReglA.Time + Phasa.Ver) * 21. Frequency.Ver);
175. Relative.Hor := (PVarPointerReglA.Time + Phasa.Hor) 0.5 TempHor / Frequency.Hor;
176. TempHor := Trunc((PVarPointerReglA.Time + Phasa.Hor) * 21. Frequency.Hor);
177. TempVer := Trunc ( (PVarPointerRegl"4. Time + Phasa.Ver) * 21. Frequency.Ver);if (TempHor mod 2) else InSignal.Hor := Amplitude.Hor;if (TempVer mod 2) else InSignal.Ver := Amplitude.Ver; end;end else begin
178. Signal.Hor := PTrajectoryA.Hor + Offset.Hor; InSignal.Ver := PTrajectoryA.Ver + Offset.Ver; end;0 then InSignal.Hor := Amplitude.Hor = 0 then InSignal.Ver := Amplitude.Ver
179. PVarPointerReglA.InSignal := InSignal;считаем рассоглосование, если задана замкнутая система или внутриинтервала}if (KindSystem =0) or InBound then begin {замкнутая система}
180. Unbalance.Ног := InSignal.Hor (OneRecordRegl.HorAngle * FactorMCIAngle - CurrentAngle.Hor);
181. Unbalance.Ver := InSignal.Ver (OneRecordRegl.VerAngle * FactorMCIAngle - CurrentAngle.Ver); case 3 of 1: beginуменьшение коэ-та усиления до 0.63 при нулевой ошибке} Нх0. := Unbalance.Ног * (1 0.37 * Ехр(-2 * Abs(Unbalance.Ног)));
182. Vx0. := Unbalance.Ver * (1 0.37 * Exp(-2 * Abs(Unbalance.Ver)));end;2: beginувеличение коэ-та усиления до 1.37 при нулевой ошибке} Нх0. := Unbalance.Ног * (1 + 0.37 * Ехр(-1 * Abs(Unbalance.Ног)));
183. Vx0. := Unbalance.Ver * (1 + 0.37 * Ехр(-1 * Abs(Unbalance.Ver)));end;3: begin
184. Hx0. := Unbalance.Hor; Vx[0] := Unbalance.Ver; end;end; end else beginразомкнутая система} Hx 0. := InSignal.Ног; Vx[0] := InSignal.Ver; end;запомнить входные значения фильтра, если на следующем шаге будемсшивать}
185. OutSignal.Hor := OutSignal.Hor + PTrajectory".Hor * FactorSwapOut; OutSignal.Ver := OutSignal.Ver + PTrajectory".Ver * FactorSwapOut; end;
186. PVarPointerRegl".HorAngle := OneRecordRegl.HorAngle; PVarPointerReglA.VerAngle := OneRecordRegl.VerAngle; PVarPointerRegl".OutHor := ConvertToDAC(OutSignal.Hor / FactorAngleVolt);
187. PVarPointerRegl".OutVer := ConvertToDAC(OutSignal.Ver / FactorAngleVolt);
188. PVarPointerRegl".AllErrors := OneRecordRegl.AllErrors;
189. MakeDAC(BaseAddrLA2DAC15, 0, 0); Suspend;end; end;
190. MakeDAC (BaseAddrLA2DAC15, 0, Obend; {procedure TMainThread.Execute} //----------------------------------------------------------function ConvertAngle(Angle: Real): String; var1. Temp: String; begin
191. Temp := IntToStr(Trunc(Angle)) + ,0'; Angle := Frac(Angle) * 60;
192. Temp := Temp + Format('%2d', Trunc (Angle).) + #3 9; Angle := Frac(Angle) * 60;
193. ConvertAngle := Temp + Format('%2d', Trunc(Angle).) + '"';end;{function ConvertAngle} //--------------------------------------------------------------------------------------------------------------------procedure TMainThread.DoControl; var
194. Angle, Error: rcdTrajectory; begin1. TakeDataMCI;
195. CounterRefresh := 0; end; end;
196. Error.Hor := FactorSimpleControl.Hor * (CurrentAngle.Hor Angle.Hor) / FactorAngleVolt;
197. Error.Ver := FactorSimpleControl.Ver * (CurrentAngle.Ver Angle.Ver) / FactorAngleVolt;
198. MF1, MF2, MF3, MF4: Extended; j: Byte; beginfor j := 0 to 3 do begin Hxj. := 0; Vx[j] := 0; end; for j := 0 to 4 do begin Hy[j] := 0; Vy[j] := 0; end;1. MF1 := MainFreq;1. Angle.Hor.); Angle.Ver]);
199. MF2 := MF1 * MainFreq; MF3 := MF2 * MainFreq; MF4 := MF3 * MainFreq;
200. Hk3 := VarChoiseSet.VarFilterHor.a * 3 * MF3 + VarChoiseSet.VarFilterHor.b * 1 * MF2;
201. Hk4 := VarChoiseSet.VarFilterHor.a * 1 * MF3;
202. Hk5 := VarChoiseSet.VarFilterHor,e * 1 * MF4 + VarChoiseSet.VarFilterHor.f * 1 * MF3 + VarChoiseSet.VarFilterHor.g * l * MF2 + VarChoiseSet.VarFilterHor. i * MF1 + VarChoiseSet.VarFilterHor.j;
203. Hk6 := VarChoiseSet.VarFilterHor.e * 4 * MF4 + VarChoiseSet.VarFilterHor.f *3 * MF3 + VarChoiseSet.VarFilterHor.g * 2 * MF2 + VarChoiseSet.VarFilterHor.i * MF1 ;
204. Hk7 := VarChoiseSet.VarFilterHor.e * 6 * MF4 + VarChoiseSet.VarFilterHor.f * 3 * MF3 + VarChoiseSet.VarFilterHor.g * 1 * MF2;
205. Hk8 := VarChoiseSet.VarFilterHor.e * 4 * MF4 + VarChoiseSet.VarFilterHor.f * 1 * MF3;
206. Hk9 := VarChoiseSet.VarFilterHor.e * 1 * MF4 ;
207. Vk3 := VarChoiseSet.VarFilterVer.a * 3 * MF3 + VarChoiseSet.VarFilterVer.b * 1 * MF2;
208. Vk4 := VarChoiseSet.VarFilterVer.a * 1 * MF3;
209. Vk5 := VarChoiseSet.VarFilterVer.e * 1 * MF4 + VarChoiseSet.VarFilterVer.f * 1 * MF3 + VarChoiseSet.VarFilterVer.g * 1 * MF2 + VarChoiseSet.VarFilterVer.i * MF1 + VarChoiseSet.VarFilterVer.j;
210. Vk6 := VarChoiseSet.VarFilterVer.e * 4 * MF4 + VarChoiseSet.VarFilterVer.f *3 * MF3 + VarChoiseSet-VarFilterVer.g * 2 * MF2 + VarChoiseSet.VarFilterVer.i * MF1 ;
211. Vk7 := VarChoiseSet.VarFilterVer.e * 6 * MF4 + VarChoiseSet.VarFilterVer.f * 3 * MF3 + VarChoiseSet.VarFilterVer.g * l * MF2;
212. Vk8 := VarChoiseSet.VarFilterVer.e * 4 * MF4 + VarChoiseSet.VarFilterVer.f * 1 * MF3;
213. VPartl := Vx0. * Vkl Vx[l] * Vk2 + Vx[2] * Vk3 - Vx[3] * Vk4; VPart2 := Vy1. * Vk6 - Vy[2] * Vk7 + Vy[3] * Vk8 - Vy[4] * Vk9; Vy[0] := (VPartl + VPart2) / Vk5;
214. DigitalOut(ControlSwitchCanal1.BaseAddr, ControlSwitchCanali.Memory, ControlSwitchCanal[i].Number, ControlSwitchCanal[i].Digit);
215. ControlSwitchCanal1.Maked := True;
216. DigitalOut(ControlSwitchDiaphragm1.BaseAddr, ControlSwitchDiaphragmfi.Memory, ControlSwitchDiaphragmi].Number, ControlSwitchDiaphragmfi].Digit);
217. ControlSwitchDiaphragmfi. .Maked := True;
218. CounterLow, CounterHi: Byte; AngleHor, AngleVer: Longlnt; State: Word; begin1. CounterHi := 0; repeat
219. PrepareMemoryMCI; bcStart(0, DATARTBC); CounterLow := 0; repeat
220. TmkGetEvD(SetMCI.pEvD); Inc(CounterLow); until (SetMCI.pEvDA.nlnt <> 0) or (CounterLow > 20); Inc(CounterHi);until (SetMCI.pEvDA.nlnt = 1) or (CounterHi > 2);if SetMCI.pEvD".nlnt = 1 then begin
221. П----------------------------------------------------------------------------function TMainThread.MakeADC(Port: Word; Canal: Byte; NextCanal: Byte):1. Smalllnt; stdcall;label
222. FOLLOW1, FOLLOW2, FOLLOW3, WAIT; var1. ErrorADC: Boolean; begin1. ErrorADC := False; asm1. PUSH ECX; PUSH EBX;выбор текущего канала для AD преобразования} MOV DX, &Port;
223. C DX; {адрес регистра младшего аналогового канала АЦП}
224. MOV AL, &Сапа1; OUT DX, AL; {запуск AD преобразованиея} DEC DX; OUT DX, AL; {задержка} MOV ECX, 100; FOLLOW3: NOP;1.OP FOLLOW3;выбор следующего канала для AD преобразования}
225. C DX; {адрес регистра младшего аналогового канала АЦП}
226. MOV AL, &NextCanal; OUT DX, AL; DEC DX;ожидание готовности АЦП} MOV BX, DX; ADD DX, 8; MOV ECX, 100; MOV AX, 0;1. WAIT: IN AL, DX;1. AND AL, 00000001b;
227. JNZ FOLLOW1; {переход, если данные готовы}
228. OP WAIT; {переход, если данные не готовы}1. MOV1. SErrorADC, 1;чтение данных АЦП} FOLLOW1: MOV DX, ВХ;1. АХ, DX;преобразование результатов оцифровки АЦП}1. MOV CL, 4;1. ROR АХ, CL;1. AND АХ, OFFFh;
229. TEST АХ, 0000100000000000b;
230. JE FOLLOW2; {перейти если число больше ноля}1. OR AX, OFOOOh;
231. SetOrReset: Byte); stdcall;label1. FOLLOW1, FOLLOW2; asm1. PUSH CX;1. MOV CL, SNumber;1. MOV AL, 00000001b;1. ROL AL, CL;1. CMP &SetOrReset, 1;
232. JNE FOLLOW1; {перейти если надо сбросить указанный бит}1. MOV EDX, SMemPort;1. MOV AH, BYTE PTR EDX.;1. OR AH, AL;1. MOV BYTE PTR EDX., AH;1. MOV DX, SPort;1. ADD DX, 10;1. MOV AL, AH;1. OUT DX, AL;1. JMP FOLLOW2;
233. Number; 00000001b; CL; AL;1. MOV ADD IN
234. DX, &Port; DX, 10; AL, DX;1. TEST AL, AH;
235. JE FOLLOWl; {перейти если бит не не установлен}1. MOV1. JMP1. RESULT, 1;1. FOLLOW2;1. FOLLOWl: MOV1. RESULT, 0;
236. FOLLOW2: POP CX; end;{procedure Digitalln}1. П-----------------------------------------------------------------procedure TMainThread.InitLA4; var1. Temp, i: Smalllnt; beginуправляющий регистр АЦП}
237. OutPortB(BaseAddrLA4 + 9, $00);регистр количества аналоговых каналов АЦП}
238. OutPortB(BaseAddrLA4 + 2, $00);сброс прерываний}
239. OutPortB(BaseAddrLA4 + 8, $00); {сброс FIFO}
240. OutPortB(BaseAddrLA4 + 3, $00); {холостое чтение данных} for i := 1 to 550 do begin
241. OutPortB(BaseAddrLA2DAC15 + 9, $00);сброс прерываний}
242. При первом опросе запоминаю OUTO и жду изменения}
243. OutPortB(BaseAddr + 7, $Е2); {Вывод команды RBC: 11 1 0 001 0 => кодкоманды незащелкивать npo4HTaTbSW нулевойканал 0} StartState := InPortB(BaseAddr + 4) and $80;repeat
244. Number: Byte; Counter: LongWord; begin1. Counter := 0;
245. MainThread.InitTimer(BaseAddrLA 4, 500000);
246. MainThread.OutPortB(BaseAddrLA4 + 7, $E2); {Вывод команды RBC} Number := MainThread.InPortB(BaseAddrLA4 + 4); if Number and $80 = 0 then repeat
247. MainThread.OutPortB(BaseAddrLA4 + 7, $E2); {Вывод команды RBC} Number := MainThread.InPortB(BaseAddrLA4 + 4); Counter := Counter + 1; until (Number and $80 = $80) or (Counter > 100000) else repeat
248. Number: Byte; Counter: LongWord; begin1. Counter := 0;
249. MainThread.InitTimer(BaseAddrLA2DAC15, 500000);
250. MainThread.OutPortB(BaseAddrLA2DACl5 + 7, $E2); {Вывод команды RBC} Number := MainThread.InPortB(BaseAddrLA2DACl5 + 4); if Number and $80 = 0 then repeat
251. MainThread.OutPortB(BaseAddrLA2DAC15 + 7, $E2); // Вывод команды RBC Number := MainThread.InPortB(BaseAddrLA2DAC15 + 4); Counter := Counter + 1; until (Number and $80 = $80) or (Counter > 100000) else repeat
252. П--------------------------------------------------------------------------procedure ReadMCISetupFromFile; var1.iFile: TIniFile; begin1.iFile := TIniFile.Create(PathToIni + '\ОЭПУ.ini');
253. SetMCI.NumberBoard := IniFile.Readlnteger(4NITTX1PC', 'NumberBoard', 0); SetMCI.AddressTerminal := IniFile.Readlnteger('INITTX1PC', 'AddressTerminal', 0);
254. SetMCI.SubAddressTerminal := IniFile.Readlnteger(4NITTX1PC', 'SubAddressTerminal', 0);
255. SetMCI.Bus := IniFile.Readlnteger('INITTX1PC', 'Bus', 0);
256. HorAngle, VerAngle: Longlnt; State: Word; begin
257. TmkGetEvD(SetMCI.pEvD); until SetMCI.pEvDA.nlnt = 0; end else begin1.itMCI := 'Ошибка инициализации прерывания.'; Exit; end;
258. SetMCI.SimpleCheck := True; {плата TX1-PC в ПК есть, работает, отвечает}тестовое обращение к 01ТУ} MakeCW;
259. MemoryBiok: array 0.4. of Word; begin
260. CW := SetMCI.AddressTerminal shl 11; {ОУ передает информацию} CW := CW + RETRANSMIT; {подадрес 0У}
261. DateFileName: String): Boolean;var
262. FileName: PChar; dwAccess: LongWord; dwShareMode: LongWord; hFile: THandle; Len: Integer; dwBytesWritten: LongWord; Extension: String; begin
263. DateFileName: String): Boolean;var
264. FileName: PChar; dwAccess: LongWord; dwShareMode: LongWord; hFile: THandle; Len: Integer;dwBytesDelivered: LongWord; begin1.n := Length(DateFileName);
265. FileName := StrAlloc(Len + 1);
266. FileName := StrPCopy(FileName, DateFileName);dwAccess := GENERICREAD + GENERICWRITE;dwShareMode := FILESHAREREAD + FILESHAREWRITE;hFile := CreateFile(FileName, dwAccess, dwShareMode, nil, OPENEXISTIN§, FILEATTRIBUTENORMAL, 0);
-
Похожие работы
- Разработка метода построения станций мониторинга радиоэфира
- Разработка методов фильтрации в постановке Р. Калмана в условиях случайной дискретизации сигналов
- Повышение точности позиционирования абонентских станций в сотовых сетях мобильной радиосвязи
- Моделирование процессов обнаружения пеленгационного сигнала в аэродромных квазидоплеровских автоматических радиопеленгаторах
- Исследование и разработка автоматических систем управления мобильных солнечных энергетических установок в условиях длительного затенения
-
- Приборы и методы измерения по видам измерений
- Приборы и методы измерения времени
- Приборы навигации
- Приборы и методы измерения тепловых величин
- Приборы и методы измерения электрических и магнитных величин
- Акустические приборы и системы
- Оптические и оптико-электронные приборы и комплексы
- Радиоизмерительные приборы
- Электронно-оптические и ионно-оптические аналитические и структурно-аналитические приборы
- Приборы и методы для измерения ионизирующих излучений и рентгеновские приборы
- Хроматография и хроматографические приборы
- Электрохимические приборы
- Приборы и методы контроля природной среды, веществ, материалов и изделий
- Технология приборостроения
- Метрология и метрологическое обеспечение
- Информационно-измерительные и управляющие системы (по отраслям)
- Приборы, системы и изделия медицинского назначения
- Приборы и методы преобразования изображений и звука