Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

cRIO Configurations and RTEXEs

I working on a deployment utility for several cRIOs, and am curious about what all gets included in the RTEXE.  I have two different cRIOs with different configurations including Softmotion axes, CAN interfaces, and module configurations.  They both run the same code, but currently I build the code separately for each cRIO.

 

My question is whether the controller configuration is included in the RTEXE, or can I just build the RTEXE once, and deploy it to both controllers?  (Disclaimer: I am using CDF files to deploy the RTEXE to the cRIO)

 

If I can use the same RTEXE, how are the controller configurations maintained?  Can they only be deployed from inside the project?

 

Thanks in advance!

Drew T.
Camber Ridge, LLC.
0 Kudos
Message 1 of 5
(2,867 Views)

Hey Drew,

 

You can get away deploying the same build of an RTEXE if there are small differences, but with what you've listed I would not recommend it. If you're using different models of cRIOs, I don't expect it would work (e.g. it might work in some cases, but may cause tears down the road).

 

You might be able to get around a lot of configuration concerns by calling a helper VI that does some system management in the beginning of your RTEXE main. In this subVI, you can undeploy and redeploy Scan Engine. I believe motion has a plugin for Scan Engine. XNET CAN used in RT also plugs into the Scan Engine through RSI. There are also a few cool VIs you might leverage from NI System Configuration - there's a lot of functionality in that API.

 

Based on your post, I think you already know this - but I'll throw it in anyway. You can deploy the RTEXE without LabVIEW (KB 3Z5BJCIZ)

 

For others that might read your post and wonder about CDFs - I'm guessing you're using something like Using Application Components to Deploy LabVIEW Real-Time Applications.

 

Also, looks like Camber Ridge is doing some cool stuff. Charlotte is a beautiful city.

Andrew T.
"His job is to shed light, and not to master" - Robert Hunter
Message 2 of 5
(2,842 Views)

Andrew,

 

Thanks for the kind words!  Austin is great as well, I miss it.

 

Regarding the programmatic configuration of items, this is true.  I already use some of these functions to configure Softmotion axes, and deploy the FPGA bitfile containing the CAN interface.  I suppose I was more thinking about things like:

 

  • SoftMotion Axis and Coordinate Creation (as opposed to configuration).
  • cRIO Module Deployment (although it looks like I might be able to do it with this VI)
  • EtherCAT device configuration

Thanks!

 

Drew

Drew T.
Camber Ridge, LLC.
0 Kudos
Message 3 of 5
(2,814 Views)

Hey Drew,

 

I'm not as familiar with Motion, so I'm hoping someone else on the forum will be able to comment regarding that point.

 

I'd try Refresh Local Modules for deployment. This should work as long as the modules you're using are all supported under RSI (most are) and you're using Scan Mode. If you're using Hybrid Mode, the modules will all need to stay in the same slots as when compiled.

 

For EtherCAT, you can leverage some of same VIs as module deployment. KB 5P1FIB7F is the best resource for this.

Andrew T.
"His job is to shed light, and not to master" - Robert Hunter
Message 4 of 5
(2,808 Views)

Andrew,

 

Great stuff!  I am using Hybrid mode, but the modules are not dynamic, so no worries.  I am more thinking about deployment efficiency and being able to load things on the fly.

 

I had no idea about the EtherCAT enumeration!  That's awesome!

 

Regarding the motion stuff, I have been told in the past that axis and coordinate coordination is all project based, and isn't likely to be dynamic any time soon, so I doubt there will be an API for that kind of stuff, but the information has to be stored somewhere!  I am wondering if I could just update a file on disk with the appropriate information.  I wouldn't even need to understand what was going on in the file, just "use this file from a cRIO that was deployed via the project and put it in this location on the new cRIO".

 

All in all, very helpful stuff!  Here's hoping someone can shed some light on that last 20%.

 

Drew

Drew T.
Camber Ridge, LLC.
0 Kudos
Message 5 of 5
(2,798 Views)