Closed firefox7518 closed 1 year ago
No the variable contain measurement value and it has own overflow bit.
// InfoBits 0:9 Additional information bits that qualify the StatusCode.
// The structure of these bits depends on the Info Type field.
//
// LimitBits 8:9 The limit bits associated with the data value. The limits bits have the
// following meanings:
// Limit Bits Description
// None 00 The value is free to change.
// Low 01 The value is at the lower limit for the data source.
// High 10 The value is at the higher limit for the data source.
// Constant 11 The value is constant and cannot change.
LimitLow: 0x1 << 8,
LimitHigh: 0x2 << 8,
LimitConstant: 0x3 << 8,
As actual StatusCode is Good you should handle this with the function node, because it depends on you how your application wants to handle situation.
You can do it with the node-opcua StatusCode function:
hasOverflowBit()
or other bits with StatusCode.value.checkBit(extraStatusCodeBits.LimitLow)
Thanks for your answers
I'm really new in that OPCUA stuff so I really do not understand what you try to explain me? StatusCode is Good so everything is ok? Wo why is it flooding my debug section in node-red if it is ok? How can I deactivate this then?
I wrote a function to pull out the data I need, mostly temp and kw value of type boolean, double and int32. So I only use the value of the msg. So I do not understand what die Overflow message is good for?
I have inject node going to item node and from there to client node which is setup as subscription. This error message shows up before it even reaches the function node as the OPC UA Client Node is throwing this into the debug node. So I see no way how I can handle that with a function node?!?
From the node-opcua source code I found this: /**
*/ Overflow: 0x1 << 7, // 1 << 7
So server cannot handle so many monitored items. You should change parameters that server queue will not overflow.
It's a Loytec Lynx-215 I do not see anywhere parameters to setup for the UPC DA Server. That is sad and annoying but thanks for your answers.
OPC DA is Windows specific DCOM based implementation, you need OPC UA Gateway to access it with OPC UA.
You can try reading if subscription will got queue overflow.
I want to use Node-Red to read out a heating system of our town and visualize the data. I'm using the OpcUA-Item node to define the item to call and then use the OpcUa-Client with action "Subscribe". This works fine for only some fields. As soon as I add more items to the client node (like 36 in my case) I suddenly see the following warning in Node-Red: OpcUaClientNode: StatusCode: Good#InfoTypeDataValue|Overflow (0x00000480)
I therefore tried to split up the items to multiple client nodes subscribing but this also did not help. I also tried to rule out any wrong Item nodes but it always happens suddenly with more fields added no matter what I do.
Is there a limit somewhere for the amount of data coming back? The data coming back looks like this: {"topic":"ns=1;i=1005856","_msgid":"8c216f0c.e757e","datatype":"Double","browseName":"Kessel Total Energy","statusCode":{"value":0},"serverTimestamp":"2023-01-20T12:50:02.677Z","serverPicoseconds":972000000,"sourceTimestamp":"2023-01-20T12:49:59.389Z","sourcePicoseconds":560000000,"}
As the error indicates overflow I guess it can be too much data? But why does it then still happen when I split up the 36 items to 3 subscribe nodes? Does it handle the data as a whole or per subscription?
It is really annoying as it floods now my debug log and I have to turn off the subscription in order to work on other stuff in node-red. The weird thing is the data seems to go through to my logging instance fine but it still always throws this error message.