blob: 8a1af458c164fe3bee365f12b2811340c9a9dd67 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE FBType SYSTEM "http://www.holobloc.com/xml/LibraryElement.dtd">
<FBType Comment="Service Interface Function Block Type" Name="GET_STRUCT_VALUE">
<Identification Description="Copyright (c) 2018 fortiss GmbH&#13;&#10; &#13;&#10;This program and the accompanying materials are made&#13;&#10;available under the terms of the Eclipse Public License 2.0&#13;&#10;which is available at https://www.eclipse.org/legal/epl-2.0/&#13;&#10;&#13;&#10;SPDX-License-Identifier: EPL-2.0" Standard="61499-2"/>
<VersionInfo Author="Jose Cabral" Date="2018-10-16" Version="1.0"/>
<InterfaceList>
<EventInputs>
<Event Comment="Get Value out of structure" Name="REQ" Type="Event">
<With Var="member"/>
<With Var="in_struct"/>
</Event>
</EventInputs>
<EventOutputs>
<Event Comment="REQ event finished" Name="CNF" Type="Event">
<With Var="QO"/>
<With Var="output"/>
</Event>
</EventOutputs>
<InputVars>
<VarDeclaration Comment="Structure to look into" Name="in_struct" Type="ANY"/>
<VarDeclaration Comment="Member of the strucuture to retrieve. Inner members are access using the dot (.) operator" Name="member" Type="STRING"/>
</InputVars>
<OutputVars>
<VarDeclaration Comment="TRUE if no errors ocurred, FALSE otherwise" Name="QO" Type="BOOL"/>
<VarDeclaration Comment="Selected member if QO = TRUE, remains unchanged otherwise" Name="output" Type="ANY"/>
</OutputVars>
</InterfaceList>
<Service Comment="Service Interface Function Block Type" LeftInterface="APPLICATION" RightInterface="RESOURCE">
<ServiceSequence Comment="" Name="normal_establishment">
<ServiceTransaction>
<InputPrimitive Event="INIT+" Interface="APPLICATION" Parameters="PARAMS"/>
<OutputPrimitive Event="initialize" Interface="RESOURCE" Parameters="PARAMS"/>
<OutputPrimitive Event="INITO+" Interface="APPLICATION"/>
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Comment="" Name="unsuccessful_establishment">
<ServiceTransaction>
<InputPrimitive Event="INIT+" Interface="APPLICATION" Parameters="PARAMS"/>
<OutputPrimitive Event="initialize" Interface="RESOURCE" Parameters="PARAMS"/>
<OutputPrimitive Event="INITO-" Interface="APPLICATION" Parameters="STATUS"/>
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Comment="" Name="request_confirm">
<ServiceTransaction>
<InputPrimitive Event="REQ+" Interface="APPLICATION" Parameters="SD"/>
<OutputPrimitive Event="request" Interface="RESOURCE" Parameters="SD"/>
<OutputPrimitive Event="CNF+" Interface="APPLICATION" Parameters="RD"/>
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Comment="" Name="request_inhibited">
<ServiceTransaction>
<InputPrimitive Event="REQ-" Interface="APPLICATION" Parameters="SD"/>
<OutputPrimitive Event="CNF-" Interface="APPLICATION" Parameters="STATUS"/>
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Comment="" Name="request_error">
<ServiceTransaction>
<InputPrimitive Event="REQ+" Interface="APPLICATION" Parameters="SD"/>
<OutputPrimitive Event="request" Interface="RESOURCE" Parameters="SD"/>
<OutputPrimitive Event="CNF-" Interface="APPLICATION" Parameters="STATUS"/>
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Comment="" Name="indication_response">
<ServiceTransaction>
<InputPrimitive Event="indicate" Interface="RESOURCE" Parameters="RD"/>
<OutputPrimitive Event="IND+" Interface="APPLICATION" Parameters="RD"/>
</ServiceTransaction>
<ServiceTransaction>
<InputPrimitive Event="RSP" Interface="APPLICATION" Parameters="QI,SD"/>
<OutputPrimitive Event="response" Interface="RESOURCE" Parameters="QI,SD"/>
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Comment="" Name="indication_inhibited">
<ServiceTransaction>
<InputPrimitive Event="indicate" Interface="RESOURCE" Parameters="RD,QI=FALSE"/>
<OutputPrimitive Event="inhibited" Interface="RESOURCE"/>
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Comment="" Name="error_indication">
<ServiceTransaction>
<InputPrimitive Event="error" Interface="RESOURCE" Parameters="STATUS"/>
<OutputPrimitive Event="IND-" Interface="APPLICATION" Parameters="STATUS"/>
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Comment="" Name="application_initiated_termination">
<ServiceTransaction>
<InputPrimitive Event="INIT-" Interface="APPLICATION"/>
<OutputPrimitive Event="terminate" Interface="RESOURCE"/>
<OutputPrimitive Event="INITO-" Interface="APPLICATION" Parameters="STATUS"/>
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Comment="" Name="resource_initiated_termination">
<ServiceTransaction>
<OutputPrimitive Event="INITO-" Interface="APPLICATION" Parameters="STATUS"/>
</ServiceTransaction>
</ServiceSequence>
</Service>
</FBType>