Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 9870 on 9144 using EtherCAT: not supported?

Solved!
Go to solution

Hello,

 

I have a setting very similar to the one shown in this post. I.e:

 

. A CompactRIO 9025 (instead of the Industrial Controller Target)

. A Chassis 9144 connected to the CompactRIO with EtherCAT

. A NI 9870 plugged into the 9144

 

The post linked above seems to imply this setting could work. However, when I add C series modules to the 9144 I get an error message saying something like "The 9870 is not supported by this version of the Industrial Communication driver for EtherCAT".

 

. I'm using version 2.5 of the EtherCAT driver which seems to be the lastest version.

. Other modules are recognized properly, some of them with a warning message in case I want to use SCAN mode (but I don't). A NI 9213 for instance.

. Two modules come from a 3rd-party vendor, in case it's an issue.

. Moving the NI 9870 to the CompactRIO itself is not an option, that one is full like an egg.

 

Any suggestion is welcomed.

DLB

 

0 Kudos
Message 1 of 15
(8,316 Views)

Hi DLB, 

 

Make sure you are adding modules by right clicking on the FPGA Target, not the 9144. 

 

If that doesn't work can you post screenshots? 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 2 of 15
(8,313 Views)

The easiest solution would be to plugin the 9870 to your local RIO chassis and move a analog or digital module from that chassis in exchange to the 9144 chassis.

otherwise you have to use the FPGA mode for that module if that is possible.

Or you need to switch to a Ethernet expansion chassis instead, if you doen't need the tight synchronization of ethercat.

FYI The 2.5 driver is the latest one but it installs the 2.5 LV support only to LabVIEW 2012. If you have a older labVIEW it will install older binaries, the same way RIO does it. (2009-1.0.3/2010-2.1/2011-2.3)

 

DirkW

0 Kudos
Message 3 of 15
(8,311 Views)

@Jesse Denis

 

Thanks for pointing me to the correct way of adding devices. I had right-clicked on the wrong item indeed.

 

@DirkW

 

Moving the NI 9870 to the CompactRIO is unfortunately not really an option, because I have many high-throughput modules there that cannot be moved to the 9144. I need DMA for them.

 

So, I was able to add the NI 9870 module to my project. Here is how it looks now (sort of, many VIs removed for clarity):

 

Project

 

The problem I face right now is that it did not detect the module properly. I when I insert a node I/O, and select the write method, I get this:

 

Bad node

 

When in fact I should see this (taken from the example FPGA VI for 9870):

 

Good node

 

Notice the Data, Timeout and Timed Out connectors don't appear on my VI.

Labview shows the arrow for a valid VI, but when I try to compile it I get a Xilink error. Did it actually detect the NI 9870? What can I do ? 😞

 

DLB

 

0 Kudos
Message 4 of 15
(8,295 Views)

Hi DLB, 

 

It is an FGPA I/O invoke node being used - they have a weird user experience. Right click on the node and select the module under "Select Item." After that your node should be populated. 

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 5 of 15
(8,282 Views)

I have tried that multiple times and in multiple combinations with drag-drop and/or select method...

 

DB

0 Kudos
Message 6 of 15
(8,280 Views)

Interesting - I was just able to do so. You might force recompile the VI, otherwise feel free to post your project and I will see if I can replicate. 

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 7 of 15
(8,277 Views)

I've sent you a PM with the code.

 

Thank you.

DLB

0 Kudos
Message 8 of 15
(8,268 Views)

I forgot to mention it: recompiling didn't help. 😞

 

0 Kudos
Message 9 of 15
(8,267 Views)

I was able to get things working just by removing the diagram disable structure and selecting the correct serial port again. This may be a localization issue. Is your operating system or version of LabVIEW French? 

 

Untitled.png

Jesse Dennis
Engineer
INTP
Message 10 of 15
(8,262 Views)