Сборник лабораторных работ по курсу "Автоматизация эксперимента по исследованию кинетических явлений"

ã М.П.Шарапов, 2002-2013гг

 

 

Введение

 

Курс "Автоматизация эксперимента по исследованию кинетических явлений", изучаемый на 7 семестре, посвящен знакомству с основами автоматизации измерительных систем с применением персональных компьютеров /ПК/. Современная экспериментальная физика, более того - современная экспериментальная наука в целом, немыслима без автоматизированных измерительных установок. Причина такого положения дел кроется в масштабах изучаемых явлений. Характеристики современных экспериментов в части продолжительности, скорости и объема генерируемых первичных данных, количества одновременно регистрируемых параметров явлений существенно превосходят возможности человека регистрировать и выполнять первичный анализ экспериментальных данных вручную. Современная экспериментальная наука экстенсивна. Происходит постоянное расширение области изучаемых явлений все дальше от масштабов, доступных непосредственному восприятию экспериментатора.  Чего стоят, а, стоят многого, современные ускорительные эксперименты, где количество отдельных, но связанных между собой, вычислительных систем может сравниться только с количеством соавторов статей, посвященных описанию полученных результатов. Эксперименты по поиску распада протона, явления редкого, коль скоро мы еще не распались сами, длятся месяцами. Эксперименты становятся все более "тонкими". Для того, чтобы выявить и оценить с приемлемой точностью изучаемое явление, необходимо учитывать большое количество сопутствующих факторов.

Сто лет назад Резерфорд и Крукс изучали альфа-распад, регистрируя альфа-частицы по сцинтилляциям, вызываемым ими (альфа-частицами) в сернистом цинке и видимым невооруженным, но адаптированным, взглядом. Поток частиц определялся устным счетом. Правда, уже в то время Резерфорду не хватало терпения самому работать счетчиком и дело спасала немецкая педантичность его ученика. В самом деле, нередки эксперименты, длящиеся месяцами.   

Стандартное название общетехнической дисциплины, изучающей принципы построения автоматизированных установок - проектирование АСУ ТП. Аббревиатура расшифровывается так "Автоматизированная система управления технологическим процессом".  Технологический процесс - широкое понятие и экспериментальная работа также может быть классифицирована как своеобразный технологический процесс. При разработке АСУ ТП обычно оперируют следующими понятиями:

1.        Объект

2.        Устройство связи с объектом /УСО/

3.        Вычислительная система.

Под объектом понимают естественное, природное или искусственное, техногенное образование, в отношении которого осуществляют управляющее воздействие и/или измеряют какие-либо его характеристики.

Устройство связи с объектом - устройство, преобразующее сигналы объекта к виду, пригодному для ввода в вычислительную систему, также преобразующее сигналы вычислительной системы к требуемой форме воздействия на объект.

Вычислительная система – программируемое устройство, предназначенное для вычислений. При работе в составе АСУ ТП вычисления сопровождают, как правило процессы измерения и накопления информации о состоянии объекта, отображения состояния объекта, формирования управляющих воздействий – кодовых сигналов, посредством УСО заданным образом воздействующих на объект.   

Целью настоящего курса является изучение возможности и особенностей применения ПК в измерительных системах на простых примерах.  

В настоящем сборнике приведены три лабораторные работы. Работа "Программирование последовательного порта" посвящена изучению возможности использования последовательного порта ПК для организации связи с УСО. Работа "Программирование параллельного порта" посвящена изучению возможности использования параллельного  порта ПК для организации связи с УСО. Работа «Программирование устройства, подключенного к шине ISA» посвящена  изучению особенностей программирования устройств, непосредственно подключенных к одной из системных шин ПК.

 

"Программирование последовательного порта"

 

Введение

 

Последовательный порт ПК просуществовал в их конструкции, начиная с самых ранних моделей до настоящего времени, и был предназначен для подключения к ПК внешних устройств, поддерживающих протокол обмена данными RS-232. В свое время к таким устройствам относились принтеры, мыши, модемы. Развитие вычислительной техники привело к настоящему моменту к тому, что принтеры  полностью перестали поддерживать указанный протокол, перейдя на более современный IEEE 1284 или на  не менее современный USB. Мыши в значительной степени перешли на PS/2 или USB. Модемы также все более часто используют  протокол USB. Это связано с тем, что на небольшом удалении от ПК указанные устройства могут использовать более функциональные и скоростные интерфейсы. В автоматизированных измерительных системах  ситуация иная и там нередко существенное удаление подключаемых устройств от вычислительной  системы (до сотен метров). В таком случае по-прежнему востребованным является протокол RS-232 и семейство родственных протоколов. Более того, нередко системы АСУ ТП являются многоуровневыми и в состав УСО могут входить программируемые устройства – контроллеры, поддерживающие, как правило,  протокол RS-232.

 

Сведения о программировании здесь

Учебное задание

 

Два ПК связаны через последовательные порты нульмодемным кабелем. Требуется написать две программы, одна из которых передает, а другая принимает данные с одного ПК на другой. Программирование контроллеров последовательных портов осуществить с помощью использования функций BIOS 14h прерывания. Программы должны работать под управлением MS DOS. Язык программирования Borland Pascal. Количество и тип передаваемых данных, а также интерфейс программы определяет программист на свое усмотрение. Особенностью реализации настоящего учебного задания заключается в том, что программы, работающие на разных ПК, выполняются асинхронно, поэтому прием данных должен предусматривать циклический опрос контроллера последовательного порта и проверку корректности каждого принятого байта. Кроме того, при инициализации контролеров последовательного порта на двух ПК необходимо установить одинаковые режимы работы этих контроллеров.

 

Варианты реализации

 

Простейший

Принимающая программа выполняется циклически с проверкой корректности  принятого байта. После приема первого байта программа выводит принятый байт на экран дисплея и завершает свою работу. Передающая программа при запуске передает через последовательный порт константу, заданную в тексте программы и завершает свою работу. Критерием правильности выполнения лабораторной работы является совпадение числа, выведенного на экран принимающей программой с передаваемой константой.

 

  Небольшой сложности

Принимающая программа выполняется циклически с проверкой корректности  каждого принятого байта. После приема очередного байта программа выводит принятый байт на экран дисплея. Программа завершает свою работу при нажатии любой клавиши клавиатуры ПК, на котором выполняется принимающая программа. Передающая программа при запуске в цикле передает через последовательный порт константы, вводимые с клавиатуры, и отображает их на экране дисплея. Программа завершает свою работу при вводе заданной константы. Критерием правильности выполнения лабораторной работы является совпадение чисел, выведенных на экраны дисплеев принимающего и передающего ПК.

 

Средней сложности

Принимающая программа выполняется циклически с проверкой корректности   каждого принятого байта. После приема очередного байта программа выводит символ, ASCII-код которого равен принятому байту, на экран дисплея. Программа завершает свою работу при приеме заданного байта. Передающая программа при запуске в цикле передает через последовательный порт ASCII-коды символов, вводимых с клавиатуры, и отображает символы, соответствующие этим кодам, т.е. фактически - нажатым алфавитно-цифровым клавишам, на экран дисплея. Программа завершает свою работу при нажатии заданной клавиши. Критерием правильности выполнения лабораторной работы является совпадение символьных строк, выведенных на экраны дисплеев принимающего и передающего ПК.

 

Высокой сложности

Программы выполняются на двух ПК. И взаимодействуют в режиме «чата». Символ , вводимый на клавиатуре одного ПК, выводится на экран дисплея этого ПК и отображается на экране дисплея другого ПК и наоборот. Программы завершают свою работу при нажатии заданной клавиши. Критерием правильности выполнения лабораторной работы является совпадение символьных строк, выведенных на экраны дисплеев принимающего и передающего ПК.

 

"Программирование параллельного порта"

 

Введение

 

Параллельный порт ПК просуществовал в их конструкции, начиная с самых ранних моделей до настоящего времени, и был предназначен для подключения к ПК внешних устройств, поддерживающих протокол обмена данными Centronics, затем IEEE 1284. В свое время к таким устройствам относились прежде всего принтеры, а, кроме них сканеры, внешние накопители. Развитие вычислительной техники привело к настоящему моменту к тому, что указанные устройства могут использовать более современный USB-протокол. Это связано с тем, что на небольшом удалении от ПК указанные устройства могут использовать более функциональные и скоростные интерфейсы. Вместе с тем простота базового варианта интерфейса параллельного порта позволяет легко реализовать с его помощью дискретный ввод-вывод данных в автоматизированных измерительных системах, не прибегая к специализированным контроллерам.

 

Учебное задание

 

Макет УСО подключен к параллельному порту ПК. Макет содержит согласующие микросхемы ТТЛ, светодиод, свечение которого может быть вызвано установкой младшего бита кода данных в «1», тумблер, имитирующий сигнал «Конец бумаги», разъем, для подключения к параллельному порту ПК и разъем с согласующими и гальванически развязывающими цепями для подключени внешнего генератора. Электропитание макета осуществляется от внешнего источника питания 5 В, при этом ни отрицательный ни положительный полюса источника питания не соединены с общим проводом источника питания или ПК. Требуется написать  программу для управления макетом. При этом необходимо контролируемым образом зажигать и гасить светодиод, определять состояние переключателя и регистрировать состояния уровня сигнала генератора Программирование контроллера параллельного порта осуществить с помощью прямого программирования регистров контроллера параллельного порта. Программа должна работать под управлением MS DOS. Язык программирования Borland Pascal. Алгоритм функционирования , а также интерфейс программы определяет программист на свое усмотрение.

Варианты реализации

 

Простейший

Программа после запуска зажигает светодиод и спустя некоторое время гасит его, после чего выводит на экран дисплея ПК код байта регистра состояния и завершает свою работу. После переключения тумблера, имитирующего сигнал «Конец бумаги», программа должна быть запущена повторно. Критерием правильности выполнения лабораторной работы является заданное изменение характера свечения светодиода и изменение кода байта регистра состояния при переключении тумблера, имитирующего сигнал «Конец бумаги».

 

Небольшой сложности

Программа после запуска циклически запрашивает ввод байта данных с клавиатуры и передает этот байт в регистр данных контроллера порта, при этом светодиод будет излучать свет в случае ввода нечетного числа и не будет излучать в случае ввода четного числа. Кроме этого на экран должен быть выведен байт состояния контроллера. Завершение работы программы должно наступить при вводе заданного кода с клавиатуры. Критерием правильности выполнения лабораторной работы является описанное изменение характера свечения светодиода и изменение кода байта регистра состояния при переключении тумблера, имитирующего сигнал «Конец бумаги».

 

Средней сложности

Программа после запуска циклически определяет байт состояния контроллера и управляет режимом излучения светодиода таким образом, что  одно положение тумблера, имитирующего сигнал «Конец бумаги»,  соответствует свечению светодиода, а другое – гашению его. Работа программы завершается при нажатии любой клавиши на клавиатуре ПК. Критерием правильности выполнения лабораторной работы является описанное изменение характера свечения светодиода при переключении тумблера, имитирующего сигнал «Конец бумаги».

 

Высокой сложности

Программа после запуска работает в режиме программы средней сложности, см. Кроме того, при подключении генератора прямоугольных импульсов с амплитудой ТТЛ к макету, программа должна обеспечить опрос и запоминание уровня сигнала генератора и отображение этого уровня в условных единицах, как в цифровом, так и в графическом виде в режиме логического анализатора. Программа завершает свою работу при нажатии заданной клавиши. Критерием правильности выполнения лабораторной работы является описанное изменение характера свечения светодиода при переключении тумблера, имитирующего сигнал «Конец бумаги», а также согласованное изменение отображаемого уровня сигнала генератора при изменении скважности или частоты следования сигналов генератора. 

 

"Программирование устройства, подключенного к шине ISA"

Памяти проф. К.Г.Финогенова посвящается.

 

Введение

 

Шина ISA в ПК просуществовала, начиная с самых ранних моделей до настоящего времени, и была предназначен для объединения различных периферийных и системных устройств ПК. В настоящее время эта шина практически вытеснена из офисных ПК другими и, в первую очередь – PCI. Однако в области промышленных ПК эта шина еще сохраняется. Это связано с тем, что часто для задач АСУ ТП не требуется большого быстродействия, а требуется надежность. Простота базового варианта интерфейса шины ISA позволяет легко реализовать устройство, подключаемое к шине ISA, не прибегая к специализированным контроллерам.

 

Учебное задание

 

Макет прототипной платы УСО подключен к шине ISA. Макет содержит необходимые интерфейсные элементы, а также генератор, программируемый трехканальный таймер, счетчик и ряд управляющих элементов. Функционально макет представляет собой счетчик с программно управляемыми параметрами: временем экспозиции, частотой следования входных импульсов, режимом работы (пуск-останов) и возможностью считывать не только количество зарегистрированных импульсов, но и состояние устройства (переполнение счетчика, конец времени экспозиции, пуск-стоп счетчика. Требуется написать программу для управления устройством. Управление заключается в том, что программируя константы пересчета и константу, определяющую длительность времени счета, считать с выхода счетчика то количество импульсов, которое и должно быть при заданном коэффициенте пересчета и заданном времени счета. Необходимо проверять состояние флага переполнения и состояние флага окончания временного интервала счета. До тех пор, пока флаг окончания временного интервала счета не установлен, счет еще продолжается, поэтому данные, считываемые из счетчика, будут правильноыми только в том случае, когда интервал счета уже закончен. Это означает, что надо проверять флаг окончания временного интервала. Язык программирования Borland Pascal. Алгоритм функционирования , а также интерфейс программы определяет программист на свое усмотрение.


Описание платы

[Плата и описание были любезно предоставлены ныне, к сожалению, покойным проф. К.Г. Финогеновым.]

Описание платы. лист 1 Описание платы. лист 2 Лист 1 Лист 2