We're just started to use OPC-UA, and We would like to use Events, to collect the process data after every cycle.
On the server, there is a CycleParameterEventType, and We would like to catch this event. We're using UAExpert for test, and We can see, what We want. But, We would like to use Node-red also for this.
I've found example on the internet, and based on it, I could catch Server event (i=2253). It contains some operation data, for example mode change from manual to setup mode, etc.
On the Event node, I have to define the root node, and also the event type.
How can I find the root node? How can I find Event type? I can choose from the followings: BaseEvent(all), AuditEvent, Base ModelChangeEvent, ConditionType, EventQueueOverflow, ProgressEvent, SystemEvent.
The CycleParameterEventType belongs to BaseEvent, can I use the BaseEvent, or do We need to define a new type?
Thank You in advance!
It is not clear what your question pertains to.
If you are building a client that connects to a server that already produces these events you need to subscribe to an event notifier (as Object which is the target of an HasNotifier reference) and specify the CycleParameterEventType in the WHERE clause of the EventFilter associated with the MonitoredItem. (aside: the Server Object is the top of HasNotifier hierarchy - all notifiers in the Server link back to it).
If you are asking how get your server to send events then that will depend on how you are building your Server.
We have made some test. Unfortunately I can not insert image, so I try to explain as I can.
First of all, I have a good news, We can catch the event one by one. I mean, after every production cycle, We have a new event, with a new unique event ID. I think, it is good.
But, in the OPC UAExpert, below the Events window, We can see Details, which contains all of the production cycle data, for example temperature, pressure, etc. We would like to have the some data.
How can We do that? Do You have any suggestion?
Do We have to add all of the necessary item one by one, or is there any historical data in array (or something)?
Or, is it depends on the server? How can We know, what can We do?
PS: If You know, how can I insert image, please let me know. The Insert/edit image button does not work for me. I can not select the file.
Thank You in advance!
Assumption: you have added 'production cycle data' to your EventType.
When you create an event subscription you need to specify the exact fields you want returned.
Your client probably uses the default and only gets fields from BaseEventType.
UAExpect may be gets all fields for the selected EventType.
Assumption: you are looking at the UAExpect data subscriptions.
Events are not designed for providing cyclic updates to process data. If you need that information you must use data subscriptions for the variables that are of interest.