Jump to content

bigjoepops

Members
  • Posts

    21
  • Joined

  • Last visited

Posts posted by bigjoepops

  1. 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.

  2. 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

  3. 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.

  4. 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

  5. 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.

    • Like 1
  6. 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???

  7. 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

  8. 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

    post-41745-0-65230000-1405525531_thumb.j

  9. 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.

  10. 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.

  11. 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

    post-41745-0-29380400-1404254943_thumb.j

    post-41745-0-20619800-1404254944_thumb.j

  12. For SVN - using the TSVN Toolkit (from Viewpoint USA - see VIPM) helps alleviate this issue (as well as file renames). It makes the changes both in Project Explorer and SVN using the "Rename" command. THis basically performs the SVN rename (even if you just moved the file) and performs all the caller linking as well, just like normal rename / move on disk functions. The main downside is that you have to perform it one file at a time rather than bulk as you can with move on disk. We moved to SVN (away from both TFS and Perforce) because of this toolkit  - and this is one of the key reasons.

     

    There is no such convenience for Perforce or TFS. Without the TSVN Toolkit this would be the same similar issue with SVN as well.

     

    As far as source control goes - I still think that storing relative paths in all project and library-type xml files is the best best (where projects are still absolute paths). At least then a convention of "folder -> project file -> sub folders with all the project content" would make re-linking easier if you wanting to move things around outside of LabVIEW.

    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

  13. I've also combined the two approaches - it's cumbersome but gets everything right. Move the files in the LabVIEW project. Close the project and save everything. Manually, on disk, move the files back to their original locations, then use the source control system to do the move.

     

    Maybe Mercurial is smarter than Perforce about file moves, or I missed something in Perforce, because I haven't found a way to have it do the right thing with moved files.

    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.

  14. 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

     

     

     

  15. 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.