Практические занятия по программированию PLC — КиберПедия 

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

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Практические занятия по программированию PLC

2019-06-06 152
Практические занятия по программированию PLC 0.00 из 5.00 0 оценок
Заказать работу

 

Управление прерываниями по времени

Задание №1

Цель занятия: ознакомиться с процедурой организации команд прерывания

Задача:

Составить программу мигания выходного светодиода, обеспечив возможность уменьшения частоты мигания в два раза

Принять следующие значения параметров системы:

Кнопка ВКЛ 1на входе E0.n включает основную частоту мигания.

Кнопка ВКЛ 2 на входе E0.(n+1) уменьшает частоту мигания.

Выход А0.n индицирует частоту мигания.

Номер используемого таймера 20+n.

 

Пример

Краткое описание

С помощью прерываний по времени создается тактовое мигание, причем частота мигания ополовинивается нажатием выключателя E0.1. Подача сигнала на вход Е0.0 восстанавливает первоначальную частоту.

Схема включения

 

 

Описание программы вкл. листинг

В байт специальных меркеров SMB34 заносится растр времени, с которым вызывается прерывание по времени с номером 10 (первое прерывание по временем). В байт специальных меркеров SMB 35 растр времени, с которым вызывается прерывание по времени с номером 11 (второе прерывание по времени - поддерживается только CPU 214). Растр времени в обоих случаях будет определен с инкрементом 1мс. Минимальное допустимое значение растра времени составляет 5 мс, максимальное - 255 мс. Программа состоит из следующих подпрограмм:

Main Инициализация и задание времени

INT 0 Установка выхода A0.0

INT 1 Сброс выхода A0.0

Размер программы составляет 51 слово.

 

Структура программы

 


Основная программа // TITEL = TIME - INT

// В этой первой части основной программы задается начальный растр времени

// и связываются два прерывания управляемых по времени.

 
LD MOVB MOVB

SM 0.1 // Обрабатывается только // в первом цикле

SMB 34

// Задание растра времени // для прерывания по // времени 0: 50 мс

SMB 35

// Задание растра времени // для прерывания по // времени 1: 100 мс

ATCH 0,10 // Связь прерывания 10 с // подпрограммой // прерывания 0 ATCH 1,11 // Связь прерывания 10 с // подпрограммой // прерывания 1 ENI   // Деблокировка всех // прерываний

 

   

 

 


 

 


 


// По положительному фронту входа E 0.1 растр времени прерывания по времени

// удваивается. Для выполнения этого нового задания необходимо

// разорвать связи между прерываниями и подпрограммами прерывания,

// так как в противном случае новые значения не будут восприняты. Разрыв

// связи производится командой DTCH.

// После задания нового растра времени, связи должны быть заново созданы

// командой ATCH.

LD EU DTCH E0.1 10 // Загрузка входа E 0.1 // и разыв связи с // прерыванием 0 по // положительному фронту // E 0.1
DTCH 11 // Разрыв связи с // прерыванием 1

MOVB 100, SMB 34

// Задание нового растра

// времени для прерывания

// по времени: 100 мс

MOVB

SMB 35

// Задание нового растра // времени для

преры вания // по времени: 200 мс
ATCH 0,10 // Восстановление // связи
ATCH 1,11 // Восстановление // связи

// По положительному фронту входа E 0.0 будет восстановлена старая тактовая // частота.

 
LD     E0.0 EU DTCH 10 // Положительный фронт //... фронта E 0.0 // разрывает связь с // прерыванием по
времени // 10
DTCH 11 времени // Прерывание связи с // прерыванием по // 11

 

 

 


 


 


 

MOVB

SMB 34

// Время интервала // прерывания 0: 50 мс

MOVB

SMB 35

// Время интервала

// прерывания 1: 100 мс

ATCH 0 0,10 // Деблокировка // прерывания по времени
ATCH 1 1,11 // Деблокировка // прерывания по времени
MEND   // Конец // основной программы

Подпрограммы прерываний

// ************************************************************

// При вызове подпрограммы прерывания 0 устанавливается выход A 0.0.


 


 

INT LD S 0      // Подпрограмма // прерывания 0 SM 0.0 // устанавливает A 0.0,1 // выход A 0.0 в 1
RETI // Конец подпрограммы // прерывания 0

// ************************************************************

// При вызове подпрограммы прерывания 1 выход A 0.0 сбрасывается.

// Так как растр времени для вызова подпрограммы прерывания 1 в два раза длиннее, чем

// растр времени для вызова подпрограммы прерывания 0, возникает такт мигания.


 


 

INT LD R 1      // Подпрограмма // прерывания 1 SM 0.0 // сбрасывает A 0.0,1 // выход A 0.0
RETI // Конец подпрограммы // прерывания 0


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

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

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

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

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



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

0.01 с.