UA-.NETStandard | OPC Unified Architecture .NET Standard | DevOps library
kandi X-RAY | UA-.NETStandard Summary
kandi X-RAY | UA-.NETStandard Summary
This OPC UA reference implementation is targeting the .NET Standard specification. .NET Standard allows to develop apps that run on all common platforms available today, including Linux, iOS, Android (via Xamarin) and Windows 7/8/8.1/10/11 (including embedded/IoT editions) without requiring platform-specific modifications. One of the reference implementations inside this project has been certified for compliance through an OPC Foundation Certification Test Lab to prove its high quality. Fixes and enhancements since the certification process have been tested and verified for compliance using the latest Compliance Test Tool (CTT). Furthermore, cloud applications and services (such as ASP.NET, DNX, Azure Websites, Azure Webjobs, Azure Nano Server and Azure Service Fabric) are also supported. More samples based on the official Nuget packages can be found in the OPC UA .NET Standard Samples repository. For development there is also a preview Nuget feed available. For local testing a Docker container of the Reference Server is available for preview and release builds.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of UA-.NETStandard
UA-.NETStandard Key Features
UA-.NETStandard Examples and Code Snippets
Community Discussions
Trending Discussions on UA-.NETStandard
QUESTION
I'm currently working on a C# project where I want to develop my own OPC server application that I can configure with XML. I already compiled a custom XML object with the UA-ModelCompiler repo.
I used the Boiler example from the UA-.NETStandard-Samples repo. I added some custom objects for an agv and I want to integrate it with my own NodeManager. I copied the BoilerNodeManager and modified it for an agv. The following method always has an error.
...ANSWER
Answered 2021-Dec-10 at 12:56I forgot to add the EmbeddedResouce path within Opc.Ua.Sample.csproj.
QUESTION
I wanted to learn some C# and .net and network stuff. Thus, I've chosen the OPC UA code.
On github: UA-.NETStandard/Stack/Opc.Ua.Core/Stack/Client/DiscoveryClient.cs
But I really don't understand how this method works:
...ANSWER
Answered 2021-Jan-28 at 09:51The method is not actually recursive. You're calling a different method(or "overload") altogether. You can check it out in the code repo.
Note that the class is partial. If you follow the references from the repo, you'll see that it leads to the generated client and server partial classes.
QUESTION
I'm fairly new to OPCUA and could use an example on how to implement the AddNodes service in C# using the official .NET Standard SDK. Basically what I want to do is implementing my custom server and be able to call the AddNodes service from the client to add some nodes to a folder (and set their initial values).
I have seen there are various classes to inherit from, so I thought it would be the best to inherit from StandardServer and override the AddNodes method. After that, I could create my own custom node manager and call it from within this method. However, none of the sample node managers implement an AddNodes method (even the INodeManager interface doesn't) so I'm wondering if I am on the right track.
Has somebody already implemented the AddNodes service using this SDK and is willing to give me some hints how to do so? Did you just create your own AddNodes method on your custom node manager and add the nodes there? Some code snippets would be very helpful. Thank you!
...ANSWER
Answered 2020-Oct-15 at 00:59I think you are on the right track. SessionServerBase
is auto generated by Opc.Ua.Services.wsdl
. StandardServer
inherits from SessionServerBase
with only overriding subset of virtual methods.
So you need to override AddNodes
in StandardServer
, and below is an example to add nodes.
QUESTION
Reading through some of the OPC UA documentation that is out there (OPC UA eBook), (github repo), (Home page) you come across Type definitions and how they can be used to blueprint any object that references it.
However, going through some of the example code in the github repo, I can't find a clear example how a type definition makes data access easier or cleaner.
For instance:
In solution 'UA QuickStart applications' in the github repo there is windows forms project 'Boiler client' that uses 2 different 'Boiler Type' instances in the address space and projects its variables onto textboxes depending of the selected combobox item.
When looking at the code you can see that the boilers are indeed selected using the 'Boiler Type' flag but the properties that are to be mapped are still hardcoded and found using relative paths instead of using the Type.
Two different boiler instances
Boiler client with seperate variable display
Currently, consuming OPC UA data( nodes) for me means I have to make a list of each and every one of all the node addresses I want to read and using them in the Session.Read() or listening on them with a MonitoredItem.
Instead, I think it should be possible to read all the nodes in an object and map them to CLR object.
My Question: Is it possible with the C# repo to capture data from whole objects (using the type definition or otherwise) instead of having to read every single node manually using its address? (read("node address"))
Alternative question: What's the use of even adding a type definition if it can't be leveraged in a consumer? Is it a comfort for PLC programmers ?
...ANSWER
Answered 2020-Jun-11 at 13:02I think the answer is already contained in your question. Yes, you use relative paths to reach the nodes of the actual Object. But the relative paths are dictated by the Type, and they the same for all Objects of that Type. So, the Type gives you (among other things) the knowledge of the relative paths. And you can rely on the fact that the same relative path can be used with any such Object. That is the "leverage in a consumer" you are asking for.
But no, there is no generic "give me all" read service for an Object. You still need to read each piece individually. This makes sense because the full contents of the Object might be huge (if not even infinite), so for efficiency the client application need to pick what it actually needs. Again, this answer is implicitly contained in your question, because you wrote "I have to make a list of each and every one of all the node addresses I want to read" - but somebody else will need different ones.
Some servers may provide the most important information about the object in a single Variable, perhaps as custom DataType, but you cannot rely on it in general case.
QUESTION
Dear OPC UA community!
I want to develop an OPC UA client for our software using examples from OPC Foundation and MS Azure. I am concerned about the difference between these examples. In the first example, reconnecting after a KeepAlive failure is performed using ReconnectHandler:
...ANSWER
Answered 2020-Apr-20 at 07:30It is the best way to look into the implementation of Reference Client and Reference Server (e.g. via "UA Quickstart Application" solution) because they are certified. In case of doubt, use them as reference:
From ConnectServerCtrl:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install UA-.NETStandard
Note: Since .NET Core 2.1 is end of life,.
VS 2017 has only limited support for .NET 4.6.2.
VS 2019 is fully supported with .NET 4.6.2 and up to .NET Core 3.1 (LTS).
VS 2022 is the current supported version, including .NET 6.0.
Open the UA Reference.sln solution file using Visual Studio.
Choose a project in the Solution Explorer and set it with a right click as Startup Project.
Hit F5 to build and execute the sample.
This section describes how to run the ConsoleReferenceServer sample application. Please follow instructions in this article to setup the dotnet command line environment for your platform. As of today .NET Core SDK 3.1 is required for Visual Studio 2019 and .NET SDK 6.0 is required for Visual Studio 2022.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page