Лабораторная работа в среде Twido Suite - Команды передачи управления, переходов и меток - файл n12.doc
Лабораторная работа в среде Twido Suite - Команды передачи управления, переходов и метокскачать (252.3 kb.)
Доступные файлы (12):
n1.dat | | | |
AS_DC35_Print.dsc.xml | | | |
Global.dsc.xml | | | |
n4.xdm | | | |
Twido1.dsc.xml | | | |
n6.xtwd | | | |
n7.bmp | | | |
thumbnail-dsc.bmp | | | |
n9.ini | | | |
n10.xpr | | | |
n11.dat | | | |
n12.doc | 250kb. | 15.01.2010 05:10 | скачать |
n12.doc
Програмные средства систем управления
Лабораторная Работа № 4
ТЕМА: Команды передачи управления, переходов и меток.
Мета: ознакомиться с типовыми командами передачи управления, переходов и меток. Выучить их функции и особенности использования в программировании ПЛК.
теоретические сведения:
Время выполнения задачи контролируется
сторожевым таймером Tmax (максимальная длительность цикла задачи). Он позволяет выявить ошибки приложения (бесконечные циклы и т. д.) и гарантирует максимальную продолжительность обновления выходов.
При периодическом или циклическом выполнении срабатывание сторожевого
таймера приводит к программной ошибке. Приложение переходит в режим
ОСТАНОВ и устанавливает системный бит %S11 в 1. Перед перезапуском
задачи необходимо при помощи Twido Soft проанализировать причины ошиб-
ки, исправить ошибку в приложении и вернуть программу в режим РАБОТА.
При периодическом выполнении используется дополнительная проверка для обнаружения переполнения периода:
%S19 показывает переполнение периода. Он устанавливается:
- в 1 системой, когда время сканирования больше периода задачи,
- в 0 пользователем.
%SW0 содержит значение периода (0-150 мс). Он:
- Инициализируется при "холодном" пуске значением, определенным
во время конфигурации,
- Может быть изменено пользователем.
Системные слова, предоставляющие информацию о времени сканирования:
%SW11 содержит максимальное время сторожевого таймера (10 - 500 мс ).
%SW30 содержит время выполнения последнего сканирования.
%SW31 содержит время выполнения самого продолжительного сканирования с момента последнего “холодного” пуска.
%SW32 содержит время выполнения самого короткого сканирования с
момента последнего “холодного” пуска.
Событие состоит из:
- источника события, которое может быть определено, как программное или
аппаратное условие, прерывающее основную программу (См.
Описание различных источников событий, стр. 77),
- независимого программируемого объекта, относящегося к событию,
- очереди событий, которая может использоваться для хранения списка
событий до их выполнения,
- уровня приоритета, который определяет порядок обработки событий.
Необходимо использовать программное обеспечение для обработки источников событий, чтобы убедиться, что основная программа была корректно прервана событием, и чтобы вызвать раздел программы, связанный с событием. Время сканирования приложения не влияет на выполнение событий.
Разрешены следующие 9 источников событий:
- 4 условия, связанные с порогами функционального блока VFC (2 события
на %VFC),
- 4 условия, связанные с физическими входами базы,
- 1 периодическое условие.
Источник события может связываться только с одним событием, и должен
сразу определяться TwidoSoft. После определения источника программное беспечение выполняет раздел программы, связанный с событием: каждое событие связано с подпрограммой с меткой
SRi: определенной при конфигурации источников событий.
У событий есть 2 возможных приоритета: высокий и низкий. Только
один тип события (один источник события) может иметь высокий приоритет, поэтому
остальные события имеют низкий приоритет, и порядок их выполнения зависит от порядка, в котором они были обнаружены.
Существует две очереди задач для управления порядком выполнения задач,
вызываемых событием:
- в одной может хранится до 16 событий с высоким приоритетом (от одного
источника событий),
- в другой может хранится до 16 событий с низким приоритетом (от других
источников событий).
Эти очереди работают по принципу FIFO: первое хранящееся событие будет
обработано первым. Очереди могут хранить только 16 событий, поэтому все остальные события теряются.
События с низким приоритетом будут выполняться только тогда, когда
очередь событий с высоким приоритетом будет пуста.
Инструкции переходов вызывают немедленное прерывание программы и
выполнение её со строки, содержащей метку %Li (i = с 1 до 16 для компактных и с 1 до 63 для других).
Доступны три различные инструкции перехода:
- JMP: безусловный переход
- JMPC: переход, если булевский результат предшествующей инструкции
сравнения равен 1.
- JMPCN: переход, если булевский результат предшествующей инструкции
сравнения равен 0.
Инструкции подпрограмм вызывают выполнение подпрограммы и возврат к выполнению основной программы.
Подпрограммы состоят из трех шагов:
- Инструкция
SRn вызывает подпрограмму по метке SRn, если булевский
результат предшествующей инструкции сравнения равен 1.
- Подпрограмма обозначается меткой
SRn:, с n = 0 до 15 для
TWDLCAA10DRF, TWDLCAA16DRF и 0 до 63 для остальных контроллеров.
- Инструкция
RET, размещенная в конце подпрограммы, возвращает поток
выполнения программы к основной программе.
Задание:
В программе создать цикл содержащий 100 операций сложения с плавающей точкой .
Определить для неё длительность цикла сканирования.
Написать подпрограмму обрабатывающую события от входа %I0.2 по переднему фронту, включать выход %Q0.2.
Время реакции – не более 3 мс. По нажатию нп кнопку %I0.12 длительность цикла увеличивать в 12 раз. Установить WDT так, чтоб он срабатывал для удлиненного цикла.
Код программы на языке Instruction List (IA):

Вывод: в ходе лабораторной работы мы ознакомились с типовыми командами передачи управления, переходов и меток, а также их функции и особенности использования в программировании ПЛК. Мы выяснили, что длительность сканирования может быть изменена в течении программы, в зависимости от длительности выполняемого цикла.