LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 9145 Ethercat chassis extension on NI MAX

Hello, 

I am relatively new here and I might miss giving out necessary info needed to solve the issue. I am using NI 9035 chassis with 2 NI 9145 EtherCat extension. All these are remotely connected to my computer. I have several NI 9214 modules on 9145 chassis. The channels show up in labview projects as I/O variables. However, I can not find these modules or channels on NI MAX. Even I can not find the physical channels on NI DAQmx / NI DAQ assit in labview code. I need to access the cold junction compensation value and change it to 0 for some channels. I plan to use these channels for thermopiles. However, all the options I saw online to access the cold junction compensation value use DAQmx Create Virtual Channel VI  or NI MAX. What should I do? Thanks in advance.

0 Kudos
Message 1 of 9
(280 Views)

The answer is simply no, you can't detect any C series module in NI MAX or with NI-DAQmx because neither cRIO-9035 nor NI-9145.

  • For C series modules to appear in NI MAX, NI-DAQmx driver is required.
  • cRIO-9035 does not support NI-DAQmx. Only cRIO-904x/5x supports DAQmx.
  • NI-9145 is supported via NI-IndComm for EtherCAT driver.

Hence, you can only detect your C series modules in LabVIEW when using cRIO-9035 or NI-9145.

 

When using Scan Mode, the Scan Interface applies Autozero and cold-junction compensation to NI 9214 data returned in temperature units. 

To access the cold junction compensation value, you need to use the FPGA mode.

-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
Message 2 of 9
(250 Views)

Hello ZYOng,

Thanks for your reply. Understood why I cant access it using DAQmx or NI MAX. In my project, I can find all the TC channels from TC0 to TCx. But I could not find any CJC0-CJC2 I/O variable as suggested by the FPGA mode website you shared. Can you kindly explain how I can access it in my project? Thanks.

0 Kudos
Message 3 of 9
(241 Views)

See shipping example at Help >> Find Examples... >> Hardware Input and Output >> CompactRIO >> Module Specific IO >> Analog Input >> NI 9214 Open TC Detection Offset Compensation.lvproj

-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
Message 4 of 9
(237 Views)

Hello,

I was able to convert one of the modules in the chassis to FPGA I/O. Attached a picture of it. But when I tried to use any of these I/O variables in a VI, I get a message saying the target does not support interactive operation. I am guessing the target here means 9145 chassis. Is there any solution for this?

1000007001.png

0 Kudos
Message 5 of 9
(192 Views)

NI-9145 EtherCAT chassis does not support interactive mode. When using the interactive mode, development host PC interacts with the front panel control on the FPGA VI via RIO Server using TCP/IP. 

NI-9145 only supports EtherCAT packet and does not support the front panel control communication. You must use user-defined I/O variables,so that the communication is done through the Scan Engine over EtherCAT packets.

-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
Message 6 of 9
(186 Views)

Hello,

Thanks for your reply. I added user defined variable to read from FPGA I/O. Attached is a picture of a simple VI I set up to read the data from the FPGA I/O. I compiled the VI as bitfile foloowing some instructions from the LabVIEW website. But I still got the same message. I also checked if the chassis I was using for FPGA was in FPGA mode or scan mode. It was in FPGA mode. 

 

 

mzm2025_0-1753121751533.png

 

0 Kudos
Message 7 of 9
(161 Views)

You cannot use the Run button for the FPGA VI on NI-9145.

After you compile the FPGA VI, go to the cRIO which acts as the EtherCAT Master, create a RT VI and add the shared variable, as stated in steps 5 to 9 from the previous link.

-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
0 Kudos
Message 8 of 9
(151 Views)

Hello,

Got things to work finally. But I am not getting any value in my indicator.

here is the FPGA VI

cf838770-c291-4695-aed0-43eb2ee14c42.jpg

 

Here is the RT VI. When I ran  the RT VI, the Cold Junction Compensation vcalue showed 0 whole time.

mzm2025_0-1753208486345.jpegmzm2025_1-1753208497772.png

 

 

 

0 Kudos
Message 9 of 9
(137 Views)