i40-aas-objects v0.3.6
i40-aas-objects
Provide a set of tools to realize the Asset Administration Shell for Industrie 4.0.
Contents:
- i40-aas-objects - Contents:
Description
i40-aas-objects is a typescript implementation of the specification "Details of the AssetAdministrationShell" part 1 version 2.0.1.
It implements all required classes to build an AAS-JSON-file. It is also possible to use it in the browser as it is JavaScript.
Requirements
You need to download and install Node.js and its packagemanager NPM.
Enter node --version
and npm --version
in your command line to test your installation.
You should see:
$ node --version
// min version: v8.12.0
$ npm --version
// min version: 6.4.1
Download and install the TypeScriptCompiler (tsc).
$ npm install -g typescript
Check your installation with tsc --version
.
You should see:
$ tsc --version
// min version: 3.5.3
Download and Installation
Import i40-aas-objects as a dependency in your package.json
file of your Node.js or TypeScript project.
1. Create an empty Node.js project
$ mkdir myaas
$ cd myaas
$ npm init
2. Prepare the TypeScript project
Create a tsconfig.json
file in the root of the project directory and paste in the following snippet:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"outDir": "dist",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"strict": true,
"declaration": true
},
"include": ["src/**/*.ts", "index.ts"],
"exclude": ["node_modules"]
}
3. Add i40-aas-objects dependency in your package.json
Let it be added by the package manager:
$ npm i --save i40-aas-objects
OR
$ npm i --save git://github.com/SAP/i40-aas-objects.git
Or add it manually to your package.json
. (NOTE: You need to run npm i
after you have edited your package.json
.)
{
"name": "testaas",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies":{
"i40-aas-objects": "^0.2.0",
...
},
"author": "",
"license": "SEE LICENSE IN LICENSE"
}
4. Use i40-aas-objects
import {
AssetAdministrationShellEnv,
Asset,
AssetAdministrationShell,
Submodel,
IdTypeEnum,
Property,
AnyAtomicTypeEnum,
Reference,
KeyElementsEnum,
} from 'i40-aas-objects';
var run = function() {
/* Create a Submodel and add a new Property to it*/
var myAssetIdentificationModel = Submodel.fromJSON({
identification: { id: 'http://test.com/submodel/id/identification123', idType: IdTypeEnum.IRDI },
idShort: 'identification123',
}).addSubmodelElement(
new Property(
'ManufacturerName',
AnyAtomicTypeEnum.string,
'SAP SE',
undefined,
new Reference({
keys: [
{
local: false,
type: KeyElementsEnum.GlobalReference,
idType: IdTypeEnum.IRDI,
value: '0173-1#02-AAO677#002',
},
],
}),
),
);
/* Create an asset and add a reference to the previously created submodel as it assetIdentificationModel*/
var myAsset = new Asset(
{ id: 'http://test.com/asset/123', idType: IdTypeEnum.IRDI },
'123',
).setAssetIdentificationModel(myAssetIdentificationModel.getReference());
/* Create an AAS and add a reference to the previously created asset as its asset*/
var myAas = new AssetAdministrationShell(
{ id: 'http://test.com/aas/id/aas123', idType: IdTypeEnum.IRDI },
'identification123',
).setAsset(myAsset.getReference());
/* Create an environment and add all identifiables */
var myNewAasEnv = new AssetAdministrationShellEnv()
.addAssetAdministrationShell(myAas)
.addAsset(myAsset)
.addSubmodel(myAssetIdentificationModel);
/* print the environment to the console */
console.log(JSON.stringify(myNewAasEnv, null, 3));
};
run();
Known Issues
Please refer to the list of issues on GitHub.
How to obtain support
Please use the GitHub issue tracker for any questions, bug reports, feature requests, etc.
Contributing
You are welcome to join us in our efforts to improve and increase the set of tools to realize the Asset Administration Shell for Industrie 4.0!
Simply check the Contribution Guidelines.
Upcoming changes
This project follows the specification "Details of the AssetAdministrationShell" part 1 version 1.0, which is work in progress. As the specification changes, so will this project.
For upcoming changes under development, please refer to the Github issue board.
License
Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file.
Please note that Docker images can contain other software which may be licensed under different licenses. This License file is also included in the Docker image. For any usage of built Docker images please make sure to check the licenses of the artifacts contained in the images.
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago