Операции управления программой

Содержание

Слайд 2

Операции управления программой

Операция Переход на метку выполняет ответвление программы к заданной метке

Операции управления программой Операция Переход на метку выполняет ответвление программы к заданной
перехода (n).
Операция Определение метки перехода указывает целевой пункт (n), в который нужно перейти .
Операнды :n: 0 - 255

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

Слайд 3

Операции управления программой

Операция Программный цикл с FOR выполняет операции между FOR и

Операции управления программой Операция Программный цикл с FOR выполняет операции между FOR
NEXT. Вы должны задать текущее значение счетчика программного цикла (INDEX), начальное значение (INITIAL) и конечное значение (FINAL).
Операция Конец программного цикла с FOR (NEXT) отмечает конец программного цикла с FOR и устанавливает вершину стека в “1”.
Операнды : INDEX:VW, T, Z, EW, AW, MW, SMW, AC, *VD, *AC, SW
INITIAL:VW, T, Z, EW, AW, MW, SMW,AC, AEW, константа , *VD,*AC, SW
FINAL: VW, T, Z, EW, AW, MW, SMW, AC, AEW, константа , *VD, *AC, SW

Слайд 4

Операции управления программой

Операция Загрузка реле шагового управления отмечает начало сегмента SCR. Если

Операции управления программой Операция Загрузка реле шагового управления отмечает начало сегмента SCR.
n = 1 , то разблокируется поток сигнала к сегменту SCR. Сегмент SCR должен заканчиваться операцией SCRE.
Операция Фронт реле шагового управления отмечает SCR– бит , который должен разблокироваться ( S–бит ,который должен быть установлен ). Если поток сигнала поступает к катушке , то включается указанный S–бит и выключается S–бит операции LSCR ( разблокировал данный сегмент SCR).
Операция Конец реле шагового управления отмечает конец сегмента SCR.
Операнды :n: бит в области S, размер которой 16 байт (SB0… SB15)

Указание
Вы можете использовать реле шагового управления в главной программе , однако их нельзя вставлять в подпрограммы или программы обработки прерываний .
С помощью операций перехода можно совершать переходы внутри сегментов SCR, а также перескакивать через сегменты SCR. Однако нельзя совершать переходы снаружи внутрь сегмента SCR или изнутри сегмента SCR наружу .

Слайд 5

• В этом примере с помощью специального меркера SM0. ( первого цикла

• В этом примере с помощью специального меркера SM0. ( первого цикла
)
устанавливается S0.1. В первом цикле S0.1 находится на активном шаге 1 .
• После 2-секундной задержки T37 вызывает переключение на следующий шаг 2. Это
переключение деактивизирует сегмент SCR для шага 1 (S0.1 ) и активизирует сегмент
SCR для шага 2 (S0.2).

Пример программы шагового управления

Слайд 6

Управление потоками

Разделение потоков управления

Сведение потоков управления

Управление потоками Разделение потоков управления Сведение потоков управления

Слайд 7

Операции управления программой. Определение подпрограмм

1. В разделе Program Block дерева инструкций необходимо

Операции управления программой. Определение подпрограмм 1. В разделе Program Block дерева инструкций
вызвать контекстное меню (правой клавишей мыши).

2. Выбрать команду Insert Subroutine.

3. Вы можете изменить имя подпрограммы, выбором пункта Properties в контекстном меню выбранной подпрограммы.

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

Слайд 8

П Р Е Р Ы В А Н И Я

П Р Е Р Ы В А Н И Я

Слайд 9

П Р Е Р Ы В А Н И Я

П Р Е Р Ы В А Н И Я

Слайд 10

П Р Е Р Ы В А Н И Я Определение программы

П Р Е Р Ы В А Н И Я Определение программы
обработки прерываний

• В программах обработки прерываний нельзя использовать операции DISI, ENI, CALL, HDEF, FOR/NEXT, LSCR, SCRE, SCRT и END.

1. В разделе Program Block дерева инструкций необходимо вызвать контекстное меню (правой клавишей мыши).

2. Выбрать команду Insert Interrupt.

3. Вы можете изменить имя программы обработки прерывания, выбором пункта Properties в контекстном меню выбранной программы.

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

Слайд 11

П Р Е Р Ы В А Н И Я Определение прерываний в

П Р Е Р Ы В А Н И Я Определение прерываний
программе циклической обработки

Операция Разблокировка всех событий прерываний разблокирует обработку всех назначенных событий прерываний .
Операция Блокировка всех событий прерываний блокирует обработку всех событий прерываний .
Операнды : нет
При переходе в режим RUN Вы блокируете прерывания . Если CPU находится в режиме RUN, то Вы можете с помощью операции ENI разблокировать все события прерываний . Команда “Блокировка всех событий прерываний ” допускает постановку прерываний в очередь , но не разрешает вызывать программы обработки прерываний .

Операция Назначение прерывания назначает событию прерывания
(EVENT) номер программу обработки прерываний (INT) и затем
разблокирует это событие .
Операция Отделение прерывания отделяет событие прерывания
(EVENT) от всех программ обработки прерываний и затем блокирует это
событие .
Операнды :INT : от 0 до 127
EVENT: от 0 до 20

Слайд 12

Прерывания от ввода/вывода

К прерываниям от ввода / относятся прерывания при нарастающем

Прерывания от ввода/вывода К прерываниям от ввода / относятся прерывания при нарастающем
или спадающем фронте , прерывания от быстрых счетчиков и прерывания от последовательности импульсов . CPU может создавать прерывание при нарастающем и /или спадающем фронте на входе . В таблице приведены входы , доступные для прерываний в разных CPU. События “Нарастающий фронт ” и “Спадающий фронт ” могут восприниматься по каждому из этих входов . С помощью этих событий могут также отображаться сбойные ситуации , которые должны сразу приниматься во внимание при появлении события .

В данном примере используется событие прерывания 2 для установки маркера

Слайд 13

Высокоскоростные счетчики Определение режима для быстрых счетчиков и их активизация

Операция Определение режима

Высокоскоростные счетчики Определение режима для быстрых счетчиков и их активизация Операция Определение
для быстрых счетчиков назначает заданному быстрому счетчику (HSC) режим счета (MODE)
Операция Активизация быстрых счетчиков конфигурирует и управляет режимом работы быстрых счетчиков через сигнальные состояния битов специальных меркеров HSC. Параметр N задает номер быстрого счетчика .
Вы можете использовать для каждого счетчика только один блок HDEF.
Операнды :HSC: от 0 до 2 MODE: 0 (HSC0) от 0 до 11 (HSC1 или 2) N: от 0 до 2

Быстрые счетчики подсчитывают быстрые события , которыми невозможно управлять с частотой циклической обработки программы контроллера .
• HSC0 представляет собой реверсивный счетчик , который поддерживает тактовый вход . Ваша программа управляет направлением счета ( или назад ) через бит управления направлением . Максимальная частота счета данного счетчика составляет 2 кГц .
• HSC1 и HSC2 представляют собой универсальные счетчики , которые можно конфигурировать согласно одному из двенадцати различных режимов счета . Различные режимы счета приведены в таблице 9–6. Максимальная частота счета счетчиков HSC1 и HSC2 определяется Вашим CPU
Каждый счетчик имеет в своем распоряжении особые входы , поддерживающие такие функции , как датчик тактовых импульсов , управление направлением счета , сброс и запуск . Для двухфазных счетчиков оба датчика тактовых импульсов могут работать с максимальной частотой . В случае A/B– счетчиков ( квадратурных режимах ) Вы можете выбирать однократную или четырехкратную скорость счета . HSC1 и HSC2 полностью не зависят друг от друга и не влияют на другие быстрые операции . Оба счетчика работают с максимальной частотой , не оказывая друг на друга отрицательного воздействия .

Работа счетчика со входом
сброса
и без входа запуска

Работа счетчика со входом
сброса и запуска

Слайд 14

Работа счетчика со входом сброса и без входа запуска

назад

Работа счетчика со входом сброса и без входа запуска назад

Слайд 15

Работа счетчика со входом сброса и запуска

Работа счетчика со входом сброса и запуска

Слайд 16

Режимы быстрых счетчиков

Режимы быстрых счетчиков

Слайд 17

Режимы быстрых счетчиков

Режимы быстрых счетчиков

Слайд 18

Режимы быстрых счетчиков

Режимы быстрых счетчиков

Слайд 19

Режимы быстрых счетчиков

Режимы быстрых счетчиков

Слайд 20

Операнды управления

HSC1 и HSC2 имеют в своем распоряжении три управляющих бита

Операнды управления HSC1 и HSC2 имеют в своем распоряжении три управляющих бита
, с помощью которых можно конфигурировать активное состояние входов сброса и запуска и выбирать однократную или четырехкратную скорость счета ( в A/B–счетчиках ). Эти биты находятся в управляющем байте соответствующего счетчика и используются только тогда , когда выполняется операция HDEF.

После определения счетчика и режима счета Вы можете программировать динамические параметры счетчика . Каждый быстрый счетчик имеет управляющий байт , который активизирует или блокирует счетчик , а также устанавливает , в каком направлении должен происходить счет ( режимы 0, 1 и 2). Управляющий байт задает также начальное направление счета для всех других режимов счета , а также текущее и предварительно установленное значения , которые должны загружаться . Управляющий байт и назначенные текущее и предварительно установленное значения проверяются при выполнении операции HSC.

Слайд 21

Операнды управления

Каждый быстрый счетчик имеет в своем распоряжении текущее значение и

Операнды управления Каждый быстрый счетчик имеет в своем распоряжении текущее значение и
предварительно установленное значение размером 32 бита в каждом случае . Оба значения являются целыми числами со знаком . Чтобы загрузить новое текущее или предварительно установленное значение в быстрый счетчик , Вам нужно настроить управляющий байт и байты специальных меркеров , которые содержат текущие и /или предварительно установленные значения . Потом выполните операцию HSC, чтобы передать новые значения в быстрые счетчики . Таблица описывает байты специальных меркеров , которые содержат новые текущие и предварительно установленные значения .

Дополнительно к управляющим байтам и байтам , содержащим новые текущие и предварительно установленные значения , можно считывать текущее значение быстрого счетчика также путем задания области памяти HC ( значение быстрого счетчика ) и номера счетчика (0, 1 или 2). Таким способом , Вы можете считывать текущее значение непосредственно . Однако для записи Вам нужно использовать описанную выше операцию HSC.

Слайд 22

Операнды управления

Каждый быстрый счетчик имеет байт состояния , предоставляющий в распоряжение

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

Биты состояния HSC0, HSC1 и HSC2 действительны только во время обработки программы прерываний для быстрых счетчиков . Когда Вы контролируете состояния быстрых счетчиков Вы можете разблокировать прерывания для событий , влияющих на обрабатываемую операцию .

Слайд 23

Пример инициализация счетчика


Чтобы инициализировать HSC1 например как однофазный реверсивный счетчик

Пример инициализация счетчика Чтобы инициализировать HSC1 например как однофазный реверсивный счетчик с
с внешним управлением направлением счета (режим 3, 4 или 5), действуйте следующим образом :

Режим
3,4,5

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

2. В подпрограмме инициализации загрузите SM47 желаемыми установками . Например :
SM47 = 16#F8, активизирует счетчик записывает новое текущее значение записывает новое предварительно установленное значение устанавливает прямой счет устанавливает активность входов запуска и сброса на значение “высокая”.

3. Выполните операцию HDEF. При этом вход HSC установлен в “1”, а вход MODE установлен либо в “3”, если нет внешнего сброса или запуска , либо в “4”, если есть внешний сброс и нет запуска , либо в “5”, если есть внешний сброс и запуск . 4. Загрузите желаемое текущее значение в SM48 ( слово ). (Если Вы загружаете значение “0”, то меркер сбрасывается ). 5. Загрузите желаемое предварительно установленное значение в SM52 ( слово ).

6. Запрограммируйте прерывание , назначив событие прерывания PV = CV (13) соответствующей программе обработке

Слайд 24

Операции с быстрыми выходами

Операция Вывод импульсов проверяет специальные меркеры для этого

Операции с быстрыми выходами Операция Вывод импульсов проверяет специальные меркеры для этого
импульсного выхода (x). Потом вызывается импульсная операция , определенная в специальных меркерах .
Операнды :x: от 0 до 1

Некоторые CPU могут через выходы A0.0 и A0.1 либо порождать быстрые последовательности импульсов (PTO = pulse train output), либо управлять широтно –импульсной модуляцией (PWM = pulse width modulation).

Функция PTO обеспечивает на выходе последовательность прямоугольных импульсов (относительная длительность включения 50%) с определенным количеством импульсов и фиксированным периодом следования .
Количество импульсов может лежать в диапазоне от 1 до 4.294.967.295. Период может задаваться в микросекундах ( 250 до 65.535) или в миллисекундах ( 2 до 65.535). Нечетное число микросекунд или миллисекунд вызывает искажение относительной длительности включения .

Функция PWM обеспечивает фиксированный период следования импульсов с переменной относительной длительностью включения . Период следования и длительность импульсов могут задаваться в микро - или миллисекундах . Период следования лежит в диапазоне от 250 до 65.535 микросекунд или в диапазоне от 2 до 65.535 миллисекунд . Длительность импульсов лежит в диапазоне от 0 до 65.535 микросекунд или в диапазоне от 0 до 65.535 миллисекунд . Если длительность импульсов и период следования равны , то относительная длительность включения составляет 100%, и выход является постоянно включенным . Если длительность импульсов равна нулю , то относительная длительность включения составляет 0%, и выход выключается . Если период следования задается меньшим , чем две единицы времени , то период следования принимает значение по умолчанию , равное двум единицам времени.

Слайд 25

Специальные меркеры быстрых выходов

Специальные меркеры быстрых выходов

Слайд 26

Специальные меркеры быстрых выходов

Специальные меркеры быстрых выходов

Слайд 27

Инициализация выхода в режиме РТО

1. Сбросьте выход в “0” с помощью меркера

Инициализация выхода в режиме РТО 1. Сбросьте выход в “0” с помощью
первого цикла и вызовите подпрограмму , в которой выполняется инициализация .

Слайд 28

Инициализация выхода в режиме РWM

1. Сбросьте выход в “0” с помощью меркера

Инициализация выхода в режиме РWM 1. Сбросьте выход в “0” с помощью
первого цикла и вызовите подпрограмму , в которой выполняется инициализация .

Слайд 29

Прерывания управляемые временем

S7–200 может поддерживать одно или несколько прерываний , управляемых

Прерывания управляемые временем S7–200 может поддерживать одно или несколько прерываний , управляемых
временем. С помощью прерываний , управляемых временем , Вы можете определять действия , которые должны выполняться периодически . Период задается с шагом 1 мс , значения лежат в диапазоне от 5 мс до 255 мс . Период для управляемого временем прерывания 0 запишите в SMB34, период для управляемого временем прерывания 1 запишите в SMB35.

Управляемое временем событие прерывания вызывает соответствующую программу обработки прерываний каждый раз , когда истекает время . В общем случае с помощью управляемых временем событий прерываний Вы управляете регулярным опросом аналоговых входов . Управляемое временем прерывание разблокируется и время начинает отсчитываться , когда Вы назначаете программу обработки прерываний управляемому временем событию прерывания . При этом система фиксирует период , чтобы последующие изменения не влияли на период . Если Вы хотите изменить период , то Вам нужно задать новое значение для периода и затем снова назначить программу обработки прерываний управляемому временем событию прерывания . При новом назначении эта функция стирает накопленное значение времени предыдущего назначения , и время начинает отсчитываться с новым значением периода . После разблокировки прерывание , управляемое временем , функционирует непрерывно и обрабатывается каждый раз , когда истекает заданный интервал времени . Если Вы выходите из режима RUN или отделяете прерывание от программы обработки прерываний (DTCH), то управляемое временем прерывание блокируется . Если Вы выполняете операцию “Блокировка всех событий прерываний ”, то управляемые временем прерывания в дальнейшем хотя и появляются , однако ставятся в очередь ( тех пор , пока либо прерывания снова не разблокируются , либо очередь не переполнится ).

Слайд 30

Пример считывания состояния аналогового входа

1. Под управлением бита первого скана, вызывается

Пример считывания состояния аналогового входа 1. Под управлением бита первого скана, вызывается
подпрограмма инициализации управляемого временем прерывания

2. Командой перемещения устанавливается временной интервал 100 мс. Разблокируются все прерывания, и событию 10 присваивается программа обработки прерывания с номером 0.

3. Программа обработки прерывания будет исполняться с периодичностью 100 мс., тем самым считывая значение аналогового входа в память VW100

Имя файла: Операции-управления-программой.pptx
Количество просмотров: 36
Количество скачиваний: 0