https://github.com/andreasheine/sampleserver-node-opcua
OPC UA Sample Server based on node-opcua. Showcasing how to implement OPC UA companion specifications.
https://github.com/andreasheine/sampleserver-node-opcua
node-opcua opcua opcuaserver typescript umati
Last synced: about 1 year ago
JSON representation
OPC UA Sample Server based on node-opcua. Showcasing how to implement OPC UA companion specifications.
- Host: GitHub
- URL: https://github.com/andreasheine/sampleserver-node-opcua
- Owner: AndreasHeine
- License: apache-2.0
- Created: 2021-08-23T18:57:02.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-06-12T14:10:51.000Z (about 1 year ago)
- Last Synced: 2025-06-12T15:25:27.176Z (about 1 year ago)
- Topics: node-opcua, opcua, opcuaserver, typescript, umati
- Language: TypeScript
- Homepage:
- Size: 4.64 MB
- Stars: 18
- Watchers: 2
- Forks: 19
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SampleServer-node-opcua
[](https://github.com/AndreasHeine/SampleServer-node-opcua/actions/workflows/node.js.yml)
[](https://github.com/AndreasHeine/SampleServer-node-opcua/actions/workflows/codeql-analysis.yml)
[](https://github.com/AndreasHeine/SampleServer-node-opcua/actions/workflows/linter.yml)
[](https://github.com/AndreasHeine/SampleServer-node-opcua/actions/workflows/container_build.yml)
OPC UA Sample Server based on [node-opcua](https://github.com/node-opcua/node-opcua)
the official book node-opcua: [node-opcua by example](https://leanpub.com/node-opcuabyexample-edition2024) by [Sterfive](https://www.sterfive.com)
API Docs: [2.32.0](https://node-opcua.github.io/api_doc/2.32.0/index.html)
## Usage
- `download and unpack`
- `open folder in VS Code (or in terminal)`
- `npm install`
- `npm run start`
## Example Users
User: `admin` Password: `pw1`
User: `operator` Password: `pw2`
User: `guest` Password: `pw3`
## Ephemeral Dev Environment
- [Click](https://gitpod.io/#https://github.com/AndreasHeine/SampleServer-node-opcua)
- `npm run start`
- split terminal: `opcua-commander -e opc.tcp://localhost:4840/UA` to have a local OPC UA client
## Docker
Set "IP" and "PORT" in env:
- `docker run -it -p 4840:4840 -e PORT=4840 -e IP=127.0.0.1 --name sampleserver-node-opcua ghcr.io/andreasheine/sampleserver-node-opcua:main`
## Online Server Instance
- `opc.tcp://opcua.umati.app:4843`
## Implementations of OPC UA Companion Specifications

## Implementation of Energy Monitoring
Implemented in _SampleMachineTool_Energy_.
- Used [OPC 40001-4 UA for Machinery Part 4: Energy Management (Release Candidate 1.0)](https://www.vdma.org/catalog-detail/-/catalog/30238).
- Implemented 3-phase electricity, compressed air and cooling water monitoring.
- Simulated fluctuations of active voltage and current, total electric energy import.
- Simulated fluctuations of air and water flow rates.

## License

Unless otherwise specified, source code in this repository is licensed under the [Apache 2.0 License](LICENSE).