ГОСТ Р 56947—2016
Т а б л и ц а 8 6 — М е т о д ы и н т е р ф е й с а « T r a r v s d u c e r M a n a g e r o ( « У п р а в л е н и е п р е о б р а з о в а т е л е м » )
IE E E
1451
dot
0
::TransducerServtce
5
::TransducerManager
A r g s : : U ln t 1 6 lo c k ( in A r g s : : l ll n t 1 6 t r a n s C o m m ld . in A r g s : : T im e D u r a t io n t im e - o u t ) ;
A r g s ; ; U ln t 1 6 u n t a c k ( in A r g s ; ; U ln t 1 6 t r a n s C o m m ld ) ;
A r g s : : U ln t 1 6 r e p o r t L o c k s ( o u t A r g s : : U ln t 1 6 A r r a y t r a n s C o m m ld s ) ;
A r g s ; ; U ln t 1 6 b r e a k L o c k ( in A r g s : : U ln t 1 6 t r a n s C o m m ld ) ;
A r g s : : U ln t 1 6 s e n d C o m m a n d ( in A r g s : : U ln t 1 6 t r a n s C o m m ld , 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 ) ;
A r g s : ; U ln t 1 6 s t a r t C o m m a n d ( in A r g s : ; U ln t 1 6 t r a n s C o m m ld . in A r g s ; ; T ir n e ln s t a n c e t r ig g e r T im 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 : : 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 . in A p p C a llb a c k c a llb a c k , o u t A r g s : ; U ln t 1 6 o p e r a t io n ld ) ;
A r g s : ; U ln t 1 6 c o n f ig u r e A t t r ib u t e s ( in A r g s : : U ln t 1 6 t r a n s C o m m ld . in A r g s ; ; S t r in g A r r a y a t t r ib u t e N a m e s ) :
A r g s ; ; U ln t 1 6 t r ig g e r ( in A r g s : ; U ln t 1 6 t r a n s C o m m ld , in A r g s : : T im e ln s t a n c e t r ig g e r T im e , in A r g s : : T im e O u r a t io n
t im e - o u t . in A r g s ; : U ln t 1 6 S a m p lin g M o d e ) ;
A r g s ; ; U ln t 1 6 s t a r t T r ig g e r ( in A r g s : ; U ln t 1 6 t r a n s C o m m ld . in A r g s : : T im e ln s t a n c e t r ig g e r T im 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 : ; U ln t 1 6 S a m p lin g M o d e . in A p p C a B b a c k c a llb a c k , o u t A r g s ; ; U ln t 1 6
o p e r a t io n ld ) ;
A r g s : : U ln t 1 6 c le a r ( in A r g s : ; U ln t 1 6 t r a n s C o m m ld . 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 le a r M o d e ) ;
A r g s : ; U ln t 1 6 r e g is t e r S t a t u s C h a n g e ( in A r g s : : U ln t 1 6 t r a n s C o m m ld . in A r g s : : T im e D u r a t io n t im e - o u t . in
A p p C a llb a c k c a llb a c k , o u t A r g s ; ; U ln t 1 6 o p e r a t io n ld ) ;
A r g s : ; U ln t 1 6 u n r e g is t e r S t a t u s C h a n g e ( in A r g s : ; U ln t 1 6 t r a n s C o m m ld ) ;
10.3.1 Метод «IEEE1451DotO::TransducerServices::TransducerManager::lock»
IDL:
A rg s::U In tl6 lo c k (
in A rgs::U In tl6transCommld,
ir. A rgs: : TimeDuration tim eout).
Данный метод запрещает доступ (запирает) к ИМП/каналам преобразователя, заданным пара
метром «transCommld». что предотвращает доступ прочих приложений к таким ресурсам. Чтобы не
допустить взаимного закрытия доступа в многопоточных средах, приложение должно запирать ресурсы
согласованно.
Применение данного метода должно допускать множественные запреты доступа к ресурсам по
одному и тому же запросу без блокировки.
В случаях, когда параметр «transCommld» задает группу, все ИМП/каналы преобразователя такой
группы будут закрыты последовательно в порядке, который определен в запросах «oponGroup()» или
«openGroupQoS{ )».
Параметры
Параметр «transCommld» задает требуемую сессию связи преобразователя.
Параметр «timeout» назначает время ожидания после срабатывания запрета доступа. Величины
«secs == 0», «nsecs == 0» означают отсутствие ожидания и могут быть использованы для тестирования
существующего запрета. Величины «secs == 0». «nsecs == -1» означают непрерывное (бесконечное)
ожидание. Использование значения бесконечного ожидания является крайне опасным, так как может
вызвать взаимные запреты доступа и «зависания» системы.
Возвращаемый результат; код ошибки.
10.3.2 Метод «IEEE1451DotO::TransducerServices::TransducerManager::unlock»
IDL:
A rg s::U In tl6 unlock( in A rgs
:
:(JIntl 6 transCommld).
Данный метод открывает доступ к ИМП/каналам преобразователя, заданным параметром
«transCommld», что приводит к возобновлению доступа к таким ресурсам для прочих приложений.
В случаях, когда приложение запустило запрос «1оск()» на запрет доступа для одного получате
ля несколько раз. приложение должно убедиться в том. что запрос «unlock()» о снятии запрета к до
ступу вызван такое же число раз. Ресурсы становятся доступными после вызова последнего запроса
«unlock()» о снятии запрета доступа.
1 5 5