ГОСТ Р 56947—2016
Интерфейс «Р2РСотт» обеспечивается уровнем ИИЭР 1451.X и вызывается уровнем
ИИЭР 1451.0 для выполнения операций связи. Линейные методы «Comm» {«point to point» — «от точки к
точке») перечислены в таблице 95.
Таблица 95 — Методы «Comm» («point to point» — «от точки к точке»)
IEEE 1451 DotO ::M oduleCom m unicatk>n::P2PCom m
A r g s : : U ln t 1 6 r e a d { in A r g s : : T im e D u r a t io n t im e - o u t . in o u t A r g s : : U ln t 3 2 le n , o u t A r g s : : O c t e t A r r a y p a y lo a d , o u t
A r g s : : _ B o o le a n la s t) :
A r g s : : U ln t 1 6 w r it e { in A r g s : : T im e D u r a t io n t im e - o u t . in A r g s : : O c t e t A r r a y p a y lo a d , in A r g s : : _ B o o le a n la s t ) :
A r g s : : U ln t 1 6 f l u s h ( );
A r g s : : U ln t 1 6 r e a d S iz e ( o u t A r g s : : U ln t 3 2 c a c h e S iz e ) ;
A r g s : : U ln t 1 6 s e t P a y lo a d S iz e ( in A r g s : : U ln t 3 2 s iz e ) ;
A r g s : : U ln t 1 6 a b o r t ( );
A r g s : : U ln t 1 6 c o m m S t a t u s ( o u t A r g s : : U ln t 1 6 s t a t u s C o d e );
A r g s : : U ln t 1 6 s e t R e m o t e C o n f ig u r a t io n ( in A r g s : : T im e D u r a t io n t im e - o u t . in A r g s : A r g u m e n t A r r a y p a r a m s ) ;
A r g s : : U ln t 1 6 g e t R e m o t e C o n f ig u r a t io n ( in A r g s : : T im e D u r a t io n t im e - o u t . o u t A r g s : : A r g u m e n t A r r a y p a r a m s ) ;
A r g s : : U ln t 1 6 s e n d R e m o t e C o m m a n d ( in A r g s : : T im e D u r a t io n t im e - o u t . in A r g s : : U ln t 8 c m d C la s s I d . in A r g s : : U ln t 8
c m d F u n c t io n ld . in A r g s : : A r g u m e n t A r r a y in A r g s . o u t A r g s : : A r g u m e n t A r r a y o u t A r g s ) ;
11.2.1 Метод «IEEE1451DotO::ModuleCommunication::P2PComm::read»
IDL:
A rg s::U In tl6 read(
in A r g s :: TimeDuration tim eout,
ir. A rgs: :UInt32maxLen,
out A rgs::O ctetA rraypayload,
out A rgs::_B oolean l a s t ) .
Данный метод вызывается уровнем ИИЭР 1451.0 для извлечения информации о текущей опера
ции связи. Данный метод всегда вызывается уровнем ИИЭР 1451.0 на принимающем узле как для одно
стороннего. так и для двустороннего направлений связи. В случае двустороннего направления связи
данный метод также вызывается на инициирующем узле для получения ответа.
В случаях, когда уровень ИИЭР 1451.0 осуществляет многочисленные запросы «read( )» («Счи
тать») для больших полезных нагрузок, длина каждой возвращаемой передачи определяется значени ем
«1еп», а не общей длиной. Для управления кэшированной длиной используется метод «readSize()»
(«Считать размер»), описанный в 11.2.4.
Параметры
Параметр «timeout» задает максимальное время, на которое отправитель команды осуществляет
блокировку перед возвращением ошибки времени ожидания (тайм-аута). Значения «secs == 0», «nsecs
== -1» назначают «постоянное (бесконечное) ожидание».
Параметр «maxLen» показывает максимальное число байтов, которые должны быть переданы
через уровень ИИЭР 1451.X.
Параметр «[out] «paytoad» представляет собой байтовый массив, который обеспечивается уров
нем ИИЭР 1451.0 для уровня ИИЭР 1451 .X. Уровень ИИЭР 1451.X передает доступные данные в такой
массив.
Параметр «[out] «last» показывает, следует ли уровню ИИЭР 1451.0 выполнять дополнительные
запросы «read()» («считать»). Значение «False» («Ложь») означает, что уровень ИИЭР 1451 .X содержит
еще несколько байтов для связи с уровнем ИИЭР 1451.0 и что уровень ИИЭР 1451.0 должен сделать
дополнительные запросы «read( )». Значение «True» («Истина») означает, что вся полезная нагрузка
полностью передана от уровня ИИЭР 1451.Х уровню ИИЭР 1451.0.
Возвращаемый результат: код ошибки.
11.2.2 Метод «IEEE1451DotO::ModuleCommunication::P2PComm::write»
IDL:
A rgs: :U In tl6 w rite(
ir. A rgs: :TimeL)urationtim eout,
1 6 8