VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Channel-less data transfer between models ?

Hi all, I am currently facing problem with performance of my system. Basicaly there is such a big amount of channels, that it consumes almost all computation capacity of my cRIO only to deal with data channels. I have couple of models running on different rates and need to transfer data betwen them. Data are matrixes with size 30*30, so at the end, there is about 3000 of data channels and it kills the whole system. In addition, I do not need to monitor all those channels - I only need some input and output data, about 200 channels in total. 

 

Is there any way, how to hand over data from one model to another and omit data channels creation ? Or do you have some another solution, different than make top model and take care of sub-models scheduling myself ?

 

Thanks a lot !

0 Kudos
Message 1 of 5
(4,559 Views)

Hi hamos,

 

Because a model is a pretty much like a stand-alone dll, the fastest way to communicate with a model is by its inports/outports.

 

Now, a few ideas:

- 3000 channels is not that much to handle for VeriStand, unless your RT target is quite old. What cRIO is it ? Usually the models and other IOs are far more responsible for a system overload.

- You can keep matrixes and vectors as is if you don't want to read/write them in the workspace. This way you only have 1 channel in VeriStand. You can map it to the inport of another model if needed.

- Using a single model can certainly help decrease the total number of channels in NIVS but it may be less manageable than using smaller components.

 

--Eric

Eric M. - Senior Software Engineer
Certified LabVIEW Architect - Certified LabVIEW Embedded Systems Developer - Certified LabWindows™/CVI Developer
Neosoft Technologies inc.

0 Kudos
Message 2 of 5
(4,540 Views)

If I remember properly another option was RT FIFO. We did some test in past.

It Is possible to connect to RT FIFO by name and share the data. The challenging part than is to properly handle timelife of the FIFO.  

 

 

CLA, CTA, CLED

0 Kudos
Message 3 of 5
(4,521 Views)

Hi Guys,

 

thank you for your comments. I am currently using cRIO 9022, so it is not really very powerfull. If run the same project on PXI, there is no problem at all.

I definitely need to try the vector approach and benchmark it, hopefully this might help me.

 

Jiri, I am not very experienced labview user, so I do not thing I am capable to use the RT FIFO but can you in short describe the basic mechanism how it works together ? You have to somehow edit the model in Simulink ? Or model is the same but  there is something to do on the Veristand side ?

0 Kudos
Message 4 of 5
(4,483 Views)
Hi hamos, this is a LabVIEW proprietary feature. So it works for models built in LV. You can also use TCP or UDP stream between Simulink models through local host loop back.

CLA, CTA, CLED

0 Kudos
Message 5 of 5
(4,473 Views)