I'm using the RTI DDS Toolkit to communicate between two myRIOs. I can get the communication to work fine, but if I reset the power on the myRIOs, it no longer works. Has anyone run into a problem like this?
The only workaround I have found is to uninstall and reinstall the toolkit on the myRIO. However, this only works some of the time, and it is unclear why.
I'm using LabVIEW 2016 and RTI DDS Toolkit 18.104.22.168.
Solved! Go to Solution.
I have a few questions for you:
Are you resetting the power on the myRIOs while the application is actively running?
What other troubleshooting steps have you tried that were unsuccessful prior to re-installing all software?
When you re-install, are you doing this for both myRIOs, or just one of them?
Nick-C and I are still working on this question with RTI, but we have found a reliable workaround. Adding this snippet before creating any DDS entities will make sure the devices can communicate after being powered back on:
myRIOs connected over WIFI stop communicating over DDS after being powered off and back on
myRIOS are connected on different subnets, causing the peer discovery to fail
On each device, set the variable NDDS_DISCOVERY_PEERS to the IP addresses of the other devices in the network.
On Linux (myRIO):
Access your Linux command line via SSH
Edit the bashrc file in the /home/lvuser directory
Add a command to set the NDDS_DISCOVERY_PEERS variable
export NDDS_DISCOVERY_PEERS=<IP ADDRESS 1>,<IP ADDRESS n>
Reset or power of the myRIO
In the command prompt, enter a command to set the NDDS_DISCOVERY_PEERS variable
set NDDS_DISCOVERY_PEERS=<IP ADDRESS 1>,<IP ADDRESS n>
Run LabVIEW through the command prompt
"C:\Program Files (x86)\National Instruments\LabVIEW 20XX\LabVIEW.exe"
Setting this variable disables the multicast peer discovery. You can add devices by adding their IP Address to the NDDS_DISCOVERY_PEERS variable on each device.
To re-enable multicast again, unset the NDDS_DISCOVERY_PEERS variable in the bashrc file. On Windows, run LabVIEW without using the command prompt.