I'm not even exactly sure how to ask this question so if I seem ignorant that's only because I am.
I assume that I'm having an issue understanding a fundamental concept of interacting with an OPC UA server.
I'm attempting to create an OPC UA client in Python to ultimately read values that originated from Modbus PLC registers.
The targeted PLC is successfully connected to KepServerEX6 and values from registers are being pulled into KepServerEX Project>Channel>Device>Tags perfectly.
The data (values from PLC registers) is being and has been successfully used from this KepServer by another application for several years so KepServer and connections to multiple PLCs (multiple brands) is working just fine.
Python code completely aside, in a 3rd party OPC UA client application (UaExpert), I can connect to the OPC UA server, I can see a lot of things about the server/KepWare, (Root/Objects/Server, ServerCapabilities, ServerDiagnostics, etc) but the Objects folder does not list the KepWare Project, Channel, Device, Tags, or anything that remotely resembles the actual data values that I'm trying to get to. (My python code has achieved roughly the same results.)
Any suggestions, correction of misperceptions, education, kicks in the proper direction, or assistance of any sort would be appreciated.
Solved! Go to Solution.
It looks like permissions and security policies at the channel/device/tag level are preventing you from seeing the channel/device/tag. I suggest checking the permissions and security policies to see if they allow access. You can refer to this article. Although the article describes how to set permissions and security policies at the channel/device/tag level, you can use the same concept to check if access is allowed.
It looks like permissions and security policies at the channel/device/tag level are preventing you from seeing the channel/device/tag. I suggest checking the permissions and security policies to see if they allow access. You can refer to this article. Although the article describes how to set permissions and security policies at the channel/device/tag level, you can use the same concept to check if access is allowed.
Thank you for the reply. With the provided information, I was able to move forward with my proof-of-concept coding.
Roughly speaking:
(Required admin rights on the KepServer, of course.)
Correction: I also added permissions for Browse Project Namespace to allow the code to iterate through the tags.