Transfer ALL, kanl, kan3, 3

Сначала требование направляется к оператору, имеющему символическую мет­ку KAN1. Если канал обслуживания с символической меткой KANl занят, то требование направится к следующему каналу, перешагнув через 3 оператора. Если и этот канал будет занят, то требование снова перешагнет через 3 оператора, пока не найдет незанятый канал. В свободном канале обслуживания требование будет обслужено.

Блок TRANSFER обеспечивает переход активного транзакта к новому
блоку:

TRANSFER A, В, C, D

Операнды:

А – режим блока TRANSFER. Описывается ниже. Необязательный операнд. Допустимые значения: Name, PosInteger, ParenthesizedExpression, SNA, SNA'Parameter или Null.

В – номер или метка блока. Номер или имя параметра в режиме Р. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, Parenthesi-zedExpression, SNA или SNA'Parameter.

С – номер или местоположения блока. Приращение в режимах FN или Р. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.

D – приращение номера блока для режима ALL. По умолчанию 1. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, Parenthesi-
zed Expression, SNA
или SNA'Parameter.

Действие:

Блок TRANSFER может функционировать в одном из 9 режимов, каждый из которых имеет различные свойства. Когда транзакт входит в блок TRANSFER, операнд А используется для определения режима, в котором функционирует блок. Значение операндов В и С зависит от режима. Когда не задан операнд, соответствующий местоположению блока, используется блок, следующий за блоком TRANSFER.

Режим безусловной передачи. Когда операнд А опущен, блок TRANSFER функционирует в режиме безусловной передачи. В этом режиме активный транзакт всегда переходит к блоку, заданному в операнде В:

TRANSFER, New_Plaсе

Когда транзакт входит в этот блок TRANSFER, он немедленно направляется в блок с меткой New_Place.

Режим BOTH (ОБА). Когда в операнде А указано BOTH, блок TRANSFER функционирует в режиме BOTH, в дан­ном режиме проверяется блок, указанный в операнде В. Если транзакту отказано во входе в данный блок, проверяется блок, указанный в операнде С. Транзакт направляется в первый блок, в который ему будет позволено войти. Если ни один из блоков не принимает транзакт, он остается в блоке TRANSFER до тех пор, пока не сможет войти в один из них:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: