Jump to content

Doon

Members
  • Content Count

    43
  • Joined

  • Last visited

    Never

Community Reputation

0

About Doon

  • Rank
    More Active
  1. QUOTE (tmunsell @ Oct 22 2008, 08:37 PM) I think this is an issue of input formatting... as Minh Pham has indicated above, context help is your friend. I will never stop using it -- especially when building graphs. QUOTE (tmunsell @ Oct 22 2008, 08:37 PM) As for inputting the data, I don't have to use a spreadsheet. The limits are fixed data that just needs to be displayed so that I can see if the live data is falling within the min and max lines. I strongly urge you to leave Excel. I have had all kinds of heartache with maintenance of ActiveX controls for MS Office. However, to ensure expandability, it would be best to store limit data external to your application. This becomes especially important if you deliver executables. I suggest a basic format such as CSV. QUOTE (Minh Pham @ Oct 22 2008, 10:41 PM) You cant have it outside the loop as it will only update the data when the loop stoped. Ditto that. . . Unless you start messing with VI Server , you will need your graph/chart indicator in your loop. For your reference I built a simple app that plots limits in an XY Graph: http://lavag.org/old_files/post-3343-1224742877.vi'>Download File:post-3343-1224742877.vi
  2. Hi Todd, As Minh Pham said, you simply need to bundle your "limit" data along with your "live" data. I would suggest something along the lines of iteratively updating a predefined 2D array (two columns with your 'limits' with a third column for your 'live' data). This assumes your graphs will have a consistent number of data points. One question for your consideration: Do you plan to load the limits from the Excel sheet and/or subsequently export the data for printing in Excel? I ask because your topic implies a desire to do so, in which case, this issue is not as open-and-shut. Have a nice day, -H
  3. QUOTE (alukindo @ Jul 30 2008, 10:00 PM) Anthony, You should be able to adjust your print options. PDF uses JPEG compression for embedded images. Specifically, Adobe Distiller (I assume you are printing to "Adobe PDF") uses "Medium" compression for its "standard" print option. You have a host of options available in the print properties dialog. I trust that you can find a solution that will provide a nice compromise between image quality and file size. have a nice day, -H
  4. Hi Sylvain, It sounds like you need to setup your x-axis as a time stamp. In the graph's properties, under "Format and Precision", set the x-axis to "Absolute Time". Then select Advanced editing mode option and set the Format string to %<%H>T. This should make the sequence as you want it. Then you have to adjust your x-values into the correct time-stamp sequence. You have to offset the array by 7 hours and multiply by 3600 (this is due to storage of time in seconds from 17:00T1903-12-31). This would produce an x-axis that will wrap around in 24-hour intervals. The only problem with this is that you must change the format of your incoming x-data into a linear sequence (...,21,22,23,24,25,...). As everyone has stated above, the XY graph is plotting in the data as it is given in the sequence it is given. An alternative solution may be to use a waveform graph and adjust the x-axis offset to align with your data (again, using absolute time-stamp for the x-axis). have a nice day, --H
  5. QUOTE (Tim_S @ Jun 20 2008, 11:24 AM) My primary impetus for using DataGridView was to create multi-typed tables. However, if I didn't need to use it, I would not have. My biggest problem with .NET in LabVIEW is the shear number of property and method nodes needed to get anything done (not unlike LV trees). Unfortunately, I have nothing I can release at this time, sorry. Check back in about a month. -H
  6. QUOTE (Altomare @ Jun 19 2008, 09:11 AM) Altomare, I have always found the http://forums.msdn.microsoft.com/' rel='nofollow' target="_blank">MS Developer Network Forum to be quite helpful when hacking at the .NET framework. Also, a good book on the .NET framework is invaluable (and expensive). However, virtually all of the resources out there are in either VB or C#. I suggest that unless you need to incorporate .NET in LabVIEW (for example, to use the DataGridView control ), you are probably going to save a lot of time and heartache simply mimicking the window features as discussed above. One option is to take screen caps of windows and cut-and-paste components into front panel elements. This would give you a "professional" look without the headaches. I hope that helps, --H
  7. Doon

    LV vs others

    Hiya, I read an article on Ars Technica which discusses (on the second page) different programmer archetypes. The context of the article is the evolutionary development of the Windows environment and the implementation of the .Net framework. The section, entitled "A Developer Taxonomy," gives an eagle's perspective on programmers' motivations and lends insight into both the resentment expressed by "traditional" programmers and the sometimes parochial views I have witnessed of some LabVIEW programmers. FWIW, I am glad that there is such a wide variety of programmers out there -- one to fit every need. Not everyone needs to be a hardboiled programmer in order to produce working code. have a nice day, -H
  8. Doon

    cluster

    QUOTE (reem @ Apr 17 2008, 08:26 AM) My mantra is "try it and see; if it doesn't work, Ctrl-Z" Sampling rate, Port Number, and Gain all seem like standard controls that could be included in a cluster. I suspect you may be on the wrong path about what controls are. Maybe a little clarification (or a picture) would help. 8D
  9. QUOTE (orko @ Apr 16 2008, 08:18 AM) Even More reason for me to push (read: beg) for an upgrade. Thanks.
  10. QUOTE (tcplomp @ Apr 15 2008, 10:47 PM) Maybe I'm doing this wrong, but when I switch between conditionals, I right-click the project in the "Project Explorer" window and select "Properties..." In the "Conditional Disable Symbols" section, the only options I see are "Add" and "Remove Selected Items". So far, my only solution is to first remove my symbol, then re-Add it with a new value. Is there a cleaner way to change Symbols in a project? That would surely make my day. Cheers, -H
  11. According to NI's Knowledgebase, you should try to re-install NI-VISA. Funny, though, When I run the error (General Error Handler.vi), I get back the following: VISA: (Hex 0xBFFF009E) A code library required by VISA could not be located or loaded. Getting an "Undefined" error code can be a pretty good indication that certain component (in this case, NI-VISA) drivers are not installed.
  12. QUOTE (orko @ Apr 15 2008, 11:57 AM) Ditto, One case in point, I have two target test stands for automated testing as part of product delivery. One has additional functionality (mine) and the other has non-disimilar equipment performing the same task (theirs). In the mid-level equipment code, I have added Conditional Disables to handle the differences between the two test stands. Countless times, I went to deliver new code, only to realize that I forgot to change the Conditional Symbol. Having the Build Spec's handle this would certainly make multi-targetting much more streamlined. Unfortunately, I still follow the practice of Remove Symbol, Add Symbol.
  13. QUOTE (mross @ Apr 7 2008, 01:24 PM) I see two problems with local variables 1) You cannot use "push-button" interface with locals. That would mean that one would have to use "switch-buttons" to stop the loop and another local variable to unset the switch so that it looks like a push-button. 2) You end up with a "polling interface" type structure which suffers from potential race conditions. You run the risk of one loop quiting and precluding the quiting of another. QUOTE (mross @ Apr 7 2008, 01:24 PM) Also, NI says don't use multpile event structures, so I don't. Event Structures behave as "invisible queues". This is the result of NI's implementation of the Event Structure. This means that *sequential* event structures are dangerous (e.g., try sequencing two event loops that handle the same controls). I have always surmised that this was a "lesser of two evils" design decision on NI's part, given the intrinsic parallel capabilities of LabVIEW. have a nice day, 8D
  14. Hiya, I have always used a "parallel" event structure to handle stopping parallel loops. In each loop, simply add an event structure with the "Stop":Value Change event. Connect "NewVal" parameter out of the Event Data Node to the stop button of the containing While Loop, and a-la-peanutbutter-and-jelly-sandwiches, you have parallel stopping loops. Download File:post-3343-1207596547.vi __ALTERNATIVELY__ If you need one loop to stop another, you may register a dynamic event. But that may be a bit complex for the purposes you need. have a nice day, -H
  15. QUOTE (brianafischer @ Apr 4 2008, 09:22 AM) Hiya, To get you started, here is a "standard" 360-counter device. http://lavag.org/old_files/post-3343-1207331297.vi'>Download File:post-3343-1207331297.vi It basically counts up and down as the user rotates the knob (the knob having a range from 0 to 360 -- you should be able to adjust this to any resolution). I leave it to your devices for figuring out how to get it to stop (Hint: One option would be to implement this in an X-Control). have a nice day, --H
×
×
  • Create New...

Important Information

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