cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Did you get called away in the middle of writing a post? Don't worry you can find your unfinished post later in the Drafts section of your profile page. X

Unable to see KepServer Channel, Device, Tags via 3rd Party OPC UA client

DO_10226387
3-Visitor

Unable to see KepServer Channel, Device, Tags via 3rd Party OPC UA client

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. 

ACCEPTED SOLUTION

Accepted Solutions

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.

 

View solution in original post

3 REPLIES 3

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:

  • I created a new User Group called DataReader
  • Set I/O Tag Access: Read Value to Allow (and no other permissions)
  • Created a user under that group
  • Used that new user in my code to connect to KepServer (providing specific node information representing the device and channel and tag group)
  • Iterated through the children of that node to find tags (get_node_class = NodeClass.Variable).
  • Used get_data_value() for each child node with the right node class to display a list of the values for the tags configured within that object (channel.device.tag group)

(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.

Announcements


Top Tags