I have seen other posts that concern the SD6 teleop example and I haven't seen any solutions for them as of yet. So I thought I might post my problem, which seems to be the same as others, in hopes that I can get some help to figure this out.
I am using the original sd6.1 code. What happens is, I first start Robotmain.vi and then I start Hostmain.vi, as soon as Hostmain runs, Robotmain stops and throws an error:
"VISA Write in SD6.1 Motor Drivers.lvlib:Trigger e-stop.vi->Robot Main.vi"
So I proceeded to track down the Trigger e-stop.vi which then leads me to the Set motor velocities.vi. If you take a look at the screen shots that I have included in this post, specifically Capture2.PNG, you can see at the Set motor velocities.vi, there are no error in's. Which tells me that the error is generated at this very VI correct? I then opened up the block diagram and proceeded to use the "Hightlight Execution" function.
You can see in Capture,PNG, that the "Flatten to String" function is where the error occurs. I have tried to right click and use the "Convert 7.x data" that didnt help.
I am lost guys and if you have any suggestions or need extra information to better help you to help me then just let me know! I appreciate your time.
Where did you download these files from? From what I can see, one of the functions is looking for a specific item from your string and is possibly causing the issue.
The 'Match Pattern' function is outputting a -1 from the Offset Past Match termnial. The offset past match is the index in string of the first character of 'after substring.' If the function does not find a match, offset past match is –1. The offset input and the offset past match output might be equal when the empty string is a valid match for the regular expression. For example, if regular expression is b* and the string input is cdb, offset past match is 0. If string is bbbcd, offset past match is 3.
So it looks like you aren't being able to locate the correct portion of the string. I would look into this and see if that can resolve your issue.
The files being used are the SD6 Teleop example files, linked below. (I am working with Chris.)
We found this article linked in a thread posted by another user with a similar problem. I tried switching the flatten to string function to the Flatten to XML function, but it did not work.
It looks like the poster of that thread may have found the solution though. We will try what he did and post our results.
Unfortunately, that did not fix the problem. We are still getting that error 116 when we run robot main. The error only comes up after we start host main though. We posted this in the other thread, but since that thread has been marked solved I thought it might not get as much attention, so I am reposting here. When we go to the NI Max software and look at the com port, there is an error under the Is Port Connected Attribute. Could this be related to the problem? It does say the device is working on the front panel though.
It wasnt mentioned, but the com port we are trying to communicate with is a NI 9870. I went through the process on this http://www.ni.com/support/labview/visa/vsteps.htm page, and my serial ports showed up like they were supposed to. I couldnt figure out how to look for GPIB ports, but I went through the process on this page ( http://www.ni.com/gettingstarted/installsoftware/compactrio.htm) to ensure I hadnt missed anything. When I got to the Distributed Systems manager, I was unable to find my I/O Modules.
I have tried using several different VIs, (the teleop example, the sensor example, and another example a previous group had working) and none of them have worked, so I am somewhat convinced the problem isnt in the LabView code, but something to do with a connection, something not being installed right, or something along those lines. This is a school project, and we have spent weeks working on this problem, and we arent getting anywhere. If anyone has any ideas about what could be going wrong, and how to go about fixing it we would greatly appreciate it.
We are also getting an error 56 in the Initialize UDP connection with Host vi. I have increased the time limit in this VI from the default 3000ms to 30000ms and I still get an error. I am assuming all these problems are related somehow.