Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by bigjoepops

  1. I am working with a Universal Robot arm. I believe it is a UR-5. I was under the assumption that it could be controlled via Modbus, but I found that was incorrect. I need to use URScript commands. I am having a hard time getting started with this. I was wondering if anyone has written a VI that would control the movement of one of these robot arms. Thanks.
  2. I am trying to use an instrument driver I found from NI.com and I am having some issues with it. I want to put it into a source controlled location (that isn't checked in yet) but it appears that it wasn't built to allow it to be put anywhere other than the inst.lib folder. Are all instrument drivers written like this? I got the LV2012 version below. http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=0203928FCCB74C96E0440003BA7CCD71 When I move it to our source controlled location I get "Warning: has been deleted, renamed or moved on disk" error messages. All I did was unzip the files from the zip file I downloaded to the source control folder. Is there a way to "install" these files to the source control folder instead of the inst.lib folder and have it work without an error message? I just wanted to check this before I spend a lot of time making the library and project find the files. Thanks.
  3. Fred, If you haven't found it already I would check out the Continuous Measurement and Logging Template. I have had pretty good success with that. It should be able to give you reasonable "real time" results, depending on the specifics of what you are acquiring. You will have to make sure you use a fast method logging data. I don't know if it is better to wait till you have a large amount of buffered data to save it off or if you can save it "one at a time". Do you need graphs or can you just use charts for your monitoring? If you are saving/building large arrays in a loop you will slow things down. Joe
  4. I was expecting the sign extension to work on the part but for some reason it isn't. I have a call into Analog Devices to try to figure out why this isn't working right. I was hoping to find a work around while I wait to see if Analog Devices comes up with a reason why it isn't working. Ned thanks for your post. It worked.
  5. Are you checking the data after it was received or while it is being received? Is there any type of header or pattern to your data?
  6. You get an icon there because the port has already been opened or used I believe. Do you have a VISA close in your code when you are done with the port?
  7. I am reading a 13 bit signed number out of an ADXL345. It is contained in a high byte and a low byte. I joined the two bytes into a UINT16, but for some reason I can't seem to find a way to get this number converted properly into a INT16. I was trying the logical shift but that doesn't take care of it. After I shift the number to the left by 3 bits, is there something else I need to use to shift it back but fill in the sign bit? I searched this forum and the internet, but I couldn't seem to find a definite solution that worked. Thanks for your help.
  8. I have a problem I was hoping you might be able to help me figure out. I need to be able to create 6 analog output channels that will have separate data files loaded into them. These channels will be started individually in a timed sequence. I am having trouble getting the analog DAQ tasks created. LabVIEW is complaining when I try to set them up as individual tasks in the same routine. I used a for loop on an array of data files and an array of channel names. The error code is suggesting that I set the channels up under one task. But the problem with that is that I don’t know how to get individual channels of that one task started. I created the initial for loop in Main.vi. This gives me error -50103. My single instance is in Main_1.vi. I am trying to use a PXI-6363 card initially because that is all I have now. But I will try to upgrade to a PXI-6733 when I get ready for the test. Is there something with the 6363 that doesn't allow for multiple tasks on the same card for the same function? Thanks for your help. Joe Main.vi Main_1.vi
  9. rasmusvt, Have you timed how long it takes for a single acquisition? Is that time consistent? If not you may be running into Windows delays? Try increasing the priority of your VIs. Also remove debugging from them. That may help speed up your acquisition time. Are you getting your DAQ and stepper data in parallel or series? If series, you should change your acquisition steps to run in parallel. Putting these processes in separate loops wouldn't allow you to have the time synchronization that I believe you are looking for. Did you create a DAQ task in MAX or are you using discrete setup steps in your loop? Make sure you look carefully at what is in the loop and pull out stuff that doesn't need to be done every time the loop iterates. I find creating DAQ tasks in MAX to be a very easy way to get them done. All that is need is the start task VI and then all you do use the read data VI.
  10. This seemed like the best solution for the problem! Didn't think he was asking about sorting, just finding the max product and the associated inputs for the product.
  11. I would think if you are only dealing with arrays that are a few thousand elements you should be fine. Just be sure you aren't creating multiple copies of them. http://digital.ni.com/public.nsf/websearch/771AC793114A5CB986256CAB00079F57?OpenDocument http://digital.ni.com/public.nsf/allkb/A8BA755EB2A699FA86256FDC00691FFD
  12. If a driver package is written good I would assume it should have a VI that can be used to read back the status of your settings on your instruments. I don't think it is possible to change a control to an indicator with the driver VIs, since they are probably operating to provide input to .dll files. Maybe there is a way to re-write the driver VI and read from the .dll file if the .dll file was built for that???
  13. Have you verified that you are getting the Boolean indicator from your loop that is running the DAQ assistant when the positions are reached? How often does your position need to be update? You have a loop that free running somewhat. Is the DAQ assistant collecting from all 4 channels you have set? If so is this coming out on one array? Or is this getting data from one channel? I'm not that familiar with using the DAQ assistant. Does a value change event occur when the control is changed via a local variable? I'll check that a bit later. Joe
  14. I am getting an error out of the blue with a FPGA application that used to run. This is a remote application running on a PXI station. There was a power cycle at the facility over the weekend so I don't know if that has anything to do with it. I am configuring the FPGA using a bit file. I have been doing this for a while on the project. I get error -52005 coming out of the FIFO configuration. I don't get an error out of the open FPGA VI reference and it is configured to run when programmed. With no error out of that I would think that communication to the FPGA card is good. I looked at on NI.com for reasons this may be happening, but none of them applied. I haven't recently upgraded to 2013, I'm not using Scan Clock FPGA Chassis I/O node, and I don't know how to check what versions of NI System Monitor is installed. It appears that there are no discussions mentioning "52005". So I assume this is a new topic. I used "shutdown -r" on the remote machine so I assume this provided enough of a shutdown/reset to the system to take care of any issues that might have occurred due to the power cycle that happened. Thanks for your help. Joe
  15. Thanks for your input. I loaded SVN, but haven't had a chance to evaluate it. I'm reluctant to do that since TFS is a company application and I'm not sure my sole opinion will allow for a another program to be used. There is supposed to be a session on source control at NI Week this year so I'm going to try to bring up my issues there and see what response I get.
  16. Thanks for your help. I was able to parallelize the for loop with the mean in it and it helped speed it up. I didn't try the FIR approach. I'm still waiting on verification that the averaging will work for the customer.
  17. I am trying to create a code section that will take a 1D array and create a moving average array. Sorry if this is a bad description. I want to take x elements of the input array, average them, and put that average in the first element of a new array. Then take the next x elements, average them, and put them as the second element of the new array. I want this done until the array is empty. I have two possible ways to do it, but neither are running as fast as I wanted them to. I want to see if anyone knows of a faster way to conduct this averaging. Thanks Joe
  18. ak_nz, Do you know if there would be any issues with having TFS and SVN on the same system while I am trying to evaluate SVN? Joe
  19. Ned, Thanks for the reply. I'm not sure I understand how your approach would work. When I tried to move things in LabVIEW I had to check them out of source control first. If I tried this approach I would be stopped by source control when I attempted the move in LabVIEW. It sounds like you might want to create a temporary project folder. Open the project in LabVIEW and perform the moves and then save the project. Check out the .lvproj file and replace it with the one that you had from the temporary project. Perform the moves in source control and then check out the project and see what happens. Unfortunately I can see a disaster happening with this. It's like trying to disarm a nuclear bomb in a carwash at night with sunglasses. I hate when the conflicts come up. There can be a lot of them if you have an issue with a VI that is used in a lot of places in the project. It just appears now that whatever folder structure you have created is very fixed and all you can really do is add/delete/change files and folders. They discuss the importance of source control at NI Week, but it seems the tools are stuck at Windows 98 level.
  20. I am getting started with using TFS for source code control with LabVIEW. I am using TFS 2013 and LabVIEW 2013. I have a few questions: What is the best way to move files from one project folder to another? The "move on disk" doesn't appear to be a good option. I want to be able to make file moves if needed and don't want my project to end up blowing up with conflicts. It appears that once source control is set up in LabVIEW that all check in/check out operations need to happen in LabVIEW and not TFS or windows explorer. Correct? I just noticed the "Include callers when checking out files" option. I am assuming that is probably a good option to select so that they callers will be modified and saved as needed. Does having files set up as auto populating have any negative effects on how source control is done? Unfortunately it appears that we are stuck using TFS for source control since the firmware developers are using it and it is a company application now. Any help or guidance you can provide would be appreciated. Thanks. Joe
  21. All, I am having some issues with errors when I am writting to an external USB drive. The errors appear to be random. I was able to get a log of the errors. I have attached the VI that I am having issues with. The code number for the error is 1. Endless File Write_rev1.vi 6/23/2014 18:55:9.864 : 8 : 1 : Get File Size in Endless File Write_rev1.vi:2590003->SPI User Interface test1_rev1.vi : Indicator of multiple errors : 2 6/23/2014 18:55:10.886 : 0 : 6 : Open/Create/Replace File in Endless File Write_rev1.vi:2590003->SPI User Interface test1_rev1.vi<APPEND> H:GDataGDaqData HS_00039.efd : Indicator of multiple errors : 2 6/23/2014 18:55:11.910 : 1 : 6 : Open/Create/Replace File in Endless File Write_rev1.vi:2590003->SPI User Interface test1_rev1.vi<APPEND> H:GDataGDaqData HS_00040.efd : Indicator of multiple errors : 2 6/23/2014 18:55:12.934 : 1 : 6 : Open/Create/Replace File in Endless File Write_rev1.vi:2590003->SPI User Interface test1_rev1.vi<APPEND> H:GDataGDaqData HS_00041.efd : Indicator of multiple errors : 2 The error appears to start with the "Get File Size" vi in the VI that I have attached. Once that happens it appears that I can't access the file or hard drive. Not sure if the real problem is with the "Get File Size" vi or if is just when the drive access is messed up. The VI will write to a file until it's size is greater than 62.5K. Once that happens the file is closed and the file name is indexed and the new file is open. The errors appear to have happened on a file index increment becuase the last file that was written was 62.5K. The only error handling that is part of this VI is that if there is an error opening the file the file name is indexed and used for the next time the data is written. I wanted to know is there was any other kind of error handling that I should put in this to handle file errors. Or maybe to reset the USB port possibly? Are there possibly any waits that I should put into this sequence of step? The drive I am using is from imation and the model number is H100 1TB. I am also using LabVIEW 2013 SP1. If you need any more information or have questions please let me know. Thanks for your help. Joe
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.