OPC UA Historical Data Access - Event History - opc

I would like to know if there is some currently available OPC UA Client supporting Historical Data Access, more precisely for Data AND Event History.
UA Expert from Unified Automation seems like to be one of the most advanced OPC UA Client, but it only supports historizing Data not Event.
I wonder if there is a better OPC UA Client that will do both.

You can use the SampleConsoleClient that comes as a sample with the Prosys OPC UA Java SDK (free evaluation version available) to read the data history of a variable (with HistoryRead in AccessLevel) and event history of an object node (with HistoryRead in EventNotifier).
The sample application comes with source so you can also modify the client to your needs.
Prosys OPC UA Java Client does not provide event history quite yet.
UPDATE: Prosys OPC UA Client provides an Event History view, too.

Actually UA Expert does show historical events. From the top menu go to Document -> Add -> Event View. And then drag and drop the Server node (for all events on the server) or any other node (for subset of events) from the Address space explorer into the configuration window of the event view. Then in the event history tab you'll be able to specify start and end date and retrieve the events.

Use Kepware KepServer EX V5 Simulation for the getting the live data on to the Client.
Just create the group and add the items.
If you are good in programming , connect it to OPC Server and get the live tag data

Related

Mapping of C# objects to OPCUA

I am new to OPC UA,
Our requirement is that the OPC UA Client app will do the reads/write data from/to a backend system (which is the system of record) via a OPC UA server. How can we represent the backend system C# objects in an OPC UA Server? So that the data gets directly updated in the backend system rather being on nodes(nodes object), we are more concerned on the duplicate data in both places (OPC UA server and Backed system) and also the data need to be UPTODATE on both the OPCUA server and backend system
I know this is not exactly an answer but maybe it can help you.
Look in the https://github.com/OPCFoundation/UA-.NETStandard-Samples with the Quickstarts and especially AlarmCondition Server. There you see a simple implementation of an "Underlying System".
Maybe this can be of help?

What is the difference between the OPC-Router and Kepserverex?

What is the difference between the OPC-Router and Kepserverex? I have seen a solution where both of them were used - Kepserverex connecting to machines and sending data to the OPC-Router which then sends data to IT Applications. Couldn't one of them do both tasks together?
I did compare the features of both products, but couldn't figure out why you would use one or the other - or both together. Both products seem to support data exchange between different protocols and platforms.
The KepServerEX is an OPC Server. Connecting over 150 different kinds of machines and providing their data as OPC UA data for OPC Clients.
The OPC Router is an OPC Client and is a tool for system integration. With the OPC Router it is possible to transfer data between systems whenever the data is needed (triggered). So the OPC Router connects systems like SAP, databases, label printers and a lot more and moves data between them. This also includes workflow-like data transfers, like calling a Stored Procedure in a database with a defined set of input parameters and transferring the returned values back to another system (maybe to the PLC over OPC UA => over the KepServerEX). In general you enable systems to interact with each other by the OPC Router. And this is where Industry 4.0 starts.
Greetings from the inray-Team

OPC UA data rate

Is there a data rate limit for OPC UA? I am currently using OPC UA tunneller to transfer data and looks like it is limited to 10 Hz. Is this a setting that can be changed?
Thanks
Shashi
The limit is entirely up to the configuration of the OPC UA server you're connected to.
In this case, since you're using a tunneler, you may need to check configuration of the server behind the tunneler in addition to the tunneler itself.

Adding a node to server's address space in OPC UA ANSI C stack

I have a problem with OPC UA ANSI C stack, a very simple project for a subject: simply add a node to the server's address space, so that a client can then read it.
I know there is the open source ANSI C stack (open62541), but I need to use the official one.
I found these two objects inside the stack: the struct OpcUa_AddNodesItem (stackcore/opcua_types.h) and the function OpcUa_ServerApi_AddNodes (proxystub/serverstub/opcua_serverapi.c).
I think that this struct must be inserted inside the function, but I have some problems to set these two object's parameters.
Inside ansicservermain.c, how have I fill this two objects to add a node on the fly (for example, an integer variable)?
The OPC Foundation is only releasing the OPC UA Stack in ANSI C. This only allow you to have the communication layer. To have a fully functionnal OPC UA Server you need to develop your own Server on top of it, that will manage stuff like the AddressSpace (where you have the Node), the Session, the Subscription,...
You can try and buy some OPC UA Server SDK that have everything implemented or develop you own.
If you basically want to add some Nodes with the OPC UA Stack "Demo Server" there is 2 possibilites.
Add a static nodes by adding nodes in the addressspace_init.h files
Implement the OpcUa_ServerApi_AddNodes() which will be called by the OPC UA AddNodes Service, allowing an OPC UA Client to add some new nodes on the fly in an OPC UA Server (there is currently not so many OPC UA Client nor Server supporting this features as far as I know)

PLC data communication with a remote server

How can I interact with a PLC to send and receive data to/from a remote server(PC).
For example a robot that have a PLC and want to interact with a server that placed at near room with a wireless communication.
Data must move all over the time. PLC sending the data to the server and server must sending back the result of computation on the data to PLC.
review : My PLC brand is Delta but its model has not been selected yet .
A common scenario is that the manufacturer provides an OPC server for the PLC. You should check their website once you know the model. Then it is just a matter for you to create an OPC client.
A good way to start is to get a free OPC server simulator like the one from Matrikon. It doesn't need any hardware. OPC is a standard interface (although there are often some minor variations between manufacturers) - if you can get your client to work with the test server you can probably get it to work with the PLC.