DEMO OPC UA Servers - "OPC UA Knowledge Completion via Graph Embedding and Reinforcement Learning"
This is repository of the DEMO OPC UA-servers used to validate the results of the paper entitled "OPC UA Knowledge Completion via Graph Embedding and Reinforcement Learning". The servers import multiple nodesets copied from the official releases of the OPC Foundation: https://github.com/OPCFoundation/UA-Nodeset
The default port of the servers application are 4840 and can be changed in the configuration file config.yml.
Requirements
- NodeJs : The Backend requires NodeJs and a node global package npm.
- Git
- Dockers: For a container installation, Docker is required. Please refer to the docker documentation for docker installation.
Installation
NodeJS
Step 1: Clone this repo.
Step 2: Install the dependencies.
npm installStep 2: Start the application. Run the following
npm startAfter a sucessfull startup the following output should be printed. Please notice the information that all modules have been sucessfully initialized and started.
C:\GitHub\OPEN-ACCESS>npm start
2020-05-18 09:06:18 - [info] | [Dummy Server] : Server is now listening ... ( press CTRL+C to stop)
2020-05-18 09:06:18 - [info] | [Dummy Server] : port 4840
2020-05-18 09:06:18 - [info] | [Dummy Server] : The primary server endpoint url is opc.tcp://LAPLACE.FAPS.UNI-ERLANGEN.DE:4840
The OPCUA server is now accessible at opc.tcp://LAPLACE.FAPS.UNI-ERLANGEN.DE:4840.
Deploy as a Microservice using Docker[Swarm]
You can also deploy as a microservice inside a Docker container:
Step 1: Clone the repo
Step 2: Build the Docker image
docker build -t faps_opcua_demo_server_one .Step 3: Run the Docker container locally:
docker run -p 4840:4840 -d faps_opcua_demo_server_oneUsage
In order to configurethe server, the file config.yml has to be configured appropriately. For example the following configuration set the default port of the OPCUA server to 4843.
default:
server:
port: 4840
buildInfo:
productName: "Dummy Dateset Server One"
buildNumber: "0001"
ip: "0.0.0.0"
endpointName: 'OPCUA@Siemens'
username: 'root'
password: 'root'
allowAnonymous: false,
serverInfo:
applicationUri: "http://siemens.com/SkillOPCUA"
productUri: "siemens.com/SP347_Example"
applicationName: "SP347SkillEngineering@Siemens"
serverNodeSet: ["UA-Nodeset-master/DI/Opc.Ua.Di.PredefinedNodes.xml",
"UA-Nodeset-master/FDI/Opc.Ua.Fdi7.PredefinedNodes.xml",
"UA-Nodeset-master/ISA-95/Opc.ISA95.NodeSet2.xml",
"UA-Nodeset-master/AML/Opc.Ua.AMLBaseTypes.NodeSet2.xml",
"UA-Nodeset-master/AutoID/Opc.Ua.AutoID.NodeSet2.xml",
"UA-Nodeset-master/MachineVision/Opc.Ua.MachineVision.NodeSet2.xml"]
Contributing
Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
See LICENSE for more information.
Contact
Jupiter Bakakeu - @JBakakeu - jupiter.bakakeu@gmail.com

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
