Skip to content

A small Project to showcase the OPC UA for Machinery from the End-User perspective!

License

Notifications You must be signed in to change notification settings

AndreasHeine/opcua-machinery-client

Repository files navigation

opcua-machinery-client

A small Project to showcase the OPC UA for Machinery from the End-User perspective!

Functionalities

  • The Client connects to a OPC UA Server reads general Information like ServerState, ServiceLevel, NamespaceArray, ServerprofileArray, ServerStatus and OperationalLimits. After that it finds all Machineinstances in the Machines-Folder and discovers basic Attributes about the MachineinstanceObject like DisplayName, BrowseName, Description and explores the MachineIdentification as well as the machines Components and their ComponentIdentification. At the end an output.json will be created with the collected results of the OPC UA Server!

  • The Client is aware of modelchanges due to "GeneralModelChangeEvents" and partially reinitializes the related Item (Machine-, MachineComponent- or ProcessValue-Instance)!

  • The Client automatically subscribes all variables / properties he finds and updates the output.json file every 10s with the latest data

Roadmap [done: ✔️, not yet: ❌]:

OPC 40001-1: Machinery Basic Building Blocks (https://reference.opcfoundation.org/Machinery/v103/docs/5)

5 Use Cases
✔️ 5.1 Machine Identification and Nameplate
✔️ 5.2 Finding all Machines in a Server
✔️ 5.3 Component Identification and Nameplate
✔️ 5.4 Finding all Components of a Machine
✔️ 5.5 Machine Monitoring
❌ 5.6 Preventive Maintenance

5 Use Cases
✔️ The user would like to access the process values of a machine and its various meta data like ranges, precision and unit.
❌ The user would like to access and set the setpoints of the process values of a machine.
❌ The user would like to access and set deviation limits of the process values, relative to the setpoints.
❌ The user would like to get informed when a process value is passing a deviation limit or range.
❌ The user would like to get the percentage value of a process variable, also when there are dynamic ranges.
❌ The user would like to zero-point adjust the current value of a process value.
❌ The user would like to get vendor-specific error codes on devices providing process values.
❌ The user would like to access and set a substitution value in case of connections lost.
❌ The user would like to get identification information of devices providing process values.
❌ The user would like to get information about the health status of devices providing process values.

5 Use Cases
❌ The user would like to provide job orders to a MachineryItem to get executed.
❌ The user would like to control job orders by updating the job order, setting the job order to get executed or revoke the execution, pause and resume the execution, and abort or stop the executing.
❌ The user would like to get information about the state of execution, retrieve intermediate results and the end result of the job order execution.
❌ The user would like to delete the job order results from the MachineryItem after execution and receiving the job order.

About

A small Project to showcase the OPC UA for Machinery from the End-User perspective!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published