03-23-2022 06:50 PM
Hello,
I have a VeriStand HIL system with two targets (diagrammed below for clarity): a desktop computer that runs VeriStand and all my simulation models, and a PXIe-8880 real-time controller installed in a PXIe-1088 chassis along with a bunch of other PXIe IO modules.
The only connection between the two targets is a single Ethernet connection. I need the simulation models running on the desktop to manipulate the outputs of the PXIe IO modules. I'm currently doing this by sharing VeriStand channels between the two targets using the NI Data Sharing Framework Plugin. This plugin has proved to be a bit unreliable for my use case, so I've been looking into using a PXI Reflective Memory Module (the cPCI-5565PIORC) to do the data sharing instead, but I'm not sure if this is the right tool for the job.
All the info I've found online suggests that the PXI Reflective Memory Module is only used for sharing data between PXI systems, and not between a PXI system and desktop computer. Is that accurate? If so, what changes would I make to the above diagram in order to use reflective memory? Something like the following?
Solved! Go to Solution.
03-23-2022 07:05 PM
Hi Debruyn,
You can use Reflective Mem with PC and PXI systems. You just have to make sure each system has a memory space to write to so the other 2 systems can read from it. We have used 2 PXI systems with Ref Mem and VeriStand, but had to write our own custom device for the Ref Mem since the VeriStand implementation ate up processor memory with the more Ref Mem channels you added. I think this has finally been fixed in the latest VeriStand version (issue was writing each address instead of a memory block). The Ref Mem allows you to move data around very quickly and mesh 2 PXI systems together to have larger channel count. You will still need to sync your 2 PXI systems somehow. I don't know if you will need to connect the PC to the PXI systems to run the VeriStand simulations, we didn't on most of our applications.
03-23-2022 07:49 PM - edited 03-23-2022 08:02 PM
Thanks for the fast reply. So it sounds like ref mem will work for my application, I just need to figure out how to connect the PC and ref mem module (for my application, VeriStand must run on a PC that connects to the PXI systems). I'm thinking I can connect them as shown in the 2nd diagram in my original post, or simplify it by combining the two PXI systems like:
So in this case, the two targets (PC and PXIe-8880) share data through a single ref mem module, configured as hardware for both targets in VeriStand. The PXIe-8880 can access the ref mem module since it's in the same chassis, and the desktop can access the ref mem module through the MXI connection.
From searching online I haven't been able to 100% convince myself this will work as expected, and I'd like to know that it works before I commit to buying hardware. Any insight you (or anyone else) might have would be greatly appreciated.
03-23-2022 08:01 PM
There is a PCI variant of Reflective Memory Module (PCI-5565PIORC) that you can use on desktop host PC directly.
DISCLAIMER: The attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system, or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
03-23-2022 08:14 PM
Ahh this is what I was missing, thanks. I believe this will work for me. Out of curiosity, do you know if the solution in my previous reply (using a single PXI ref mem module and MXI connection) would work?
03-23-2022 09:03 PM
No, it won't. When using MXI at the desktop (eg. PCIe-8371/72) as the upstream, the downstream controller (eg. PXIe-8370) must be at slot 1. In your case, the slot has been occupied by PXIe-8880. The downstream controller won't fit into any slots other than slot 1. If you use an MXI expansion module (eg. PXIe-8374) in peripheral slots, it only works as an upstream.
Besides, one reflective memory module without any fiber optic connection does not share any data.
With that being said, using a single PXI ref mem module and MXI connection are useless.
DISCLAIMER: The attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system, or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
03-23-2022 09:25 PM
I see. That's very helpful, thanks. Just to solidify my understanding of this hardware, a (albeit overcomplicated) system using two PXI ref mem modules in separate chassis would also work to share VeriStand channels between the PXIe-8880 and PC targets, yes? E.g.,
03-23-2022 09:40 PM
Yup. This would work. Unless you already have all the hardware, getting a single PCI-5565 from Abaco to use on desktop is much cheaper than getting an entire set of cPCI-5565 + PXI chassis and MXI.
DISCLAIMER: The attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system, or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense
03-24-2022 01:41 AM
Hello,
Why not using a PCIe PIORC directly in our PC insteed of going through an additionnal PXI rack?