Программируемые управляющие устройства VersaMax (ПЛК Micro и ПЛК Nano). Руководство пользователя (2002 год) - часть 10

 

  Главная      Книги - Разные     Программируемые управляющие устройства VersaMax (ПЛК Micro и ПЛК Nano). Руководство пользователя (2002 год)

 

поиск по сайту            правообладателям  

 

   

 

   

 

содержание      ..     8      9      10      11     ..

 

 

 

Программируемые управляющие устройства VersaMax (ПЛК Micro и ПЛК Nano). Руководство пользователя (2002 год) - часть 10

 

 

12
Предельные значения длительностей импульса: 1.5кОм согласующий
резистор - UDD104/110 & NDD101
Duty Cycle vs . Fre que ncy
Duty Cycle vs . Fre que ncy
(Q1-Q4 on UDD104/110 & NDD101)
(Q1-Q4 on UDD104/110 & NDD101)
18.0
100.0
16.0
98.0
14.0
96.0
12.0
94.0
10.0
92.0
8.0
90.0
6.0
88.0
4.0
86.0
2.0
84.0
0.0
82.0
0
1000
2000
3000
4000
5000
0
1000
2000
3000
4000
5000
Fre que ncy (Hz)
Fr e que ncy (Hz)
Typ Min (% duty cycle)
Worst Case Min (% duty cycle)
Typ Max (% duty cycle)
Worst Case Max (% duty cycle)
12-14
12
Выходные каналы высокоскоростного счетчика
Каждый выходной канал счетчика имеет заданное положение включения и
выключения, которое должно находиться между сконфигурированными нижним и
верхним предельными значениями счетчика. И значения положений включения и
предельные значения изначально устанавливаются как часть конфигурации ПЛК.
Положения могут быть изменены в процессе работы при помощи функции
COMMREQ, как описано ниже в этой главе.
Состояние выхода показывает, когда значение аккумулятора находится между
положениями включения и выключения счетчика. Например, для счетчика типа B:
ОТСЧЕТЫ
АККУМУЛЯТОР
ВЫКЛЮЧЕНО
НАЧАЛЬНОЕ
ЗНАЧЕНИЕ
ВКЛЮЧЕНО
НАЧАЛЬНОЕ
ЗНАЧЕНИЕ
время
Включен
СООТВЕТСТВУЮЩИЙ
ВЫХОД
Выключен
Если выходной канал высокоскоростного счетчика включен, выходной канал
включается, как описано в описании счетчиков типа A и типа B.
Минимальный интервал. который должен быть сконфигурирован между значениями
положений включения и выключения счетчика зависит от частоты счета.
Для данной частоты счета:
Минимальный интервал между значениями
положений включения и выключения
счетчика должен быть:
10кГц
10 отсчетов
5кГц
5 отсчетов
2кГц
2 отсчетов
1кГц
1 отсчет
менее 1кГц
интервал не требуется
Глава 12 Высокоскоростной счетчик, широтно-импульсная и число-импульсная модуляция
12-15
12
Выходные каналы ШИМ
Выходные каналы ШИМ могут быть использованы для управления шаговыми
двигателями и двигателями постоянного тока. Конфигурирование выходного канала
как выходного канала ШИМ происходит в конфигурации ПЛК.
Выходной канал ШИМ включается из прикладной программы путем присвоения
биту включения выходного канала значения 1. Выходной канал выключается путем
присвоения биту включения выходного канала значения 0. Однажды начав работу,
выходной канал ШИМ продолжает функционировать до тех пор пока не будет
получена новая конфигурация, не произойдет сохранения (логики и/или
конфигурации), пока не произойдет запись в устройство хранения информации
пользователя или не будет сброшен бит включения выходного канала. Выходной
канал ШИМ также завершит работу, если будет назначена неверная частота или
величина длительности импульса.
Когда ПЛК переходит из режима Run в режим Stop, выходные каналы ШИМ
продолжают работать. Выходные каналы ШИМ также продолжают работу при сбое
питания. Поэтому, если ШИМ работает при потере напряжения, то он снова начнет
работать при восстановлении питания. ПЛК перейдет в режим Run, и биту
включения выходного канала присвоится значение 1.
Частота выходного канала ШИМ (от 15Гц до 5кГц) задается из прикладной
программы путем записи значения в соответствующую ячейку частоты, как
показано ниже. Длительность импульса ШИМ выбирается путем использования
соответствующей ячейки длительности импульса. И частота и длительность
импульса могут быть изменены при включенном выходном канале. Минимальное и
максимальное значения зависят от частоты.
Выход 1
Выход 2
Выход 3
Выход 4
Описание
AQ002
AQ004
AQ006
AQ008
Частота ШИМ (от 15 до 5000)
AQ003
AQ005
AQ007
AQ009
Длительность импульса ШИМ (0 -
10000)
Q0505
Q0506
Q0507
Q0508
Включить выход 1
12-16
12
Числоимпульсные выходы
Числоимпульсные выходы могут быть использованы для управления шаговыми
двигателями. Конфигурирование выхода для работы в качестве числоимпульсного
производится в конфигурации ПЛК. Частота импульса (от 15Гц до 5кГц) может
управляться из прикладной программы путем записи значения в соответствующую
ячейку частоты, как показано в приведенной ниже таблице. Частота импульса может
быть изменена во время работы числового импульса. Количество импульсов на
выходе (от 0 до 65535) выбирается исходя из соответствующего числа в ячейке
импульсов.
Последовательность импульсов начинается, когда прикладная программа
выставляет бит начала последовательности равным 1. Начало последовательности
импульсов удаляет соответствующий бит завершения последовательности. Когда
пройдет заданное количество импульсов, соответствующему биту завершения
последовательности присваивается значение 1, а бит начала последовательности
удаляется. Когда последовательность импульсов началась, она продолжается пока
она не завершится или пока не будет сброшен бит включения выхода. Когда ПЛК
переходит из режима Run в режим Stop, числоимпульсные выходы продолжают
работу. Числоимпульсные выходы перезапускаются после сбоя питания, если
выполняются определенные условия. Поэтому, если числоимпульсный выход
работает при потере напряжения, он будет перезапущен при восстановлении
питания, когда ПЛК перейдет в режим Run с одновременно включенными битами
включения выхода и начала импульсной последовательности.
Выход 1
Выход 2
Выход 3
Выход 4
Описание
AQ123
AQ125
AQ127
AQ121
Частота импульсной последовательности (от 15 Гц
до 5 Гц)
AQ124
AQ126
AQ128
AQ122
Количество импульсов для отправки на выход (от 0
до 65535)
Q0505
Q0506
Q0507
Q0508
Выход включен
Q0494
Q0495
Q0496
Q00511
Начало импульсной последовательности
I0494
I0495
I0496
I00511
Импульсная последовательность завершена
Глава 12 Высокоскоростной счетчик, широтно-импульсная и число-импульсная модуляция
12-17
12
Загрузка корректировок для выходов ШИМ и числоимпульсных
выходов
Выходы ШИМ имеют выбираемую длительность импульса и числоимпульсные
выходы имеют номинальную длительность цикла в 50%, но оптические изоляторы
ПЛК искажают длительность импульса в зависимости от температуры и нагрузки.
Для компенсации этого эффекта в ПЛК к начальному времени выхода каждого
импульса добавляются дополнительные 35 микросекунд (для полупроводниковых
выходов, 85 микросекунд для релейных моделей). Коррекция может быть изменена
в интервале от 0 до 200 микросекунд путем отправки нового значения в
COMMREQ, как описано ниже в этой главе.
Пример приведен ниже. На диаграмме T0 - это время выключения, которое равно
1
1
+
Correction
, где f - частота импульса.
T1=
, T2 = задержка оптического
2
f
2
f
изолятора и T1+T2 = время включения.
Выходное
напря-
жение
T0
T1
T2
T0
T1
T2
Время
12-18
12
Данные команд для функций ВСС/ШИМ/ЧИМ
Прикладная программа может использовать функцию COMMREQ для сохранения
данных или отправке доступных в настоящее время команд высокоскоростному
счетчику, числоимпульсным выходам или выходам ШИМ:
Загрузка Аккумулятора
Загрузка верхнего и нижнего предельных значений
Загрузка шага аккумулятора
Выставить направление счетчика
Загрузка интервала
Загрузка положений включения и выключения
Загрузка начального значения
Загрузка корректировок
Логика программы должна отправлять эти команды в модуль один раз, а не
циклически. Эти изменения временные; они теряются при выключении питания
ПЛК и при сохранении новой конфигурации из программатора.
Командный блок
Данные команды должны быть размещены в правильном порядке (в командный
блок) в памяти ЦПУ перед выполнением команды. Командный блок составляется из
14 слов, как показано ниже. Все значения в шестнадцатиричном формате, если не
указано иное. Командный блок может быть размещен в любой не
зарезервированной слово-ориентированной области памяти.
Размещение
Данные
Описание
%R0001
0004
Всегда 0004
%R0002
безразличное
не используется (всегда ноль). ПЛК Micro игнорирует флаг Wait для
состояние
всех функций COMREQ.
%R0003
безразличное
не используется
состояние
%R0004
безразличное
не используется
состояние
%R0005
безразличное
не используется
состояние
%R0006
безразличное
не используется
состояние
%R0007
безразличное
не используется
состояние
%R0008
безразличное
не используется
состояние
%R0009
0008
Тип данных (8 = регистры)
%R0010
000A
Начало расположения слова команды -1 (%R0011)
%R0011
nnnn
Слово команды
%R0012
nnnn
младшее слово данных
%R0013
nnnn
Старшее слово данных не используется ПЛК Micro
Глава 12 Высокоскоростной счетчик, широтно-импульсная и число-импульсная модуляция
12-19
12
Последние три слова обрабатываются как независимые байты. Они могут быть
введены в шестнадцатиричном или десятичном формате. Формат для последних
трех слов:
MSB LSB
слово команды
0n
cc
слово данных
где: n=Счетчик 1-4
(младший разряд)
cc=код команды
dd
dd
Слово данных
dd=тип данных
(старший разряд)
dd
dd
Содержимое слов команд
Содержимое командных слов приведено ниже. В таблице для типа A, n = счетчик
#1-4. Для типа B, n = счетчик #1 (только счетчик 1 является счетчиком типа В)
Командное слово
Команда
Описание
(шестнадцатиричное)
0n01
Загрузка
Загружает любое значение в пределах предельных значений счетчика непосредственно в
Аккумулятора
Аккумулятор. Если отсчет получен в этот момент, то отсчет теряется.
Пример: Для установки счетчика 1 в 1234H, загрузите командой COMREQ регистры с:
Командное слово: 0101
Младшее слово данных: 1234
0n02
Загрузка
Устанавливает значение верхнего и нижнего предела из диапазона счетчика. Выставляет
верхнего
первым нижний предел при убывающем счете или верхний предел - при возрастающем.
предельного
Загрузка предельных значений в неправильном порядке может вызвать ошибку. Команда
значения
будет успешно выполнена, если все параметры находятся внутри нового диапазона.
0n03
Загрузка
Пример: Для изменения верхнего предельного значения счетчика 1 на 10000 (2710H),
нижнего
загрузите регистры с :
предельного
Командное слово: 0102
значения
Младшее слово данных: 2710
0n04
Загрузка
Смещение аккумулятора счетчика вплоть до +127 или -128 отсчетов. Эта команда
коррекции
использует только самый младший разряд данных. Это может быть сделано в любое время,
Аккумулятора
даже когда счетчик считает с максимальной скоростью. Однако, если отсчет будет получен
в момент, когда ЦПУ обновляет значение аккумулятора, то отсчет будет потерян. Если
смещение вызывает достижение счетчиком его предельных значений, то этот параметр
отбрасывается.
Пример: Для смещения счетчика 1 на -7 отсчетов, загрузите:
Командное слово: 0104
Младшее слово данных: 00F9
0n05
Установка
(Только тип A) Изменение направления счетчика типа A. Только младший разряд слова
направления
данных используется для этой команды (00 = вверх, 01 = вниз).
счетчика
Пример: Чтобы установить направление счетчика 4 вниз, загрузите:
Командное слово: 0405
Младшее слово данных: 0001
12-20
12
Командное слово
Команда
Описание
(шестнадцатиричное)
0n06
Загрузка
Изменение временного интервала, используемого для слова данных отсчетов за интервал.
интервала
Диапазон составляет от 10 до 1000мс с интервалом в 10мс.
Пример: Для изменения интервала для счетчика 1 на 600 мс (258H), загрузите:
Командное слово: 0106
Младшее слово данных: 0258
0n0B
Загрузка
Устанавливает положения включения выходных каналов в диапазоне счетчика. Каждому
положения
счетчику соответствует один выходной канал. Для соответствующих установок положений
включения
см. предыдущую информацию.
Пример: Для установки выходного канала счетчика 1 во включенное состояние с 5000
(1388H) отсчетов, загрузите:
Командное слово: 010B
Младшее слово данных: 1388
0n15
Загрузка
Устанавливает положения выключения выходных каналов в диапазоне счетчика. Каждому
положения
счетчику соответствует один выходной канал. Для соответствующих установок положений
выключения
см. предыдущую информацию.
Пример: Для установки выходного канала счетчика 1 в выключенное состояние с 12000
(2EE0H) отсчетов, загрузите:
Командное слово: 0115
Младшее слово данных: 2EE0
0n1F
Загрузка
Изменения значения отсчета, загружаемое в аккумулятор счетчика при активизации
начального
входного канала загрузки.
значения
Пример: Чтобы счетчик 1 стартовал с 2500 (09C4H) отсчетов по сигналу загрузки,
загрузите:
Командное слово: 011F
Младшее слово данных: 09C4
0n3E
Загрузка
Устанавливает изменение (в микросекундах), которое должно быть добавлено к
корректи-
длительности импульса числоимпульсного выхода для компенсации медленного времени
ровки
выключения цепи оптического изолятора ( 35 микросекунд - выходные каналы постоянного
тока; 85 микросекунд - релейные выходные каналы). Диапазон составляет от 0 до 200
микросекунд.
Пример: для изменения длительности импульса в числоимпульсном выходе 1 на 100
(64H), загрузите:
Командное слово: 013E
Младшее слово данных: 64
Глава 12 Высокоскоростной счетчик, широтно-импульсная и число-импульсная модуляция
12-21
12
Обработка ошибок в командном слове
Если модуль получает неверный командный параметр в Командном слове, он
возвращает приведенную ниже информацию в первом слове его входных данных
(AI):
Примечание: Если ваша программа выдает команду COMMREQ, которая меняет
направление счета, то счетчик незамедлительно перейдет в новый режим. Имейте в
виду, что выходной канал суммирующего счетчика не меняет состояния в тех же
точках, что и вычитающего счетчика.
Код
Описание
Описание
ошибки
0-2
не используется
нет
3
Неверная команда
Полученный номер команды был неверным для счетчика.
4-5
не используется
нет
6
Неверный номер счетчика
Номер счетчика в данных командного слова не является
правильным для действующей конфигурации.
7-10
не используется
нет
11
Ошибка предельного значения
Конфигурируемое предельное значение счетчика было
счетчика 1
отклонено, поскольку новый
12
Ошибка предельного значения
набор значений будет несовместимым (Верхний предел < >
счетчика 2
Нижний предел)
13
Ошибка предельного значения
с текущими значениями верхнего и нижнего предельного
счетчика 3
значения.
14
Ошибка предельного значения
счетчика 4
12-22
12
Биты статуса
Данные биты статуса являются частью %I входных данных и могут влиять на
выходные каналы, отправляемые на функцию счетчика. Приведенные ниже %I
ячейки зарезервированы для этих бит статуса.
512
511 510 509
508
507
506
505
504 503
502
501
500
499
498
497
Статус выхода счетчика 1
Статус фиксации счетчика 1
Статус фиксации счетчика 2
Статус выхода счетчика 2
Статус фиксации счетчика 3
Статус выхода счетчика 3
Статус фиксации счетчика 4
Статус выхода счетчика 4
Статус загрузки счетчика 1
Модуль готов (всегда 1)
Статус загрузки счетчика 2
не используется (всегда 0)
Статус загрузки счетчика 3
Статус ошибка счетчика
Статус загрузки счетчика 4
Статус Загрузки/Фиксации: Выставляется когда происходит фиксация или
загрузка. Прикладная программа должна сбросить бит при помощи
соответствующего выхода сброса Фиксация/Сброса загрузки.
Модуль готов: Всегда 1.
Ошибка: Устанавливается для индикации ошибки. Код ошибки возвращается в
коде Статуса счетчика (слово 1). Зарегистрированная ошибка должна быть удалена
при помощи выхода удаления ошибок.
Глава 12 Высокоскоростной счетчик, широтно-импульсная и число-импульсная модуляция
12-23
12
Пример
В примере используется COMMREQ для загрузки значения 1234 в аккумулятор
счетчика 3.
%T0001
%T0002
(
)
%T0002
BLKMOV
BLKMOV
WORD
WORD
CONST
N1 Q
%R0101
CONST
N1 Q
%R0108
0004
0000
CONST
CONST
IN2
IN2
0000
0008
CONST
CONST
IN3
IN3
0000
006E
CONST
IN4
CONST
IN4
0000
0301
CONST
IN5
CONST
IN5
0000
1234
CONST
IN6
CONST
IN6
0000
0001
CONST
IN7
CONST
IN7
0000
0000
%T0002
COMM
REQ
%M0001
%R0101
IN FT
(
)
CONST
SYSID
0004
CONST
TASK
0000
Первое звено в примере содержит импульсную катушку (%T0002), которая
однократно выполняет COMMREQ. Это предотвращает многократную отправку
сообщений.
Следующее звено использует функцию Block Move Word для загрузки команд. В
этом примере регистры с %R0101 до %R0114 используются для командного блока
COMMREQ. Могут быть использованы любые регистры.
Функция COMMREQ имеет четыре входа и один выход.
Параметр
Описание
включен
%T0002 включает функцию COMMREQ.
IN
Указывает на начальный адрес Командного блока, который равен
%R0101.
SYSID
Показывает какому крейту и слоту отправлять сообщение (физическое
расположение модуля счетчика). SYSID для ПЛК Micro всегда 0004.
TASK
Это параметр игнорируется и должен быть установлен в ноль.
FT
Этот выход активизируется, если в процессе выполнения COMMREQ
была обнаружена ошибка.
12-24
12
Примеры использования высокоскоростного счетчика
Индикатор оборотов
Счетчик может быть использован в качестве индикатора положения/движения при
подсоединении к устройству обратной связи (такому, как энкодер) сопряженному с
круговым движением. Индикация оборотов может быть организована
непосредственно из регистра отсчетов за интервал счетчика (CTB) или путем
простого вычисления.
Обороты (RPM) вычисляются по формуле:
CTB
RPM
=
PPR×T
где:
CTB = отсчеты за интервал, считываемые из счетчика
PPR = импульсы за оборот, производимые устройством обратной
связи
T =
временной интервал в минутах
Если количество импульсов за оборот является целой степенью 10, установка
интервала в 6, 60, 600, 6000 или 60000 организует прямое считывание оборотов в
регистре отсчетов за интервал с соответствующим расположением десятичной
точки.
Пример 1
Если обратная связь создает 1000 импульсов за оборот, значение CTB = 5210, и
интервал сконфигурирован в 600 мс, тогда T = 600мс / 60000мс/мин = .01 и
1/T = 100
5210
RPM =
×100
=
521
1000
Значение CTB содержит обороты с разрешением 0.1 об/мин.
Пример 2
Примем за исходные данные те же условия, что и в примере 1, только на этот раз
установим интервал в 60 мс, что дает:
T = 60/60000 = .0001 и 1/T = 1000.
Поскольку скорость вращения такая же, как и в примере 1, количество отсчетов за
интервал теперь равно 521 и
521
RPM =
×1000
=
521
1000
Значение CTB теперь содержит обороты с разрешением 1об/мин.
Глава 12 Высокоскоростной счетчик, широтно-импульсная и число-импульсная модуляция
12-25
12
Примеры использования
Входные каналы фиксации высокоскоростного счетчика могут действовать как
входы регистрации импульсов для входов 2, 4, 6 и 8 путем использования бит
статуса фиксации в качестве триггера.
Для этого:
1.
Сконфигурируйте ПЛК Micro для использования функции
высокоскоростного счетчика с входом фиксации.
2.
Включите счетчик(и) типа A. (Могут быть включены любой или все из
счетчиков.)
ο Соответствующий бит статуса фиксации будет устанавливаться при
появлении импульса длительностью не менее 100 мкс.
ο Биты сброса бит фиксации могут быть использованы для сброса бит
регистрации.
Пример
Для регистрации импульсов на входе I2 включите счетчик 1 и сконфигурируйте
фиксацию для параметра Загрузка/фиксация.
Бит статуса фиксации будет установлен, если на I2 появится импульс
длительностью в 100 и более микросекунд. Для удаления этого бита, программа
должна записать 1, затем 0 в соответствующий выход.
12-26
Глава
Обработка ошибок
13
В этой главе рассматривается, как ПЛК Micro обрабатывает системные ошибки.
Ошибки и их обработка
Ошибка - это неисправность, которая может повлиять на работу или эффективность
системы. Ошибка может ослабить возможности ПЛК по управлению
оборудованием или процессом.
Обработка ошибок
При обнаружении ошибки ПЛК обрабатывает ее и устанавливает соответствующие
системные биты (см. ‘Таблица системных бит’). ПЛК заносит ошибки в таблицу
ошибок. Существуют две разных таблицы ошибок:
Таблица ошибок ввода-вывода (В/В)
Таблица ошибок ПЛК
Содержание таблиц ошибок может быть просмотрено и очищено с помощью
программатора.
Классы ошибок
ПЛК Micro определяет несколько классов ошибок:
Внутренние повреждения
Обрыв цепей
Ошибки контрольной суммы памяти
Внешние повреждения
Ошибка последовательности
Ошибки в работе
Нарушение связи
Нарушение конфигурации
Нарушение доступа по паролю
13-1
13
Реакция системы на ошибки
Некоторые ошибки допускаются, тогда, как другие требуют выключения ПЛК.
Ошибки В/В могут быть допустимыми для ПЛК, но неприемлемыми для
приложения. Ошибки в работе обычно являются допустимыми.
Действия при ошибках
ПЛК распределяет различные группы ошибок по следующим категориям:
Информационные
Диагностические
Фатальные
ПЛК заносит все ошибки в соответствующие таблицы ошибок. Для
диагностических и фатальных ошибок ПЛК устанавливает соответствующие
диагностические переменные. В следующей таблице приведены влияние ошибки,
соответствующая таблица ошибок и диагностические переменные для различных
типов ошибок. Кроме этого, ПЛК останавливает систему (режим STOP/FAULTED)
для предотвращения возможного повреждения оборудования или нанесения ущерба
здоровью персонала.
Группа ошибок
Влияние
Таблица
Диагностические переменные
ошибок
Несовпадение конфигурации
Фатальная
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
cfg_mm(%SA9)
системы
ПЛК
Несовпадение конфигурации
Фатальная
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
cfg_mm(%SA9)
блока расширения
ПЛК
Повреждение аппаратного
Фатальная
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
hrd_cpu(%SA10)
обеспечения ЦПУ ПЛК
ПЛК
Повреждение программного
Фатальная
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
sft_cpu(%SB13)
обеспечения ПЛК (см. ниже)
ПЛК
Ошибка сохранения в ПЛК
Фатальная
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
stor_er(%SB14)
(см. ниже)
ПЛК
Ошибка контрольной суммы
Фатальная
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
pb_sum(%SA1)
программы
ПЛК
При включении питания
Фатальная
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
no_prog(%SB9)
отсутствует программа
ПЛК
пользователя
Повреждено пользовательское
Фатальная
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
bad_ram(%SB10)
ОЗУ
ПЛК
Неизвестная ошибка ПЛК
Фатальная
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
ПЛК
Неизвестная ошибка В/В
Фатальная
Таблица ошибок
io_flt(%SC11)
any_flt(%SC9)
io_pres(%SC13)
ввода-вывода
Переполнение таблицы
Диагностическая
-
sy_flt(%SC10)
ошибок ПЛК
Переполнение таблицы
Диагностическая
-
io_full(%S10)
ошибок В/В
Группа ошибок
Влияние
Таблица
Диагностические переменные
ошибок
13-2
13
Ошибка приложения
Диагностическая
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
apl_flt(%SA3)
ПЛК
Ошибка пароля доступа
Диагностическая
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
bad_pwd(%SB11)
ПЛК
Превышено время цикла
Диагностическая
Таблица ошибок
sy_flt(%SC10)
any_flt(%SC9)
sy_pres(%SC12)
ov_swp(%SA2)
ПЛК
Потеря блока расширения
Диагностическая
Таблица ошибок
io_flt(%SC11)
any_flt(%SC9)
io_pres(%SC13)
los_iom(%SA14)
ввода-вывода
Добавление блока
Диагностическая
Таблица ошибок
io_flt(%SC11)
any_flt(%SC9)
io_pres(%SC13)
add_iom(%SA19)
расширения
ввода-вывода
Повреждение
Если возникло повреждение программного обеспечения ПЛК, ПЛК немедленно
программного
переходит в режим Error Sweep. Снять эту ошибку можно только выключив и включив
снова питание.
обеспечения ПЛК
Ошибка сохранения Последовательность сохранения - это сохранение программных блоков и других
данных, предваряемых специальной командой начала последовательности и
в ПЛК
завершаемых командой окончания последовательности. При обрыве связи с
программатором или если какая-либо другая ошибка прерывает загрузку,
регистрируется ошибка сохранения в ПЛК. ПЛК не перейдет в режим Run до тех пор,
пока в системе имеется эта ошибка.
Глава 13 Обработка ошибок
13-3
13
Ячейки ошибок
ПЛК имеет набор специальных ячеек ошибок, которые могут быть включены в
приложение для контроля условий ошибок и выполнения определенных действий,
если одна из этих ошибок произошла.
Эти специальные ячейки ошибок остаются установленными до тех пор, пока ПЛК
или прикладная программа их не очистит.
Пример логики программы для ячеек ошибок
Этот пример релейно-контактной логики показывает, как ячейка ошибки ov_swp
может быть использована для контроля превышения времени цикла, а затем
очищена. В этом примере лампа light_01 включается для предупреждения оператора
о превышении времени цикла. После устранения проблемы в приложении, оператор
нажимает кнопку. Контакт программного входа %I0035 пропускает питание на
ячейку ov_swp и сбрасывает ее.
ov_swp
light_01
——| |—————————————————————————————--————————————————( )———
%I0035
ov_swp
——| |————————————————————————————--—————————————————(R)———
13-4
Глава
Организация прикладной программы
14
В этой главе приведена основная информация о прикладной программе.
■ Структура прикладной программы
■ Подпрограммы
■ Языки программирования
■ Набор команд
14-1
14
Структура прикладной программы
Прикладная программа включает в себя всю логику, необходимую для управления
работой ПЛК Nano и Micro.
Прикладные программы создаются с помощью инструментального программного
обеспечения и записываются в ПЛК. Программы хранятся в энергонезависимой
памяти CPU. Максимальный размер программы ПЛК Nano составляет 2K слов.
Максимальный размер программы ПЛК Micro составляет 9K слов.
Во время цикла ЦПУ (описанного в главе 9), ПЛК Micro считывает входные данные
и сохраняет их в сконфигурированных для входных данных ячейках памяти. ПЛК
Micro выполняет сразу всю прикладную программу, используя эти обновленные
входные данные. Выполнение прикладной программы создает новые выходные
данные, которые помещаются в сконфигурированные ячейки памяти.
После выполнения прикладной программы ЦПУ записывает выходные данные в
каналы вывода.
Чтение
входов
Выполнение
Прикладной
Программы
Запись
выходов
14-2
14
Подпрограммы
Программа может состоять из одной основной программы, которая выполняется
полностью в течение каждого цикла CPU.
Основная
программа
Или программу можно разделить на подпрограммы. Максимальный размер
основной программы или блока подпрограммы 16 Кб. Прикладная программа ПЛК
Nano может включать в себя до 8 объявлений подпрограмм. Прикладная программа
ПЛК Micro может включать в себя до 64 объявлений подпрограмм.
Использование подпрограмм может упростить программирование и уменьшить
общее количество логики. Каждая подпрограмма вызывается, когда она требуется.
Основную программу можно использовать для организации вызова подпрограмм.
Подпрограмма
2
Подпрограмма
Программа
3
Подпрограмма
4
К блоку подпрограммы можно обращаться несколько раз во время выполнения
программы. Логика, которая должна повторяться, может быть помещена в блок
подпрограммы, это уменьшает общий объем программы.
Программа
Подпрограмма
2
Помимо того, что вызов подпрограммы может осуществляться из основной
программы, он также может осуществляться из других подпрограмм. Блок
подпрограммы может вызывать сам себя.
Подпрограмма
Основная
2
Подпрограмма
программа
4
Подпрограмма
3
Глава 14 Организация прикладной программы
14-3
14
Основная программа находится на уровне 1. Программа может включать до восьми
вложенных уровней обращения.
Объявление подпрограммы
Подпрограмма должна быть объявлена при помощи редактора объявлений блоков
программного обеспечения.
Вызов подпрограммы
Подпрограмма интегрируется в программу при помощи команды вызова CALL. Для
ЦПУ Micro допускается до 64 объявлений блоков подпрограмм. Для ЦПУ Nano
допускается до 8 объявлений блоков подпрограмм. Независимо от модели ЦПУ,
допускается использование 64 команд CALL для каждого блока программы.
%I0004
%Q0001
%I0006
CALL subroutine
%I0003
%I0010
%Q0010
Блокирование/разблокирование подпрограмм
Блоки подпрограмм могут быть заблокированы и разблокированы с помощью
инструментального программного обеспечения. Существует четыре уровня
блокировки:
Тип
Описание
блокировки
View
Когда блокировка включена, подпрограмма не может быть
просмотрена.
Edit
Когда блокировка включена, подпрограмма не может быть
изменена.
Perm View
Подпрограмма постоянно заблокирована и не может быть
разблокирована.
Perm Edit
Подпрограмма постоянно заблокирована и не может быть
разблокирована.
Постоянно заблокированные подпрограммы не могут быть разблокированы, даже
при копировании, создании резервной копии и восстановлении. Подпрограммы,
предварительно заблокированные от просмотра или редактирования, можно
разблокировать.
14-4
14
Языки программирования
Прикладные программы для ПЛК VersaMax Nano и Micro могут быть созданы на
языке релейно-контактной логики или на языке текстовых команд.
Язык релейно-контактной логики
Это традиционный язык программирования ПЛК, логика ступенчатой структуры
выполняется сверху вниз. Выполнение логики аналогично протеканию
электрического тока, проходящему сверху вниз по левой шине диаграммы и слева
направо в каждом звене.
Реле
Шина
Вход питания функции
Выход питания функции
питания
%I0001
%Q0001
mul
INT
%R0123
IN1
Q
%R0124
Катушка
Функция умножения
CONST
IN2
00002
Прохождение логического питания через каждое звено управляется набором
простых команд, которые работают как механические реле и выходные катушки.
Пропустит ли реле питание логики через звено или нет, зависит от содержимого
ячейки памяти, с которой реле связано в программе. Например, реле может
пропустить питание, если оно связанно с ячейкой памяти содержащей значение 1.
Это реле не пропустит питание, если ячейка памяти содержит значение 0.
Если реле или другая функция в звене не пропускает логическое питание,
оставшаяся часть звена не выполняется. Тогда питание проходит по левой шине к
следующему звену.
Внутри звена может находиться много сложных функций, которые могут быть
использованы для перемещения данных в памяти, выполнения математических
операций и управления связью между ПЛК Micro и другими устройствами в системе.
Некоторые функции, такие как Переход (Jump) и Master Control Relay, могут быть
использованы для управления выполнением самой программы.
Совокупность реле, катушек и функций релейно-контактной логики, называется
системой команд ПЛК Micro.
Глава 14 Организация прикладной программы
14-5
14
Система команд
ПЛК VersaMax Nano и Micro имеют мощную систему команд для создания
прикладных программ.
Для справки о программных возможностях ПЛК VersaMax Micro все реле, катушки,
функции, и другие элементы системы команд собраны на последующих страницах.
Полная информация приведена в главе 16 и встроенной справке инструментального
программного обеспечения.
Контакты
-| |-
Нормально
Пропускает питание, если соответствующая ячейка включена.
разомкнутый
-|/|-
Нормально
Пропускает питание, если соответствующая ячейка
замкнутый
выключена.
<+>---
Продолжение
Пропускает питание направо, если предшествующая катушка
продолжения включена (запитана).
Катушки
-( )-
Обычная
Включает соответствующую ячейку, если катушка получает
питание. В противном случае ячейка отключена.
-(/)-
Инверсия
Включает соответствующую дискретную ячейку, если
катушка не получает питание. В противном случае ячейка
отключена.
-()-
Положительный
Если питание этой катушки было отключено в предыдущем
переход
цикле и в данный момент включено, то катушка включается
на время текущего цикла. В противном случае катушка
отключена.
-()-
Отрицательный
Если питание этой катушки было включено в предыдущем
переход
цикле и в данный момент отключено, то катушка включается
на время текущего цикла. В противном случае катушка
отключена.
-(S)-
SET (фиксация)
Если катушка получает питание, включает соответствующую
дискретную ячейку. Ячейка остается включенной до
выключения катушкой -(R)-.
-(R)-
RESET (сброс)
Если катушка получает питание, выключает
соответствующую дискретную ячейку. Ячейка остается
выключенной до включения катушкой -(S)-.
-(SM)-
Фиксация (SET) с
Включает соответствующую ячейку, если катушка получает
записью
питание. Ячейка остается включенной до отключения
катушкой -(RM)-. Состояние ячейки остается неизменным
при перебоях в питании и останове и перезапуске
контроллера.
-(RM)-
Сброс (RESET) с
Если катушка получает питание, выключает
записью
соответствующую дискретную ячейку. Ячейка выключена до
включения катушкой -(SM)-. Состояние ячейки остается
неизменным при перебоях в питании и останове и
перезапуске контроллера.
14-6
14
-(/M)-
Записываемая
Включает соответствующую дискретную ячейку, если
инверсия
катушка не получает питание. Состояние ячейки остается
неизменным при перебоях в питании и останове и
перезапуске контроллера. В противном случае ячейка
отключена.
-(M)-
Записываемая
Если катушка получает питание, включает соответствующую
катушка
дискретную ячейку. Состояние ячейки остается неизменным
при перебоях в питании и останове и перезапуске
контроллера. В противном случае ячейка отключена.
---<+>
Продолжение
Если на эту катушку подается питание, катушка продолжения
включает следующий контакт продолжения. Если питание
отключено, катушка выключает следующий контакт.
Глава 14 Организация прикладной программы
14-7
14
Таймеры и счетчики
ondtr
Таймер задержки по
Суммирует время при включенном питании. Текущее значение
включению со
обнуляется при прохождении питания на вход сброса (Reset).
сбросом
oftd
Таймер задержки по
Суммирует время при выключенном питании. Текущее
выключению
значение обнуляется при подаче питания.
tmr
Таймер задержки по
Суммирует время при включенном питании. Текущее значение
включению
обнуляется при отключении питания.
upctr
Инкрементный
Увеличивается на 1 каждый раз, когда на вход поступает
счетчик
импульс.
dnctr
Декрементный
Уменьшается от исходного значения на 1 каждый раз, когда на
счетчик
вход поступает импульс.
Математические функции
add
Сложение
Складывает 2 числа.
sub
Вычитание
Вычитает одно число из другого.
mul
Умножение
Умножает 2 числа.
div
Деление
Делит одно число на другое, выводя частное.
mod
Деление по модулю
Делит одно число на другое, выводя остаток.
expt
Степень Х
Возводит X в степень IN и помещает результат в Q.
sin
Тригонометрический
Находит тригонометрический синус вещественного числа
Синус
cos
Тригонометрический
Находит тригонометрический косинус вещественного числа
Косинус
tan
Тригонометрический
Находит тригонометрический тангенс вещественного числа.
Тангенс
asin
Арксинус
Находит арксинус вещественного числа.
acos
Арккосинус
Находит арккосинус вещественного числа.
atan
Арктангенс
Находит арктангенс вещественного числа.
deg
Перевести в градусы
Выполняет преобразование вещественного значения радиан в
градусы.
rad
Перевести в радианы
Выполняет преобразование вещественного значения градусов в
радианы.
scale
Масштабирование
Масштабирует константу или слово.
sqroot
Квадратный корень
Находит квадратный корень целого или вещественного числа.
Log
Десятичный
Находит десятичный логарифм вещественного числа.
логарифм
ln
Натуральный
Находит натуральный логарифм вещественного числа.
логарифм
exp
Экспонента
Возводит основание натурального логарифма в указанную
степень.
14-8
14
Функции сравнения
eq
Равно
Проверяет равенство двух чисел.
ne
Не равно
Проверяет неравенство двух чисел.
gt
Больше
Проверяет, больше ли одно число, чем другое.
ge
Больше или равно
Проверяет, больше или равно одно число, чем другое.
lt
Меньше
Проверяет, больше ли одно число, чем другое.
le
Меньше или равно
Проверяет, меньше или равно одно число, чем другое.
range
Диапазон
Проверяет, находится ли число в диапазоне, ограниченном
двумя числами.
Функции битовых операций
and
Логическое "и"
Выполняет логическое "и" для двух битовых строк.
(AND)
or
Логическое "или"
Выполняет логическое "или" для двух битовых строк.
(OR)
xor
Логическое
Выполняет логическое исключающее "или" для двух битовых
исключающее
строк.
"или"
not
Логическое
Выполняет логическое инвертирование битовой строки.
инвертирование
shl
Смещение влево
Смещает влево битовую строку.
shr
Смещение вправо
Смещает вправо битовую строку.
rol
Циклическое
Циклически смещает влево битовую строку.
смещение влево
ror
Циклическое
Циклически смещает вправо битовую строку.
смещение вправо
bittst
Тест бита
Тестирует бит в битовой строке для определения его состояния.
bitset
Установка бита
Устанавливает для одного из битов в строке значение "истинно"
bitclr
Сброс бита
Устанавливает для одного из битов в строке значение "ложно".
bitpos
Позиция бита
Определяет набор "истинных" битов в строке.
mskcmp
Маскированное
Выполняет маскированное сравнение двух массивов.
сравнение
Глава 14 Организация прикладной программы
14-9
14
Функции Пересылки Данных
move
Пересылка
Пересылает 1 или более бит данных.
blkmov
Пересылка блока
Пересылает блок до 7 констант.
blkclr
Очистка блока
Обнуляет один или более байт/слов памяти.
shfreg
Сдвиг регистра
Сдвигает одно или более слов или бит данных по блоку
памяти.
bitseq
Одноконтактный
Поочередно выдает по 1 биту из хранящейся в памяти
командоаппарат
ПЛК последовательности
comreq
Запрос связи
Посылает запрос связи.
Табличные функции
arrmov
Пересылка массива
Копирует указанное число элементов данных из
исходного массива в указанный массив.
srh eq
Поиск равных
Производит поиск в массиве значений, равных
указанному.
srh ne
Поиск не равных
Производит поиск в массиве значений, не равных
указанному.
srh gt
Поиск больших
Производит поиск в массиве значений, больших
указанного.
srh ge
Поиск больших или
Производит поиск в массиве значений, больших или
равных
равных указанному.
srh lt
Поиск меньших
Производит поиск в массиве значений, меньших
указанного.
srh le
Поиск меньших или
Производит поиск в массиве значений, меньших или
равных
равных указанному.
14-10
14
Функции преобразования
bcd4
Преобразовывает в BCD4
Преобразует целое число в 4значный BCD (двоично-
(из INT)
десятичный) формат.
word
Преобразовывает в
Преобразует REAL в формат WORD.
WORD (из REAL)
int
Преобразовывает в INT
Преобразует число в формат целого числа со знаком.
(из BCD4 или REAL)
tdint
Преобразовывает в DINT
Преобразует число в формат целого числа двойной
(из BCD4 или REAL)
точности.
real
Преобразовывает в REAL
Преобразует значение в формат вещественного числа.
(из INT, DINT, BCD4 или
WORD)
→→int
Отбрасывание до INT (из
Преобразует в 16 битовое число со знаком. Диапазон от -
REAL)
32,768 до +32,767 (дробная часть отбрасывается).
→→dint
Отбрасывание двойной
Преобразует в 32 битовое число со знаком. Диапазон от -
точности
2,147,483,648 до +2,147,483,647 (дробная часть
до INT (из REAL)
отбрасывается).
Глава 14 Организация прикладной программы
14-11
14
Функции управления
call
Вызов
Вызывает указанный блок подпрограммы.
Do io
выполнить В/В
Немедленно обслуживает указанный диапазон входов и
выходов (все входы и выходы модуля будут обработаны, если
какие-либо адреса этого модуля включены в функцию -
частичные обновления модулей В/В не выполняются)
pidind
независимый
Выбирает алгоритм PID в независимом представлении.
алгоритм PID
pidisa
ISA версия
Выбирает алгоритм PID в формате ISA .
алгоритма ПИД
End
Временное
Программа выполняется от первого до последнего звена, или до
окончание логики
команды END, смотря что встретится раньше. Команда полезна
для отладки.
commnt
Комментарий
Пояснение звена.
svcreq
Системный запрос
Специальная сервисная функция ПЛК.
mcr
Master Control
Начинает диапазон принудительного исполнения. MCR
Relay
вызывает принудительное выполнение всех звеньев между
(принудительное
MCR и соответствующей командой ENDMCR без подачи
исполнение)
питания. Уровень вложения MCR может достигать 8.
endmcr
End Master Control
Заканчивает диапазон действия Master Control Relay.
Relay (конец
принудительного
исполнения)
jump
Переход
Переход в место в логике, указанное меткой..
label
Метка
Цель команды перехода. Несколько команд перехода могут
обращаться к одной метке.
drum
Иммитатор
Работает как механический командоаппарат с барабаном,
sequencer
командоаппарата
который формирует 16-разрядный выход, используя массив
хранящихся шаблонов.
14-12
Глава
Структура данных
15
В этой главе описаны типы данных, используемых прикладной программой, и
объясняется, как эти данные хранятся в памяти ПЛК VersaMax Nano и Micro.
Ячейки данных в памяти
Фиксированное распределение памяти В/В
Сохранность данных
Ячейки состояния системы
Импульсные контакты времени
Как функции обрабатывают цифровые данные в программе
15-1
15
Ячейки данных в памяти
Данные программ ПЛК используют адреса памяти, которые определяют и тип
памяти, и точный адрес этого типа памяти. Например,
%I00001
определяет адрес 1 в памяти входов (I).
%R00256
определяет адрес 256 в памяти регистров (R).
Буквенный префикс указывает тип памяти ПЛК, в которой хранятся дранные.
Распределение памяти
Следующая таблица показывает типы и размеры доступной памяти в ПЛК VersaMax
Micro и Nano. (Дополнительное сравнение с ПЛК Series 90 Micro приведено в
приложении B.)
Тип ячейки
Диапазон
10-
14-
23 и 28-
канальный
канальный
канальный
ПЛК Nano
ПЛК Micro
ПЛК Micro
Логика программы
Не применяется
2K слов
9K слов
9K слов
пользователя
Дискретные входы
%I0001 - %I0512
512 бит
512 бит
512 бит
Дискретные выходы
%Q0001 - %Q0512
512 бит
512 бит
512 бит
Ячейки Global Data
%G0001 - %G1280
1280 бит
1280 бит
1280 бит
Внутренние дискретные ячейки
%M0001 - %M1024
1024 бит
1024 бит
1024 бит
Временные дискретные ячейки
%T0001 - %T0256
256 бит
256 бит
256 бит
Ячейки состояния системы
%S0001 - %S0032
32 бит
32 бит
32 бит
%SA0001 - %SA0032
32 бит
32 бит
32 бит
%SB0001 - %SB0032
32 бит
32 бит
32 бит
%SC0001 - %SC0032
32 бит
32 бит
32 бит
Регистры
%R0001 - %R0256
256 слов
256 слов
2K слов
или
%R0001 - %R2042
Аналоговые входы и входы
%AI0001 - %AI0128
128 слов
128 слов
128 слов
высокоскоростного счетчика
Аналоговые выходы
%AQ0001 - %AQ0128
128 слов
128 слов
128 слов
Только для просмотра; не может использоваться в логике пользовательской
программы.
15-2
15
Адреса слов в памяти
Каждый адрес слова в памяти (ссылка) указывает на 16-битовое слово. ПЛК
использует три типа ссылок для данных хранящихся в памяти слов.
%AI Используется для аналоговых входов.
%AQ Обычно используется для аналоговых выходов.
%R Регистры, обычно используются для хранения данных в формате
слова.
Ниже приведен пример. Пример показывает 10 адресов. По каждому адресу
находятся 16 бит, составляющих одно значение. ПЛК не может непосредственно
обращаться к отдельным битам в памяти слов.
Адреса %R
Значение примера
0001
12467
0002
12004
0003
231
0004
359
0005
14
0006
882
0007
24
0008
771
0009
735
0010
0000
Глава 15 Структура данных
15-3
15
Адреса бит в памяти
ПЛК использует 6 типов ячеек для данных, хранящихся в битовой памяти.
%I
Обычно используется для дискретных входов и просматривается в таблице входов.
%Q
Обычно используется для физических каналов вывода и просматривается в таблице
выходов. %Q ячейка может быть записываемой или не записываемой в зависимости
от ее использования в программе.
%M
Обычно используются для представления внутренних переменных. Ячейка %M
может быть записываемой или не записываемой в зависимости от ее использования
в программе.
%T
Используется для временных данных, которые можно использовать в программе
несколько раз. Данные с %T адресами не сохраняются при отключении питания или
остановке или перезапуске контроллера. %T ячейки нельзя использовать с
записывающими катушками.
%S
Ячейки статуса системы:
%S, %SA, %SB, и %SC можно использовать с любыми контактами
релейно-контактной логики.
%SA, %SB, и %SC можно использовать с записывающими
катушками.
%S можно использовать в качестве входных данных функций
и функциональных блоков.
%SA, %SB, и %SC можно использовать на входе и выходе
функциональных блоков.
%G
Используются для Global Data. Данные в %G сохраняются при потере питания. %G
ячейки можно использовать с контактами и записывающими катушками, но нельзя
использовать с незаписывающими катушками.
15-4
15
Каждый адрес бита (ссылка) указывает на отдельный бит. Данные хранятся в
битовой памяти, как показано ниже. Пример показывает 160 отдельно адресуемых
бит, бит с адресом 1 находится в левом верхнем углу, бит с адресом 160 - в правом
нижнем.
addresses
1
2
3
4
5
6
7
8
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
160
Биты перехода и биты принудительной установки
%I, %Q, %M, и %G ячейки имеют соответствующие биты перехода и
принудительной установки.
%T, %S, %SA, %SB, и %SC ячейки имеют только соответствующие биты перехода.
ЦПУ использует биты перехода для катушек перехода. Когда биты принудительной
установки установлены, содержимое соответствующих ячеек можно изменить
только из программатора.
Глава 15 Структура данных
15-5
15
Фиксированное распределение памяти В/В
ПЛК Nano/Micro автоматически резервируют определенные области памяти для
определенных функций. Не рекомендуется использование этих адресов в программе
для других целей.
Зарезервированные участки битовой памяти: %I
Адрес
Функция
%I
I0001
Вход 1/Счетчик 1/Энкодер +
I0002
Вход 2/Инициализация
счетчика/Строб/Прерывание 1
I0003
Вход 3/Счетчик 2/Энкодер-
I0004
Вход 4/Инициализация
счетчика/Строб/Прерывание 2
I0005
Вход 5/Счетчик 3
I0006
Вход 6/Инициализация
счетчика/Строб/Прерывание 3
I0007
Вход 7/Счетчик 4
I0008
Вход 8/Инициализация
счетчика/Строб/Прерывание 4
I0009-I0016
Входы для 23 и 28-канальных ПЛК Micro. По
умолчанию первый дискретный вход для 14-
канальных ПЛК (может быть
переконфигурирован).
I0017
По умолчанию первый дискретный вход блока
расширения (28/23-канальные ПЛК), может быть
переконфигурирован.
I0489-I0493
Зарезервированы, должны быть 0.
I0494
Числоимпульсная модуляция выполнена на Q1
I0495
Числоимпульсная модуляция выполнена на Q2
I0496
Числоимпульсная модуляция выполнена на Q3
I0497—500
Статус строба HSC1—HSC4
I0501—504
Статус предварительной загрузки HSC1—HSC4
I00505—508
Статус выхода HSC1—HSC4
I00509
1 (готовность модуля всегда 1)
I00510
Не используется (всегда 0)
I00511
Числоимпульсная модуляция выполнена на Q4
I00512
Статус ошибки счетчика
15-6
15
Зарезервированные участки битовой памяти: %Q
%Q
Q0001
Выход 1 или выход широтноимпульсной или
числоимпульсной модуляций
Q0002
Выход 2 или выход широтноимпульсной или
числоимпульсной модуляций
Q0003
Выход 3 или выход широтноимпульсной или
числоимпульсной модуляций
Q0004
Выход 4 или выход широтноимпульсной или
числоимпульсной модуляций
Q0005
Выход 5
Q0006
Выход 6
Q0007-Q0016
Выходы для 23 и 28-канальных ПЛК Micro. По
умолчанию первый дискретный выход для 14-
канальных ПЛК (может быть переконфигурирован).
Q0017
По умолчанию первый дискретный выход блока
расширения (28/23-канальные ПЛК), может быть
переконфигурирован.
Q0489-Q0493
зарезервированы
Q0494
Начало числоимпульсной модуляции Q1
Q0495
Начало числоимпульсной модуляции Q2
Q0496
Начало числоимпульсной модуляции Q3
Q0497
Очистить бит строба для HSC 1
Q0498
Очистить бит строба для HSC 2
Q0499
Очистить бит строба для HSC 3
Q0500
Очистить бит строба для HSC 4
Q0501
Сбросить бит инициализации для HSC 1
Q0502
Сбросить бит инициализации для HSC 2
Q0503
Сбросить бит инициализации для HSC 3
Q0504
Сбросить бит инициализации для HSC 4
Q0505
Выход разрешения HSC 1/PTO/PTM
Q0506
Выход разрешения HSC 2/PTO/PTM
Q0507
Выход разрешения HSC 3/PTO/PTM
Q0508
Выход разрешения HSC 4/PTO/PTM
Q0509
Не используется, но не доступен
Q00510
Не используется, но не доступен
Q00511
Начало числоимпульсной модуляции Q4
Q00512
Очистить ошибки (все счетчики)
Глава 15 Структура данных
15-7
15
Зарезервированные участки памяти слов
%AI
AI001
Код статуса модуля
AI002
Отсчетов за цикл HSC 1
от -32678 до 32767
AI003
Отсчетов за цикл HSC 2
от -32678 до 32767
AI004
Отсчетов за цикл HSC 3
от -32678 до 32767
AI005
Отсчетов за цикл HSC 4
от -32678 до 32767
AI006
Аккумулятор HSC 1
от -32678 до 32767
AI007
Регистр строба HSC 1
от -32678 до 32767
AI008
Аккумулятор HSC 2
от -32678 до 32767
AI009
Регистр строба HSC 2
от -32678 до 32767
AI010
Аккумулятор HSC 3
от -32678 до 32767
AI011
Регистр строба HSC 3
от -32678 до 32767
AI012
Аккумулятор HSC 4
от -32678 до 32767
AI013
Регистр строба HSC 4
от -32678 до 32767
AI014
Не используется (установлен в 0)
AI015
Не используется (установлен в 0)
AI016
Аналоговый потенциометр 1
AI017
Аналоговый потенциометр 2
AI018
Аналоговый входной канал 1
AI019
Аналоговый входной канал 2
AI0020-0023
Входы 1 - 4 первого аналогового блока расширения, могут быть
переконфигурированы
AI0024-0027
Входы 1 - 4 второго аналогового блока расширения, могут быть
переконфигурированы
AI0028-0031
Входы 1 - 4 третьего аналогового блока расширения, могут быть
переконфигурированы
AI0032-0035
Входы 1 - 4 четвертого аналогового блока расширения, могут быть
переконфигурированы
%AQ
AQ001
Управление количеством входных отсчетов для входной фильтрации
аналогового потенциометра.
AQ002
Частота ШИМ Q1 (от 15 до 5000 для частоты от 15 Гц до 5 кГц)
AQ003
Длительность импульса ШИМ Q1 (от 0 до 10,000 для 0 - 100%)
AQ004
Частота ШИМ Q2 (от 15 до 5000 для частоты от 15 Гц до 5 кГц)
AQ005
Длительность импульса ШИМ Q2 (от 0 до 10,000 для 0 - 100%)
AQ006
Частота ШИМ Q3 (от 15 до 5000 для частоты от 15 Гц до 5 кГц)
AQ007
Длительность импульса ШИМ Q3 (от 0 до 10,000 для 0 - 100%)
AQ008
Частота ШИМ Q4 (от 15 до 5000 для частоты от 15 Гц до 5 кГц)
AQ009
Длительность импульса ШИМ Q4 (от 0 до 10,000 для 0 - 100%)
AQ011
Значение времени фильтрации дискретных входов
AQ012
Аналоговый выходной канал 1
AQ0013, 0014
Выходные каналы 1 и 2 для первого аналогового блока расширения, могут
быть переконфигурированы
AQ0015, 0016
Выходные каналы 1 и 2 для второго аналогового блока расширения, могут
быть переконфигурированы
AQ0017, 0018
Выходные каналы 1 и 2 для третьего аналогового блока расширения, могут
быть переконфигурированы
AQ0019, 0020
Выходные каналы 1 и 2 для четвертого аналогового блока расширения, могут
быть переконфигурированы
AQ121
Частота ЧИМ Q4 (от 15 до 5000 для частоты от 15 Гц до 5 кГц)
AQ122
Количество импульсов, посылаемых на выход Q4 (от 0 до 65535)
AQ123
Частота ЧИМ Q1 (от 15 до 5000 для частоты от 15 Гц до 5 кГц)
AQ124
Количество импульсов, посылаемых на выход Q1 (от 0 до 65535)
15-8
15
AQ125
Частота ЧИМ Q2 (от 15 до 5000 для частоты от 15 Гц до 5 кГц)
AQ126
Количество импульсов, посылаемых на выход Q2 (от 0 до 65535)
AQ127
Частота ЧИМ Q3 (от 15 до 5000 для частоты от 15 Гц до 5 кГц)
AQ128
Количество импульсов, посылаемых на выход Q3 (от 0 до 65535)
Глава 15 Структура данных
15-9
15
Сохраняемость данных
Данные называются “сохраняемыми”, если они автоматически сохраняются при
остановке ПЛК. Сохраняемые данные также сохраняются при включении/выключении
питания ПЛК с блоками, имеющими конденсатор или батарейную поддержку памяти.
Следующие данные сохраняются:
Логика программы
Таблицы ошибок и диагностики
Принудительная установка
Содержимое памяти слов (%R, %AI, %AQ)
Битовые данные (%I, %SC, %G, биты ошибок и зарезервированные биты)
Слова сохраненные в %Q и %M.
Данные в %Q или %M ячейках, используемых как выходы функционального
блока или с записывающими катушками:
-(M)-
записывающие катушки
-(/M)-
записывающие катушки с инверсией
-(SM)-
записывающие SET катушки
-(RM)-
записывающие RESET катушки
Тип катушки, последний раз использованной с ячейкой %Q или %M,
определяет, будут ли данные сохранены. Например, если последнее
обращение к ячейке %Q0001 было запрограммировано с использованием
записывающей катушки, данные %Q0001 будут сохраняться. Однако, если
последнее обращение к ячейке %Q0001 было запрограммировано с помощью
незаписывающей катушки, данные %Q0001 не будут сохраняться.
%Q или %M ячейки, объявленные как записываемые. %Q и %M ячейки по
умолчанию не сохраняются.
Следующие данные не сохраняются:
%T данные
%S, %SA, и %SB данные (но данные %SC записываемые).
%Q и %M ячейки, которые не были объявлены как записываемые.
%Q и %M ячейки, которые используются с не записывающими катушками:
-( )-
катушки
-(/)-
катушки с инверсией
-(S)-
SET катушки
-(R)-
RESET катушки
15-10
15
Ячейки состояния системы
ПЛК Nano/Micro сохраняет состояние системы в заранее определенных ячейках в
памяти %S, %SA, %SB, и %SC. В таблице на следующих страницах приведены все
ячейки состояния системы.
Использование ячеек состояния системы
Ячейки состояния системы могут быть, при необходимости, использованы в
прикладной программе. Для облегчения программирования каждая ячейка
состояния имеет поясняющее название. Например, приведенный ниже
функциональный блок использует ячейку состояния FST_SCN (первый цикл) для
активизации функции очистки блока (Block Clear).
FST SCN
|
|
BLK CLR
WORD
1
%Q0001
IN
Другие имена ячеек состояния системы включают в себя T_10MS, T_100MS, T_SEC
и T_MIN (см. ниже), FST_SCN, ALW_ON, и ALW_OFF.
Периодические контакты времени
Периодические контакты времени находятся в памяти %S. Они могут быть
использованы для подачи регулярных импульсов питания на другие функции
программы. Четыре периодических контакта времени имеют периодичность: 0.01
секунды, 0.1 секунды, 1.0 секунда, и 1 минута.
Состояние этих контактов не изменяется во время выполнения цикла. Длительность
импульса для этих контактов равна длительности паузы.
Ячейки контактов: T_10MS (0.01 секунды), T_100MS (0.1 секунды), T_SEC (1.0
секунда), и T_MIN (1 минута).
Приведенная ниже диаграмма показывает длительность импульсов и пауз для этих
контактов.
X
T XXXXX
SEC
X/2
X/2
SEC
SEC
Глава 15 Структура данных
15-11
15
Ячейки %S
Ячейки в %S памяти доступны только для чтения.
Тип памяти
Имя
Описание
%S0001
FST_SCN
Установлена в 1, когда текущий цикл является первым.
%S0002
LST_SCN
Переустанавливается с 1 в 0, когда текущий цикл является последним
%S0003
T_10MS
Периодический контакт времени 0.01 секунды.
%S0004
T_100MS
Периодический контакт времени 0.1 секунды.
%S0005
T_SEC
Периодический контакт времени 1.0 секунда.
%S0006
T_MIN
Периодический контакт времени 1.0 минута
%S0007
ALW_ON
Всегда включено.
%S0008
ALW_OFF
Всегда выключено.
%S0009
SY_FULL
Устанавливается, когда таблица ошибок ПЛК заполняется.
Сбрасывается, когда удаляется запись или очищается вся таблица
ошибок ПЛК.
%S0010
IO_FULL
Устанавливается, когда таблица ошибок В/В заполняется. Удаляется,
когда удаляется запись или очищается вся таблица ошибок В/В.
%S0011
OVR_PRE
Устанавливается, когда в памяти %I, %Q, %M, или %G присутствует
принудительная установка.
%S0012
зарезервировано
%S0013
PRG_CHK
Устанавливается, когда осуществляется проверка программы в фоновом
режиме. Очищается, если проверка программы в фоновом режиме не
активна.
%S0014
PLC_BAT
Устанавливается при неисправности батареи в CPU. Состояние
контакта обновляется в каждом цикле. Этот бит поддерживается только
28-канальным ПЛК Micro.
%S0015, 16
зарезервировано
%S0017
SNPXACT
SNP-X хост подключен к CPU через порт 1. (Порт 2 по умолчанию
выключен, и должен быть включен вместе с CRQ).
%S0018
SNPX_RD
SNP-X хост считал данные из порта 1 CPU.
%S0019
SNPX_WT
SNP-X хост записал данные в порт 1 CPU.
%S0020
Включается, когда функция сравнения, использующая данные формата
REAL, выполняется успешно. Сбрасывается, когда NaN (Не число).
%S0021
FF_OVR
Устанавливается при игнорировании фатальных ошибок.
%S0022
USR_SW
Отображает состояние переключателя режимов CPU.
1 = Run/On
0 = Stop/Off
%S0023-32
зарезервировано
15-12
15
Ячейки %SA, %SB, и %SC
Ячейки памяти %SA, %SB, %SC доступны для чтения и записи.
Тип памяти
Имя
Описание
%SA0001
PB_SUM
Устанавливается, когда подсчитанная контрольная сумма прикладной
программы не совпадает с исходной контрольной суммой. Если
ошибка была вызвана временным сбоем, этот дискретный бит можно
сбросить, заново сохранив программу в ПЛК Micro. Если ошибка была
вызвана неисправностью ОЗУ, то ПЛК Micro необходимо заменить.
%SA0002
OV_SWP
Устанавливается, когда ПЛК Micro в режиме цикла с постоянным
временем обнаруживает, что предыдущий цикл занял больше времени,
чем сконфигурировано. Сбрасывается, когда ПЛК определяет, что
предыдущий цикл не превысил отведенное ему время. Также
сбрасывается при переходе из режима STOP в режим RUN.
%SA0003
APL_FLT
Устанавливается, когда имеет место ошибка приложения.
Сбрасывается, когда ПЛК Micro переходит из режима STOP в режим
RUN.
%SA0004-8
зарезервировано
%SA0009
CFG_MM
Устанавливается, когда обнаружено несовпадение конфигурации при
подаче питания или сохранении конфигурации. Сбрасывается при
включении ПЛК Micro после устранения неисправности.
%SA0010
HRD_CPU
Устанавливается, когда диагностика определяет неисправность
оборудования ПЛК Micro. Требует замены ПЛК Micro. Этот бит
поддерживается только 28-канальным ПЛК Micro.
%SA0011
LOW_BAT
Устанавливается при разряде батареи. Сбрасывается при включении
питания ПЛК Micro после замены батареи. Этот бит поддерживается
только 28-канальным ПЛК Micro.
%SA0012,13
зарезервировано
%SA0014
LOS_IOM
Устанавливается при обрыве связи модуля расширения с ЦПУ.
Сбрасывается при включении/выключении после замены модуля.
%SA0015-18
зарезервировано
%SA0019
ADD_IOM
Устанавливается при добавлении модуля расширения. Сбрасывается
при включении/выключении ПЛК, если конфигурация, после
сохранения, соответствует оборудованию .
%SA0020-31
зарезервировано
Глава 15 Структура данных
15-13
15
Тип памяти
Имя
Описание
%SB0001-8
зарезервировано
%SB0009
NO_PROG
Устанавливается при попытке перевести ПЛК в режим Run, если в ЦПУ
отсутствует выполняемая прикладная программа. Сбрасывается загрузкой
прикладной программы в ЦПУ и переводом ПЛК в режим Run.
%SB0010
BAD_RAM
Устанавливается, если при включении питания ПЛК Micro обнаруживает
ошибку ОЗУ. Сбрасывается если ОЗУ исправно при включении.
%SB0011
BAD_PWD
Устанавливается, если были нарушены права доступа при работе с
паролем. Сбрасывается после очистки таблицы ошибок ПЛК.
%SB0012
зарезервировано
%SB0013
SFT_CPU
Устанавливается, если ПЛК Micro обнаруживает непоправимую ошибку в
программе. Сбрасывается после очистки таблицы ошибок ПЛК.
%SB0014
STOR_ER
Устанавливается, если имеет место ошибка при сохранении из
программатора. Сбрасывается, когда процедура сохранения выполнена
успешно.
%SC0001-8
зарезервировано
%SC0009
ANY_FLT
Устанавливается при любой ошибке. Сбрасывается при очистке обеих
таблиц ошибок.
%SC0010
SY_FLT
Устанавливается при любой ошибке, которая заносится в таблицу ошибок
ПЛК. Сбрасывается после очистки таблицы ошибок ПЛК.
%SC0011
IO_FLT
Устанавливается при любой ошибке, которая заносится в таблицу ошибок
В/В. Сбрасывается после очистки таблицы ошибок В/В.
%SC0012
SY_PRES
Устанавливается, если в таблице ошибок ПЛК есть хоть одна запись.
Сбрасывается, когда отсутствуют записи в таблице ошибок ПЛК.
%SC0013
IO_PRES
Устанавливается, если в таблице ошибок В/В есть хоть одна запись
Сбрасывается, когда отсутствуют записи в таблице ошибок В/В.
%SC0014
HRD_FLT
Устанавливается, когда имеет место ошибка оборудования.
Сбрасывается, когда отсутствуют записи в обеих таблицах ошибок . Этот
бит поддерживается только 28-канальным ПЛК Micro.
%SC0015
SFT_FLT
Устанавливается, когда имеет место ошибка оборудования.
Сбрасывается, когда отсутствуют записи в обеих таблицах ошибок .
15-14
15
Как функции в программе обрабатывают числовые
данные
Независимо от того, где в памяти сохранены данные (в одном из типов памяти с
битовым обращением или в памяти, ориентированной на хранение слов) прикладная
программа может обрабатывать их как разные типы данных.
Тип
Название
Описание
Формат данных
BIT
Бит
Бит данных -это самая маленькая
единица информации. У бита есть
два состояния: 1 или 0.
BYTE
Байт
Байт данных состоит из 8 битов.
Действительный диапазон от 0 до
255 (от 0 до FF в
шестнадцатеричном формате).
WORD
Слово данных использует 16
слово 1
последовательных бит памяти
16 бит
данных, не имеющих отдельной
16
1
адресации, для хранения значения
в диапазоне от 0 до +65,535
(FFFFh).
BCD-4
Четырех-
Четырехзначные BCD числа
слово 1
значное
используют 16 битовые ячейки
4
3
2
1
4 цифры BCD
двоично-
памяти. Каждая BCD цифра
десятичное
использует 4 бита и может
13
9
5
1 бит
16
число
представлять числа от 0 до 9. 16
битное BCD число имеет диапазон
значений от 0 до 9999.
REAL
С
Вещественные числа используют
слово 2
слово 1
плавающей
две последовательных 16 битовых
+/-
точкой
ячейки памяти. Диапазон чисел,
32
17
16
1
экспонента из
хранящихся в этом формате, от ±
8 бит
мантисса из 23
1.401298E-45 до ± 3.402823E+38.
Подробности на следующей
странице.
INT
Целое
Целое число со знаком использует
слово 1
число со
16 битовую ячейку памяти. Целое
+/-
16 бит
знаком
число со знаком представлено в
двоичной системе исчисления. Бит
16
1
16- знаковый бит,
степени 2
(0 = положительное, 1 =
отрицательное). Диапазон от -
32,768 до +32,767.
Глава 15 Структура данных
15-15
15
Тип
Название
Описание
Формат данных
DINT
Целое
Целые числа со знаком двойной
слово 2
слово 1
число со
точности используют две 16
+/-
знаком
битовые последовательные ячейки
32
17
16
1
двойной
памяти. Они представлены в
степени 2
точности
двоичной системе исчисления. Бит
32- знаковый бит, (0 =
положительное, 1 = отрицательное).
Диапазон от
-2,147,483,648 до +2,147,483,647.
Вещественные числа (с плавающей точкой)
REAL - тип данных, который может быть использован для некоторых
математических и арифметических функций, на самом деле является
представлением числа с плавающей точкой. Числа с плавающей точкой
сохраняются в формате IEEE единичной точности. Этот формат требует 32 бита,
который занимают два (смежных) 16 битовых слова в памяти ПЛК.
Старший регистр
Младший регистр
Биты 17-32
Биты 1-16
32
17
16
1
мантисса из 23 бит
экспонента из 8 бит
знак, занимающий 1бит
32)
Например, если число с плавающей точкой занимает регистры %R0005 и %R0006,
тогда %R0005 является младшим регистром, а %R0006 старшим регистром.
Диапазон чисел, которые можно хранить в этом формате, от ± 1.401298E-45 до
± 3.402823E+38 , а также цифра ноль.
15-16
15
Ошибки в вещественных числах и Операциях
Переполнение происходит когда, числа большие, чем 3.402823E+38 или меньшие,
чем -3.402823E+38 выводятся функцией имеющей формат вывода REAL. Вывод
"ok" функции отключается; и результату присваивается значение плюс
бесконечность (для чисел больших, чем 3.402823E+38) или минус бесконечность
(для чисел меньших, чем -3.402823E+38). Можно проверить, где это происходит,
протестировав состояние выхода ok.
POS_INF
= 7F800000h
- IEEE отображение плюс бесконечности в
шестнадцатеричной системе.
NEG_INF
= FF800000h
- IEEE отображение минус бесконечности в
шестнадцатеричной системе.
Если бесконечности, вызванные переполнением, используются, в качестве
операндов другими функциями, работающими с форматом REAL, они могут
вызвать неопределенный результат. Этот результат называется NaN (Не число. Not
a Number ). Например результат сложения плюс бесконечности и минус
бесконечности не определен. Когда функция ADD_REAL работает с операндами
плюс бесконечность и минус бесконечность, получается результат NaN.
Глава 15 Структура данных
15-17
15
15-18
Глава
Система команд
16
Эта глава описывает систему команд ПЛК VersaMax Nano и Micro:
Функции битовых операций
Математические и
Логическое "и" (AND), логическое "или" (OR),
арифметические функции
Логическое исключающее "или" (Exclusive
Сложение (Add), Вычитание
OR), Логическое инвертирование (NOT),
(Subtract), Умножение (Multiply),
Циклический сдвиг влево/вправо (Rotate
Деление (Divide),
Right/Left),
Деление по модулю (Modulo
Сдвиг влево/вправо (Shift Right/Shift Left),
Division),
Тест бита (Bit test),
Масштабирование (Scaling),
Установка бита (Bit Set), очистка бита (Bit
Квадратный корень (Square Root),
Clear),
Тригонометрические функции
Маскированное сравнивание (Masked
(Trigonometric Functions),
Compare),
Логарифмические функции и
Позиция бита (Bit Position),
функции экспоненты
Одноконтактный командоаппарат (Bit
(Logarithmic/Exponental Functions),
Sequencer)
Преобразование Радиан/Градусов
(Convert Radians/Degrees)
Функции управления
Функции сравнения
Выполнить В/В (Do I/O)
Равно (Equal)
Вызов (Call)
Не равно (Not Equal)
Временное окончание логики (End) Переход (Jump)
Больше
(Greater Than)
Коментарий (Comment)
Меньше
(Less Than)
Master Control Relay (принудительное выполнение)
Больше или равно
(Greater or Equal)
Имитатор командоаппарата (Drum Sequencer)
Меньше или равно ( Less or Equal)
Системный запрос (Service Request) (подробности в
Диапазон (Range)
главе 17)
ПИД (PID) (подробности в главе 19)
Функции пересылки данных
Функции реле
Пересылка (Move)
Контакты (Contacts)
Пересылка блока (Block Move)
Катушки (Coils)
Очистка блока (Block Clear)
Сдвиг регистра (Shift Register)
Табличные функции
Запрос связи (Communication Request)
Пересылка массива (Array Move)
Поиск (Search)
16-1
16
Функции преобразования типов данных
Функции таймеров и счетчиков
Преобразовать в BCD-4 (Convert to BCD-4)
Периодические контакты времени (Time-tick
Преобразовать в целое число со знаком (Convert to
Contacts)
Signed Integer)
Таймер задержки по включению со сбросом
Преобразовать в целое число со знаком двойной
(On Delay Stopwatch Timer)
точности ( Convert to Double Precision Signed Integer)
Таймер задержки по включению (On Delay
Преобразовать в Real (Convert to Real)
Timer)
Преобразовать Real в Word (Convert Real to Word)
Таймер задержки по выключению (Off Delay
Округлить вещественное число (Truncate Real Number)
Timer)
Инкрементный счетчик (Up Counter)
Декрементный счетчик (Down Counter)
16-2
16
Функции битовых операций
Функции битовых операций включают сравнение, логические операции и операции
по пересылке битовых строк. Это:
Логическое "и" (AND)
Тест бита (Bit Test)
Логическое "или" (OR)
Установка бита (Bit Set),
очистка бита (Bit Clear)
Логическое исключающее
"или"(Exclusive OR)
Маскированное сравнение
(Masked Compare)
Логическое инвертирование
(NOT)
Позиция бита Bit Position)
Сдвиг влево/вправо (Shift
Одноконтактный
Right/Shift Left)
командоаппарат (Bit
Sequencer)
Циклический сдвиг влево/ вправо
(Rotate Left/Right)
Длина данных для функций битовых операций
Логические функции "И", "Или", "Исключающее Или" и Инвертирование (AND,
OR, exclusive OR, NOT) работают с одним словом данных. Остальные функции
битовых операций могут обрабатывать до 256 слов.
Все функции битовых операций требуют данных типа WORD. Однако, они
работают с данными как с битовыми строками, где бит 1 - наименее значимый бит
(LSB). Последний бит - наиболее значимый (MSB). Например, если Вы указали три
слова данных, начиная с %R0100, они будут обработаны как 48 последовательных
бит.
%R0100
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
бит 1 (LSB)
%R0101
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
%R0102
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
(MSB)
Не рекомендуется работа с совмещением диапазонов входных и выходных данных в
функциях, обрабатывающих несколько строк, т.к. возможен непредсказуемый
результат.
Глава 16 Система команд
16-3

 

 

 

 

 

 

 

содержание      ..     8      9      10      11     ..