Implements an OPC UA server with different nodes which generate random data and anomalies.
The following nodes are part of the PLC simulation: - with alternating boolean - random signed 32-bit integer - random unsigend 32-bit integer - a sine wave with a spike anomaly - a sine wave with a dip anomaly - a value showing a positive trend - a value showing a negative trend
By default everything is enabled, please use command line options to disable certain anomaly or data generation features.
The implementation is based on .NET Core so it is cross-platform and recommended hosting environment is docker.
There is no installation required.
A docker container of the component is hosted in the Microsoft Container Registry and can be pulled by:
docker pull mcr.microsoft.com/iotedge/opc-plc
The tags of the container match the tags of this repository and the containers are available for Windows amd64, Linux amd64 and Linux ARM32.
The OpcClient is an OPC UA client, which can be used to work with this OPC UA server implementation.
Please check out the github repository https://github.com/Azure-Samples/iot-edge-industrial-configs for sample configurations showing usage of this OPC UA server implementation.
X.509 certificates releated:
- Running on Windows natively, you can not use an application certificate store of type
Directory, since the access to the private key fails. Please use the option
--at X509Storein this case.
- Running as Linux docker container, you can map the certificate stores to the host file system by using the docker run option
-v <hostdirectory>:/appdata. This will make the certificate persistent over starts.
- Running as Linux docker container and want to use an X509Store for the application certificate, you need to use the docker run option
-v x509certstores:/root/.dotnet/corefx/cryptography/x509storesand the application option