Omron NS series MACROS Manual [ru]

Cat. No. V075-RU2-04
Серия NS
Программируемые терминалы
СПРАВОЧНОЕ
РУКОВОДСТВО ПО
МАКРОСАМ
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Раздел 1 Функции
В данном разделе описаны условия выполнения макросов и процедура их программирования.
1-1 Что такое макросы?................................................................................................1 – 2
1-2 Условие выполнения макроса...............................................................................1 – 3
1-3 Программирование макросов ...............................................................................1 – 6
1-1
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
1-1 Что такое макросы?
Макрос – это функция, программируемая пользователем. Макросы расширяют возможности пользователя, предоставляя ему арифметические операции, функции сравнения и другие функции, не предусмотренные среди стандартных инструментов проектирования NS-Designer. С помощью этих функций можно управлять отображением экранов или обрабатывать данные, т.е., выполнять операции, которые ранее возлагались на ПЛК. Благодаря этому также снижается загруженность ПЛК. Событие руководстве “условием выполнения макроса”. Классифицируя макросы по условиям выполнения, можно выделить следующие типы макросов:
-Макросы, выполняемые по событию проекта
-Макросы, выполняемые по событию экрана
-Макросы, выполняемые по событию функционального объекта
Количество макросов, которое может быть создано для одного проекта/экрана, не ограничено Объем макроса не должен превышать 3000 символов. Символ разрыва (перевода) строки засчитывается за два символа. Количество строк в макросе также не ограничено.
Пример:
$W0=10; 7 символов + перевод строки (2 символа) STRCPY($W10”,ABCDE”); 21 символ В данном случае используется 30 символов.
.
, инициирующее выполнение макроса, называется в настоящем
1-2
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
1-2 Условие выполнения макроса
Макрос может быть создан для проекта, экрана и функционального объекта. Макрос может быть создан для одного из условий выполнения, перечисленных ниже.
Условия выполнения для проекта
Ниже перечислены условия выполнения макроса, которые могут быть использованы для проекта. Откройте закладку [Settings (Настройка)]-[Project properties (Свойства проекта)]-[Macro (Макрос)] в NS-Designer, укажите условия выполнения и запрограммируйте макрос. Подробное описание регистрации (назначения) макросов смотрите в Руководстве по эксплуатации NS-Designer (6-1 Назначение макроса - 6-1-1 Назначение макроса проекту).
Условие выполнения Пояснение
When Loading a Project (При загрузке проекта) Alarm/Event ON Timing (При возникновении тревоги/события) Alarm/Event OFF Timing (При отмене тревоги/события)
Условия выполнения для экрана
Ниже перечислены условия выполнения макроса, которые могут быть использованы для каждого экрана. Откройте закладку [Settings (Настройка)]-[Screen properties (Свойства экрана)]-[Macro (Макрос)] в NS-Designer, укажите условия выполнения и запрограммируйте макрос. Подробное описание регистрации (назначения) макросов смотрите в Руководстве по эксплуатации NS-Designer (6-1 Назначение макроса - Назначение макроса экрану).
Условие выполнения Пояснение
When Loading a Screen (При открытии экрана) When Unloading a Screen (При закрытии экрана)
Выполнение непосредственно перед загрузкой первого экрана по завершению запуска аппаратной части NS Выполнение при возникновении тревоги/события
Выполнение при отмене тревоги/события
Выполнение сразу после считывания данных экрана до его отображения Выполнение непосредственно после закрытия текущего экрана
1-3
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Справка
Выполнение макроса по возникновению события выполнения происходит следующим образом.
При открытии
экрана (выполнение на
конечном экране) User screen->User screen (Экран пользователя->Экран пользователя)
User screen->Transfer screen (Экран пользователя->Экран передачи) User screen->System menu (Экран пользователя->Системное меню) System menu->User screen (Системное меню->Экран пользователя User screen->Screen Saver (Экран пользователя->Сбережение экрана) Screen Saver->User screen (Сбережение экрана->Экран пользователя)
Выполняется Выполняется
Не выполняется Выполняется
Не выполняется Выполняется
Выполняется Не выполняется
Не выполняется Не выполняется
Не выполняется Не выполняется
При закрытии экрана (выполнение на конечном экране)
1-4
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Условия выполнения для функциональных объектов
В следующей таблице перечислены условия выполнения макроса, которые могут быть использованы для функционального объекта. Чтобы назначить макрос функциональному объекту, откройте диалоговое окно настройки свойств для этого объекта, откройте закладку [Macro (Макрос)], выберите условие выполнения и создайте макрос. Подробное описание регистрации (назначения) макросов смотрите в Руководстве по эксплуатации NS-Designer (6-1 Назначение макроса - 6-1-2 Назначение функциональному объекту).
Условие выполнения Пояснение
Touch on Timing (По нажатию) Макрос выполняется после нажатия
(прикосновения) на функциональный объект
Touch off Timing (По отжатию) Макрос выполняется после отпускания
(снятия пальца) функционального объекта,
на который было произведено нажатие Before Inputting numeral or character string (Перед вводом числового
назначение или символьной строки)
Before Writing numeral or character string (Перед записью числового значения или символьной строки) When changing numeral and character string (При изменении числового значения или символьной строки) When Processing Display Area (По нажатию в зоне отображения) When Selecting an Alarm/Event (По выбору тревоги/события)
When selecting a list (По выбору объекта из списка)
Макрос выполняется непосредственно перед
отображением десятиклавишной или
виртуальной клавиатуры для ввода значений
или строк
Макрос выполняется непосредственно перед
передачей числового значения или текстовой
строки в контроллер
Макрос выполняется после изменения
числового или строкового значения по
данному адресу.
Макрос выполняется после нажатия на
область отображения тревоги.
Макрос выполняется после выбора
определенной строки (тревоги/события) в
Табло сводки и архива тревог/событий
Макрос выполняется после выбора
определенной строки в списке.
Примечание
Если для функционального объекта установлен пароль, перечисленные ниже макросы выполняются после ввода пароля. Если пароль был отменен (пароль не введен), макрос выполнен не будет.
- Выполнение по нажатию/отжатию
- Выполнение перед вводом числа/строки
- Выполнение по нажатию в зоне отображения
- Выполнение при выборе тревоги/события
- Выполнение при выборе объекта из списка
макроса
1-5
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Условия выполнения, которые могут быть выбраны для функциональных объектов, перечислены в следующей таблице.
При изменении
По нажатию
Функциональный
объект
Кнопка "ВКЛ/ВЫКЛ" OK OK - - - ­Регистровая кнопка OK OK - - - ­Кнопка "Команда" OK OK - - - ­Однобитовая лампа - - OK - - ­Регистровая лампа - - OK - - ­Числовое поле отображения и ввода Строковое поле отображения и ввода Барабанный переключатель Текст - - - - - ­Текстовый список - - - - - OK Измеритель уровня (Вертикальная шкала) Линейный тренд - - - - - ­Растровый объект - - - - - ­Аналоговый измеритель (Круговая шкала) Отображение видеосигналов Дата - - - - - ­Время - - - - - ­Тренд протокола данных Таблица блока данных
- - OK OK OK -
- - OK OK OK -
- - OK - OK -
- - - - - -
- - - - - -
- - - - - -
- - - - - -
- - - OK OK -
По отжатию
числа/строки
Перед вводом
числа/строки
Перед записью
числа/строки
объекта из списка
При выборе
[Alarm/Event object (Объект тревоги/события)]
Функциональный объект
Однострочное табло тревог/событий Табло сводки и архива тревог/событий
When Pressing a Display Area (По нажатию в зоне отображения)
OK -
- OK
When selecting an Alarm/Event (По выбору тревоги/события)
1-6
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
1-3 Программирование макросов
В данном разделе описаны процедуры создания макросов, а также даны определения терминов, используемых при программировании.
Синтаксис макроса
Символ разделителя в программе
В конце каждой строки необходимо размещать символ разделения (;). Это необязательно делать лишь для инструкций IF (), ELSEIF (), ELSE(), ENDIF.
Пример;
$W0=2; IF ($W0>=10) $W5=$W0-$W2; ELSE $W5=$W0+$W2; ENDIF
Комментарий
Чтобы разместить в программе комментарий, введите перед текстом комментария одиночную кавычку (‘). Весь текст после кавычки до конца строки является комментарием. Пример:
$W0 = 100; ‘Комментарий Комментарий IF ($W1==200)
···
Термины, используемые при написании программы
При написании программы символы верхнего и нижнего регистров не различаются, поэтому можно использовать символы любого регистра. Пример:
-MovePopwDown () и MOVEPOPWDOWN() – это одна и та же функция.
-[Host1:DM0] и [host1:dm0] – это один и тот же адрес станции.
1-7
Раздел 1 Введение в макросы
А
Серия NS - Справочное руководство по макросам
Термины, используемые при программировании
В данном разделе описаны термины, которые используются при написании
макросов.
Переменная
В тексте программы макроса могут использоваться следующие переменные.
Определе-
ние
дрес в контрол­лере
Память програм­мируемого терминала
Индекс (Указатель)
При обращении к данным, расположенным по определенному адресу в контроллере, используйте для связи функции READCMEM и WRITECMEM. Адрес заключается в квадратные скобки [ ] Пример:
READCMEM($W100,[HOST1:DM00000],100); ‘Чтение из HOST1:DM00000 ... DM00099 в $W100 ... $W199 Бит Внутренняя память: $B $B0 ... $B32767 (1 бит на 1 точку) Внутренняя память хранения: $HB $HB0 .. $HB8191 (1 бит на 1 точку) Системная память: $SB $SB 47 (1 бит на 1 точку) Слово Внутренняя память: $W $W ... $W32767(16 бит на 1 точку) Внутренняя память хранения: $HW $HW0 ... $HW 8191 (16 бит на 1 точку) Системная память: $SW $SW0 ... $SW36 (16 бит на 1 точку) Пример: $W100=$W0+1; ‘Установка значения $W0, добавление 1 к $W100
Для адресации битов и слов в памяти программируемого терминала (ПТ) используются указатели (индексы). Адрес с указанным в конце индексом воспринимается следующим образом: [указанный адрес + значение индекса] Всего может быть использовано 10 индексов (I0…I9). Укажите для значений $SW27 … $SW36 индексы I0…I9. Пример:
$SW27 = H20; $W0I0 = 123; ‘$W0I0 воспринимается как $W20, т.е., $W0 + 20;
Пояснение
Классификатор переменной
Ниже описано применение классификаторов, которые устанавливаются для переменных. Классификаторы применяются для работы с 32-битовыми данными, а также для обращения к битам как к числу.
Параметр Пояснение Обращение к слову (16 бит) как к двойному слову (32 бит) Обращение к битам как к числу
В конце переменной разместите “L”. Обращение к двум словам.
$W0L=1000000; ‘Обращение к $W0, $W1 как к 32-битовой переменной $W100L=1000*1000; ‘Обращ. к $W100, $W101 как к 32-битовой переменной
Разместите в конце переменной “:n”. В “n” укажите значение, определяющее группу битов (до 32, с кратностью 4 бита). Исключения: Если n=16, введите ”W”. Если n=32, введите “L”.
$B0:4 = 3; ‘Запись значения 3(0011) в группу из 4 битов $B0…$B3 $B0W = 12345; ‘Запись 2345 (0011000000111001) в группу из 16 битов '$B0…$B15
$W20 = 123
1-8
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Константа
В следующей таблице перечислены константы, которые могут применяться в программах макросов.
Параметр Пояснение
Десятичная константа При использовании слова (16 битов) можно ввести
значение в диапазоне от -32768 до 32767 При использовании двух слов (32 бита) можно ввести
значение от -2147483648 до 2147483647 Шестнадцатеричная константа
Символьная строка Заключите в кавычки (“ “)
При использовании слова (16 бит) можно ввести значение
от H0 до HFFFF
При использовании двух слов (32 бита) можно ввести
значение от H0 до HFFFFFFFF
Пример: ”ABCDE”
Ветвления
Для определения условий можно использовать следующие ключевые слова.
Параметр Пояснение
IF ELSEIF ELSE ENDIF
Условия выполнения, размещаемые после IF и ELSEIF, заключаются в круглые скобки ( ). В конце конструкции обязательно размещайте ENDIF. Допускается до 8 вложений. Количество строк в выражении IF не ограничено. Однако общее количество символов в макросе не должно превышать 3000. Пример:
IF($W100 == 1) ‘если $W100 = 1 $W99 = 1; ELSEIF($W100 == 2) ‘если $W100 = 2 $W99 = 2; ELSE ‘если $W100 не 1 и не 2 $W99 = 3; ENDIF
1-9
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Условные выражения
Для определения условий в конструкции IF используются следующие условные выражения. Они действуют для любых типов данных (слово, слово в формате двойного слова, бит, группа битов в формате числа).
Параметр Пояснение
A == B Если A равно B, тогда TRUE. A > B Если A больше B, тогда TRUE. A >= B Если A больше или равно B, тогда TRUE. A < B Если A меньше B, тогда TRUE. A <= B Если A меньше или равно B, тогда TRUE. A <> B A ! = B A && B A AND B A || B A OR B
Если A не равно B, тогда TRUE.
Если и A, и B истинны (true), тогда TRUE (AND)
Если A или B истинно (true), тогда, TRUE (OR)
Справка
Результат (A&&B, A>B) может быть подставлен в качестве переменной. Пример: $B100=$W0>100; Если значение $W = “100” или меньше, то в $B100 будет записан “0”. Если значение $W больше ”100”, в $B100 будет записана “1”.
1-10
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Основные операторы
В программе можно использовать следующие операторы.
Операция Символ Пример Значение Присвоение = A = B Присвоение значения B операнду A Добавление + C = A+B Запись результата A+B в C Вычитание - C = A–B Запись результата A–B в C Умножение * C = A*B Запись результата AxB в C Деление / C = A/B Запись результата A/B в C Остаток % C = A%B Запись результата A%B в C ИЛИ | C = A|B Логическое ИЛИ операндов A и B И & C = A & B Логическое И операндов A и B НЕ ! C = !A Запись в C отрицания A Исключающее ИЛИ ˆ C = A^B Запись в C логического ИЛИ
Дополнение до 1 ~ B = ~A Запись в B дополнения А до 1 Сдвиг на один разряд (влево) Сдвиг на один разряд
(вправо)
<< C = A<<B Запись в C значения, полученного
>> C = A>>B Запись в C значения, полученного
операндов A и B
после сдвига А на B битов влево
после сдвига А на B битов вправо
Справка
Логические операции должны выполняться над данными одного типа (например, над словами, битами или словами в формате двойных слов) Пример: $SW0L=$SW10L&$W20L;’Обращение к словам как к двойным словам’
В одном выражении можно комбинировать несколько операций. Пример: A=(B+C)*(D+E/2)
При выполнении операций соблюдается следующий порядок очередности.
Приоритет Символ
Старший ( )
~ *, /,% +, ­ << ,>> & ˆ | Младший =
1-11
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Функции
Для программирования макросов в серии NS предусмотрены следующие функции.
Действие/Операция Функция
Значение в формате BIN
форматов BCD/BIN
Преобразование символьных строк
Статистика тревог/событий
Специальные функции программируемого терминала
Обмен данными
Завершение процесса Прекращение программы
Установка даты/времени Изменение содержимого
->значение в формате BCD Значение в формате BCD
->значение в формате BIN Копирование символьной строки STRCPY/STRCPYW
Преобразование из кодировки ASCII в кодировку Unicode
Преобразование из кодировки Unicode в кодировку ASCII
Обнуление количества произошедших тревог/событий
Вывод записанного значения и измененного значения
Переключение экрана SHOWPAGE/SHOWPAGEBCD Перемещение объекта по экрану MOVEPARTS
Отображение диалогового окна с сообщением Получение координат прямоугольника объекта Перемещение всплывающего окна Перемещение всплывающего окна вверх Перемещение всплывающего окна вниз Перемещение всплывающего окна влево Перемещение всплывающего окна вправо Закрытие всплывающего окна CLOSEPOPW Чтение данных по указанному адресу Запись данных по указанному адресу Чтение бита по указанному адресу
Чтение слова по указанному адресу Запись бита по указанному адресу
Запись слова по указанному адресу
макроса
внутренних часов программируемого терминала
BCD Преобразование
BIN
STRM2W
STRW2M
RSTALARMCNT
GETNUMVAL
MSGBOX
GETPARTS
MOVEPOPW
MOVEPOPWUP
MOVEPOPWDOWN
MOVEPOPWLEFT
MOVEPOPWRIGHT
READCMEM
WRITECMEM
READHOSTB
READHOSTW
WRITEHOSTB
WRITEHOSTW
RETURN
SETTIME
1-12
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Чтение содержимого (значений в двоичном формате) указанного файла в карте памяти (CF) и запись в память программируемого терминала. Сохранение содержимого памяти программируемого терминала в
карту памяти (CF). Запись одновременно по нескольким адресам
Операции над данными
(выделение объектов ввода)
Повторное выполнение (организация цикла)
Запись (0/1) одновременно в
несколько битов памяти
программируемого терминала
Запись значения одновременно в
несколько слов памяти
программируемого терминала
Перестановка местами старшего
и младшего разрядов по
указанному адресу.
Перестановка местами старших
(2 байта) и младших (2 байта)
разрядов указанного двойного
слова.
Копирование данных в пределах
памяти $W программируемого
терминала
Установка ″фокуса″ на указанный
объект ввода
Снятие ″фокуса″ с указанного
объекта ввода
Повторное выполнение
(организация цикла)
Прерывание повторного
(циклического) выполнения
программы
Возвращение к началу цикла
FOR.
READCF Чтение/запись данных
WRITECF
BITSET
MEMSET
SWAP
SWAPL
MEMCOPY
SETFOCUS Управление "фокусом"
RELEASEFOCUS
FOR, NEXT
BREAK
CONTINUE
1-13
Раздел 1 Введение в макросы
р
р
р
э р
э р
р
р
р
р
Серия NS - Справочное руководство по макросам
В следующей таблице перечислены события, по которым могут выполняться функции.
Макрос
проекта
При загрузке
BCD OK OK OK OK OK OK OK OK OK OK OK OK OK BIN OK OK OK OK OK OK OK OK OK OK OK OK OK CLOSEPOPW OK OK OK OK OK OK OK OK OK OK OK OK GETNUMVAL
GETPARTS OK OK OK OK OK OK OK OK OK OK MOVEPARTS OK OK OK OK OK OK OK OK OK OK
MOVEPOPW OK OK OK OK OK OK OK OK OK OK OK OK MOVEPOPWDOWN OK OK OK OK OK OK OK OK OK OK OK OK
MOVEPOPWLEFT OK OK OK OK OK OK OK OK OK OK OK OK MOVEPOPWRIGHT OK OK OK OK OK OK OK OK OK OK OK OK
MOVEPOPWUP OK OK OK OK OK OK OK OK OK OK OK OK MSGBOX OK OK OK OK OK OK OK OK OK OK OK OK OK
READCMEM OK OK OK OK OK OK OK OK OK OK OK OK OK RETURN OK OK OK OK OK OK OK OK OK OK OK OK OK RSTALARMCNT OK OK OK OK OK OK OK OK OK OK OK OK OK
SHOWPAGE OK OK OK OK OK OK OK OK OK OK OK OK OK SHOWPAGEBCD OK OK OK OK OK OK OK OK OK OK OK OK OK STRCPY(W) OK OK OK OK OK OK OK OK OK OK OK OK OK
STRM2W OK OK OK OK OK OK OK OK OK OK OK OK OK WRITECMEM OK OK OK OK OK OK OK OK OK OK OK OK OK
SETTIME OK OK OK OK OK OK OK OK OK OK OK OK OK READCF OK OK OK OK OK OK OK OK OK OK OK OK OK
WRITECF OK OK OK OK OK OK OK OK OK OK OK OK OK MEMCOPY OK OK OK OK OK OK OK OK OK OK OK OK OK
SWAP OK OK OK OK OK OK OK OK OK OK OK OK OK SWAPL OK
SETFOCUS OK OK OK OK OK OK OK OK RELEASEFOCUS OK OK OK OK OK OK OK OK
FOR, NEXT OK OK OK OK OK OK OK OK OK OK OK OK OK BREAK OK OK OK OK OK OK OK OK OK OK OK OK OK CONTINUE OK OK OK OK OK OK OK OK OK OK OK OK OK READHOSTB OK OK OK OK OK OK OK OK OK OK OK OK OK READHOSTW OK OK OK OK OK OK OK OK OK OK OK OK OK WRITEHOSTB OK OK OK OK OK OK OK OK OK OK OK OK OK WRITE HOSTW OK OK OK OK OK OK OK OK OK OK OK OK OK BITSET OK OK OK OK OK OK OK OK OK OK OK OK OK MEMSET OK OK OK OK OK OK OK OK OK OK OK OK OK
п оекта
т
По возникновению
т евоги/события
евоги/события
По отмене
Макрос экрана
При загрузке
к ана
Макрос функционального объекта
значение
При выгрузке
к ана
По отжатию
По нажатию
Перед вводом
числа/ст
Когда изменяется
оки
*
числа/ст
оки
При записи
*
*Числовое поле отображения и ввода
область отоб
Текстовый список
По нажатию на
При выборе
т евоги/события
аж.
1-14
Раздел 1 Введение в макросы
Серия NS - Справочное руководство по макросам
Добавленные функции
Действие/Операция Функция Замечания Установка даты/времени SETTIME Добавлено в NS-Designer V3.0
READCF Чтение/запись данных
WRITECF Операции над данными /(перестановка)
(выделение объектов
ввода) Переключение экрана
(BCD) Повторное выполнение (организация цикла)
Обмен данными
по нескольким адресам
SWAP
SWAPL
MEMCOPY
SETFOCUS Управление "фокусом"
RELEASEFOCUS
SHOWPAGEBCD
FOR, NEXT
BREAK
CONTINUE
READHOSTB
READHOSTW
WRITEHOSTB
WRITEHOSTW
BITSET Запись одновременно
MEMSET
Добавлено в NS-Designer V4.0 (обозначение оборудования
серии NS с окончанием – V1)
Добавлено в NS-Designer V5.0.
Добавлено в NS-Designer V6.0.
Добавлено в NS-Designer V6.2.
1-15
Раздел 2 Функции
Серия NS - Справочное руководство по макросам
Раздел 2 Функции
В данном разделе описано применение стандартных функций.
2-1 Таблица функций и аргументов .....................................................................................2-2
2-2 Подробное описание функций .......................................................................................2-5
2-1
Loading...
+ 38 hidden pages