0.3.6 • Published 4 years ago

i40-aas-objects v0.3.6

Weekly downloads
32
License
SEE LICENSE IN LI...
Repository
github
Last release
4 years ago

i40-aas-objects

Provide a set of tools to realize the Asset Administration Shell for Industrie 4.0.

Build Status


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

DOCS

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.

0.3.6

4 years ago

0.2.6

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.5

4 years ago

0.2.4

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.0.3-alpha

4 years ago

0.0.2-alpha

5 years ago

0.0.1-alpha

5 years ago