Skip to content

umati/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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%