01-04-2017
04:45 PM
- last edited on
10-08-2025
10:35 AM
by
Content Cleaner
Hello,
I have a system with three Ethernet Expansion Chassis 9146, one cRIO 9068, and my PC all connected to the LAN network. I want to stablish a communication between the cRIO and all three 9146s for sending data back and forth. The only way I was able to do that was having a VI on my PC running all the time that can communicate with both cRIO and 9146s and then read/write the data from/to them. See the following link.
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YGx7CAG&l=en-US
I would like to have direct communication between the cRIO and 9146s. I appreicate if anyone has any experience that can help.
Thanks,
Ali
01-05-2017 07:45 AM
My experience was with an EtherCAT expansion chassis. But all you should have to do is use the User Defined Variable on the cRIO just like you do for the PC code.
01-05-2017
09:14 AM
- last edited on
01-08-2024
01:08 PM
by
migration-bot
Hi Ali,
I would recommend reading this tutorial:
Connect an Ethernet RIO Expansion Chassis to a Secondary Ethernet Port on a Real-Time Controller
Near the bottom (Part 3, Step 8), they address the channels on the expansion chassis as PSPs. I'd recommend trying that. Please let us know if works, so others with this question can find this post.
01-05-2017
10:25 AM
- last edited on
10-08-2025
10:35 AM
by
Content Cleaner
Hi Ali,
Additionally, if you want to program the FPGA and use FPGA References with the NI 9146, the following help documentation and KnowledgeBase shows how you can address the correct FPGA target. This isn't necessary when using Shared Variables or User Defined Variables, but I wanted to throw it here in case people stumble across this in the future as Andrew mentioned.
https://www.ni.com/docs/en-US/bundle/labview-fpga-module/page/accessing-remote-fpga-targets-across-n...
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000004BIiSAM&l=en-US
01-05-2017 02:21 PM
Hello crossrulz,
I really appreciate your help.
I can add the User Defined Variable to my cRIO but the question is how can I connect it to the variable on the expansion chassis NI 9146? On my PC I use the Open FPGA VI Reference to have access to the VI on the 9146 and then Read/Write Control to have access to all the variables.
Thanks,
Ali
01-05-2017 02:22 PM
Hello a_clucker,
Thank you for your help.
When I right click on the block diagram of the VI in my cRIO device, there is no Data Communication » Shared Variable » PSP Variable » Read Variable with Timeout.
In the first sentence of the link you provided, it says “The Ethernet RIO expansion chassis is intended to be connected to a switch, router, or existing Ethernet network;” which applies to my case. Then it continues “HOWEVER, you can connect it to the secondary port of a real-time controller.” which is described in your provided link. I did not connect the NI 9146 to the secondary port of cRIO 9068.
Thanks,
Ali
01-05-2017 02:24 PM
Hello GatorBait,
Thank you for your help.
When I right click on the front panel of my cRIO VI, there is no IO palette. I can not find the RIO Device control. How can I add it here?
Thanks,
Ali
01-05-2017 02:47 PM
When I right click on the front panel of my cRIO VI, there is no IO palette. I can not find the RIO Device control. How can I add it here
The easiest way would be to right-click the input of the Open FPGA VI Reference on the block diagram and choose "Create >> Control." I don't believe that control is in any specific palettes as it is kind of a unique type def.
01-05-2017 03:08 PM
I mean it is not supported in this type of device. I can find it on the VIs on my PC but not on the cRIO device. It is not supported and gives me an error.
Ali
01-06-2017 11:25 AM
Are you programming the FPGA of your 9146, or using it in Scan Mode?
Also, you will not be able to access variables hosted on the 9068 from the 9146 (the 9146 doesn't allow you to run a RT VI on it).
I think you might be able to access variables hosted by the 9146 from the 9068 (e.g you'd put down the Shared Variable API access VIs on the 9068's RT VI)