Сборник заданий к лабораторным работам — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Сборник заданий к лабораторным работам

2023-01-01 47
Сборник заданий к лабораторным работам 0.00 из 5.00 0 оценок
Заказать работу

STEP 7-MICRO/WIN 32

В ПРИМЕРАХ И ЗАДАЧАХ


Федеральное агентство по образованию

Уральский государственный технический университет – УПИ

 

STEP 7-MICRO/WIN 32

В ПРИМЕРАХ И ЗАДАЧАХ

Сборник заданий к лабораторным работам

по дисциплине «Системы программного управления»

для студентов всех форм обучения специальности 140604 – Электропривод и автоматика промышленных установок

И технологических комплексов

 

Печатается по решению редакционно-издательского совета

УГТУ-УПИ от 18.01.2007 г.

 

 

Екатеринбург

УГТУ–УПИ

2007

удк 004.896

 

Составители: А.М. Зюзев, К.Е. Нестеров

Научный редактор - доц., канд. техн. наук А.В. Костылев

 

STEP 7-MICRO/WIN 32 В ПРИМЕРАХ И ЗАДАЧАХ: сборник заданий к лабораторным работам / сост. А.М. Зюзев, К.Е. Нестеров. Екатеринбург: УГТУ-УПИ, 2007. 27 с.

 

Сборник заданий предназначен для лабораторных работ, выполняемых студентами всех форм обучения специальности 140604 – Электропривод и автоматика промышленных установок и технологических комплексов по дисциплине «Системы программного управления». Приведены примеры программ, иллюстрирующие основные элементы языкаSTEP 7-MICRO/WIN 32. Примеры разделены по темам и снабжены заданиями, помогающими освоить язык.

         

Библиогр.: 1

 

Подготовлено кафедрой "Электропривод и автоматизация промышленных установок".

 

 

ã Уральский государственный

технический университет – УПИ, 2007

ВВЕДЕНИЕ

В сборнике заданий к лабораторным работам содержатся основные сведения по языку программирования STEP 7-MICRO/WIN [1] промышленных контроллеров Simatic S7-200, разъясняются формат и назначение его команд, приводятся примеры задач и задания для самостоятельной работы. Сборник предназначен для студентов всех форм обучения специальности 140604 – Электропривод и автоматика промышленных установок и технологических комплексов.

Сборник заданий соответствует учебному плану специальности 140604 – Электропривод и автоматика промышленных установок и технологических комплексов и рабочей программе курса «Системы программного управления».

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


Тема 4. Таймерные команды

Таймеры используются для реализации временных задержек между некоторыми событиями, например, между поступлением сигнала на контроллер и включением его выхода. Таймеры различаются временным разрешением – минимально возможной задержкой, реализуемой с их помощью. По величине разрешения они разделены на три группы: 1 мс, 10 мс и 100 мс. К первой группе относятся таймеры с адресами Т32, Т96; ко второй: Т33 – Т36 и Т97 – Т100; к третьей: Т37 – Т63 и Т101 – Т255. Далее рассмотрены следующие таймерные команды:

- On-Delay Timer (TON) (Таймер с задержкой включения);

- Off-Delay Timer (TOF) (Таймер с задержкой выключения).

Команды Таймер с задержкой включения (TON) и Таймер с задержкой включения с запоминанием (TONR) отсчитывают время, когда включен разрешающий вход (IN). Когда текущее значение (Txxx) становится больше или равно предустановленному времени (PT), бит таймера устанавливается. Текущее значение Таймера с задержкой включения сбрасывается, когда выключается разрешающий вход, тогда как текущее значение Таймера с задержкой включения с запоминанием сохраняется, когда этот вход выключается. Можно использовать Таймер с задержкой включения с запоминанием для накопления времени за несколько периодов, когда включен разрешающий вход. Для стирания текущего значения Таймера с задержкой включения с запоминанием используется команда Сброс (R). Таймер с задержкой включения и Таймер с задержкой включения с запоминанием продолжают счет после достижения предустановленного значения, они останавливают счет при достижении максимального значения, равного 32767.

Таймер с задержкой выключения (TOF) используется для задержки выключения выхода на фиксированный интервал времени после выключения входа. Когда включается разрешающий вход, немедленно включается бит таймера, а текущее значение устанавливается в 0. Когда разрешающий вход выключается, таймер ведет отсчет времени, пока истекшее время не достигнет предустановленного времени. Когда предустановленное время достигнуто, бит таймера сбрасывается, а отсчет текущего значения прекращается. Команда TOF должна обнаружить переход от включенного состояния к выключенному, чтобы начать отсчет времени.

 

Задача 6. Разработать программу, включающую выход Q 0.0 через одну секунду после появления сигнала логической единицы на входе I 0.0.

Задание: увеличить время реакции контроллера до 3 секунд.

 

Задача 7. Создать программу, включающую выход Q 0.0 на 1 секунду при появлении сигнала логической единицы на входе I 0.0.

Задание:

1. Увеличить продолжительность включённого состояния выхода Q 0.0 до 3 секунд.

2. Создать программу, обеспечивающую мигание выхода Q 0.0 с частотой 1 Гц при нулевом сигнале на входе I 0.0 и с частотой 2 Гц при единичном.

3. Используя таймеры и команды сдвига, создать гирлянду «Бегущие огни».

 

Тема 5. Математические команды, операции преобразования типов переменных и пересылки

Все математические команды разделены на два блока: команды для работы с целочисленными переменными (Integer Math) и операции вещественной математики (Floating-Point Math).

Команды Увеличить байт на 1 (INCB) и Уменьшить байт на 1 (DECB) прибавляют к входному байту (IN) или вычитают из него 1 и помещают результат в переменную, определенную OUT. Операции увеличения и уменьшения байта на 1 являются беззнаковыми.

 

Команды Сложить целые числа (+ I) и Вычесть целые числа (- I) складывают или вычитают два 16-битовых целых числа и дают 16-битовый результат (OUT).

В LAD и FBD: IN1 + IN2 = OUT

IN1 – IN2 = OUT

В STL: IN1 + OUT = OUT

OUT – IN1 = OUT

 

Команда Умножить целые числа (* I) перемножает два 16-битовых целых числа и дает 16-битовое произведение. Команда Разделить целые числа (/ I) делит два 16-битовых целых числа и даёт 16-битовое частное.

В LAD и FBD: IN1*N2 = OUT

IN1 / IN2 = OUT

В STL: IN1*OUT = OUT

OUT / IN1 = OUT

Команда Переслать байт (MOVB) пересылает входной байт (IN) в выходной байт (OUT). Входной байт командой пересылки не изменяется. Команда Переслать слово (MOVW) пересылает входное слово (IN) в выходное слово (OUT). Входное слово командой пересылки не изменяется.

Команда Переслать двойное слово (MOVD) пересылает входное двойное слово (IN) в выходное двойное слово (OUT). Входное двойное слово командой пересылки не изменяется.

Команда Переслать вещественное число (MOVR) пересылает входное вещественное число (двойное слово, 32 бита) (IN) в выходное (OUT). Входное двойное слово командой пересылки не изменяется.

Команда Квадратный корень (SQRT) извлекает квадратный корень из 32-битового вещественного числа (IN) и дает результат в виде 32-битового вещественного числа (OUT).

Команда Байт в целое (BTI) преобразует байт (IN) в целое число и помещает результат в переменную, указанную в OUT. Байт не имеет знака, поэтому распространение знака не происходит.

 

Команда Целое в байт (ITB) преобразует слово (IN) в байт и помещает результат в переменную, указанную в OUT. Преобразуются значения от 0 до 255. Все остальные значения приводят к переполнению и не влияют на выход.

 

Команда Двойное целое в вещественное (DTR) преобразует 32-битовое целое со знаком (IN) в 32-битовое вещественное число и помещает результат в переменную, указанную в OUT.

 

Команда Округлить (ROUND) преобразует вещественное число (IN) в двойное целое число и помещает результат в переменную, указанную в OUT. Если дробная часть равна 0,5 или больше, то число округляется в большую сторону.

 

Задача 8. Разработать программу, включающую выход Q 0.0, если на вход I 0.0 поступило менее 3 импульсов, и выход Q 0.1, если количество поступивших импульсов равно 3. Для подсчёта импульсов использовать переменную VB0.

Задание: дополнить программу так, чтобы при поступлении на вход I 0.0 более 3 импульсов включался выход Q 0.2.

Задача 9. Разработать программу, осуществляющую сложение байтов IB 0 и IB 1 с выдачей результата на выход QB 0.

Задание:

1. Модифицировать программу таким образом, чтобы она выполняла операцию умножения байтов IB 0 и IB 1.

2. Создать программу, выполняющую операцию деления двойных слов VD 0 и VD 4 с выдачей результата по адресу VW 10 в виде 16-битной переменой.

 

Задача 10. Создать программу, реализующую операцию извлечения корня из байта IB 0 с выдачей результата на выход QB 0.

Задание: модифицировать программу таким образом, чтобы она выполняла операцию извлечения корня из слова IW 0.

 

Тема 6. Прерывания

Существует несколько видов событий, для которых могут быть назначены прерывания. К ним относятся: нарастающий (спадающий) фронт сигнала на дискретных входах контроллера, прерывания по времени, прерывания от скоростных счётчиков и др.

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

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

Отдельные прерывающие события можно заблокировать разрывом связи между этим прерывающим событием и программой обработки прерывания с помощью команды Отсоединить прерывание (DTCH). Команда отсоединения возвращает прерывание в неактивное или игнорируемое состояние.

Команда Назначить прерывание (ATCH) связывает прерывающее событие (EVNT) с номером программы обработки прерывания (INT) и разблокирует прерывающее событие.

Команда Отсоединить прерывание (DTCH) разрывает связь прерывающего события (EVNT) со всеми программами обработки прерываний и блокирует прерывающее событие.

Команда Разблокировать прерывания (ENI) глобально разблокирует обработку всех назначенных прерывающих событий.

Команда Заблокировать прерывания (DISI) глобально блокирует обработку всех прерывающих событий.

Когда вы переходите в режим RUN, прерывания первоначально заблокированы. Находясь в режиме RUN, вы можете разблокировать все прерывания, выполнив глобальную команду Разблокировать прерывания. Глобальная команда Заблокировать прерывания дает возможность ставить прерывания в очередь, но не позволяет вызывать программы обработки прерываний.

К прерываниям, управляемым по времени, относятся циклические прерывания и прерывания, вызываемые таймерами T32 и T96. С помощью циклических прерываний можно задать действия, которые должны выполняться  циклически.  Время  цикла  устанавливается  в  пределах  от  1  до 255 мс шагами по 1 мс. Всего может быть назначено до 2 прерываний, управляемых по времени. Для этого необходимо записать время цикла в мс в SMB34 для циклического прерывания №1 и в SMB35 для циклического прерывания №2. Событие, вызывающее циклические прерывания, передает управление соответствующей программе обработки прерываний каждый раз, как истекает время работы таймера. Обычно циклические прерывания используются для управления опросом аналоговых входов через регулярные интервалы времени или для организации работы ПИД - регулятора. Циклическое прерывание разблокируется, и начинается отсчет времени, когда назначена программа обработки прерывания событию, вызывающему циклическое прерывание. При этом система воспринимает значение времени цикла и последующие изменения на это время цикла влияния не оказывают. Чтобы изменить время цикла, вы должны задать для него новое значение, а затем снова назначить программу обработки прерывания событию, вызывающему циклическое прерывание. Когда происходит повторное назначение, функция циклического прерывания сбрасывает все накопленное время от предыдущего назначения и начинает отсчет времени с новым значением.

Будучи разблокированным, циклическое прерывание работает постоянно, выполняя назначенную программу обработки прерывания при каждом истечении заданного временного интервала. Если выйти из режима RUN или отсоединить циклическое прерывание, то оно заблокируется.

События, вызывающие прерывания, их коды и приоритеты перечислены ниже:

Код события Описание прерывания Группа приоритета Приоритет в группе
8 Порт 0: символ принят

Коммуникации (наивысшая)

0
9 Порт 0: передача завершена 0
23 Порт 0: приём сообщения завершен 0
24 Порт 1: приём сообщения завершен 1
25 Порт 1: символ принят 1
26 Порт 1: передача завершена 1
19 Прерывание при завершении PTO 0

Дискретные операции (средняя)

0
20 Прерывание при завершении PTO 1 1
0 Нарастающий фронт, I0.0 2
2 Нарастающий фронт, I0.1 3
4 Нарастающий фронт, I0.2 4
6 Нарастающий фронт, I0.3 5
1 Падающий фронт, I0.0 6
3 Падающий фронт, I0.1 7
5 Падающий фронт, I0.2 8
7 Падающий фронт, I0.3 9
12 HSC0: CV=PV (текущее значение = предустановленному) 10
27 HSC0: направление изменено 11
28 HSC0: внешний сброс 12
13 HSC1: CV=PV (текущее значение = предустановленному) 13
14 HSС1: Направление изменено 14
15 HSC1: внешний сброс 15
16 HSC2: CV=PV (текущее значение = предустановленному) 16
17 HSC2: направление изменено 17
18 HSC2: внешний сброс 18
32 HSC3: CV=PV (текущее значение = предустановленному) 19
29 HSC4: CV=PV (текущее значение = предустановленному) 20
30 HSC4: направление изменено 21
31 HSC4: внешний сброс 22
33 HSC5: CV=PV (текущее значение = предустановленному) 23
10 Циклическое прерывание 0

Управление временем (низшая)

0
11 Циклическое прерывание 1 1
21 Прерывание от таймера T32 CT=PT 2
22 Прерывание от таймера T96 CT=PT 3

 

Задача 11. Разработать программу, осуществляющую мигание выхода Q 0.0 с частотой 2 Гц (время включённого состояния выхода Q 0.0 равно времени его отключённого состояния и составляет 250 мс).

Код главной программы:

Код подпрограммы обработки прерывания interrupt:

Задание:

1. Найти опечатку, из-за которой частота мигания оказывается меньше требуемой.

2. Добавить возможность переключения частоты мигания с помощью входа I 0.0: если вход выключен, то частота мигания равна 2 Гц, если включен – 4 Гц.

 

Задача 12. Реализовать программный реверсивный счётчик импульсов, поступающих на вход I 0.0, количество импульсов выдать на выход QB 0. Направление счёта (увеличение или уменьшение) должно определяться входом I 0.1 (1 – увеличение, 0 – уменьшение).

Код главной программы:

 

 

Код подпрограммы обработки прерывания interrupt:

Задание:

1. Модифицировать программу на подсчёт импульсов, поступающих с входа I 0.2.

2. Решить эту же задачу, используя стандартный CTUD счётчик.

 

STEP 7-MICRO/WIN 32

В ПРИМЕРАХ И ЗАДАЧАХ

 

 

 

Составители:            Зюзев Анатолий Михайлович

                                                    Нестеров Константин Евгеньевич

 

Редактор                  О.С. Смирнова

Компьютерный набор А.М. Зюзева, К.Е. Нестерова

ИД № 06263 от 12.11.2001 г.

 

--------------------------------------------------------------

Подписано в печать 06.11.2007                                  Формат 60х84 1/16

Бумага типографская        Плоская печать                 Усл. печ. л. 1,57

Уч.-изд. л. 1,4         Тираж 150 экз. Заказ

--------------------------------------------------------------

Редакционно-издательский отдел УГТУ–УПИ

620002, Екатеринбург, ул. Мира, 19

[email protected]

 

Издательство УМЦ УПИ

620002, Екатеринбург, ул. Мира, 17, оф.134

STEP 7-MICRO/WIN 32

В ПРИМЕРАХ И ЗАДАЧАХ


Федеральное агентство по образованию

Уральский государственный технический университет – УПИ

 

STEP 7-MICRO/WIN 32

В ПРИМЕРАХ И ЗАДАЧАХ

Сборник заданий к лабораторным работам

по дисциплине «Системы программного управления»

для студентов всех форм обучения специальности 140604 – Электропривод и автоматика промышленных установок


Поделиться с друзьями:

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.