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

2277

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

5

SEND-блок

 

SEND-блок

 

Пользователь

 

 

(если

передача

(если передача

(опрос, передан ли

уже набор

 

данных

по

за-

данных по но-

данных по запросу в СР и когда

 

просу

 

завер-

вому

запросу

новый набор данных для текущего

 

шена)

 

 

 

началась)

 

запроса может быть готов)

 

 

 

 

 

Пользователь

 

 

 

 

 

 

 

(если произве-

 

 

 

 

 

 

 

дена

обработ-

 

 

 

 

 

 

 

ка)

 

 

 

 

6

RECEIVE-блок

RECEIVE-

 

Пользователь

 

 

(если

 

прием

блок (если бы-

(опрос, был ли уже передан блок

 

данных

по

за-

ла

передача

данных по новому запросу в AG и

 

просу

 

завер-

данных по но-

когда новый блок данных для те-

 

шен)

 

 

 

вому запросу)

кущего запроса будет передан в

 

 

 

 

 

 

 

 

AG)

 

 

 

 

 

 

Пользователь

 

 

 

 

 

 

 

(если произве-

 

 

 

 

 

 

 

дено выполне-

 

 

 

 

 

 

 

ние)

 

 

 

 

 

 

 

 

 

7

Пользователь

Пользователь

SEND-RECEIVE-блок

 

 

(доступ

блоков

(соответст-

 

(если бит установлен, то блок не

 

SEND

 

 

и

вующая

об-

производит обмена

данными и

 

RECEIVE

на

ласть данных

выдается сообщение СР "ошибка")

 

область,

 

где

свободна)

 

 

 

 

находится

1-й

 

 

 

 

 

 

блок

текущего

 

 

 

 

 

 

запроса

завер-

 

 

 

 

 

 

шен)

 

 

 

 

 

 

 

 

* Во время передачи данных от СР к AG пользователь не может изменять набор данных в запросе. При небольших пакетах данных это некритично, т.к. при этом обмен данными может быть завершен в течение обработки блока. Однако при больших количествах данных можно передавать эти данные только в виде блоков. Это означает, что обмен данными может разделиться на несколько отдельных частей в течение выполнения программы, в зависимости от установленного в блоке SYNCHRON размера блока.

Слово длины

В слово длины заносят блоки управления SEND и RECEIVE, сколько данных (в байтах) уже передано для текущего запроса. При функции ALL

70

блоки SEND и RECEIVE передают в младший байт номер запроса, для которого активна текущая обработка. Номер запроса "0" (пустое исполнение) означает, что никакого запроса не обрабатывается.

Описание

Стирание/

Выполнение

 

перезапись

 

НТВ/SEND, RECEIVE

НТВ/SEND,

Пользователь (если бит 2, 5 или 6 в

(во время обмена дан-

RECEIVE

слове индикации установлены, в

ных)

FETCH

 

слове длины устанавливается те-

Содержимое определя-

через

пере-

кущая длина источника или при-

ется: текущее число пе-

запись

при

емника; если установлен бит 3, то

редач + число уже (при

следующем

слово длины содержит, сколько

блокировании)

запросе

 

данных было передано до возник-

замененных данных

 

 

новения ошибки)

Байт индикации "Ошибка параметрирования" (PAFE)

В этом байте (в старшей тетраде) находятся сообщения о различных сообщениях параметрирования.

7

 

 

 

 

 

 

 

 

0 ––– Номер бита

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

Ошибка

 

 

 

 

 

 

0

Нет ошибки

 

 

 

 

0 Нет ошибки

1Неверный ORG-формат, недопустимый QTYP/ZTYP (AG или СР)

2Отсутствует область (отсутствует DB или DB недопустим)

3Область мала

4Возможна ошибка QVZ/нет обращения

5Неверное слово индикации

6 Нет параметров источника или приемника при SEND/RECEIVE ALL (системная ошибка)

7Отсутствует интерфейс

8Интерфейс неясен

9Интерфейс перегружен

АСвободно

ВНедопустимый A-NR

СИнтерфейс (СР) не квитирован или подтвержден отрицательно D Параметр/BLGR недопустим (1 байт)

ЕСвободно

F Свободно

71

Параметры QTYP/ZTYP:

 

Описание

 

 

DBNR значение

QANF/ZANF значе-

QLAE/ZLAE зна-

 

QTYP/ZTYP

 

допустимой об-

ние

допустимой

чение допустимой

 

 

 

 

 

ласти

 

 

области

 

 

 

области

 

 

NN

Нет параметров ис-

Недействи-

Недействительно

 

Недействительно

 

точника/приемника

тельно

 

 

 

 

 

 

 

 

 

 

в блоке; параметр

 

 

 

 

 

 

 

 

 

 

 

 

должен быть в СР

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XX

Косвенная

адре-

DB,

в

который

Номер

DW, с ко-

Недействительно

 

сация

параметров

заносится

пара-

торого

распола-

 

 

 

 

заносится

в

блок

метр

источни-

гаются параметры

 

 

 

 

 

данных (с специ-

ка/приемника

0...2047

 

 

 

 

 

 

 

фическим DBNR и

2. ..255

 

 

 

 

 

 

 

 

 

 

QANP)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RW

Косвенная

адреса-

DB, в КОТОРЫЙ

Номер DB, с кото-

Недействительно

 

ция без

обмена

заносится

пара-

рого располагаются

 

 

 

 

данными;

парамет-

метр источни-

параметры

 

 

 

 

 

 

ры источника/ при-

ка/приемника

0...2047

 

 

 

 

 

 

емника занесены в

2...255

 

 

 

 

 

 

 

 

 

 

DB *

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DB

Данные

 

источни-

DB, из которого

Номер DB, начиная

Длина

блока

 

ка/приемника

в

берутся

исход-

с которого

запи-

данных источни-

 

блок данных в ос-

ные данные или

сываются данные

 

ка/приемника

в

 

новной памяти

 

в который пе-

0...2047

 

 

словах

 

 

 

 

 

 

 

редаются

при-

 

 

 

 

1...2048

 

 

 

 

 

 

 

емные

данные

 

 

 

 

 

 

 

 

 

 

 

 

2...255

 

 

 

 

 

 

 

 

 

МВ

Исходные

прини-

Не

задейство-

Номер байтов мар-

Длина

блока

ис-

 

маемые

 

данные

вано

 

 

 

керов,

начиная

с

ходного/прием-

 

из/в маркерной об-

 

 

 

 

которого

данные

ного в байтах

 

 

ласти

 

 

 

 

 

 

 

забираются или за-

1...255

 

 

 

 

 

 

 

 

 

 

 

писываются 0...255

 

 

 

АВ

Данные

исходные/

Не

задейство-

Номер

выходного

Длина

блока

ис-

 

принимаемые

из/в

вано

 

 

 

байта,

начиная

с

ходного/прием-

 

картину

 

отобра-

 

 

 

 

которого

данные

ного в байтах

 

 

жения

 

процесса

 

 

 

 

забираются или за-

1...128

 

 

 

выхода (РАА)

 

 

 

 

 

писываются 0...127

 

 

 

ЕВ

Данные

исходные/

Не

задейство-

Номер

входного

Длина

блока

ис-

 

принимаемые

из/в

вано

 

 

 

байта,

начиная

с

ходного/прием-

 

область

 

отобра-

 

 

 

 

которого

данные

ного в байтах

 

 

жения

 

процесса

 

 

 

 

забираются или за-

1...128

 

 

 

входа (РАЕ)

 

 

 

 

 

писываются 0...127

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

72

 

 

 

 

 

 

 

 

РВ

Данные

исходные/

Не

задейство-

Номер периферий-

Длина

блока ис-

 

 

приемные из/в пе-

вано

 

 

ного байта, на-

ходного/прием-

 

 

 

риферийные моду-

 

 

 

чиная

с

которого

ного в байтах

 

 

 

ли.

При

исходных

 

 

 

данные забираются

1...256

 

 

 

 

 

данных это модуль

 

 

 

или записываются:

 

 

 

 

 

 

 

входов, при при-

 

 

 

0...127 - цифровой

 

 

 

 

 

 

 

емных данных это

 

 

 

периферии;

 

 

 

 

 

 

 

модуль выходов

 

 

 

127... 255 - анало-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

говой периферии

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ZB

Данные

исходные/

Не

задейство-

Номер счетчика,

Длина

блока

ис-

 

 

принимаемые из/в

вано

 

 

начиная с которого

ходного/прием-

 

 

 

ячейку счетчика

 

 

 

данные

принима-

ного

в

словах

 

 

 

 

 

 

 

 

 

ются или записы-

(счетчик равен 1

 

 

 

 

 

 

 

 

 

ваются (0...127)

слову) 1...128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ТВ

Данные

исходные/

Не

задейство-

Номер таймера, на-

Длина

блока

ис-

 

 

принимаемые из/в

вано

 

 

чиная

с

которого

ходного/прием-

 

 

 

ячейку таймера

 

 

 

данные

принима-

ного в словах (в

 

 

 

 

 

 

 

 

 

ются

или

записы-

таймере

равна

1

 

 

 

 

 

 

 

 

 

ваются (0...127)

слову) 1...128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AS

Данные

исходные/

Не

задейство-

Абсолютный на-

Длина блока дан-

 

 

приемные из/в аб-

вано

 

 

чальный адрес, на-

ных

 

исходно-

 

 

солютно

 

адресо-

 

 

 

чиная

с

которого

го/приемного

в

 

 

ванную ячейку па-

 

 

 

данные

принима-

байтах

 

 

 

 

 

мяти

 

 

 

 

 

ются

или

записы-

1...32767

 

 

 

 

 

 

 

 

 

 

 

ваются (0...+32767

0000 … FFFF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-32768)

 

 

 

 

 

1 При блоке RECEIVE нельзя указывать ZTYP как RW.

 

 

 

 

 

 

 

 

 

 

 

16.5. Блок SEND -FB 120-

 

 

 

 

 

 

 

FB

120 выдает запрос на передачу данных к модулю с адресованным

буфером. Можно различить два вида функционирования:

 

 

 

 

 

-

SEND ALL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Функциональный блок служит в качестве замены для непосредственного

доступа к памяти;

 

 

 

 

 

 

 

 

 

 

 

 

-

SEND-на прямую

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для определенного запроса передачи данных.

 

 

 

 

 

 

Вызов функционального блока (пример)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AWL

 

 

 

 

FUP/KOP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SPB FB

120

 

 

 

 

 

 

 

 

 

 

NAME

:

 

SEND

 

 

 

 

FB 120

 

 

 

 

 

 

 

 

 

 

 

 

 

73

 

 

 

 

 

 

 

 

 

SSNR

:

KY

0,10

 

 

SEND

 

A-NR

:

KY

0,32

——

SSNR

PAFE

 

ANZW

:

MW

14

——

A-NR

 

 

QTYP

:

КС

DB

——

ANZW

 

 

DBNR

:

KY

0,10

——

QTYP

 

 

QANF

:

KF

+ 1

——

DBNR

 

 

QLAE

:

KF

+33

–——

QANF

 

 

PAFE

:

MB

13

–——

QLAE

 

 

 

 

* * *

 

 

 

 

 

Описание функции SEND ALL

Для этих функций блоку необходимы следующие параметры:

SSNR номер интерфейса;

A-NR номер запроса (устанавливается на "0");

ANZW ввод слова индикации;

PAFE ввод байта ошибки.

Все остальные параметры в данном запросе недействительны. СР через коммуникационную область передает следующую информацию:

адрес слова индикации;

указание ввод типа данных;

количество данных;

начальный адрес области данных.

В слове индикации соответствующего запроса обрабатываются или передаются следующие биты:

блокирована передача данных;

передача данных завершена;

идет передача данных.

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

Блок SEND должен параметрироваться как "ALL" (ВСЕ) при вызове в управляющей программе по крайней мере один раз на каждый канал, если:

СР может требовать самостоятельно данные от AG; например, при СР 525 в выводе изображения или при СР 535 с типом запроса READ-PASS IV;

запрос СР начинается с SEND-DIREСT (непосредственный SEND), СР требует данные к этому запросу, однако только через фоновую коммуникацию у AG;

количество данных, которые должны быть переданы по SENDDIREСT СР, больше установленного размера блока.

Описание функции SEND-DIRECT

74

Функция SEND-DIRECT непосредственно работает со следующими параметрами:

SSNR - номер интерфейса

A-NR - номер запроса (устанавливается не равным "0") ANZW - ввод слова индикации

PAFE - ввод байта ошибки QTYP - тип источника DBNR - номер блока данных

QANF - начальный адрес источника

QLAE - количество исходных данных

Функция DIREСT обычно вызывается в циклической части программы управления. Однако блок может быть вызван так же при обработке по прерыванию INTERUPT или ALARM, но тогда слово индикации не актуализируется циклически. Эта задача должна быть в этом случае передана на блок

CONTROL.

Для передачи данных или активирования запроса SEND нужно выполнить два условия:

функциональному блоку передается VKE;

СР имеет разблокириванный запрос (бит "SEND/FETCH-запрос идет" слова индикации установлены в "0").

При передаче VKE "0" (пустой проход) актуализируется только слово

индикации. Если в параметр QTYP введена метка "NN", то необходимо исходные параметры занести в СР. Если этого не происходит, то запрос прерывается с сообщением ошибки.

Обмен информацией может производиться следующим образом:

требуемые данные непосредственно передаются на СР;

СР требует только параметры запроса;

количество передаваемых данных слишком велико. Блок передает СР параметры и первый блок данных. Затем СР требует оставшиеся данные или другой блок данных от AG с помощью функции SEND ALL.

Для пользователя блока оба вида запуска одинаковы. Однако в двух по-

следних случаях время передачи данных, занимает минимум программного времени.

Описание функции WRITE

Если параметр QTYP установлен со значением "RW", то блок передает в СР косвенно введенные исходные и приемные параметры. Принимаемые параметры при этом передаются вместе с пользовательскими данными, они затребуются через SEND-ALL к партнеру по коммуникации (функция WRITE).

16.6. Блок RECEIVE -FB 121-

FB 121 выдает запрос на прием данных от модуля с буферной адресацией. Различают два вида функционирования:

75

RECEIVE-ALL

Для каждого любого запроса МОГУТ быть приняты данные. Функциональный блок служит как заменитель прямого доступа обращения к памяти;

– RECEIVE-DIRECT (непосредственный RECIEVE)

Для определенного запроса по приему данных.

Вызов функционального блока (пример)

 

 

AWL

 

 

FUP/KOP

 

 

SPB FB

121

 

FB121

 

 

NAME

:

RECEIVE

 

 

RECEIVE

 

SSNR

:

KY

0,10

––––

SSNR

 

 

A-NR

:

KY

0,101

––––

A-NR

 

 

ANZW

:

MW

24

––––

ANZW

 

 

ZTYP

:

KC

DB

––––

ZTYP

 

 

DBNR

:

KY

0,10

––––

DBNR

 

 

ZANF

:

KF

+100

––––

ZANF

 

 

 

 

 

ZLAE

:

KF

-1

––––

ZLAE

PAFE

–––

 

PAFE

:

MB

23

 

 

 

 

 

 

 

 

 

 

 

***

 

 

 

 

 

Описание функции BECEIVE-ALL

Для этой функции блоку необходимы следующие параметры: SSNR номер интерфейса;

A-NR номер запроса (устанавливается на "0"); ANZW ввод слова индикации;

PAFE ввод байта ошибки.

Все другие параметры в этом запросе не имеют значения.

СР передает через область коммуникации следующую информацию:

адрес слова индикации;

ввод типа данных;

количество данных;

начальный адрес области данных.

В слове индикации текущего запроса обрабатываются или вводятся следующие биты:

передача данных блокирована;

передача данных завершена;

идет передача данных.

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

Блок RECEIVE при параметрировании "ALL" должен минимально быть вызван из программы управления один раз на интерфейс, если

76

СР самостоятельно передает данные на AG;

количество данных, которые должны быть приняты с помощью не-

посредственного RECEIVE (RECEIVE-DIREKT) больше, чем установленный размер блока;

– СР использует RECEIVE-DIREKT только для разблокировки телеграммы приема, а данные передаются через фоновую коммуникацию AG.

FB 121 может быть вызван пользователем в качестве функции

RECEIVE-ALL

в циклической части программы (например, в 0В 1);

части программы, управляемой по времени (например, WECK-блок);

части программы по прерыванию (прерывание от процесса).

Описание функции RECEIVE-DIREСT

DIREСT-функция работает со следующими параметрами: SSNR номер интерфейса;

A-NR номер запроса (устанавливается не равный "0"); ANZW ввод слова индикации;

PAFE ввод байта ошибки ; ZTYP тип приемника; DBNR номер блока данных;

ZANF начальный адрес приема;

ZLAE количество принимаемых данных.

Функция DIREСT обычно вызывается в циклической части программы управления. Блок также может быть вызван при обработке прерывания или ALARM, но при этом слово индикации не актуализируется циклически. Эту задачу тогда должен взять на себя блок CONTROL.

БЛОК RECEIVE предпринимает обмен подтверждениями с СР только в том случае, если:

функциональный блок был передан с VKE равным "1";

запрос СР свободен (бит "RECEIVE запрос завершен" в слове индикации установлен).

При передаче VKE, равном "0" (пустой цикл) актуализируется только

слово индикации.

Если параметр ZTYP получает метку "NN", то должен быть получен параметр приема от СР; в противном случае запрос будет прерван с сообщением ошибки.

Если СР также передает при других установках ZTYP параметр приема, то следует обратить внимание только на указание параметра блока.

Большое количество данных может приниматься только поблочно. С помощью функции RECEIVE-DIRECT можно принять только один блок данных. Оставшиеся данные или другие блоки данных поэтому необходимо передавать с помощью функций RECEIVE-ALL в AG.

77

16.7. Блок FETCH -FB 122-

FB 122 выдает запрос на получение данных коммуникационным партнерам через СР. Прием данных обрабатывается через функциональный блок FB 121 и функцию RECEIVE-ALL. С помощью блока FETCH можно ПОЛУЧИТЬ данные только по определенному запросу (функция FETCH DIRECT).

Вызов функционального блока (пример)

 

AWL

 

 

FUP/KOP

 

 

 

 

 

 

 

 

SPA FB

122

 

FB122

 

 

NAME

: FETCH

 

 

 

 

 

 

 

FETCH

 

 

SSNR

: KY

0,10

––––

SSNR

PAFE

––––

A-NR

: KY

0,101

––––

A-NR

 

 

ANZW

: MW

9

––––

ANZW

 

 

ZTYP

: КС

DB

––––

ZTYP

 

 

DBNR

: KY

0,46

––––

DBNR

 

 

ZANF

: KF

+ 5

––––

ZANF

 

 

ZLAE

: KF

+ 20

––––

ZLAE

 

 

PAFE

: MB

14

 

 

 

 

 

***

 

 

 

 

 

 

 

 

 

 

 

 

Описание функции FETCH

Для этой ФУНКЦИИ необходимо задать все параметры. Параметры приема (ANZW, ZTYP, DBNR. ZANF, ZLAE) передаются СР во время квитированного обмена. Как только появляются требуемые данные, СР выставляет этот набор параметров вместе с данными блоку RECEIVL-ALL для использования. Блок FETCH сам не передает и не принимает данных.

Запрос FETCH будет активирован, если выполнятся следующие условия:

функциональный блок передаст VKE равный ―1‖;

СР имеет свободную функцию (бит ―SEND/FETCH-запрос идет‖ установлен в "0").

Если параметр ZTYP имеет значение "RW", то блок FETCH передает в СР описание источника и приемника, а также адрес слова индикации.

Функция FETCH может быть вызвана из циклической части программы и из частей, управляемых по времени или управляемых по прерыванию. Актуализацию слова индикации берут на себя блоки FETCH или CONTROL.

78

16.8. Блок CONTROL -FB 123-

FB 123 актуализирует слово индикации для определенного запроса или указывает, какой запрос в данный момент обрабатывается.

Вызов функционального блока (пример)

 

AWL

 

 

FUP/KOP

 

 

 

 

 

 

 

 

 

 

SPA FB

123

 

 

 

 

NAME

: CONTROL

 

 

FB123

 

 

SSNR

: KY

0,10

 

CONTROL

 

A-NR

: KY

0,101

––––

SSNR

 

 

ANZW

: MW

20

––––

A-NR

 

 

PAFE

: MB

22

––––

ANZW

PAFE

––––

 

***

 

 

 

 

 

 

 

 

 

 

 

 

Описание функции CONTROL

Для этой функции необходимы следующие параметры: SSNR - номер интерфейса;

A-NR - номер запроса, который нужно контролировать;

ANZW - ввод слова данных, в котором должны быть сохранены контрольные результаты;

PAFE - ввод байта ошибок.

В зависимости от установки номера запроса блок CONTROL выполняет различные функции.

Установка параметра A-NB, равного "0"

СР запрашивает, какой запрос обрабатывается в данный момент. В ячейке запроса ―0‖ СР записывает номер актуального запроса. Содержимое данной ячейки при обработке блока CONTROL передается в младший байт слова индикации.

Установка параметра А-NR значением неравным "0" Блок работает в функции CONTROL-DIRECT:

опрашивается состояние определенного запроса;

актуализируется слово индикации.

Обработка блока не зависит от VKE. Однако FB 123 должен вызываться в циклической части программы управления.

16.9. Блок RESET -FB 124-

FB 124 стирает запрос, который шел через указанный интерфейс. Можно различить два вида функций:

79

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]