LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Need access to registers 0x0000 – 0x0FFF of ethercat device.

I'm trying to read a register range from an ethercat device that is not visible to me via the NI tools.

See image:

 

=================

Screen Shot 2016-05-07 at 11.44.18 PM.png

==================

 

As you can see from the NI Online Slave Device State dialog. only registers 0x1000 and above are available.

Any suggestions on how to access this register area using NI tools?

 

==================

Screen Shot 2016-05-07 at 11.48.25 PM.png



Michael Aivaliotis
VI Shots LLC
0 Kudos
Message 1 of 7
(3,799 Views)

Are you able to modify the XML file on your own to bring any of those in?

0 Kudos
Message 2 of 7
(3,769 Views)

I can modify it. Do you know how to add these?



Michael Aivaliotis
VI Shots LLC
0 Kudos
Message 3 of 7
(3,760 Views)

I've never tried it as I haven't had a need.  But, the file typically has the information about the connection.  Try setting up a simple example that just reads from one of the registers you CAN use the tool with.  Take a look at the XML.  Try to modify it to reach into the protected range.  See what results you get?

 

I'm mostly trying to find some way around the tools provided and I'm not near the hardware to try it myself on a Sunday.  It may not work.  But, it's worth a try?

0 Kudos
Message 4 of 7
(3,753 Views)

I've done a little bit more research and have narrowed down my request. It turns out, I don't need access to the entire register area. Specifically, I need to access the Device Identification value. See section 18 of the linked document (ETG.1020).

 

According to the above ethercat specification. The ethercat master can request this ID. The NI cRIO controller is the ethercat master in this case. This ID is the ID of the device set through DIP switches on the device. The master has a way to read this value and the document describes how to do this. So how is this value read from the NI master controller?

 

I was assuming it was simply reading address 0x0134, hence my earlier request. But according to this document it's a little deeper than that.

 

So any idea how to read this device identification switch setting on the slave device from the NI cRIO master controller?



Michael Aivaliotis
VI Shots LLC
0 Kudos
Message 5 of 7
(3,728 Views)

Hi Michael,

 

Sorry for late response! I haven't monitored this Board and I missed your post on my ladar.

NI EtherCAT master can read register 0x0134 but we haven't exposed such interface to external customers. As you can see in you screen capture of the spec, this data area is "protected" registers, so we did not allow customer to access them. Could you tell me why you need to access this register? Do you want to know the error codes from the slave application? Actually if you use Wireshark to capture the EtherCAT communication log, you will see register 0x0134 value in the log if there is any error occurred.

Any further problems please feel free to ask.

Thanks.

 

Wendy

0 Kudos
Message 6 of 7
(3,674 Views)

Michael,

 

Just FYI, there is a forum deticated to Industrial Communications. Your EtherCAT questions will get better exposure there

 

http://forums.ni.com/t5/Industrial-Communications/bd-p/260

 

 

 

0 Kudos
Message 7 of 7
(3,657 Views)