Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800293

.pdf
Скачиваний:
49
Добавлен:
01.05.2022
Размер:
1.35 Mб
Скачать

15.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