LD     T 33             // После выполнения цикла таймера — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

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

LD     T 33             // После выполнения цикла таймера

2019-06-06 144
LD     T 33             // После выполнения цикла таймера 0.00 из 5.00 0 оценок
Заказать работу

MOVW 0, AC 1        // аккумулятор AC 1 сбрасывается

MOVB SMB 28, AC 1 // и значение потенциометра 0 копируется в AC 1

MOVW 2, VW 60

DIV   VW 60, AC 1 // Принятое значение потенциометра делится пополам

+ I       20, AC 1      // и прибавляется смещение 200 мс

MOVW AC 1, VW 0 // Значение AC 1 копируется в VW 0

RET // Возврат в основную программу

// Подпрограмма SBR 2:

// Определение среднего значения потенциометра 1 по 100 циклам программы

SBR       2

LD         SM 0.0        // В каждом цикле

INCW   VW 10         // счетчик циклов увеличивается на 1

MOVB SMB 29, AC 0 // Значение потенциометра 1 заносится в AC 0

+ I           AC 0, AC 3 // Прибавляется к общему значению в AC 3


LDW = VW 10,100 // После 100 циклов

MOVW 100, VW 50

DIV VW 50, AC 3     // Значение для образования среднего значения делится на 100

MOVW AC 3, VW 12 // Среднее значение заносится в VW 12

MOVW 0, VW 10    // Сброс счетчика циклов

MOVD   0, AC 3       // Сброс памяти общего значения

=      M0.0

LD   M 0.0

LDW <=                         VW 12, VW 14       // и новое среднее значение вне поля допуска

OW>= VW 12, VW 16

ALD

FILL VW 12, VW 14, 3 // Новое среднее значение копируется в VW 14, VW 16 и VW 18

- I      3, VW 14           // Установка новой нижней границы (Среднее значение - 3мс)

+ I     3, VW 16           // Установка новой верхней границы (Среднее значение + 3мс)

 

    

RET                               // Возврат в основную программу


Управление быстрым счетчиком

Задание №4

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

Задача: Реализовать программный генератор импульсов

 

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

В данном примере применения поясняется функция быстрого счетчика в SIMATIC S7-200. Быстрый счетчик может использоваться в различных конфигурациях, для того чтобы обрабатывать входные сигналы от датчиков, как напр. датчик перемещения.

Импульсные выходы будут использоваться, для того чтобы создать быстрые сигналы. При этом появляется возможность генерировать последовательность импульсов (PTO), а также модулировать ширину импульсов (ШИМ), для того чтобы напр., управлять серводвигателем.

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

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


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

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

В этом примере описывается функция быстрого счетчика S7-200 DC/DC/DC. Он считает быстрее чем ПЛК может обработать цикл. Используемый счетчик это 2 килогерцовый программный счетчик, который встроен в S7-212. S7-214 имеет дополнительно два аппаратных счетчика по 7 КГц. Все счетчики вместе требуют 10 байт в памяти данных, для управления, хранения значений, счета и чтения текущего состояния.

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

 


Основная программа

// Основная программа сбрасывает выход A 0.0, так ка он необходим для

// функции импульсов. Кроме того инициализируется быстрый счетчик HSC 0

// и вызываются подпрограммы 0 и 1. При этом HSC 0 запускается

// со следующими свойствами: возможна актуализация значения, прямой

// счет. Программа завершается, если выполняется число циклов указанное // в SBR 0 (SMD 72).


 

LD SM0.1 // Первый цикл
R A0.0,1 // Сброс выхода
  // A0.0 для импульсов
MOVB 16#F8,SMB37
  // Загрузка контрольных
  // битов для быстрого
  // счетчика HSC0
  // (деблокировка HSC0,
  // обновление текущих
  // значений, обновление
  // сбросов, обновление
  // направления счета и
  // числа циклов. Команда
  // HSC использует эти
  // контрольные биты,
  // для конфигурирования
  // быстрого счетчика.
MOVD 0,SMD38
  // Начальное значение
  // быстрого счетчика
  // HSC0
MOVD 1000,SMD42
  // Первое значение
  // останова от HSC0


 

HDEF 0,0 // Определение быстрого // счетчика 0 в режиме 0
CALL 0 // Вызов // подпрограммы 0
CALL 1 // Вызов // подпрограммы 1
MEND   // Конец основной // программы

Подпрограммы

// Подпрограмма 0 служит для инициализации и деблокировки выдачи импульсов.

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


 

SBR 0      // Подпрграмма 0
LD MOVB SM 0.0 // Всегда в единице 16#8 D, SMB 67 // Выдача импульсов:1мс, // PTO, деблокировка, // обновление
MOVW 1, SMW 68 // Длина цикла в мс
MOVD 30000, SMD72 // Число гененируемых // циклов
PLS 0      // Разрешение // выдачи импульсов на // выходA0.0
RET // Конец // подпрограммы 0

// Подпрограмма 1 запускает быстрый счетчик HSC 0 и назначает

// подпрограмму 0 событию прерывания 12 (HSC 0 текущее значение = сброс).

// Это событие возникает, если число сосчитанных импульсов (текущее значение)

// достигает текущего значения останова (сброс).

// Происходит деблокировка прерывания.



 

SBR    1 // Подпрограмма 1
LD       SM0.0 ATCH 0,12 // Всегда в единице // Назначение INT 0 // событию прерывания 12 // (HSC 0 текущее // значение = сброс)
ENI // Деблокировка // прерывания
HSC    0 // Пуск быстрого // счетчика 0
RET // Конец // подпрограммы 1

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

//Подпрограмма прерывания 0 будет вызвана, если достигнуто первое значение сброса (1000)

// быстрого счетчика 0. Выход A 0.1 устанавливается и задается новое

// значение сброса (1500) для быстрого счетчика.

// Подпрограмма прерывания 1 назначается событию прерывания 12

// -вместо подпрограммы 0.


 

INT LD S

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

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...



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

0.018 с.