Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aaronzi/opc2aas
Asset Administration Shell Service that translates OPC UA Node Structures to Asset Administration Shells
https://github.com/aaronzi/opc2aas
Last synced: 8 days ago
JSON representation
Asset Administration Shell Service that translates OPC UA Node Structures to Asset Administration Shells
- Host: GitHub
- URL: https://github.com/aaronzi/opc2aas
- Owner: aaronzi
- License: mit
- Created: 2024-01-29T15:17:20.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-08-24T13:43:12.000Z (3 months ago)
- Last Synced: 2024-08-25T13:47:07.778Z (3 months ago)
- Language: Java
- Size: 726 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OPC2AAS
OPC2AAS is an Asset Administration Shell microservice represent through the AAS API (operation SubmodelElement) that translates OPC UA Node Structures to Asset Administration Shells.
## OPC UA Testserver
To test the functionality of the OPC2AAS service, you can use the provided OPC UA testserver. It is a docker container that provides a simple OPC UA server with a few nodes. The docker image is available at [aaronzi/demo-opc-server](https://hub.docker.com/r/aaronzi/demo-opc-server).
### Prerequisites
Make sure you have Docker installed on your system.
### Starting the example
Run the following command to start the test server together with OPC2AAS and the necessary Eclipse BaSyx components:
```bash
docker-compose up -d
```After the services are started, you can access the AAS Web UI at [http://localhost:9080](http://localhost:9080).
From there you are able to access and use the OPC2AAS service.## OPC2AAS Service
### Usage
The `AASfromOPC` operation in the **CreationSubmodel** has the following input parameters:
| Variable | Description | Input values |
|--------------------------|----------------------------------------------------------------------------------------|---------------------------------------|
| `aasIdShort` | The idShort of the AAS that will be created | GeneratedAAS |
| `opcNodeId` | The NodeId of the node from which the OPC2AAS service should start | ns=2;i=1 |
| `opcServerUrl` | The URL of the OPC UA server that should be used | opc.tcp://opcserver:4840 |
| `opcUSername` (optional) | The username that will be used to authenticate with the OPC UA server | test |
| `opcPassword` (optional) | The password that will be used to authenticate with the OPC UA server | test |
| `submodelRepoUrl` | The URL of the BaSyx Submodel Repository where the AASs Submodels will be uploaded to | http://aas-environment:8081/submodels |After providing the inputs and executing the operation, the service will generate seven files in the **OutputSubmodel** if the connection to the OPC UA Node is successful.
### Generated Files
The following files are generated that can also be downloaded:
| File Name | Description |
|------------------------|------------------------------------------------------------------------------------------------------------|
| **aas** | Generated AASX file. |
| **consumerFile** | DataBridge configuration file for the OPC UA Consumer. |
| **extractvalue** | Transformer configuration file to extract the OPC UA value from the Java Node Object. |
| **jsonatatransformer** | Transformer configuration file. |
| **jacksontransformer** | Transformer configuration file. |
| **aasserver** | DataBridge configuration file for the AAS Environment datasink. |
| **route** | DataBridge configuration file for the routes between the OPC UA Consumer and the AAS Environment datasink. |