Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методический материал Бахчаев Власов по аналого...docx
Скачиваний:
5
Добавлен:
01.09.2019
Размер:
511.32 Кб
Скачать

Государственное бюджетное образовательное учреждение

высшего профессионального образования

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Институт Кибернетики

Кафедра ИКСУ

Методические указания к лабораторным работам по программированию промышленных контроллеров. Работа с аналоговыми сигналами.

Составители:

Студенты гр. 8А82:

А. С. Бахчаев

К. С. Власов

Томск 2012

Данное методическое пособие предназначено для обучения студентов работе с аналоговыми сигналами в пакете «Simatic STEP 7».

Первоначально рассмотрим таблицу входов и выходов контроллера (табл.1)

Таблица 1

Тип входа/выхода

Символ

Биты, слова

Описание

Дискретные

входы

I

I0.0…I127.7

Состояние входных устройств,

подключенных к входным це-

пям

Аналоговые

входы

PIW

PIW256…PIW766

Представленная в цифровой

форме аналоговая величина

Дискретные

выходы

Q

Q0.0…Q127.7

Состояние дискретных выходов

Аналоговые

выходы

PQW

PQW256…PQW766

Представленная в аналоговой

форме цифровая величина

Обратите внимание на столбец «Биты, слова». В этом столбце представлено символьное описание того или иного входа. Рассмотрим на примере дискретного входа I127.3 детально, на что указывает каждый символ:

«I» – символьное обозначение входа;

«1» – номер двойного слова;

«2» – номер слова;

«7» – номер байта;

«.3» – номер бита.

Таким образом, если нам необходимо обратиться к отдельному биту (например 4-ому), то нам необходимо прописывать полностью I 127.4, если ко всему байту (набору бит), то пишем IB 127, если к слову, то IW 12, и т.д.

Операции с аналоговыми сигналами

CPU может обрабатывать аналоговые сигналы только в двоичном коде. Поэтому для обработки аналоговых сигналов необходимо перевести его в дискетный сигнал, то есть оцифровать. Для оцифровки аналоговых сигналов используются АЦП (аналогово-цифровой преобразователь)

Рассмотрим пример реализации АЦП:

Рисунок 1. Редактор символов

У нас имеется аналоговый сигнал, который мы будем подавать на адрес PIW 272. Входной цифровой сигнал Input1, который подадим на адрес I 0.0. Он необходим для разрешения работы преобразователя. Ну и выход lamp_1 с адресом Q 0.0 необходим для просмотра результата сравнения.

Далее рассмотрим схему для реализации АЦП. Мы используем компаратор «равно», т.е. сравнивается входной сигнал с установочным сигналом, компаратор можно выбрать также и с другим условием, компараторы находятся в блоке компараторов в стандартной библиотеке «Comparator». В нашем случае если сигналы равны, то на выходе логическая единица. Если же сигналы не равны, то на выходе будет логический ноль. Все это мы проверим на эмуляторе. Так как работа в контроллере реализуется в двоичном коде, то нам необходим преобразователь, который находится в стандартном пакете в папке «Converter». Мы используем преобразователь из формата WORD в формат INT.

Рисунок 2. Структура программы.

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

Далее проведем проверку на правильность составленной схемы. Для этого необходимо запустить эмулятор:

Рисунок 3. Кнопка запуска симулятора.

Далее необходимо загрузить в эмулятор наши блоки.

Рисунок 4. Кнопка загрузки программы в эмулятор.

Вот так представлены наши блоке в загрузившемся эмуляторе.

Рисунок 5. Окно эмулятора.

В случае если загрузка не произошла и система выдала ошибку, то необходимо загрузить блоки вручную, прописав адрес входа или выхода.

Рисунок 6. Панель инстументов.

Теперь переходим непосредственно к нашей реализации АЦП. Сравнивать будем как показано на нашей схеме с нулем. Включаем наш эмулятор, поставив галочку в режим RUN и подаем на вход единицу, т.е. ставим галочку в блоке I 0.0 в окошке 1.

Рисунок 7. Эмулятор в рабочем режиме.

Мы видим, что на входе единица, значит компаратор сработал и сигналы у нас одинаковые. То есть с которым сравниваем у нас 0 и который задаем PIW 272 тоже 0. Теперь зададим 3 на аналоговый вход PIW 272.

Рисунок 8. Проверка работы программы.

Как видим из рисунка выше у нас на выходе ноль. Отсюда можно сделать вывод, что компаратор работает правильно.

Также можно задавать сигналы не целыми числами, а дробными. В данном пакете программ имеется достаточно большое количество разных форматов чисел и типов данных.

Рассмотрим пример сравнения дробных чисел.