Учебное пособие 800293
.pdf15.5. Установка флагов при выполнении операций преобразования
Образование двоичного дополнения (KZW) приводит к установке всех кодов. Эта установка зависит от результата преобразования.
Флаги при выполнении операций преобразования
Результат после выполнения |
|
Флаги |
|
Допустимые функции |
||
операции преобразования |
|
|
переходов |
|
||
|
|
|
|
|
||
ANZ1 |
|
ANZ0 |
OV |
|
||
|
|
|
|
|||
< -32786 |
1 |
|
0 |
1 |
SPN, SPP, SPO |
|
от -32768 до -1 |
0 |
|
1 |
0 |
SPN, SPM |
|
от +1 до +32767 |
1 |
|
0 |
0 |
SPN, SPP |
|
> +32767 |
0 |
|
1 |
1 |
SPN, SPM, SPO |
|
(-) 65536 * |
0 |
|
0 |
1 |
SPZ, SPO |
|
* Результат преобразования из КН = 8000.
16. ПРОГРАММИРОВАНИЕ ОБМЕНА ДАННЫХ
Функциональные блоки FB 120 … FB 125 производят управление обменом данных между коммуникационными процессорами в разветвленных системах управления. Они имеют следующие преимущества по отношению к самостоятельно разработанным программным средствам:
в памяти пользователя не занимается место; не требуется передача с диска; короткое время обработки блоков управления;
не требуется область маркеров, счетчиков и таймеров. Блоки управления имеют следующие параметры:
Обозначение |
|
Значение |
SSNR |
: |
Номер интерфейса (номер буфера) |
A-NR |
: |
Номер запроса |
ANZW |
: |
Слово индикации |
QTYP/ZTYP* |
: |
Тип источника или приемника данных |
DBNR |
: |
Номер блока |
QANF/ZANF* |
: |
Относительный начальный адрес внутри типа |
QLAE/ZLAE* |
: |
Число передаваемых/принимаемых данных |
PAFE ** |
|
Ошибка параметрирования |
BLGR |
: |
Размер блока |
*Если эти параметры не требуются, их можно обойти.
*Параметрируются только непосредственно.
60
16.1. Описание параметров
Формальные операнды, которые при установке блока управления должны обеспечиваться, имеют следующие значения:
"SSNB" - номер интерфейса
Параметр SSNR содержит логический номер интерфейса (буфера), с которым будет работать соответствующий запрос.
Параметр |
|
Область значений |
|
Тип |
Формат |
|
|
|
|
||
|
|
KY= х, у |
|
|
KY |
х=0 |
Непосредственное параметрирование |
байтах |
|
х=0... 255 |
Номер интерфейса (адрес буфера) |
|
х 0 |
Косвенное параметрирование |
|
в |
|
||
|
|
|
|
Данные |
|
у=0... 255 |
Номер слова данных. Начиная со следующего |
|
|
слова данных в действительное в данное вре- |
|
|
|
|
|
|
|
|
мя DB заносятся параметр SSNR, A-NR и |
|
|
|
ANZW |
|
|
|
|
"A-NR" - номер запроса
Запрос для интерфейса будет характеризован этим номером.
Параметр |
|
Область значений |
|
Тип |
Формат |
|
|
|
|
||
в |
KY |
KY=x,у |
На параметр х не надо обращать внимания |
|
y=0 |
Через у представляется номер запроса |
|
Данные байтах |
|
||
|
у= 1 … 223 |
|
|
|
|
Функция—ALL * |
|
|
|
|
Прямая функция |
|
|
|
Номер запроса должен быть выполнен** |
|
|
|
|
*Функция ALL при блоке FETCH недопустима.
**Значения отдельных номеров запросов содержатся в руководстве по устройству и соответствующего CPU.
"ANZW" - слово индикации
61
С помощью этого параметра Вы указываете адрес двойного слова (DW N / DW N + 1 или MW N и MW N + 2), в котором заносится состояние обработки определенного запроса.
Параметр |
|
|
|
|
|
|
Область значений |
Тип |
Формат |
|
|
Адрес (слова) |
W |
х=0 ... 255 |
Адрес слова индикации при непосредственном |
|
|
параметрировании |
|
|
|
Допустимые области: DW, MW |
|
|
|
|
|
|
|
|
|
"QTYP/ZTTP" - тип источника или приемника данных
Этот параметр Вы заносите в виде ASCII-знаков, которые указывают тип источника данных (при SEND) или приемника данных (при RECIEVe или
FETCH).
Параметр |
|
|
Область значений |
|
|
|
Тип |
Формат |
|
|
|
|
|
|
КС |
КС= |
DB, АВ, ЕВ, MB, ТВ, ZB, AS |
|
|
|
|
|
|
Непосредственное параметрирование |
|||
в символах |
|
|
ввод источника данных (цели данных) произво- |
|||
|
|
дится |
непосредственно |
в |
параметрах |
|
|
|
QTYP/ZTIP, DBNR, QANF / ZANF, QLAE, |
||||
|
|
ZLAE |
|
|
|
|
|
KC=NN |
Без параметрирования ввод источника (при- |
||||
Данные |
|
|
емника) данных производится в запросе к ком- |
|||
|
|
муникационному процессу |
|
|
||
|
KC=RW, |
Косвенное параметрирование |
|
ввод источника |
||
|
|
XX |
(приемника) данных устанавливается в области |
|||
|
|
|
данных, которые специфицируются параметром |
|||
|
|
|
DBNR и QANF/ZANF |
|
|
|
|
|
|
|
|
|
|
"DBNB" - номер блока данных
Если параметр QTYP//ZTYP заносится в виде DB, RW или XX, то необходимо к этому параметру ввести номер желаемого блока данных.
Параметр |
|
Область значений |
|
Тип |
Формат |
|
|
BYTE |
KY |
KY=0, y |
Номер блока данных, в котором будут рас- |
|
|
y=2 … 255 |
полагаться данные |
"GANF/ZANF" - начальный адрес блока данных для источника или приемника данных
62
При косвенном параметрировании - установка QTYP/ZTYP с RW или XX - введите здесь номер DW, с которого начинается блок параметрирования. При прямом параметрировании QANF/ZANF на заданную область.
Параметр |
Область значений |
|
Тип |
Формат |
|
* |
KF |
Допустимая область (см. далее) |
* Данные (число с фиксированной точкой).
"GLAE/ZLAE" - длина блока данных источника или приемника
В зависимости от типа источника или приемника при непосредственном параметрировании длина представляется как число байтов или слов.
Параметр |
|
Область значений |
||
Тип |
Формат |
|
|
|
Данные |
КН |
Допустимая область (см. далее) |
||
KONST |
KF |
-1 : - 1 означает: |
|
|
|
|
- |
при RECIEVE |
принимается столько данных, |
|
|
|
сколько передает передатчик или столько, сколько |
|
|
|
|
позволяет отдельная ограниченная область |
|
|
|
- |
при SEND передается столько данных, пока от- |
|
|
|
|
дельная ограниченная область не заполнится |
|
|
|
|
"BLGR" - размер блока |
Этот параметр указывает размер блока данных, максимально возможно используемый при выполнении, с помощью блоков управления между АG и СР обмена (только при синхронизации).
Параметр |
|
|
Область значений |
||
Тип |
Формат |
|
|
|
|
Данные |
KY |
KY=0, y |
|
Размер блока время обработки * |
|
в байтах |
|
|
|
(SEND и RECIEVE) |
|
|
|
У=0 |
64 |
байта ** |
3. 7 мс |
|
|
У=1 |
16 |
байт |
1. 0 мс |
|
|
у=2 |
32 |
байта |
2. 0 мс |
|
|
у=3 |
64 |
байта |
3. 7 мс |
|
|
У=4 |
128 байт |
7. 5 мс |
|
|
|
у=5 |
256 байт |
15 мс |
|
|
|
У=6 |
512 байт |
30 мс |
|
|
|
У=7...254 |
как при Y=0 |
|
* Время обработки SEND и RECIEVE при CPU 944:
63
основное время запроса составляет около 1 мс. Общее время вычисляется следующим образом: основное время + кол-во байт * 1.7 мкс + время получения READY от СР.
** Блок использует определенные DEFAULT-параметры (при AGS5-115U размер блока устанавливается в 64 байта).
"PAFE" - индикация ошибок при ошибках параметрирования
Здесь задается адрес байта, устанавливающегося при возникновении ошибки параметрирования. Такие ошибки могут быть, если:
–отсутствует интерфейс;
–параметры QTYP/ZTYP, QANF/ZANF или QLAE/ZLAE заданы неверно.
Параметр |
|
Область значений |
|
Тип |
Формат |
|
|
Адрес, |
BY |
АВ 0…63 |
При CPU 941 |
байт |
|
АВ 0…127 |
Начиная с CPU 942 |
|
|
АВ 0…255 |
Для всех CPU |
16.2. Непосредственное и косвенное параметрирование
Старший байт параметра SSNR служит критерием переключения для непосредственного и косвенного параметрирования.
Старший байт SSNR = 0 Означает непосредственное параметрирование
SSNR, A-NR, ANZW ИЛИ BLGR задаются не-
посредственно в блоки.
Старший байт SSNR 0 Означает косвенное параметрирование SSNR, A- NR и ANZV/BLGR задаются в указанном открытом блоке данных начиная со слова данных, указанного в младшем байте SSNR.
SSNR и A-NR имеют при обоих типах параметрирования один и тот же формат данных (KY). В слове индикации ANZW различаются форматы представления. В то время, как при прямом параметрировании адрес слова индикации указывается непосредственно (например, MW 100), при косвенном параметрировании необходим дополнительный ввод через области слова индикации. Указания этой области производятся в виде кодов ASCII в слове данных, которое предустанавливает слово индикации.
При этом: MW используется для слова индикации в маркерной области; DB используется для слова индикации в блоке данных.
64
В следующих словах данных области параметров в DB стоят в формате данных KY адрес ANZW, при DB дополнительном номере блока (в первом байте KY формата).
Пример.
Прямое параметрирование SSNR, A-NR и ANZW
Слово индикации в области маркеров
Параметрирование |
Пояснения |
||
SPA |
FB 121 |
|
|
NAME : RECEIVE |
|
|
|
SSNR : KY 0. 3 |
Интерфейс имеет номер 3 |
||
A-NR : KY 0.100 |
Номер запроса 100 |
||
ANZW : MW 240 |
В качестве слова индикации используются маркер- |
||
|
|
ные слова 240 и 242 |
|
|
|
|
|
|
|
Слово индикации в блоке данных |
|
|
|
|
|
Параметрирование |
Пояснения |
||
А |
DB 47 |
Активизирован DB 47 |
|
SPA |
FB 123 |
|
|
NAME: |
CONTROL |
|
|
SSNR: |
KY 0. 3 |
Номер интерфейса 3 |
|
A-NR: |
KY 0. 100 |
Запрос номер 100 |
|
ANZW: DW 40 |
В качестве слова индикации используются слова |
||
|
|
данных 40 и 41 в DB 47 |
|
|
|
|
|
|
Косвенное параметрирование SSNR, A-NR и ANZW |
||
|
|
Слово индикации в виде маркера |
|
|
|
|
|
Параметрирование |
Пояснения |
АDB 44 Открыт DB 44
SPA |
FB 120 |
|
NAME : SEND |
|
|
SSNR : |
KY 255.1 |
Значение для косвенного параметрирования |
|
. |
Область данных для параметрирования начинается с |
|
. |
DV 1 |
A-NR |
KY 0.0 |
Не задействовано |
ANZV |
MW 0 |
Не задействовано |
DB |
44 |
|
DW1 |
KY 0. 1 |
Интерфейс номер 1 |
|
|
65 |
DW2 |
|
KY 0. 31 |
Запрос номер 31 |
|
|
DW3 |
|
КС MW |
Слово индикации лежит в области маркеров |
|
|
DW4 |
|
KY 0. 200 |
Слово индикации представлено в словах маркеров |
|
|
|
|
|
200 и 202 |
|
|
|
|
|
|
|
|
|
|
Слово индикации в виде блока данных |
|||
|
|
|
|
||
Параметрирование |
Пояснения |
|
|
||
А |
|
DB 24 |
Открыт блок DB 24 |
|
|
SPA |
|
FB 120 |
|
|
|
NAME : SEND |
|
|
|
||
SSNR |
: KY 255,1 |
Значения для косвенного параметрирования |
|
|
|
|
|
: |
Интерфейс номер 3 |
|
|
A-NR |
|
: KY 0.0 |
Не задействовано |
|
|
ANZW: |
MW 0 |
Не задействовано |
|
|
|
DB |
|
24 |
|
|
|
DW1 |
|
KY 0, 1 |
Интерфейс номер 1 |
|
|
DW2 |
|
KY 0, 31 |
Номер запроса 31 |
|
|
DW3 |
|
КС DB |
|
|
|
|
Слово индикации лежит в блоке данных |
|
|
||
DW4 |
|
KY 222,10 |
|
|
|
|
Адрес слова индикации (DV 10 и DV 11 в DB 222) |
|
|
||
|
|
|
|
|
|
DB |
|
222 |
|
|
|
DW |
10 |
Слово индикации |
|
|
|
DW 11 |
|
|
|
|
|
|
|
|
|
||
Косвенное параметрирование SSNR и BGR (при использовании блока |
|||||
SYNCHRON) |
|
|
|
||
|
|
||||
Параметрирование |
Пояснения |
||||
|
|
|
|
||
A |
|
DB 49 |
Открыт DB 49 |
||
SPA |
|
FB 125 |
|
|
|
NAME : SYNCHRON |
|
|
|
||
SSNR : KY 255,100 |
Значения для косвенного параметрирования. Область |
||||
|
|
|
|||
|
|
|
данных для параметрирования начинается с DW 100 |
||
BLGR : KY 0,0 |
Не задействовано |
||||
DB |
|
49 |
|
|
|
DW 100 |
KY 0,10 |
Интерфейс номер 10 |
|||
DW 101 |
KY 0, 6 |
Размер блока составляет 512 байт |
|||
|
|
|
|
|
|
Косвенное параметрирование GTYP/ZTYP, QANF/ZANF и QLAE/ZLAE
66
При параметрировании QTYP или ZTYP в виде RW или XX ввод источника (приемника) занимает область данных. Начальный адрес этой области данных указывается в виде значения параметра QANF.
При косвенном параметрировании с XX необходимо занести в блок, который определяется формальным операндом "DBNR", следующие данные:
Адрес в блоке |
Тип пара- |
Область |
Пояснение |
данных |
метра |
значений |
|
|
|
|
|
QANF + 0 |
КС |
DB,AB,ЕВ |
Задание типа источника или приемника |
|
|
MВ,ТВ,ZB |
|
|
|
AS, NN |
|
+ 1 |
KY |
2…255* |
Номер DB при типе источника или при- |
|
|
|
емника DB (старший байт равен 0) |
+ 2 |
KF |
0. .. 2047 |
Начальный адрес области источника или |
|
|
|
приемника QANF/ZANF |
|
|
|
|
+ 3 |
KF |
1...2048 |
Длина области источника или приемника |
Только если выбран "DB" в качестве значения.
При косвенном параметрировании с RW данные в блоке с номером "DBNR" должны иметь следующее содержание:
Адрес в блоке |
Тип пара- |
Область |
Пояснение |
данных |
метра |
значений |
|
QANF + 0 |
КС |
DB,AB,EB |
Ввод типа источника |
|
|
ИВ,ТВ.ZB |
|
|
|
AS, NN |
|
+ 1 |
KY |
2…255* |
Номер DB при типе источника "DB" |
|
|
|
(старший байт равен 0) |
|
|
|
|
+ 2 |
KF |
0...2047 |
Начальный адрес исходного блока |
|
|
|
данных источника |
|
|
|
|
+ 3 |
KF |
1…2048 |
Длина блока данных источника |
|
|
|
|
+ 4 |
КС |
DB,AB,EB |
Ввод типа приемника |
|
|
НВ,ТВ,ZB |
|
|
|
AS, NN |
|
+ 5 |
KY |
2. ..255# |
Номер DB при типе приемника "DB" |
|
|
|
(старший байт равен 0) |
+ 6 |
KF |
0...2047 |
Начальный адрес блока данных приема |
+ 7 |
KF |
1...2048 |
Длина блока данных приема |
Только если перед этим выбран "DB".
67
16.3.Конфигурация и значения слова индикации
Вслове индикации содержится информация о состоянии развития запроса. При параметрировании Вы должны указать адрес слова индикации. Оттуда информацию можно считать и обрабатывать дальше. Лучше всего указывать параметр ANZW таким образом, чтобы для каждого определенного запроса адресовалось отдельное слово индикации. Слово индикации является частью двойного слова, которое адресуется через параметр ANZW. При этом слово N – непосредственно слово индикации, а слово N + 1 – длина слова.
Слово индикации можно разделить на четыре области. Отдельные биты при этом имеют следующие значения:
|
Не занято |
Индика- |
Обработка |
Индика- |
||||||||||||||
|
|
|
|
|
|
ция |
|
данных |
|
|
ция |
|
||||||
|
|
|
|
|
ошибки |
|
|
|
|
|
|
статуса |
||||||
|
15 |
|
|
12 |
|
|
|
8 |
7 |
|
6 |
5 |
4 |
3 |
|
2 |
1 |
0 |
Запрос RECIEVE готов (данные имеются)
SEND/FETCH идет запрос Запрос готов (без ошибки) Запрос готов (с ошибкой)
Идет передача/прием данных Передача данных завершена Прием данных завершен
Передача/прием данных блокирован
Значения индикации ошибок
Индикация ошибок действительна только если одновременно устанавливается бит "запрос готов или завершен с ошибкой" (бит 3) в индикации статуса. Отдельные возможные ошибки приведены ниже.
Значение тетра- |
Ошибка |
ды ошибки |
|
|
|
0 |
Нет ошибки. Если бит "запрос готов" с ошибкой все-таки ус- |
|
тановлен, это значит, что СР конфигурирует запрос после |
|
нового старта или RESET |
1… 5 |
Ошибка AG |
6. . .F |
Ошибка СР. Сообщение, специфичное для СР. Причину |
|
ошибки Вы можете определить с помощью соответствующе- |
|
го описания СР |
68
16.4. Значения индикации статуса и обработки данных
Индикация статуса и биты для обработки данных могут быть от блоков управления (НТВ) или от пользователя.
Номер |
Установка |
Стирание/ |
Выполнение |
|
|
бита |
|
перезапись |
|
|
|
|
|
|
|
|
|
0 |
НТВ |
НТВ |
Блок RECEIVE (при установ- |
|
|
|
|
|
|
ленном бите будет произведено |
|
|
|
|
|
управление от СР) |
|
|
|
|
|
Пользователь (опрос, имеется ли |
|
|
|
|
|
телеграмма) |
|
|
|
|
|
|
|
1 |
НТВ |
НТВ |
SEND/FETCH – блок (новый за- |
||
|
(как скоро по- (если |
запрос прос готовится только тогда, когда |
|||
|
лучен запрос на от СР |
обрастарый запрос отработан) |
|||
|
СР) |
ботан) |
|
|
|
|
|
|
|
Пользователь (запрос, произведена |
|
|
|
|
|
ли подача нового запроса) |
|
2 |
НТВ |
НТВ |
Пользователь |
||
|
(если запрос |
(если запрос |
(опрос, завершен ли запрос |
||
|
завершен без |
был выполнен |
без ошибки) |
||
|
ошибки) |
заново) |
|
|
|
3 |
НТВ |
НТВ |
Пользователь |
||
|
(если запрос за- (если |
запрос (опрос, был ли запрос завершен |
|||
|
вершен с ошибзаново |
разбез ошибок) |
|||
|
кой). |
решен) |
|
|
|
|
Причина ошиб- |
|
|
|
|
|
ки находится в |
|
|
|
|
|
старшем байте |
|
|
|
|
|
слова индика- |
|
|
|
|
|
ции |
|
|
|
|
4НТВ/SEND,RE НТВ/SEND, Пользователь
CEIVE (если RECEIVE (ес- (опрос, был ли блок данных обмен данными ли обмен данпередан непосредственно) * начался по заными по запросу. Пример: просу заверначало по пряшен)
мой функции, но обмен по функции ALL)
69