Функции по группам

1. Пересылки данных

Код функции Мнемоника Выходы S D R Действие
0 MOV M M Пересылка слова
1 MVIBCD B M Занесение BCD константы в память
2 XCG M M Обмен слов
7 MVID D M Занесение десятичной константы в память
8 MVIO O M Занесение восьмеричной константы в память
68 PUSH M M Ввод в стек
69 POP M M M Вывод из стека
70 MOVBLK M M M Пересылка блока
71 MVMBLK M M M Косвенная пересылка блока
74 STM M M Запись слова с косвенной адресацией
75 LDM M M Чтение слова с косвенной адресацией
76 MVM M M Пересылка слова с косвенной адресацией
90 MOVB M M Пересылка байта
91 SHFTBLK M M Сдвиг блока по байту


2. Преобразования

Код функции Мнемоника Выходы S D R Действие
3 BCDW M M Преобразование слова из BCD
4 WBCD M M Преобразование слова в BCD
50 ENCOD M M Кодирование в позиционный код
51 DECOD Z M M Декодирование позиционного кода
53 SWPB M M Обмен тетрад в байте


3. Логические

Код функции Мнемоника Выходы S D R Действие
9 NEG Z M M Инвеpсия байта
13 AND Z M M M Логическое умножение байта
14 OR Z M M M Логическое сложение байта
18 XOR Z M M M Исключающее "ИЛИ" с байтом
38 BMASK M O O Байтовая маска
39 WMASK M O O Двухбайтовая маска
81 PRTO M M Контрольный бит четность
82 PRTOCH = M Проверка на четность
83 PRTE M M Контрольный бит нечетность
84 PRTECH = M Проверка на нечетность


4. Арифметические

Код функции Мнемоника Выходы S D R Действие
10 ADDBCD >Z M M M Сложение слов BCD
11 SUBBCD -Z M M M Вычитание BCD
12 CMP >=< M M Cравнение слов
36 ROR F08 M Сдвиг слова вправо
37 ROL 0F7 M Сдвиг слова влево
54 SCALE M M O Масштабирование
55 MATH <=> M M D Специальные математические функции
92 ADD >Z M M M Сложение
93 SUB <Z M M M Вычитание
94 MUL M M M Умножение
95 DIV M M M Деление


5. Таймеры,счетчики

Код функции Мнемоника Выходы S D R Действие
56 TIMSET M M O Уставки в формате времени
57 TIMFIX M M O Преобразование уставки во время
63 INCW >= M M Инкремент слова
64 DECW <Z M Декремент слова
65 TGRP O Группа таймеров
66 TGRP2 M M O Группа таймеров 2


6. Специальные

Код функции Мнемоника Выходы S D R Действие
19 WRITE M O O Запись блока в модуль ввода-вывода
20 READ O M M Чтение блока из модуля ввода-вывода
21 MVAMOD E M O O Задать режимы МВА-08
22 MVASET E M O Запись уставок МВА-08
23 MVARD O M Чтение данных МВА-08
41 PID O O PID-регулятор
58 ERCODE M M Индикатор кода аварии
98 ADCWR O O O Запись уставок.
99 ADCRD M O O Считывание кодов АЦП


7. NETPLC, SCADA

Код функции Мнемоника Выходы S D R Действие
300 NODE D Установить сетевой адрес
301 NREAD O O M D Чтение данных удаленного ПЛК
302 NWRITE O M O D Запись в удаленный ПЛК
303 NMSG G S Запись сообщения
304 NSTORE G S M Запись в хранилище
305 NSYNC = D D Автогенератор
306 NGREAT > M M Больше
307 NLESS < M M Меньше
308 NEQUAL = M M Равно
310 NAVG R M M Усреднитель
311 NSETDI M D Задать слово
312 NMOVB M M D Пересылка байт
313 NMOVW M M D Пересылка слов
314 NMAX R M M Максимум
315 NLESSI < M D Меньше значения
316 NGREATI > M D Больше числа


Детальное описание функций

[0] MOV Пересылка слова

Параметры

S Адрес пересылаемого слова
D Адрес в который пересылаются данные
R

Выходы

Описание

Передается слово в памяти данных из адреса (S) в адрес (D).
После выполнения команды данные по адресу (S) сохраняются.

Пример :

Команда выполняется при значении 1 бита START0 (адрес 020008).
Слово 987616 находящееся по адресу 040008 передаётся в адрес 040048.

Цепь

До выполнения

После выполнения



[1] MVIBCD Занесение BCD константы в память

Параметры

S Константа в двоично-десятичной кодировке
D Адрес слова, в который заносятся данные
R

Выходы

Описание

Константа в двоично-десятичной кодировке заданная в параметре S, заносятся в память данных по адресу в D.
Константа содержит до четырех цифр.

Пример :

Команда выполняется при значении 1 бита START1 (адрес 020018).
Слово 987616 заданное в параметре S заносится в адрес 040008.

Цепь

До выполнения

После выполнения



[2] XCG Обмен слов

Параметры

S Адрес обмениваемых данных
D Адрес обмениваемых данных
R

Выходы

Описание

Обмен словами в памяти данных по адресам в (S) и (D).

Пример :

Команда выполняется при значении 1 бита START2 (адрес 020028).
Извлекаются слова по адресам (S) 040008 = 987616 и (D) 040028 = 000016, затем сохраняются по адресам 040028 и 040008 соответственно.

Цепь

До выполнения

После выполнения



[3] BCDW Преобразование слова из BCD

Параметры

S Адрес исходных данных
D Адрес результата преобразования
R

Выходы

Описание

Слово по адресу (S) в двоично-десятичной системе (BCD) преобразуется в двоичный код и записывается в память по адресу (D).

Пример :

Команда выполняется при значении 1 бита START3 (адрес 020038).
Извлекается слово по адресу (S) 040008 = 987616, преобразуется в двоичный код 269416.
Результат сохраняется по адресу (D) 040068.

Цепь

До выполнения

После выполнения



[4] WBCD Преобразование слова в BCD

Параметры

S Адрес преобразуемого слова
D Адрес результата преобразования
R

Выходы

Описание

Преобразование слова по адресу (S) в доичном коде в четырехразрядные по BCD. Результат заносится в память по (D).

Примечание:
Если слово в двоичнм коде подлежащее преобразованию превышают 999910, то при выполнении команды включается ввод-вывод флажка ошибки FErr1 (адрес 37718) и преобразование не выполняется.

Пример :

Команда выполняется при значении 1 бита START4 (адрес 020048).
Извлекается слово по адресу (S) 040068 = 269416, преобразуется в двоичный код 987616.
Результат сохраняется по адресу (D) 040028.

Цепь

До выполнения

После выполнения



[7] MVID Занесение десятичной константы в память

Параметры

S Константа в десятичном коде
D Адрес слова, в который заносятся данные
R

Выходы

Описание

Константа в десятичной кодировке заданная в параметре S, заносятся в память данных по адресу в D.
Константа может быть числом в диапазоне от 0 до 6553510.

Пример :

Команда выполняется при значении 1 бита START5 (адрес 020058).
Слово 3276710, заданное в параметре S, заносится в адрес заданный в D=040008.

Цепь

До выполнения

После выполнения



[8] MVIO Занесение восьмеричной константы в память

Параметры

S Константа в восьмеричном коде
D Адрес слова, в который заносятся данные
R

Выходы

Описание

Константа в восьмеричной кодировке заданная в параметре S, заносятся в память данных по адресу в D.
Константа может быть числом в диапазоне от 0 до 1777768.

Пример :

Команда выполняется при значении 1 бита START5 (адрес 020058).
Слово 1234568, заданное в параметре S, заносится в адрес заданный в D=040008.

Цепь

До выполнения

После выполнения



[9] NEG Инвеpсия байта

Параметры

S Адрес байта для инверсии
D Адрес результата
R

Выходы

Обозначение Адрес Условие
Z (нуль) $+1 Устанавливается в "1" , если результат инверсии равен 0.

Описание

Инвеpтиpуются биты одного байта данных из (S), результат инверсии передается в (D). В зависимости от результата выполнения команды устанавливается флажок нуля.

Пример :

Команда выполняется при значении 1 бита START (адрес 020008).
Байт 5516 извлекается по адресу в параметре S = 04000 и инвертируется.
Байт результата AA16 заносится в адрес заданный в D=040028.

Цепь

До выполнения

После выполнения



[10] ADDBCD Сложение слов BCD

Параметры

S Адрес первого слагаемого
D Адрес второго слагаемого
R Адрес результата сложения

Выходы

Обозначение Адрес Условие
> (перенос) $+1 Устанавливается в "1" , если результат сложения превысит 9999BCD, иначе "0"..
Z (нуль) $+2 Устанавливается в "1" , если результат равен 0.

Описание

Сложение четырехзначных слов в двоично-десятичном коде по адресам (S) и (D).
Результат заносится в память по адресу (R).

Ошибки

Имя Адрес Условие
FErr1 037718 Если слагаемые не являются двоично-десятичными числами, функция не выполняется.

Пример 1:

Команда выполняется при значении 1 бита START (адрес 020008).
Первое слагаемое 1234BCD извлекается по адресу S = 40008.
Второе слагаемое 4321BCD извлекается по адресу D = 40028.
Результат сложения 5555BCD заносится по адресу R = 40048.
Выходы переноса и нуля сброшены.

Цепь

До выполнения

После выполнения

Пример 2:

Первое слагаемое 1234BCD извлекается по адресу S = 40108.
Второе слагаемое 9876BCD извлекается по адресу D = 40128.
Результат сложения 11110BCD превышает 9999BCD , младшие 4 цифры заносится по адресу R = 40148.
Выход переноса 030038 установлен в 1.

Цепь

До выполнения

После выполнения



[11] SUBBCD Вычитание BCD

Параметры

S Адрес уменьшаемого
D Адрес вычитаемого
R Адрес результата

Выходы

Обозначение Адрес Условие
- (заем) $+1 Устанавливается в "1" , если результат вычитания получен с отрицательным знаком, иначе "0"..
Z (нуль) $+2 Устанавливается в "1" , если результат равен 0.

Описание

Выполняется вычитание четырехзначных слов в двоично-десятичном коде по адресам (S) и (D).
Результат заносится в память по адресу (R).

Пример :

Команда выполняется при значении 1 бита START11 (адрес 020028).
Уменьшаемое 555516 извлекается по адресу S = 40008.
Вычитаемое 123416 извлекается по адресу D = 40028.
Результат вычитания 432116 заносится по адресу R = 40048.
Выходы переноса и нуля сброшены.

Цепь

До выполнения

После выполнения



[12] CMP Cравнение слов

Параметры

S Адрес сравниваемого слова
D Адрес сравниваемого слова
R

Выходы

Обозначение Адрес Условие
S > D (заем) $+1 Устанавливается в "1" , если слово в (S) больше чем в (D).
= (нуль) $+2 Устанавливается в "1" , если слова в (S) и в (D) равны.
S < D (нуль) $+3 Устанавливается в "1" , если слово в (S) льше чем в (D).

Описание

Вычитание четырехзначных слов в двоично-десятичном коде по адресам (S) и (D).
Результат сравнения заносится в биты результата.

Пример 1:

Команда выполняется при значении 1 бита START12 (адрес 020038).
Сравниваемые слова 555516 извлекается по адресу S = 40008 и 432116 извлекается по адресу D = 40028.
Бит результата "меньше" с адресом 30018 принимает значение 1.
Биты результата "равно" с адресом 30028и "больше" с адресом 30038 сброшены в 0.

Цепь

До выполнения

После выполнения

Пример 2:

Команда выполняется при значении 1 бита START12-1 (адрес 020048).
Сравниваемые слова 555516 извлекается по адресу S = 40008 и 555516 извлекается по адресу D = 40028.
Бит результата "равно" с адресом 30028 принимает значение 1.
Биты результата "меньше" с адресом 30018 и "больше" с адресом 30038 сброшены в 0.

Цепь

До выполнения

После выполнения



[13] AND Логическое умножение байта

Параметры

S Адрес байта множимого
D Адрес байта множителя
R Адрес байта результата

Выходы

Обозначение Адрес Условие
Z (нуль) $+1 Устанавливается в "1" , если результат равен 0.

Описание

Логическое умножение однобайтных величин по адресам (S) и (D).
Результат заносится в память по адресу (R).
Флаг "нуль" устанавливается при нулевом результате.

Таблица логического умножения
Бит множимого1 1 0 0
Бит множителя1 0 1 0
Бит результата1 0 0 0

Пример :

Команда выполняется при значении 1 бита START13 (адрес 020058).
Байт множимого 5516 извлекается по адресу S = 40008, байт множителя 0f16 извлекается по адресу D = 40028.
Результат логического умножения 0516 заносится по адресу R = 40048.
Бит результата "нуль" 30018 сброшен.

Цепь

До выполнения

После выполнения



[14] OR Логическое сложение байта

Параметры

S Адрес байта слагаемого
D Адрес байта слагаемого
R Адрес байта результата

Выходы

Обозначение Адрес Условие
Z (нуль) $+1 Устанавливается в "1" , если результат равен 0.

Описание

Логическое сложение однобайтных величин по адресам (S) и (D).
Результат заносится в память по адресу (R).
Флаг "нуль" устанавливается при нулевом результате.

Таблица логического сложения
Бит множимого1 1 0 0
Бит множителя1 0 1 0
Бит результата1 1 1 0

Пример :

Команда выполняется при значении 1 бита START14 (адрес 020068).
Байт первого слагаемого 5516 извлекается по адресу S = 40008, байт второго слагаемого 0f16 извлекается по адресу D = 40028.
Результат логического сложения 5f16 заносится по адресу R = 40048.
Бит результата "нуль" 30018 сброшен.

Цепь

До выполнения

После выполнения



[18] XOR Исключающее "ИЛИ" с байтом

Параметры

S Адрес байта
D Адрес байта
R Адрес байта результата

Выходы

Обозначение Адрес Условие
Z (нуль) $+1 Устанавливается в "1" , если результат равен 0.

Описание

Исключающее ИЛИ однобайтных величин по адресам (S) и (D).
Результат заносится в память по адресу (R).
Флаг "нуль" устанавливается при нулевом результате.

Таблица исключающего ИЛИ
Бит множимого1 1 0 0
Бит множителя1 0 1 0
Бит результата0 1 1 0

Пример :

Команда выполняется при значении 1 бита START18(адрес 020078).
Байт первого слагаемого 5516 извлекается по адресу S = 40008, байт второго слагаемого 0f16 извлекается по адресу D = 40028.
Результат 5a16 заносится по адресу R = 40048.
Бит результата "нуль" 30018 сброшен.

Цепь

До выполнения

После выполнения



[19] WRITE Запись блока в модуль ввода-вывода

Параметры

S Адрес блока данных
D Адрес модуля ввода-вывода
R Адрес слова, содержащего код передаваемого блока (старший байт) и счетчик блоков (младший байт)

Выходы

Описание

Запись блока данных в модули ввода-вывода МВА-02, -03.
Данные пересылаются из заданной области памяти данных в модуль, где происходит контроль данных блока.
Содержимое блока данных сохраняется.
Длина блока не должна превышать 256 байт. Код передаваемого блока не должен превышать 3768.
Примечание
Подробное описание форматов параметров смотреть в описании модуля ввода-вывода.

Ошибки

Имя Адрес Условие
FErr1 037718 Если длина или код передаваемого блока превышают максимальные значения, пересылка прерывается. В ячейки памяти данных 177668, 177678 записывается адрес первого слова команды.
FErr2 037128 Ошибка передачи данных, пересылка прерывается. В ячейки памяти данных 177668, 177678 записывается адрес первого слова команды.



[20] READ Чтение блока из модуля ввода-вывода

Параметры

S Адрес модуля ввода-вывода
D Адрес первого байта считываемого блока в ПЛК
R Адрес последнего байта считываемого блока в ПЛК

Выходы

Описание

Чтение блока данных из модулей ввода-вывода МВА-02, -03.
Данные пересылаются из модуля в заданную область памяти данных ПЛК.
Длина блока не должна превышать 256 байт.
Примечание
Подробное описание форматов параметров смотреть в описании модуля ввода-вывода.

Ошибки

Имя Адрес Условие
FErr1 037718 Если длина блока превышает максимальное значение, пересылка прерывается. В ячейки памяти данных 177668, 177678 записывается адрес первого слова команды.



[21] MVAMOD Задать режимы МВА-08

Параметры

S Адрес блока данных ПЛК с информацией о режимах работы модуля
D Адрес модуля ввода-вывода
R Адрес параметра фильтрации АЦП

Выходы

Обозначение Адрес Условие
E (ошибка) $+1 Устанавливается в "1" , при сбое в обмене информацией между ПЛК модулем

Описание

Запись данных в модуль МВА-08 при калибровке или изменении режима работы.
Примечание
Подробное описание форматов параметров смотреть в описании модуля ввода-вывода.



[22] MVASET Запись уставок МВА-08

Параметры

S Адрес начала блока уставок в памяти ПЛК
D Адрес модуля ввода-вывода
R

Выходы

Обозначение Адрес Условие
E (ошибка) $+1 Устанавливается в "1" , при сбое в обмене информацией между ПЛК модулем

Описание

Запись уставок в модуль ввода-вывода МВА-08.
Примечание
Подробное описание форматов параметров смотреть в описании модуля ввода-вывода.



[23] MVARD Чтение данных МВА-08

Параметры

S Адрес модуля ввода-вывода
D Адрес начала блока результатов в памяти ПЛК
R

Выходы

Обозначение Адрес Условие
E (ошибка) $+1 Устанавливается в "1" , при сбое в обмене информацией между ПЛК модулем

Описание

Пересылка результатов преобразования АЦП из модуля МВА-08 в память данных ПЛК.
Примечание
Подробное описание форматов параметров смотреть в описании модуля ввода-вывода.



[36] ROR Сдвиг слова вправо

Параметры

S Адрес слова
D
R

Выходы

Обозначение Адрес Условие
F (15-й бит) $+1 запишется в старший бит слова
0 (0-й бит) $+2 Содержимое 0 бита до сдвига
8 (8-й бит) $+3 Содержимое 8 бита до сдвига

Описание

Сдвиг вправо на один бит слова данных, записанных по адресу (S).
Бит $+1 записывается в старший бит слова (S). 8-й бит слова (S) записывается по адресу $+2. 1-й бит слова записывается по адресу $+3.

Пример :

Перед выполнением слово 010016 записано по адресу S = 40008.
Бит "1" записанный по адресу $+1 = 30018 - бит результата F - будет заполнять старший бит слова.
Команда выполняется при значении 1 бита START36(адрес 020008).
В результате сдвига в (S) содержится слово 808016.
Бит результата 0 по адресу 30028 сброшен, что соответствует значению бита 0 сдвигаемого слова.
Бит результата 8 по адресу 30038 установлен в 1, что соответствует значению бита 8 сдвигаемого слова.

Цепь

До выполнения

После выполнения



[37] ROL Сдвиг слова влево

Параметры

S Адрес слова
D
R

Выходы

Обозначение Адрес Условие
0 (15-й бит) $+1 Запишется в младший бит слова
F (0-й бит) $+2 Содержимое 15 бита до сдвига
7 (7-й бит) $+3 Содержимое 7 бита до сдвига

Описание

Сдвиг влево на один бит слова данных, записанных по адресу (S).
Бит $+1 записывается в младший бит слова (S). 15-й бит слова (S) записывается по адресу $+2. 7-й бит слова записывается по адресу $+3.

Пример :

Перед выполнением слово 080016 записано по адресу S = 40008.
Бит "1" записанный по адресу $+1 = 30058 - бит результата 0 - будет заполнять младший бит слова.
Команда выполняется при значении 1 бита START37(адрес 020018).
В результате сдвига в (S) содержится слово 101016.
Бит результата F по адресу 30068 сброшен, что соответствует значению бита 15 сдвигаемого слова.
Бит результата 7 по адресу 30078 установлен в 1, что соответствует значению бита 7 сдвигаемого слова.

Цепь

До выполнения

После выполнения



[38] BMASK Байтовая маска

Параметры

S Адрес байта
D Маска AND
R Маска OR

Выходы

Описание

Байт по адресу (S) логически умножается на инвертированное значение параметра D и логически складывается со значением параметра R. Полученный результат записывается обратно в (S).
Параметры масок задаются числами в восьмеричной системе.

Пример 1:

Перед выполнением байт ff16 записан по адресу S = 40008.
Параметр D - маска AND задана числом 2578 или 1010 11112.
Параметр R - маска OR задана числом 58 или 0000 01012.
Команда выполняется при значении 1 бита START38(адрес 020028).

Порядок выполнения:

  1. байт загружается из адреса (S) - 1111 11112;
  2. значение маски AND инвертируется - 0101 00002;
  3. инверсия маски AND логически умножается на байт - 0101 00002;
  4. к результату прибавляется значение маски OR - 0000 01012;
  5. результат 0101 01012 записывается в (S).

В результате в (S) = 40008 содержится байт 5516 или 0101 01012.

Цепь

До выполнения

После выполнения

Пример 2:

Тест функции для байта в битовой области. Параметры маски и результат как в Примере 1.

Цепь

До выполнения

После выполнения



[39] WMASK Двухбайтовая маска

Параметры

S Адрес слова
D Маска AND
R Маска OR

Выходы

Описание

Слово по адресу (S) логически умножается на инвертированное значение параметра D и логически складывается со значением параметра R. Полученный результат записывается обратно в (S).
Параметры масок задаются числами в восьмеричной системе.

Пример :

Перед выполнением слово ffff16 записано по адресу S = 40008.
Параметр D - маска AND задана числом 1253778 или 1010 0101 1111 11112.
Параметр R - маска OR задана числом 1258 или 0000 0000 0101 01012.
Команда выполняется при значении 1 бита START39адрес 020038).

Порядок выполнения:

  1. слово загружается из адреса (S) - 1111 1111 1111 11112;
  2. значение маски AND инвертируется - 0101 0101 0000 00002;
  3. инверсия маски AND логически умножается на байт - 0101 0101 0000 00002;
  4. к результату прибавляется значение маски OR - 0000 0000 0101 01012;
  5. результат 0101 0101 0101 01012 записывается в (S).

В результате в (S) = 40008 содержится слово 555516 или 0101 0101 0101 01012.

Цепь

До выполнения

После выполнения



[41] PID PID-регулятор

Параметры

S Байт разрешения регуляторов
D Формула
R

Выходы

Обозначение Адрес Условие
Err 3720-3727 ошибки регуляторов
K 3730-3737 пересчитывать коэффициенты
Ctrl 3740-3747 Управление

Описание

ПИД-регулирование по 8 каналам по заданной формуле.

Параметр S побитно управляет разрешением работы каналов регулятора, значения битов:

Номер формулы в параметре D - число 0...4.

Бит 7 параметра D имеет специальное значение:

Формулы ПИД-регуляции:
параметр D,
[8]
Формула:
0,100XOUT=pterm + KP*(ITERM/TR + dterm*TD);
1,101XOUT=pterm + ITERM/TR + dterm*TD;
2,102XOUT= U1 +Q0*error + Q1*E + Q2*E2;

Q0 = KP * ( 1 + delta_time/2*TR + TD/delta_time );
Q1 = -KP * ( 1 + 2*TD/delta_time - delta_time/2*TR );
Q2 = KP * TD/delta_time.
3,103,4,104XOUT=pterm + dterm + ITERM;

Адреса памяти данных 74000-74777 используемые ПИД-регулятором:
Адрес слова
[8], *1)
Значение
74x00KP
74x02делитель KP
74x04TR
74x06делитель TR
74x10TD
74x12делитель TD
74x14XMIN
74x16XMAX
74x20единица квантования ( должно быть 0 )
74x22минимальная длина импульса(ШИМ):
  • 0,1-10ms;
  • 2-20ms
  • ...
  • 100-1000ms
74x24начальное значение ITERM
74x26ЗАДАНИЕ
74x30полученное значение с датчика
74x32резерв
74x34фильтр (Error =(Error – E1)*KFILTR + E1; KFILTR = фильтр/100 )
74x36зона нечуствительности ( если Error < ЗОНЫ, то Error=0 )
74x40XOUT управляющее воздействие
74x42error ошибка рассогласования
74x44интегральная составляющая ITERM
74x46адрес 1-го бита модуля вывода управления ШИМ:
  • +0-"вправо";
  • +1- "влево".
74x50ошибки регулятора (0x0000 - 0xffff)
74x52error ошибка рассогласования по модулю
74x54резерв до 74x77
Примечания:
*1) x - номер регулятора 0...7;



[50] ENCOD Кодирование в позиционный код

Параметры

S Адрес байта для кодирования
D Адрес записи слова результата
R

Выходы

Описание

Кодирование четырех младших бит байта по адресу (S) в шестнадцатибитный позиционный код.

Примечание
Функции ENCOD [50] и DECOD [51] взаимно обратимы.

Таблица позиционного кода
Вход 16 Выход 2
0 0000000000000001
1 0000000000000010
2 0000000000000100
3 0000000000001000
4 0000000000010000
5 0000000000100000
6 0000000001000000
7 0000000010000000
8 0000000100000000
9 0000001000000000
A 0000010000000000
B 0000100000000000
C 0001000000000000
D 0010000000000000
E 0100000000000000
F 1000000000000000

Пример :

Перед выполнением байт 0116 записан по адресу S = 40008.
Команда выполняется при значении 1 бита START50 (адрес 020048).
В результате в (D) = 40108 запишется слово 000116 или 0000 0000 0000 00012.

Цепь

До выполнения

После выполнения



[51] DECOD Декодирование позиционного кода

Параметры

S Адрес слова для декодирования
D Адрес байта результата декодирования
R

Выходы

Обозначение Адрес Условие
Z (нуль) $+1 Устанавливается в "1" , если слово в (S) равно 0.

Описание

Декодирование слова по адресу (S) в позиционном коде в четырехбитное двоичное число.

Примечание
Функции ENCOD [50] и DECOD [51] взаимно обратимы.

Пример :

Перед выполнением слово 800016 записан по адресу S = 40108.
Команда выполняется при значении 1 бита START51 (адрес 020058).
В результате в (D) = 40008 запишется байт 0f16 или 0000 11112.

Цепь

До выполнения

После выполнения



[53] SWPB Обмен тетрад в байте

Параметры

S Адрес байта
D Адрес результата
R

Выходы

Описание

Выполняется обмен данными, записанными в старших и младших тетрадах байта (S). Результат записывается в (D).

Пример :

Перед выполнением байт 5a16 записан по адресу S = 40008.
Команда выполняется при значении 1 бита START53 (адрес 020068).
В результате в (D) = 40108 запишется байт a516.

Цепь

До выполнения

После выполнения



[54] SCALE Масштабирование

Параметры

S Адрес входного слова
D Адрес результата и коэффициентов
R Параметр

Выходы

Описание

Масштабирование данных по формуле Y=(A/B)*X+S*C,
где:

Входные, выходные данные и коэффициенты представлены словами.
Параметр R принимает значения 0 (S=1) или 1 (S=-1).

Пример :

Перед выполнением слово 010016 записано по адресу S = 40008.
Коэффициенты масштабирования:
A по адресу 40128 равен 3016;
B по адресу 40148 равен 1016;
C по адресу 40168 равен 4016;
параметр S равен -1.
Команда выполняется при значении 1 бита START54 (адрес 020078).
В результате в (D) = 40108 запишется результат (308:108)*1008 -408 равный 2c016.

Цепь

До выполнения

После выполнения



[55] MATH Специальные математические функции

Параметры

S Адрес первого параметра
D Адрес второго параметра
R Адрес третьего параметра

Выходы

Описание



[56] TIMSET Уставки в формате времени

Параметры

S Адрес поля параметров
D Адрес области таймеров
R Параметр установки

Выходы

Описание

Преобразует время заданное в формате 'часы,минуты,секунды,0.1сек' в слово и записывает уставку одного или нескольки таймеров для функций TGRP [65], TGRP2 [66]
Значения параметров:
Sадрес структуры из четырех слов, определяющиму уставку таймера:
  • S+0 - часы
  • S+2 - минуты
  • S+4 - секунды
  • S+6 - 0,1 сек
D 076xx или 074xx - адрес в области уставок группы таймеров.
R 0.000.000.0aa.0bb.bbb где aa - дискретность(00-0,01с; 01-0,1c; 10-1с; 11-10c); bbbbb – количество (счетчик) таймеров (00000 -1таймер; 11111-32 таймера)
Примечания:
  1. область 074XX может применяться только для функции TGRP2

Пример :

Дискрет 1сДискрет 10сДискр 0,1с
4000 01 час360036036000
4002 40 минут240024024000
4004 20 секунд202200
4006 0 0 0 0
07600 6020 602 60200

Цепь

До выполнения

После выполнения



[57] TIMFIX Преобразование уставки во время

Параметры

S Адрес области таймеров
D Значение установок
R Адрес поля параметров

Выходы

Описание

Преобразует уставку таймера для функций 65,66 в формат чмс+0.1

Пример :

              Дискрет 1с	Дискрет 10с	Дискрет 0,1с	
      07700     6020            602     60200	
      5000	01 час	3600	360	36000	
      5002	40 минут 	2400	240	24000	
      5004	20 секунд	20	2	200	
      5006	0	0	0	0	

где:

Цепь

До выполнения

После выполнения



[58] ERCODE Индикатор кода аварии

Параметры

S Адрес байта кода аварии в памяти
D Адрес бита индикатора
R

Выходы

Описание

Если установлен хотя бы один бит в байте по адресу (S) кода аварии, бит индикатора по адресу (D).
Код аварии также выводится на светодиод.

Ошибки

Имя Адрес Условие
FErr1 037718 Если адрес в S превышает 017778 или адрес в D меньше 040008

Пример :

Перед выполнением байт 0316 записан по адресу S = 40008.
Команда выполняется при значении 1 бита $ 02002 (адрес 020028).
В результате бит индикатора в (D) = 10008 мигает 3 раза с периодом 1сек с паузой между группами около 2 сек.

Цепь

До выполнения

После выполнения



[63] INCW Инкремент слова

Параметры

S Адрес слова уставки счетчика
D Адрес слова текущего значения
R

Выходы

Обозначение Адрес Условие
> $+1 Значение счетчика превысило максимальное значение
= (0-й бит) $+2 Значение счетчика равно уставке

Описание

Прибавляется единица к слову по адресу (S), после чего сравнивается со значением слова уставки по адресу (D).
Максимальное значение уставки - 177777 8 (6553510 или FFFF16).
Cчет продолжается и после совпадения со значением уставки. Сброс текущего значения осуществляется путем записи текущего значения 0.

Пример :

Перед выполнением (S) содержит адрес уставки счетчика - слово 0008 записано по адресу S = 40008.
Текущее значение счетчика - слово 0007 записано по адресу D = 40108.
Команда выполняется при значении 1 бита START63 (адрес 020048).
В результате прибавления единицы, текущее значение счетчика 40108 будет равно 0008 и сравняется со значением уставки.
Флаг совпадения по адресу 030068 устанавливается в 1.

Цепь

До выполнения

После выполнения



[64] DECW Декремент слова

Параметры

S Адрес слова текущего значения
D
R

Выходы

Обозначение Адрес Условие
< $+1 Значение счетчика перешло через 0000
Z (0-й бит) $+2 Значение счетчика равно 0000

Описание

Вычитается единица от слова по адресу (S).
Cчет продолжается и после перехода через нулевое значение.

Пример :

Перед выполнением адрес S = 40108 содержит текущее значение счетчика - слово 0000.
Команда выполняется при значении 1 бита START64 (адрес 020048).
В результате вычитания единицы, текущее значение счетчика 40108 будет равно FFFF16.
Флаг < по адресу 030018 устанавливается в 1.

Цепь

До выполнения

После выполнения



[65] TGRP Группа таймеров

Параметры

S Количество установок
D
R

Выходы

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

Описание

Выполнение данной команды позволит использовать функцию цифрового таймера с максимальной установкой до 6553,5 с, пpи этом цена деления pавна 0,1 с. Максимальное количество таймеров составляет 32.

    Примечания:
  1. Максимальное число установки - 32, если задать большее, то обнаруживается ошибка установки и таймер не настраивается. MAX S =40 (восьмеричное число);
    Таблица 4
    Количество установок Внутренние выводы, выполняющие функцию таймера
    8 точек3660 - 3677
    16 точек3640 - 3677
    24 точек 3620 - 3677
    32 точек3600 - 3677
  2. В области внутренних выводов для установки функции таймера нельзя использовать команды -(Т)-|, и -(C)-|. Для программирования мгновенного вывода (включения работы) катушки следует использовать команду –( )-|;
  3. Установка осуществляется группами по 8 точек. Если установка является числом не кратным 8, то автоматически берется число кратное 8, которое больше установленного.
  4. Переустановка текущего значения и контакта срабатывания осуществляется после окончания выполнения программы и перед началом следующего сканирования. Поэтому выключение мгновенного вывода катушки (вывод включения работы катушки) и ввод по изменению содержания в регистре не могут изменять состояние контакта срабатывания до момента выполнения концевой программы;
  5. Данная установка сохраняется до момента выключения электропитания.
  6. Пример :

    В этом примере внутренние выводы адресов 3660 - 3677 будут выполнять функцию мгновенного включения катушки и контакта срабатывания. В этом примере внутренние выводы с адресами 3660 - 3677 будут выполнять функцию мгновенной (включения) катушки и контакта срабатывания. Мгновенная катушка (включения) 3600, 3602, 3604… 3676; Контакт срабатывания 3601, 3603, 3605…3677; Регистр значения установки 7600 - 7676; Регистр текущего значения 7700 - 7776. Эти внутренние выводы и регистры могут выполнять функцию, которую выполняет базисная команда таймера. Мгновенная катушка Выкл. Текущее значение = 0. Мгновенная катушка Вкл. Текущее значение + 1 по 0,1 с. (Если значение установки < = текущему значению, то текущее значение не меняется.) Значение установки > Текущего значения - Контакт срабатывания Выкл. Значение установки <= Текущего значения - Контакт срабатывания Вкл. (Значение настройки и текущее значение представлены как данные по BIN).

    Цепь

    До выполнения

    После выполнения



[66] TGRP2 Группа таймеров 2

Параметры

S начальный адрес уставки таймера
D начальный адрес ПД или В/В, где располагается СТОП БИТЫ
R Параметры

Выходы

Описание

Функция установки группы таймеров 2.



[68] PUSH Ввод в стек

Параметры

S Адрес дна стека
D Адрес вершины стека
R

Выходы

Описание

Запись в назначенный стек байта данных извлеченного по адресу дна стека. При использовании данной команды в сочетании с командой POP (69) область памяти с адресами от S до D используется как стек FIFO " первым пришел - первым вышел " .

    Примечания:
  1. Емкость области стека составляет максимально 6410 байта.
  2. Значение данных "0" в стеке считается отсутствием данных, поэтому сдвиг не выполняется;
  3. При нахождении в назначенной области стека не нулевых данных, сдвиг осуществляется обходя эти данные.

Ошибки

Имя Адрес Условие
FErr1 037718
  1. При назначении области стека больше 6410 байт;
  2. Если начальный адрес области стека больше чем конечный;
  3. Назначенная область стека располагается на двух банках памяти.

Пример :

Перед выполнением параметры S = 4000 8 и D = 4007 8 задают область стека. Вводимый байт 1116 расположен по адресу дна стека 4000 8.
Команда выполняется при значении 1 бита START68 (адрес 020008).
В результате содержимое стека сдвигается по направлению к младшим адресам, вводимое значение записывается в адрес вершины стека .

Цепь

До выполнения

После выполнения



[69] POP Вывод из стека

Параметры

S Адрес дна стека
D Адрес вершины стека
R Адрес вывода

Выходы

Описание

Вывод из стека байта данных извлеченного по адресу вершины стека. При использовании данной команды в сочетании с командой PUSH (68) область памяти с адресами от S до D используется как стек FIFO " первым пришел - первым вышел " .

    Примечания:
  1. Емкость области стека составляет максимально 6410 байта.
  2. Значение данных "0" в стеке считается отсутствием данных, поэтому сдвиг не выполняется;
  3. При нахождении в назначенной области стека не нулевых данных в прерывном порядке данная команда не выполняет упорядочение этих данных. Выполняется сдвиг без упорядочения.

Ошибки

Имя Адрес Условие
FErr1 037718
  1. При назначении области стека больше 6410 байт;
  2. Если начальный адрес области стека больше чем конечный;
  3. Назначенная область стека располагается на двух банках памяти.

Пример :

Перед выполнением параметры S = 40008 и D = 40078 задают область стека. Выводимый байт 4416 расположен по адресу вершины стека 40078.
Команда выполняется при значении 1 бита START69 (адрес 020018).
В результате содержимое стека сдвигается по направлению от младших адресов к старшим, выводимое значение записывается в адрес R = 40108.

Цепь

До выполнения

После выполнения



[70] MOVBLK Пересылка блока

Параметры

S регистр начального адреса данных для передачи
D начальный регистр, в который передаются данные
R конечный регистр, в который передаются данные

Выходы

Описание

Передача блока данных из S в D длиной R байт. Длина блока не более 256 байт.

Ошибки

Имя Адрес Условие
FErr1 037718 Количество передаваемых данных больше 256

Пример :

Команда выполняется при значении 1 бита START70 (адрес 020028).
В результате содержимое области D = 40008-40078 переписывается в область начиная с адреса R = 40108.

Цепь

До выполнения

После выполнения



[71] MVMBLK Косвенная пересылка блока

Параметры

S Указатель адреса блока источника
D Указатель адреса блока назначения
R Указатель размера блока в байтах

Выходы

Описание

Пересылка блока данных длиной не более 256 байт из одной области памяти в другую.
Данная команда использует указатели на слова в памяти содержащие адреса блоков (S) (D) и счетчик длины (R).

Ошибки

Имя Адрес Условие
FErr1 037718
  1. Длина блока больше 25610 байт;
  2. Блок назначения частично или полностью выходит за пределы памяти.

Пример :

Команда выполняется при значении 1 бита START71 (адрес 020038).
В результате содержимое области (S) = 40008 длиной 168байт переписывается в область начиная с адреса (R) = 41008.

Цепь

До выполнения

После выполнения



[74] STM Запись слова с косвенной адресацией

Параметры

S Адрес слова
D Указатель адреса слова назначения
R

Выходы

Описание

Передача слова из S в (D).
Данная команда использует указатель на адрес слова назначения (D).

Пример :

Команда выполняется при значении 1 бита START74 (адрес 020048).
В результате слово 1111118 из (S) = 40008 записывается в область (D) = 40108.

Цепь

До выполнения

После выполнения



[75] LDM Чтение слова с косвенной адресацией

Параметры

S Указатель адреса слова источника
D Адрес слова
R

Выходы

Описание

Передача слова из (S) в D.
Данная команда использует указатель на адрес слова (S).

Пример :

Команда выполняется при значении 1 бита START75 (адрес 020058).
В результате слово 1111118 из (S) = 40108 записывается в область D = 40008.

Цепь

До выполнения

После выполнения



[76] MVM Пересылка слова с косвенной адресацией

Параметры

S адрес адреса слова источника
D адрес адреса слова приемника
R

Выходы

Описание

Выполняется пересылка слова, из ((S)) в ((D)).

Пример :

Команда выполняется при значении 1 бита START76 (адрес 020068).
В результате слово 1111118 из ((S)) = (40008) = 40108 записывается в область ((D)) = (40028) = 40128.

Цепь

До выполнения

После выполнения



[81] PRTO Контрольный бит четность

Параметры

S Адрес слова
D Адрес слова результата
R

Выходы

Описание

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

Пример :

Перед выполнением по адресу S = 40008 записано тестовое слово 001516.
Команда выполняется при значении 1 бита START81(адрес 020108).
В результате слово 0015 извлекается из памяти, старший бит заменяется на бит контроля.
Результат 801516 записывается в адрес R = 40108.

Цепь

До выполнения

После выполнения



[82] PRTOCH Проверка на четность

Параметры

S Адрес слова
D
R

Выходы

Обозначение Адрес Условие
= $+1
  • 0 - нет ошибки
  • 1 - ошибка

Описание

Контроль 15 бит слова по адресу S на четность.
Бит результата контроля выводится в адрес $+1.

Пример 1:

Перед выполнением по адресу S = 40108 записано тестовое слово 801516.
Команда выполняется при значении 1 бита START82(адрес 020118).
Cлово 8015 извлекается из памяти и проверяется на соответствие биту контроля.
Результат - нет ошибки - в адрес $+1 = 030028 записывается 0 .

Цепь

До выполнения

После выполнения

Пример 2:

Перед выполнением по адресу S = 40108 записано тестовое слово 801716.
Команда выполняется при значении 1 бита START82(адрес 020118).
Cлово 8017 извлекается из памяти и проверяется на соответствие биту контроля.
Результат - ошибка четности - в адрес $+1 = 030028 записывается 1.

Цепь

До выполнения

После выполнения



[83] PRTE Контрольный бит нечетность

Параметры

S Адрес слова
D Адрес слова результата
R

Выходы

Описание

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

Пример :

Перед выполнением по адресу S = 40008 записано тестовое слово 001716.
Команда выполняется при значении 1 бита START83(адрес 020128).
В результате слово 0017 извлекается из памяти, старший бит заменяется на бит контроля.
Результат 801716 записывается в адрес R = 40108.

Цепь

До выполнения

После выполнения



[84] PRTECH Проверка на нечетность

Параметры

S Адрес слова
D
R

Выходы

Обозначение Адрес Условие
= $+1
  • 0 - нет ошибки
  • 1 - ошибка

Описание

Контроль 15 бит слова по адресу S на нечетность.
Бит результата контроля выводится в адрес $+1.

Пример 1:

Перед выполнением по адресу S = 40108 записано тестовое слово 801716.
Команда выполняется при значении 1 бита START84(адрес 020138).
Cлово 8017 извлекается из памяти и проверяется на соответствие биту контроля.
Результат - нет ошибки - в адрес $+1 = 030058 записывается 0 .

Цепь

До выполнения

После выполнения

Пример 2:

Перед выполнением по адресу S = 40108 записано тестовое слово 001716.
Команда выполняется при значении 1 бита START84(адрес 020138).
Cлово 0017 извлекается из памяти и проверяется на соответствие биту контроля.
Результат - ошибка четности - в адрес $+1 = 030058 записывается 1.

Цепь

До выполнения

После выполнения



[90] MOVB Пересылка байта

Параметры

S Адрес байта
D Адрес байта
R

Выходы

Описание

Передача байта из адреса (S) в (D).

Пример :

Перед выполнением по адресу S = 40108 записано тестовое слово 801716.
Команда выполняется при значении 1 бита START84(адрес 020138).
Cлово 8017 извлекается из памяти и проверяется на соответствие биту контроля.
Результат - нет ошибки - в адрес $+1 = 030058 записывается 0 .

Цепь

До выполнения

После выполнения



[91] SHFTBLK Сдвиг блока по байту

Параметры

S Адрес начала блока
D Адрес конца блока
R

Выходы

Описание

Сдвиг байт в блоке заданном начальным S и конечным D адресами. Блок сдвигаемых данных составляет максимально 64 байта.

    Примечания:
  1. Если начальный адрес сдвигаемых данных больше, чем конечный адрес, то сдвиг осуществляется в противоположном направлении.
  2. При совпадении начального адреса с конечным, сдвиг не выполняется.

Ошибки

Имя Адрес Условие
FErr1 037718
  1. Длина блока больше 6410 байт;

Пример :

Выполняется сдвиг данных, записанных в адресах от S=040008 до D=040108.

Цепь

До выполнения

После выполнения



[92] ADD Сложение

Параметры

S Адрес слагаемого
D Адрес слагаемого
R Адрес результата

Выходы

Обозначение Адрес Условие
> $+1 Флажок переноса. Выводится в адрес ввода-вывода следующим за адресом катушки установки. Включается, когда результат сложения превысит четыре разряда и переносится на пятый разряд. Если переноса в пятый разряд нет, то флажок выключается.
Z $+2 Флажок нуля. Выводится в адрес " адрес катушки установки + 2". Включается, если результат сложения равен нулю, в противном случае выключается.

Описание

Выполняется сложение данных в двоичной системе, записанных в назначенных регистрах. S - регистр первого слагаемого. D - регистр второго слагаемого. R - регистр результата сложения. Данные представлены шестнадцатью разрядами. Флажок переноса. Выводится в адрес ввода-вывода следующим за адресом катушки установки. Включается, когда результат сложения превысит четыре разряда и переносится на пятый разряд. Если переноса в пятый разряд нет, то флажок выключается. Флажок нуля. Выводится в адрес " адрес катушки установки + 2". Включается, если результат сложения равен нулю, в противном случае выключается.

Пример :

Слагаемые записаны по адресам: (S) 040008 = 010016 и (D) 040028= 020016. Команда выполняется при значении 1 бита START92(адрес 020168).
Результат сложения 030016 записывается по адресу (R) 040048.

Цепь

До выполнения

После выполнения



[93] SUB Вычитание

Параметры

S Адрес уменьшаемого
D Адрес вычитаемого
R Адрес результата

Выходы

Обозначение Адрес Условие
< $+1 Флажок заема
Z $+2 Флажок нуля. Выводится в адрес " адрес катушки установки + 2". Включается, если результат сложения равен нулю, в противном случае выключается.

Описание

Вычитание данных.
S - регистр уменьшаемого. D - регистр вычитаемого. R - регистр результата вычитания. Данные представлены шестнадцатью разрядами. Флажок заема. Выводится в адрес ввода-вывода, следующим за адресом катушки установки. Флажок нуля. Выводится в адрес "адрес катушки установки + 2 ". Включается, если результат вычитания равен нулю, в противном случае выключается.

Пример :

Слова записаны по адресам: уменьшаемое (S) 040008 = 030016 и вычитаемое (D) 040028= 020016.
Команда выполняется при значении 1 бита START93(адрес 020178).
Результат вычитания 010016 записывается по адресу (R) 040048.

Цепь

До выполнения

После выполнения



[94] MUL Умножение

Параметры

S Адрес множимого
D Адрес множителя
R Адрес результата

Выходы

Описание

Выполняется беззнаковое умножение данных.

Пример :

Слова записаны по адресам: множимое (S) 040008 = 001016 и множитель (D) 040028= 001016.
Команда выполняется при значении 1 бита START94(адрес 020218).
Результат умножения 0000010016 записывается по адресу (R) 040048.

Цепь

До выполнения

После выполнения



[95] DIV Деление

Параметры

S Адрес делимого
D Адрес делителя
R Адрес частного

Выходы

Описание

Выполняется деление данных в системе BIN, записанных в назначенных регистрах. S - регистр делимого. Данные шестнадцатиразрядные. D - регистр делителя. Данные восьмиразрядные. R - регистр результата деления. Данные двадцатичетырехразрядные.

Ошибки

Имя Адрес Условие
FErr1 037718 Если делитель равен нулю

Пример :

Слова записаны по адресам: делимое (S) 040008 = 021016 и делитель (D) 040028= 001016.
Команда выполняется при значении 1 бита START95(адрес 020208).
Результат деления 00002116 записывается по адресу (R) 040048.

Цепь

До выполнения

После выполнения



[98] ADCWR Запись уставок.

Параметры

S кодовое значение верхней уставки
D кодовое значение нижней уставки
R задается адрес модуля, номер канала и режим

Выходы

Описание

Коды уставок, представленные в восьмеричной системе счисления, задаются в параметрах команды.

Диапазон изменения параметров S и D от 0000 до 7777. На модуле ввода должен быть выбран такой диапазон, чтобы значения верхней и нижней уставок входили в него.

Если модуль настроен на работу в диапазоне от 0 до Uмах, параметры вычисляются по формуле :

                     U
      S(D)=    ----------*  2048
                   Umax
       где 
          U - напряжение задаваемой уставки;
       Umax - максимальное значение напряжение заданного диапазона.

Если модуль настроен на работу в диапазоне от минус Umax до Umax, параметры S и D вычисляются по формуле:

                     U + Umax
       S(D)=    -------------------*  2048
                      Umax

Результат вычисления по формулам необходимо округлить до ближайшего целого числа и перевести в восьмеричную систему счисления. Параметр R располагается в двух байтах, занимая в них 13 младших бит. В старших трех битах должны быть записаны "0".

Модуль, подключенный к УПУ-ТП, имеет восьмеричный адрес и принимает значения в диапазоне от 000 до 177 в битах R6 - R12. Номер канала записывается в биты R3 - R5 и принимает значения от 0 до 7: 0 - 3 - номера каналов ввода, 4 - 7 - номера тестовых каналов.

Режимы принимают значения от 0 до 7 и записываются в биты R0 - R2, каждый из которых имеет свое функциональное назначение: R2 - признак аналого-цифрового преобразования. Единица в этом бите вызывает выработку кода аналого-цифрового преобразования сигнала, подключенного к заданному каналу.

R1 - признак "ТЕСТ". Единица в этом бите вызывает однократное выполнение тестовой программы. R0 - признак программной фильтрации. Единица в этом бите вызывает вычисление среднего значения последних 32 кодов аналого-цифрового преобразования. Для задания параметра R необходимо полученные восьмеричные числа расположить последовательно друг за другом в порядке: номер модуля, номер канала, режим.

Пример :

Требуется запрограммировать третий канал модуля с адресом 123. Нижняя уставка - минус 2В, верхняя 6В. Диапазон измерений модуля от "-10" до "+10" В. При этом необходимо убедиться в работоспособности модуля, т.е. выполнить тест. Вычисляем параметры функции S и D по вышеприведенным формулам:

               6+10
       S=    ------- *  2048 = 3276,8   3277
                10
       Число 3277 десятеричное, его восьмеричный эквивалент 6315. Следовательно,        первый параметр 
       функции S = 6315. Аналогично вычисляется второй параметр:
              -2+10
       D=    ------- *  2048 = 1638,4   
                10
       округленно - 1638.

Восьмеричный эквивалент десятичного числа 1638 = 3146. Следовательно, второй параметр функции D = 3146. Из составляющих параметр R неизвестен только режим. Если пользователя будет интересовать код измеряемой величины напряжения, то задаем признак аналого- цифрового преобразования "1". Для однократного выполнения программы признак "ТЕСТ" также задается равным "1". Программная фильтрация в задании отсутствует, поэтому соответствующий признак принимается "0". В итоге третий параметр функции R = 12336. Следовательно, чтобы выполнить поставленную задачу, нужно использовать F98 следующим образом:

       |                    2000     | 98
       |---------| |---------(F)-----| S=06315
       |                             | D=03146
       |                             | R=12336

Цепь

До выполнения

После выполнения



[99] ADCRD Считывание кодов АЦП

Параметры

S задается адрес памяти данных, начиная с которого будут записываться принятые коды аналого-цифрового преобразования или адрес ввода- вывода
D задается код номера каналов, коды которых будут считаны. Принимает значения от 00 до 17.
R задается адрес модуля, к которому идет обращение. Принимает значение от 000 до 177.

Выходы

Описание

По данной команде осуществляется считывание кодов аналого-цифрового преобразования каналов, указанных в команде. Одной командой можно считать до четырех каналов. S - задается адрес памяти данных, начиная с которого будут записываться принятые коды аналого-цифрового преобразования или адрес ввода- вывода. D - задается код номера каналов, коды которых будут считаны. Принимает значения от 00 до 17. R - задается адрес модуля, к которому идет обращение. Принимает значение от 000 до 177. Формат слов, принимаемых функцией 99:

Структура параметра D:

Каждый из значащих битов задает на чтение соответствующий ему канал.

                    Канал ввода      тестовый канал
               D3 -     0                   4
               D2 -     1                   5
               D1 -     2                   6
               D0 -     3                   7

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

Пример :

Вывести в память данных, начиная с адреса 4030, коды всех четырех каналов ввода модуля с адресом 176. Для выполнения этого задания надо использовать F99 следующим образом (рисунок цепи).

Цепь

До выполнения

После выполнения



[300] NODE Установить сетевой адрес

Параметры

S Адрес узла (0-255) для последующих команд NREAD, NWRITE
D
R

Выходы

Описание

Устанавливает адрес ПЛК в сети для операций NREAD, NWRITE.

Пример :

Команда устанавливает сетевой адрес 0 для последующего обмена.

Цепь

До выполнения

После выполнения



[301] NREAD Чтение данных удаленного ПЛК

Параметры

S область памяти удаленного ПЛК откуда читать данные
D область NETPLC куда писать
R длина блока в байтах

Выходы

Обозначение Адрес Условие
O $+1 Результат обмена. 0 - ПЛК отключен (или произошел разрыв связи); 1 - обмен прошел успешно.

Описание

Чтение данных из области S установленного ПЛК в область D NETPLC длиной R.

Пример :

Перед выполнением в удаленном ПЛК по адресу S = 4010 8записана последовательность 4-х байт: 12, 34, 56, 7816 .
Параметр D указывает на область NetPlc заданную символическим именем Meminp = 40108.
Параметр R - число байт для чтения = 4.
Команда выполняется при значении 1 бита "rw" адрес 020038).

Порядок выполнения:
Команда читает блок данных с удаленного ПЛК: адрес 040108 длина - 4 байта, в область NetPlc заданную символическим именем Meminp адрес 040108.
Команда выполняется при условии что предыдущее чтение прошло успешно, и флаг результата O по адресу 020048 установлен в 1.

Цепь

До выполнения

После выполнения



[302] NWRITE Запись в удаленный ПЛК

Параметры

S область NETPLC откуда читать
D область памяти удаленного ПЛК куда писать данные
R длина блока в байтах

Выходы

Обозначение Адрес Условие
O $+1 Результат обмена. 0 - ПЛК отключен (или произошел разрыв связи); 1 - обмен прошел успешно.

Описание

Запись данных из области S NETPLC в ПЛК по адресу D длиной R. Выход O = 0 при выключенном, 1 - при включенном ПЛК.

Пример :

Перед выполнением в NetPlc в области заданной символическим именем ctr = 04004 8 записан байт 5A 16.
Параметр D указывает на область 4004 8 в удаленном ПЛК.
Параметр R - число байт для чтения = 1.
Команда выполняется при значении 1 бита "rw" адрес 020038).

Порядок выполнения:
Команда записывает 1 байт данных из NetPlc в удаленный ПЛК.

Цепь

До выполнения

После выполнения



[303] NMSG Запись сообщения

Параметры

S номер сообщения
D группа сообщения
R тип сообщения

Выходы

Описание

Запись сообщения S в журнал группа D тип R.

Пример :

Параметр S указывает группу сообщений 1.
Параметр R номер сообщения 1.
Команда выполняется при значении 1 бита "START" адрес 020108.

Порядок выполнения:
Команда записывает в журнал сообщение 1 группы 1.
Данные хранятся в журнале в числовой форме, для визуализации сообщеий необходимо создать описания событий и групп.
На рисунке показан пример визуализации журнала на форме HMI, в котором группа 1 ="Гр0" сообщение 1 ="Тест".

Цепь

До выполнения

После выполнения



[304] NSTORE Запись в хранилище

Параметры

S адрес источника данных
D группа данных
R адрес слова данных

Выходы

Описание

Запись 2-x байт значения из адреса S группа D типа R.

Пример :

Параметр S указывает группу сообщений 1.
Параметр D номер сообщения 2.
Параметр R указывает адрес слова данных Mem = 040008.
Команда выполняется при значении 1 бита "STOR" адрес 020128.

Порядок выполнения:
Команда записывает в журнал данные группы 1.
Данные хранятся в журнале в числовой форме, для визуализации сообщеий необходимо создать описания событий, групп и тип преобразователя.
На рисунке показан пример визуализации журнала на форме HMI, в котором группа 1 ="Гр0" событие 2 ="Данные из 4000", преобразователь = "null".

Цепь

До выполнения

После выполнения



[305] NSYNC Автогенератор

Параметры

S период синхроимпульсов
D фаза синхроимпульса
R

Выходы

Обозначение Адрес Условие
O $+1 Выходная ячейка автогенератора.

Описание

Синхроимпульсы с уровнем 1 периодом S фазой D в ячейке следующей за адресом настройки.

Пример :

Параметр S указывает период 10 тактов.
Параметр D фаза 2 такт.

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

Порядок выполнения:
Каждые 10 тактов на 2-м такте на выходе NSYNC+1 = 020158 вырабатывается 1, в остальное время - 0.

Цепь

До выполнения

После выполнения



[306] NGREAT Больше

Параметры

S адрес данных
D адрес данных
R

Выходы

Обозначение Адрес Условие
> $+1 0 - меньше или равно; 1- больше.

Описание

Сравнение слова по адресу S со словом по адресу D. Результат 1 при S>D в ячейке, следующей за адресом катушки настройки.

Пример :

Параметр S = 040208 содержит адрес слова 02216.
Параметр D = 040228 содержит адрес слова 03316

Команда выполняется при "startngr" = 1

Результат выполнения:
Выход NGREAT+1 устанавливается в 0, так как условие (S)>(D) не выполнено.

Цепь

До выполнения

После выполнения



[307] NLESS Меньше

Параметры

S адрес данных
D адрес данных
R

Выходы

Обозначение Адрес Условие
< $+1 0 - больше или равно; 1- меньше.

Описание

Сравнение слова по адресу S со словом по адресу D. Результат 1 при S<D в ячейке, следующей за адресом катушки настройки.

Пример :

Параметр S = 040208 содержит адрес слова 02216.
Параметр D = 040228 содержит адрес слова 03316

Команда выполняется при "tnless" = 1

Результат выполнения:
Выход NLESS+1 устанавливается в 1, так как условие (S)<(D) выполнено.

Цепь

До выполнения

После выполнения



[308] NEQUAL Равно

Параметры

S адрес данных
D адрес данных
R

Выходы

Обозначение Адрес Условие
= $+1 0 - больше или меньше; 1- равно.

Описание

Сравнение слова по адресу S со словом по адресу D. Результат 1 при S=D в ячейке, следующей за адресом катушки настройки.

Пример :

Параметр S = 040208 содержит адрес слова 02216.
Параметр D = 040228 содержит адрес слова 03316

Команда выполняется при "tequal" = 1

Результат выполнения:
Выход NEQUAL+1 устанавливается в 0, так как условие (S)=(D) не выполнено.

Цепь

До выполнения

После выполнения



[310] NAVG Усреднитель

Параметры

S адрес входного значения
D адрес усредненного значения
R

Выходы

Обозначение Адрес Условие
R $+1 0 - нет усреднения, сброс счетчика в 1; 1- усреднение.

Описание

Усредняет целые значения в формате слова без знака. Диапазон значений входной величины 0...65535.
Входные значения в (S), усредненные в (D).
Используется слово по адресу (D+2) для хранения счетчика усреднителя.

При сбросе усреднения, когда R = 0, значение слова из (S) передается в (D) без преобразования, счетчик усреднения сброшен в 1. При усреднении, когда R = 1:

  1. вычисляется приращение: текущее значение в (D) вычитается из входное значение (S) и делится на счетчик усреднения (D+2);
  2. полученная величина приращения прибавляется к (D);
  3. счетчик усреднения инкрементируется.

      Пример 1:

      Пример работы в режиме сброса R=0.
      Входное значение в S = 040208 равно 6016.
      Текущее значение усреднителя в D = 040228 равно 4016.
      Счетчик усреднения (040248)=1.
      Команда выполняется при tavg = 1.
      В результате входное значение копируется в ячейки усредненного значения.

      Цепь

      До выполнения

      После выполнения

      Пример 2:

      Пример работы в режиме усреднения R=1.

      Входное значение в S = 040208 равно ffff16.
      Текущее значение усреднителя в D = 040228 равно 4016.
      Счетчик усреднения (040248)=1.
      Команда выполняется периодически при переходе tavg из 0 в 1.
      В результате входное значение из (040208) преобразуются и результат помещается в ячейку усреднения (040228).
      На графике формы HMI показаны моменты изменения входной величины:

      1. исходное значение (S)=0;
      2. входное значение изменилось (S)=65535;
      3. входное значение изменилось (S) = 0;

      Синхронизация заключалась в подаче на tavg = 020338 последовательности 0,1,0,1...
      Результат работы усреднителя изображен на графике.

      Для получения графика использована форма HMI "avg.hmi" с аналоговым элементом в исполнении "график".
      Для обработки указан преобразователь "null", масштабирующий входное значение 0...65535 к диапазону 0...100.

      Цепь

      До выполнения

      После выполнения



[311] NSETDI Задать слово

Параметры

S Куда занести данные
D Данные для ввода
R

Выходы

Описание

Установка 16-бит числа в ячейку S

Пример :

Параметр S = 040208 содержит адрес слова.
Параметр D = 1234510 содержит непосредственное десятичное значение.

Команда выполняется при "tsetd" = 1

Результат выполнения:
В ячейку (S) = 040208 заносится значение 1234510.

Цепь

До выполнения

После выполнения



[312] NMOVB Пересылка байт

Параметры

S адрес блока источника
D адрес блока приемника
R длина блока

Выходы

Описание

Пересылка (R) байт из (S) в (D) из любой области в любую.

Пример :

Параметр S = 040208 содержит адрес блока источника.
Параметр D = 040308 содержит адрес блока приемника.

Параметр R = 8 - длина блока в байтах.
Команда выполняется при "tmovb" = 1

Результат выполнения:
Блок из 8 байт копируется из (S) = 040208 в (d) = 040308.

Цепь

До выполнения

После выполнения



[313] NMOVW Пересылка слов

Параметры

S адрес блока источника
D адрес блока приемника
R длина блока

Выходы

Описание

Пересылка (R) 2-х байт слов из (S) в (D) из любой области в любую. Длина измеряется в словах.

Пример :

Параметр S = 040208 содержит адрес блока источника.
Параметр D = 040308 содержит адрес блока приемника.

Параметр R = 4 - длина блока в словах.
Команда выполняется при "tmovw" = 1

Результат выполнения:
Блок из 4 слов копируется из (S) = 040208 в (d) = 040308.

Цепь

До выполнения

После выполнения



[314] NMAX Максимум

Параметры

S Входное значение
D Максимальное значение
R

Выходы

Обозначение Адрес Условие
R $+1 0 - сброс в 0; 1- сохранение максимального значения.

Описание

Сохраняет максимальное значение в (D). Сброс в 0 по 0 в ячейке следующей за адресом настройки.
Используется слово по адресу (D+2) для хранения максимального значения.

Пример :

Входное значение в S = 040208 равно 2216.
Текущее значение в D = 040228 равно 2.
Режим сохранения максимального значения (NMAX+1)=1.
Команда выполняется при tmax = 1.
Входное значение 22 больше текущего 2, 22 копируется в ячейку максимального значения.

Цепь

До выполнения

После выполнения



[315] NLESSI Меньше значения

Параметры

S Адрес данных
D Непосредственное значение
R

Выходы

Обозначение Адрес Условие
< $+1 0 - больше или равно; 1- меньше.

Описание

Сравнение слова по адресу S со значением в D. Результат 1 при S<D в ячейке, следующей за адресом катушки настройки.

Пример :

Параметр S = 040208 содержит адрес слова 9910.
Параметр D = 10010 содержит непосредственное значение для сравнения.

Команда выполняется при "tlessi" = 1

Результат выполнения:
Выход NLESSI+1 устанавливается в 1, так как условие (S)<100 выполнено.

Цепь

До выполнения

После выполнения



[316] NGREATI Больше числа

Параметры

S Адрес данных
D Непосредственное значение
R

Выходы

Обозначение Адрес Условие
> $+1 0 - меньше или равно; 1- больше.

Описание

Сравнение слова по адресу S со значением в D. Результат 1 при S>D в ячейке, следующей за адресом катушки настройки.

Пример :

Параметр S = 040208 содержит адрес слова 9910.
Параметр D = 10010 содержит непосредственное значение для сравнения.

Команда выполняется при "tgreati" = 1

Результат выполнения:
Выход NGREATI+1 устанавливается в 0, так как условие (S)>100 не выполнено.

Цепь

До выполнения

После выполнения