
- •В примерах и задачах
- •В примерах и задачах
- •Тема 1. Битовые логические команды
- •Тема 2. Использование операций сравнения
- •Тема 3. Использование счётчиков импульсов
- •Тема 4. Таймерные команды
- •Тема 5. Математические команды, операции преобразования типов переменных и пересылки
- •Тема 6. Прерывания
- •Тема 7. Использование встроенных потенциометров
- •Тема 8. Применение указателей и косвенной адресации памяти
- •Тема 9. Работа с аналоговыми входами и выходами
- •Тема 11. Использование подпрограмм
- •В примерах и задачах Составители: Зюзев Анатолий Михайлович
- •620002, Екатеринбург, ул. Мира, 19
- •Издательство умц упи
- •6 20002, Екатеринбург, ул. Мира, 17, оф.134
Тема 9. Работа с аналоговыми входами и выходами
Задача 15. Создать программу, осуществляющую сложение двух аналоговых сигналов, поступающих на входы контроллера AIW0 и AIW2, с выдачей результата на выход AQW0.
Задание:
1. Модифицировать программу таким образом, чтобы выходной сигнал контроллера AQW0 соответствовал разности сигналов, поступающих на входы AIW0 и AIW2.
2. Создать программу, масштабирующую сигнал, поступающий с входа AIW0 и выдающую результат на выход AQW0. Коэффициент масштабирования должен задаваться при помощи входа AIW2 в диапазоне 0..10, т.е. значению AIW2=32000 должен соответствовать коэффициент масштабирования, равный десяти.
Т
ема
10. Цикл FOR-NEXT
Команда FOR выполняет команды, расположенные между операторами FOR и NEXT. Необходимо задать значение индекса или счетчик цикла (INDX), начальное значение (INIT) и конечное значение (FINAL).
Команда NEXT отмечает конец цикла FOR и устанавливает вершину стека в 1.
Например, если значение INIT равно 1 , значение FINAL равно 10, то команды между FOR и NEXT исполняются 10 раз, причём значение INDX каждый раз увеличивается на единицу: 1, 2, 3, ...10.
Если начальное значение больше конечного, то цикл не выполняется. После каждого исполнения команд между FOR и NEXT значение INDX увеличивается, а результат сравнивается с конечным значением. Если INDX больше конечного значения, то цикл завершается.
Задача 16. Разработать программу, рассчитывающую сумму ряда 1+2+3+…+10.
Задание:
1. Изменить программу так, чтобы она рассчитывала сумму ряда 1+2+3+…+300.
2.
Изменить программу так, чтобы она
рассчитывала сумму ряда
.
3. Решить задачу, не используя операторы цикла FOR-NEXT.
Тема 11. Использование подпрограмм
В
главной программе допускается вкладывать
подпрограммы друг в друга (помещать
вызов подпрограммы внутри другой
подпрограммы) на глубину до восьми
уровней. В программе обработки прерывания
вложение подпрограмм друг в друга
невозможно. Подпрограмма не может быть
помещена ни в какую другую подпрограмму,
вызываемую из программы обработки
прерывания. Рекурсия (вызов подпрограммы,
вызывающей саму себя) разрешена.
Команда Вызвать подпрограмму (CALL) передает управление подпрограмме (n). Команду Вызвать подпрограмму можно использовать с параметрами или без них. Для добавления подпрограммы нужно выбрать из меню пункт Edit > Insert > Subroutine [Редактировать > Вставить > Подпрограмма].
Команда Условный возврат из подпрограммы (CRET) используется для завершения подпрограммы в зависимости от предшествующей логической операции.
Как только исполнение подпрограммы завершается, управление возвращается команде, следующей за вызовом подпрограммы.
Задача 17. Разработать программу, включающую выход Q0.0 на 1 или 3 секунды (в зависимости от состояния входа I1.0) при появлении сигнала логической единицы на входе I0.0.
Код главной программы:
Код подпрограммы short_pulse:
Код подпрограммы long_pulse:
Задание: изменить программу таким образом, чтобы вход контроллера I0.1 так же, как и вход I0.0, вызывал включение выхода Q0.0.
1. Программируемый контроллер S7-200. Системное руководство C79000-G7076-C233-02. Выпуск. 2. Siemens AG, 1999. (http://www.automation.siemens.com)
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ………………………………………………………………………….3
Тема 1. Битовые логические команды………………………………...…………...4
Тема 2. Использование операций сравнения…………………………...…………7
Тема 3. Использование счётчиков импульсов……………………………….........8
Тема 4. Таймерные команды…………………………………………………….....9
Тема 5. Математические команды, операции преобразования типов переменных и пересылки…………………………………………………………………………11
Тема 6. Прерывания………………………………………………………………..15
Тема 7. Использование встроенных потенциометров……………………….......19
Тема 8. Применение указателей и косвенной адресации памяти……………….20
Тема 9. Работа с аналоговыми входами и выходами…………………………….23
Тема 10. Цикл FOR-NEXT…………………………………………………………23
Тема 11. Использование подпрограмм……………………………………………23
Учебное издание
STEP 7-MICRO/WIN 32