Comments (14)
It's coming from 800xA
from node-opcua.
That may very well be the case. Just for completeness sake: yes, display name and browse name is the same for these nodes.
I am not really deep into OPC UA, so i can't really evaluate the stuff some device manufacturers do, but it seems to me that there are cases where browse names do include white space. For better or for worse.
from node-opcua.
Another useful thing might be that I've also tested putting ' and " around in the string, also in combination with %20 which should be the url-encoded equivalent to a space. Neither of them worked.
EDIT: I escaped the quotes using a backslash, github removes them for some reason
from node-opcua.
Hi!
Hope you are doing well, I was wondering if I could do something to help solving this issue? I'm not too familiar with with typescript but I would be glad to help. Currently I'm falling back to nodeIds but for my internship projects using the browsePaths is a pretty big must.
from node-opcua.
to be honest i have never seen spaces in a BrowseName!?
its uasually upper camelcase.
what server is it?
is it a common model (companion spec.)?
is it a custom own created model?
from node-opcua.
All BrowseNames should be upper camel case (also known as PascalCase), that is, all words written without spaces, and the first character of each word is upper case, the other characters are lower case.
https://opcconnect.opcfoundation.org/2020/09/opc-ua-modelling-best-practices/
from node-opcua.
Hi, i experienced the same issue this week.
In my case the server is created by a PLC, so it follows the PLCopen companion spec from my knowledge. The manufacturer of the device uses the device model name some of the browse names. The manufacturer does this for all its devices from my knowledge.
When i try to use translateBrowsePath there it returns an error.
For now i just browse recursively to resolve the nodes i need.
from node-opcua.
What is typically shown in UI tools is the Displayname. Here spaces are allowed.
The BrowseName on the other hand need to follow the rules @AndreasHeine posted.
from node-opcua.
it actually violates the OPC-F Moddelling best practises...
i assume wago uses the browsename like the displayname which is not according to the spec...
https://reference.opcfoundation.org/Core/Part3/v104/docs/5.2.4
A BrowseName should never be used to display the name of a Node. The DisplayName should be used instead for this purpose.
from node-opcua.
@GoetzGoerisch we need a tool to validate model compliance!? does the OPC-F Certification require model checks?
from node-opcua.
They typically do so.
from node-opcua.
Would this be something that can be fixed code-wise? As I don't have any freedom over the systems I'm listening to :D
from node-opcua.
An immediate workaround is to build the BrowsePath datastructure directly without using the makeBrowsePath helper function.
from node-opcua.
The issue is not related to the "space" , in fact I confirm that <space>
's are properly handled in makeBrowsePath
.
In fact, Root
and Control Network
are browseNames defined in a namespace that is not the default namespace. For this reason, you need to prefix the text part with the namespace index and the ':' separator.
-let browsePath = "/Objects/Root/Control Network";
+let browsePath = "/Objects/2:Root/3:Control Network";
let actualBrowsePath = makeBrowsePath("RootFolder", browsePath);
- check the namespaceIndex with your favorite OPCUA Client
- refer to https://reference.opcfoundation.org/Core/Part4/v104/docs/A.2 for more info about the browsePath syntax.
from node-opcua.
Related Issues (20)
- Allow the nodeIdNameSeparator in the NamespaceOptions of the node-opcua-address-space to be configurable HOT 2
- Client is connected but no more changes are retrived from monitored items after some hours HOT 13
- [NODE-OPCUA-E11] message size 16385 exceeds the negotiated message size 16384 nb chunks 1. HOT 9
- Timestamps not updating in latest versions HOT 1
- Slow require time in jest HOT 3
- After updating node-opcua, an error during client.createSession process occurs. Old versions works fine. HOT 4
- Difference in clocks between client and server cause problems HOT 4
- Loading nodeset files via string/stream/..
- maxStringLength HOT 3
- After writing scripts no longer worked, stopping connection
- nodeopcua Client fails when "certificate" User authentication is used.
- node-opcua Client does not retry connection ,when server is not available , when security Policy other than NONE is used HOT 1
- AWS Lambda cannot create PKI folder for opcua-client
- Client fails to generate default certificate when connecting to server in Electron main process.
- notification in server HOT 2
- node-opcua server has problems handling nodeset file containing UAVariable of DataType="RolePermissionType
- nodeopcua wrong error prints when crawler read is attempted on a unknown NodeId from the server. HOT 1
- How to edit object values ?
- nodeopcua client stack fails to report new subscription ID recreated back to application, after reconnection to server
- Changing Datatype of a Variable Dynamically
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-opcua.