Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "BaSyx / Scenarios / Static Dynamic Extension"
m (Removes obsolete link to AASX component) |
m (Changes image positioning and size) |
||
Line 11: | Line 11: | ||
− | [[File:StaticDynamicScenario.png]] | + | [[File:StaticDynamicScenario.png|600px|thumb]] |
Revision as of 06:12, 3 March 2021
This example shows the enrichment of AAS data loaded from an aasx file with a dynamically created Submodel.
The following components are used:
In the first step an AAS-Server and a Registry-Server is started by the methodes startAASServer()
and startRegistry()
.
Then the AASXPackageManager is used to load example AASs/SMs from an .aasx file into a Set of AASBundle objects.
// Load Bundles from .aasx file AASXPackageManager packageManager = new AASXPackageManager("aasx/01_Festo.aasx"); Set<AASBundle> bundles = packageManager.retrieveAASBundles();
A new Submodel is added to one of the bundles. The correct bundle is found by the idShort of its AAS.
// Get the correct Bundle from the Set AASBundle bundle = findBundle(bundles, AAS_ID_SHORT); // Add the new SubModel to the Bundle bundle.getSubmodels().add(sm);
These bundles are then uploaded to the server using the AASBundleIntegrator.
// Load the new Bundles to the Server AASBundleIntegrator.integrate(new AASAggregatorProxy(SERVER_URL), bundles);
The last step is to register the newly uploaded AAS/SM objects. This is done by a separate method registerBundles()
. It iterates over a given Set of bundles and registers all contained AASs/SMs.
// Get a RegistryProxy and register all Objects contained in the Bundles AASRegistryProxy proxy = new AASRegistryProxy(REGISTRY_URL); registerBundles(bundles, proxy, SERVER_URL);
An example of how to execute and use the scenario can be found in TestStaticDynamicScenario.