01-20-2011 01:13 AM
We tried to update the cRio image on a past year's robot today. We want to be able to test some code for this year on it. The imaging tool ran and installed the image with no difficulties. However, we have been unable to load the program into the cRio again after the reimaging.
This is the error we get:
We've seen this before for a few seconds as it negotiates it's conection, but it usually resolves itself. This does not go away even after several minutes.
Some additional points:
This is on a past year's robot. The imaging and program loading worked fine on this years new cRio on the bench with the same computers being used.
It was a functional robot before the reimaging. It is our 2009 robot, but the program was rewritten with last year's version of the default LabView code and then customized to operate the robot.
I loaded the robot code project into LabView and rebuilt it with the current version of LabView and libraries. There were no serious errors. Some VIs wanted to be saved again, I assume because of updated library VIs and locations.
I can ping the cRio from the computer. The IP address in the project is correct. I have rebooted the computer. I have powered off the cRio. The same thing happens when I tried to load the default 2011 code just to see if it was an issue with the old code. I also tried using the Classmate to load the program. I turned off the firewall and antivirus program, even though they never stopped it before.
Any suggestions where to go from here? How do I determine where the problem is (code, network, software, computer, etc.)? Is there something special that must be done to 'convert' an old project to the current framework? Is there something wrong with the image that was loaded or some dip switch setting I need to use?
01-20-2011 03:38 PM
So if I understand you correctly, you are trying to take code from last year, saved it in 2011, and are now trying to get the code to the cRIO. My first question is did you install the updates? If not, you can find the updates at ni.com/frc. The new update comes with an updated image for the cRIO. Are you using version 20 or 25?
Since you can ping the robot, that leads me to believe that this is a connectivity issue. Can you right click on the cRIO in your project and select connect? Does this help?
Brandon T.
National Instruments
01-20-2011 10:18 PM
Thanks for the help.
Yes, we have installed the 2011 LavBiew from the disk in the KOP. The updates have been installed as well. They all have been used to image and install the default project on the new cRio running on the benchtop test and work as expected.
The robot we have the trouble with is the 2009 robot, which we want to use as a development platform. We imaged the cRio with the 2011 image (v25) and it appears to sucessfully install. The correct IP address and image version show in the imaging tool after it is done. It is only when we try to load a LabView project to the robot that we get the error shown. I have tried loading both the 2011 default project and the original code we used on the robot (rebuilt with the current LV and libraries) but either way produces the error. I believe that right-clicking and choosing Connect produces the same or similar error.
Today, we tried doing the same thing with our 2010 robot. We reimaged the cRio and rebuilt and reloaded the program. It worked, except for some small issues. The camera isn't working and our gyro display has been lost on the dashboard due to the different version of the dashboard program. I can handle those, and the robot controls work like they should on this robot.
So, something different is happening with the 2009 machine that I need advice on.
01-21-2011 12:08 PM
How are you connecting to the cRIO? Are you connecting through the wireless, or are you using a wired connection. One thing that you can try is to create a new project, and try to connect to the cRIO. Since your cRIO has the new 2011 image on it, and the imaging tool can connect to it, you should have no issues connecting with the new 2011 version of LabVIEW. Try creating a new project and see if you can connect to the cRIO.
Brandon T.
National Instruments
01-21-2011 01:00 PM
We are connecting directly through a straight ethernet cable, but have also tried the crossover cable and tried going through the router as a switch (not wireless).
We have tried both a laptop used for development and the Classmate, both of which work on the 2010 and 2011 controllers.
We have tried new default project code from the 2011 updates. No difference.
I tried running MAX yesterday, not that I know what to do with it, but it didn't seem to recognize a cRio.
There must be some steps for wiping/reinitializing/diagnosing the cRio to a new state. Can I do that, then start there with a new reimage? Where do I find that information? Where do I find information about the DIP switches on the cRio and the serial port that some people are able to telnet into and see what is going on? Or wouldn't any of that be of any help?
I'm looking for steps to go forward in diagnosing this problem.
01-21-2011 01:17 PM
One thing that you can try is to reset the IP of the cRIO. When you reset the IP, it will go into standard DHCP mode. I recommend that you connect the cRIO to the router and the computer to your router as well before you do this. The router will assign a new IP to the cRIO and you can try and reimage it. To reset the IP, place the IP Reset dip switch in the on position and press the reset button. The dip switches are only read when the cRIO boots, so if you do not restart, nothing will happen. On the same token, make sure that once the cRIO restarts you turn the switch off so that the next time the cRIO boots it does not reset the IP. Once you have done this, try to image the cRIO again. You should notice that the IP changed.
You should also make sure that you have a fully charged battery to do this. The cRIO will operate between 19 and 30 volts, but I recommend that you supply the cRIO with 24 volts to make sure that everything is working properly. Another thing is, make sure that none of the other cRIOs are connected to the network to make sure that you are only seeing the one that you are interested in. I hope that you find this helpful.
Brandon T.
Applications Engineer
National lnstruments
01-22-2011 09:51 PM
I think we've been trying the things you suggest almost as you write them...
Today, we decided to take the cRio out of the old robot and put our new one in it so we could try some code. During this process, we think we resolved the problem, but are left with another question.
Once we tried to set up the brand new cRio for the old robot, it began to exhibit the same symptoms: Could sucessfully image it, but could not load a project into it or connect from LabView either directly connected or wirelessly.
With the old cRio on the bench, we reimaged it as if it were going into a new robot and the LabView sample project loaded into it just fine.
Here's what we decided was the problem:
We were setting up the old robot with a dummy team number so that we could operate it alongside our 2010 robot using one wireless router. It worked last year that way at some demos we held.
For some reason, despite reconfiguring our NICs, the IP in the image and the IP in the project it would not accept the project with the dummy team number. It was not an off the wall number, we just changed the last digit.
As I said, this worked last year and up until the software and image was updated. So, we will just have to do our testing with the normal team number and never run two robots at once (unless with a tether cable.)
My question now is, what has changed with the system that prevents doing this and why? What if we were in the pits at a competition and attempting to help another team with their code, using our computer/software? Will it choke again because of it not being 'our' team number? Where else does it know what team we are?