13:39, EEST
September 18, 2017
Hi there!
I use Java SDK 2.3.2 Eval and I have a problem with UserAccessLevel.
I create a nodeset file where UserAccessLevel differs from AccessLevel, e.g. AccessLevel=”1″ UserAccessLevel=”0″ (other combinations are: 2/0, 3/1, 15/11)
I load the file using:
MyUaServer.getAddressSpace().loadModel(new FileInputStream(new File(“uatestserver.xml”)))
So far all nodes are there as I expect. But not the permissions. In all cases AccessLevel = UserAccessLevel, here: 1/1, 2/2, 3/3, 15/15.
I also checked the SampleConsoleServer and SimulationServer.
In SampleConsoleServer the node “/ComplianceNodes/AccessLevels/AccessLevelCurrentReadNotUser” has AccessLevel=”1/CurrentRead” and UserAccessLevel=”1/CurrentRead” but should have UserAccessLevel=”0/None” as the name says.
In SimulationServer the node “/StaticData/AccessLevels/AccessLevelCurrentReadNotUser” is the same: AccessLevel=”1/CurrentRead” and UserAccessLevel=”1/CurrentRead” but not “0/None”.
On both servers it’s the same with “AccessLevelCurrentReadNotUser” where UserAccessLevel is “2/CurrentWrite” instead of “0/None”.
I’m also using the Unified Automation .Net SDK where I use the same nodeset file, and it is shown perfectly. The same nodes and the permissions as expected.
Thanks for any suggestions.
Thomas
16:08, EEST
April 17, 2013
Hello Thomas,
You have observed the functionality completely correctly. This is actually not a issue, but rather a feature of the Prosys OPC UA Java SDK. If you want to implement the UserAccessLevel functionality, you will need to do this handling in the IoManager or IoManagerListener. Otherwise, the Java SDK will use the value from AccessLevel.
Defining the UserAccessLevel attribute in the information model is not useful, because the value of this attribute is supposed to have different values depending on the user who is connected to the server. If you want to set a fixed value for all users, then the attribute AccessLevel should be used.
Let us know if you have any further questions or suggestions about the AccessLevel attributes.
17:14, EEST
September 18, 2017
Hello Heikki,
yes, this was already my assumption.
Before I tried Prosys SDK I used Unified Automation .Net SDK as well as .Net SDK downloadable from OPC Foundation (I don’t know its vendor). Both SDKs handle this in the way what I expected first. And even Softing C++ SDK allows static UserAccessLevels defined in the node set file.
In my case as a software tester I want to create a kind of mockup server with well-known behaviour as underlying system for the “real” server under test.
Yes, I agree for a life server static UserAccessLevels make not much sense.
So I will go and use IoManager.
Many thanks!
Thomas
17:05, EEST
September 18, 2017
Hello Heikki,
I made another observation with the UserExecutable attribute. While AccessLevel overwrites UserAccessLevel (node set file: AccessLevel=”3″ UserAccessLevel=”1″ => address space: AccessLevel=”3″ UserAccessLevel=”3″), in case of methods UserExecutable overwrites Executable (node set file: Executable=”true” UserExecutable=”false” => address space: Executable=”false” UserExecutable=”false”).
Here the IoManager won’t help me because I cannot correct the Executable attribute (only UserExecutable)!?!
Thomas
17:36, EEST
April 17, 2013
Hi Thomas,
It seems that you have noticed an actual issue which was not known to us before. Seems that the Executable attribute cannot be set from the NodeSet file and instead the value of UserExecutable is put to both of these attributes. I’ll still need to verify this but this is the behaviour that I can also reproduce myself.
The quick fix here is that don’t set the UserExecutable from the NodeSet file, but instead handle this in the IoManager. This way you will end up in the desired situation Executable=”true” UserExecutable=”false”. As explained above, our view is that these UserAccessLevel and UserExecutable attributes should not be specified in the NodeSet file because that is not semantically correct.
Thanks for the report!
Most Users Ever Online: 1919
Currently Online:
7 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Heikki Tahvanainen: 402
hbrackel: 144
rocket science: 88
pramanj: 86
Francesco Zambon: 83
Ibrahim: 78
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
Member Stats:
Guest Posters: 0
Members: 737
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1524
Posts: 6450
Newest Members:
fannielima, kristiewinkle8, rust, christamcdowall, redaahern07571, nigelbdhmp, travistimmons, AnnelCib, dalenegettinger, howardkennerleyModerators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1026, Jimmy Ni: 26, Matti Siponen: 346, Lusetti: 0
Administrators: admin: 1