Область памяти

ЛЕКЦИЯ №17

БЛОК MOVE

ДАННЫХ Integer, Double, Real

ИНСТРУКЦИИ СРАВНЕНИЯ ДЛЯ ТИПОВ

Вы можете использовать следующие инструкции сравнения:

• CMP I : Сравнение чисел типа Integer

• CMP D : Сравнение чисел типа Double Integer

• CMP R : Сравнение чисел типа Real

 

Инструкция CMP I :Сравнить целые числа может использоваться как обыкновенный контакт в любом удобном месте контактного плана. Эта инструкция сравнивает входы IN1 и IN2 в соответствии с типом сравнения, выбираемым из окна списка. Если условие сравнения выполняется, то RLO получает значение "1". Он сопрягается с результатами опроса последующих логических операций по схеме И, если они находятся в последовательной цепи и по схеме ИЛИ в случае параллельной цепи.

 

MOVE : Передача значения

Инструкция MOVE (Передать значение) активируется при разрешении на входе EN. Значение, указанное на входе IN, копируется в адрес, указанный на выходе OUT. ENO имеет то же состояние сигнала, что и EN. Инструкция MOVE позволяет передавать данные с шириной доступа BYTE, WORD или DWORD. Типы данных, определенные пользователем, такие как массивы или структуры, должны копироваться с помощью системной функции ”BLKMOV” (SFC 20).

MCR : Влияние главного управляющего реле Влияние главного управляющего реле (MCR) проявляется только в случае, если инструкция Move находится внутри MCR зоны. В этом случае, внутри зоны MCR, если функция MCR включена и разрешающий сигнал подан на вход EN; данные будут скопированы , как описано ранее. Если функция MCR выключена, то при выполнении функции MOVE , значение "0" будет записано в указанный адрес на выходе OUT независимо от содержимого входа IN .

 

Замечание

При передаче значений между переменными различной ширины доступа, старшие байты отсекаются или заполняются нулями:

 

 

Рис. 16.2.

Область памяти и компоненты таймера

Таймеры имеют область, зарезервированную для них в памяти Вашего CPU. Эта область памяти резервирует одно 16-битное слово для каждого таймерного адреса. При программировании в КОP поддерживаются 256 таймеров. Для определения точного количества таймеров, Вам необходимо обратиться к руководству на Ваш контроллер. К области памяти таймеров имеют доступ следующие функции:

• Таймерные инструкции

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

Значение времени

Биты с 0 по 9 в таймерном слове содержат значение времени в двоичном коде. Значение времени задает количество временных отрезков. Когда таймер актуализируется, значение времени уменьшается на одну единицу через интервалы, установленные базой времени. Значение времени уменьшается до тех пор, пока оно не станет равным нулю. Вы можете задавать значение времени в двоичном, шестнадцатиричном или двоично-десятичном коде(BCD). Вы можете загрузить значение времени с использованием следующего синтаксиса:

• W#16#wxyz , где

-w - база времени ( временной интервал или разрешение)

-xyz – значение времени в BCD коде

• S5T#aH_bM_cS_dMS

- где: a = часы, b = минуты, c = секунды и d = миллисекунды

- База времени выбирается автоматически и значение округляется до ближайшего меньшего числа с этой базой времени.

Максимальное время, которое Вы можете ввести, составляет 9 990

секунд или 2H_46M_30S.

S5TIME#4S = 4 секунды

s5t#2h_15m = 2 часа и 15 минут

S5T#1H_12M_18S = 1 час, 12 минут и 18 секунд

База времени

Биты 12 и 13 в таймерном слове содержат базу времени в двоичном коде. База времени определяет интервал времени, через который значение времени уменьшается на одну единицу . Минимальная база времени равна 10 мс; максимальная - 10 с.

S_PULSE : Задание параметров и запуск таймера «Импульс»

S_PULSE : (S5 таймер «Импульс») запускает заданный таймер по нарастающему фронту (изменение состояния сигнала с 0 на 1) на входе запуска (S). Для запуска таймера всегда необходимо изменение сигнала. Таймер продолжает работать в течение времени, заданного на входе TV, пока состояние сигнала на входе S остается равным 1. Пока таймер работает, опрос выхода Q на высокий уровень дает результат логической операции 1. Если на входе S сигнал меняется с 1 на 0 до истечения заданного времени, таймер останавливается. Тогда опрос состояния сигнала на 1 на выходе Q дает 0. Если во время работы таймера происходит изменение с 0 на 1 сигнала на входе сброса (R), то таймер сбрасывается. Это изменение сбрасывает в ноль время и базу времени. Единица на входе R таймера не оказывает никакого влияния если таймер не работает. Текущее значение времени может быть считано на выходах BI и BCD. Значение времени на выходе BI представлено в двоичном формате, а на BCD - в двоично-десятичном формате. Текущее время равно разнице между начальным значением, заданным на входе TV и временем, прошедшим с момента запуска таймера.

 

S_PEXT : : Задание параметров и запуск таймера «Удлиненный импульс»

S_PEXT:(S5 таймер «Удлиненный Импульс») запускает заданный таймер, по нарастающему фронту на входе запуска (S). Для запуска таймера всегда необходимо изменение сигнала. Таймер продолжает работать в течение времени, заданного на входе TV, даже если состояние сигнала на входе S меняется на 0 до истечения заданного времени. Пока таймер работает выход Q выдает сигнал 1. Таймер перезапускается с заданным временем, если состояние сигнала на входе S меняется с 0 на 1 во время работы таймера. Если во время работы таймера происходит изменение с 0 на 1 сигнала на входе сброса (R), то таймер сбрасывается. Это изменение сбрасывает в ноль время и базу времени. Текущее значение времени может быть считано на выходах BI и BCD. Значение времени на BI представлено в двоичном формате, а на BCD – в двоично-десятичном формате. Текущее время равно разнице между начальным значением, заданным на входе TV и временем , прошедшим с момента запуска таймера.

S_ODT : Задание параметров и запуск таймера «Задержка включения»

S_ODT: (таймер «Задержка включения») запускает заданный таймер если имеется нарастающий фронт (изменение состояния сигнала с 0 на 1) на входе запуска (S). Для запуска таймера всегда необходим фронт сигнала. Таймер продолжает работать в течение времени, заданного на входе TV, пока состояние сигнала на входе S равно 1. Выход Q выдает 1, когда время истекло без ошибок при состоянии сигнала на входе S равном 1. Если состояние сигнала на входе S меняется с 1 на 0 во время работы таймера, таймер останавливается. В этом случае выход Q остается в 0. Если вовремя работы таймера происходит изменение с 0 на 1 сигнала на входе сброса (R), то таймер сбрасывается. Это изменение сбрасывает в ноль время и базу времени. На выходе Q выдается 0. При этом таймер сбрасывается независимо от сигнала на входе S . Текущее значение времени может быть считано на выходах BI и BCD. Значение времени на BI представлено в двоичном формате, а на BCD – в двоично-десятичном формате. Это время равно разнице между начальным значением, заданным на входе TV и временем , прошедшим с момента запуска таймера.

 

S_ODTS : Задание параметров и запуск таймера «Задержка включения с памятью»

S_ODTS: ( Таймер «Задержка включения с памятью») запускает заданный таймер, если имеется нарастающий фронт на входе запуска (S). Для запуска таймера всегда необходимо изменение сигнала. Таймер продолжает работать в течение времени, заданного на входе TV, даже если состояние сигнала на входе S меняется на 0 до истечения заданного времени. Состояние сигнала на выходе Q выдает значение 1, по истечении заданного времени, независимо от состояния сигнала на входе S. Таймер перезапускается с заданным временем, если состояние сигнала на входе S меняется с 0 на 1 во время работы таймера. Изменение с 0 на 1 сигнала на входе сброса (R) таймера сбрасывает таймер независимо от состояния RLO на входе S. Текущее значение времени может быть считано на выходах BI и BCD. Значение времени на BI представлено в двоичном формате, а на BCD - в двоично-десятичном формате. Это время равно разнице между начальным значением, заданным на входе TV и временем , прошедшим с момента запуска таймера.

 

S_OFFDT : Задание параметров и запуск таймера «Задержка выключения»

S_OFFDT : ( Таймер «Задержка выключения») запускает заданный таймер, если имеется падающий фронт на входе запуска (S). Для запуска таймера всегда необходимо изменение сигнала. Выход Q равен 1, когда состояние сигнала на входе S равно 1 или пока таймер работает. Таймер сбрасывается, когда состояние сигнала на входе S меняется с 0 на 1 во время работы таймера. Таймер не перезапускается, пока состояние сигнала на входе S снова не изменится с 1 на 0.Изменение с 0 на 1 сигнала на входе сброса (R) таймера во время его работы сбрасывает таймер. Текущее значение времени может быть считано на выходах BI и BCD. Значение времени на BI представлено в двоичном формате, а на BCD - в двоично-десятичном формате. Это время равно разнице между начальным значением, заданным на входе TV и временем , прошедшим с момента запуска таймера.