- •Введение.
- •Глава 1. Первый уровень иерархии систем автоматизации и управления – логические элементы Лабораторная работа №1. Логические элементы малой степени интеграции.
- •1.1 Формальный язык описания логических элементов.
- •1.2. Функционально полные наборы логических элементов.
- •Элемент и – не Элемент или – не
- •1.4 Работа в среде графического программирования LabView.
- •Типа не и и-не.
- •1.5. Порядок выполнения лабораторной работы №1.
- •Лабораторная работа №2. Логические элементы средней степени интеграции.
- •1.8. Порядок выполнения лабораторной работы №2.
- •Глава 2. Первый уровень иерархии систем автоматизации и управления – элементы памяти Лабораторная работа №3. Изучение принципов работы элементов памяти
- •2.1 Элементы памяти.
- •2.2 Конечные автоматы средней степени интеграции – двоичные счетчики и регистры
- •2.2.1. Счётчики импульсов
- •2.3. Работа в среде визуального редактора Visual Basic 6.0.
- •2.3.1. Интерфейс и форма
- •2.3.2. Программа выполнения логических операций с переменными типа «Byte».
- •2.3.3. Программа выполнения логических операций с переменными типа «Boolean».
- •2.4. Порядок выполнения лабораторной работы №3.
- •Глава 3. Первый уровень иерархии систем автоматизации и управления – элементы силовой электроники
- •3.1 Элементы силовой электроники систем управления
- •3.2 Устройства связи с объектами (усо).
- •Глава 4. Второй и третий уровни иерархии систем автоматизации и управления – микропроцессоры и контроллеры Лабораторная работа №4. Изучение принципов работы контроллера
- •4.1 Контроллер.
- •4.3 Создание управляющей программы контроллера.
- •4.3. Порядок выполнения лабораторной работы №4.
- •Глава 5. Создание программы управления объектом Лабораторная работа №5. Изучение процесса проектирования системы автоматизированного управления 5-го уровня иерархии.
- •5.1 Некоторые положения языка с, наиболее часто применяемые при программировании контроллеров.
- •If (выражение) оператор_1 else оператор_2
- •5.2 Программа обмена информацией между управляющей эвм и контроллером
- •Текст программы управления обменом информацией для контроллера через универсальный асинхронный приёмопередатчик – uart.
- •5.3 Порядок выполнения лабораторной работы №5
- •Заключение
- •Библиографический список
- •Глава 1. Первый уровень иерархии систем автоматизации и
- •Глава 2. Первый уровень иерархии систем автоматизации
- •2.2 Конечные автоматы средней степени интеграции – двоичные счетчики и регистры…………………………………..24
- •Глава 3. Первый уровень иерархии систем автоматизации
- •Глава 4. Второй и третий уровни иерархии систем автоматизации
- •Глава 5. Создание программы управления объектом……………………...52
2.2 Конечные автоматы средней степени интеграции – двоичные счетчики и регистры
2.2.1. Счётчики импульсов
В системах автоматизации и управления часто требуется подсчитать число импульсов поступающих на вход устройства за определённый промежуток времени. Такие счётчики могут быть построены на микросхемах, содержащих отдельные триггера типа D (K155TM…) или JK (K155TB…), но чаще это микросхемы, содержащие счётчик целиком (К155 ИЕ…). Счётчики делятся на синхронные, у которых изменение состояния всех триггеров происходит одновременно под действием синхронизирующего сигнала, и асинхронные, у которых изменение состояния предыдущего триггера вызывает срабатывание последующего. Асинхронные схемы проще, но обладают меньшим быстродействием вследствие задержки при последовательном изменении состояний триггеров в цепочке. По типу цепей управления счетчики могут быть двоичными, двоично-десятичными, однонаправленными, реверсивными. Кроме того счётчики могут срабатывать по фронту (перепад 0-1) или по срезу (перепад 1-0) управляющего импульса.
Рассмотрим пример синтеза асинхронного счётчика, считающего до 8.
Таблица 2.5
t |
t |
t |
t |
t+1 |
t+1 |
t+1 |
t |
t |
t |
t |
t |
t |
X |
Q2 |
Q1 |
Q0 |
Q2 |
Q1 |
Q0 |
P2 |
P1 |
P0 |
q2 |
q1 |
q0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Для этого возьмём 3 триггера типаJK, преобразованных в триггера со счётным входом. Составим таблицу переходов и импульсных выходов (табл. 2.5), полагая=1 при переходе элементарного автомата из 1 в 0. Функция возбуждения элементарного автоматадля триггера со счётным входом равна 1 при переходах из 1 в 0 и из 0 в 1. Сопоставим значения входных сигналов элементарных автоматовq0, q1, q2 (функций возбуждения) в момент времени t со значениями входного сигнала счётчика X и импульсных выходов P0, P1 в тот же момент времени t. Из таблицы переходов видно, что q0 = X, q1 = P0 и q2 = P1.
Рис. 2.6. Схема двоичного асинхронного счётчика
Построим теперь к синхронный счётчик на триггерах типа JK, считающий до 5. Его таблица переходов имеет следующий вид (табл. 2.6):
Таблица 2.6
t |
t |
t |
t |
t+1 |
t+1 |
t+1 |
t |
t |
t |
t |
t |
t |
X |
Q2 |
Q1 |
Q0 |
Q2 |
Q1 |
Q0 |
J2 |
K2 |
J1 |
K1 |
J0 |
K0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
~ |
0 |
~ |
1 |
~ |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
~ |
1 |
~ |
~ |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
~ |
~ |
0 |
1 |
~ |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
~ |
~ |
1 |
~ |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
~ |
1 |
0 |
~ |
0 |
~ |
Найдём минимальные значения функций возбуждения. Значениями функций возбуждения являются значения входов элементарных автоматов J(t) и K(t) в момент времени t, а аргументами являются состояния автоматов Q(t). Символ “~” означает, что функции возбуждения в этих клетках могут принимать произвольные значения 0 или 1. Поэтому клетки, отмеченные этим знаком, следует заполнять так, чтобы значения функций возбуждения были минимальны. Из таблицы переходов следует, что K2 = K0 = 1 (клетки со знаком “~” заполнены единицами), а значения остальных функций возбуждения приведены в минимальной форме под соответствующими картами Карно.
2.2.2. Регистры. Это устройства, предназначенные для хранения и переработки информации и состоящие из совокупности триггеров, число которых равно числу разрядов кода. Запись и считывание информации может осуществляться параллельно во все ячейки регистра или последовательно. Регистр с последовательной записью называют также регистром сдвига. Запись информации происходит в определённые моменты времени по сигналу, поступающему на вход синхронизации C. В качестве элементарных автоматов используются триггера типа D или JK, работающие в режиме D. Закон функционирования такого триггера описывается выражением Q(t+1) = D(t). Схемы регистров приведены на рис.2.7
Рис.2.7 Регистры с параллельным и последовательным вводом информации.
В современных устройствах хранения и переработки информации регистры используются очень широко. В основном они входят в состав больших интегральных схем (процессоров, контроллеров) для хранения информации об оперативных данных и состоянии вычислительных устройств. Хранение информации производится в различных форматах в зависимости от типов данных, но в основе лежит регистр размерностью 8 двоичных разрядов – 1 байт. Регистры могут объединяться для хранения данных различного формата. Вид объединения зависит от конструкции устройства. Например, в микроконтроллерах фирмы Atmel регистры могут объединяться в пары, образуя 16-и разрядные “слова”, состоящие из двух “полуслов” для хранения данных типа “integer” – “целое число”. В некоторых процессорах фирмы Texas Instrument “слово” содержит 32 бита (4 байта) и позволяет разместить в этом формате 2 “полуслова” по 16 бит или две пары данных типа “байт” [24 ].
Обработку информации в регистрах можно осуществлять различными способами, которые зависят от типов данных, хранящихся в них. В одних случаях регистр воспринимается как цельная конструкция, в других же – обработке доступен каждый бит информации. Процесс обработки информации обычно описывается на языках высокого уровня. Он может быть построен в различных языковых средах, поэтому воспользуемся той средой, которую будем использовать в дальнейшей работе. Это Visual Basic 6.0 [6,7], который мы впоследствии используем для создания на экране компьютера пульта управления автоматизированной системы.