Jump to content

LAVA 1.0 Content

Members
  • Posts

    2,739
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by LAVA 1.0 Content

  1. I have an interactive program with a graphical user interface in which data is filtered using a filter. There is a button on the user interface that would allow user to modify the filter properties. Pressing this button would pop up a configuration window, where the user can configure the filter properties. I use the same filter as part of my non-interactive programs. To allow fast configuration I have created an express vi from my filter. The configuration happens easily using the express vi configuration utility which I have written.

    The problem is that I need to code the same or similar user interface for the filter configuration separately for the express vi and for the interactive program. It would be reasonable to use same code for the configuration of both of these instances. And this is not a individual case, but instead I have a huge need for not needing to duplicate my user interfaces both in express vi's and in interactive programs.

    What suggestion do you folks have to get this thing done? I'm using LV 8.0 so all the Labview features are available.

  2. Thanks Mr. Massey,

    Now I want 2 know from where u ve get the Excel Tollkit, hav u purchased it or download it from anwhere? i don have any kind of excel toolkit, so i am bit confused, wat to do????????

    Thanks,

    Nishant

    Mr. Neville,

    Thnks for the complement but i ve download it and try to run it butttttttttttttttt any of the vis are not excecutable bcoz of one or other reason, so can u help me other ways, that i can do it. thanks for the complement again.

    Thanks,

    Nishant

  3. Dear All,

    While writing the data into the xls file through .lvm method I want the Heading for each channel to be include on each of the column, but i dont know how to do this?:headbang: is this possible in the LabVIEW from any of the file writing method? if yes how can i do that? please help me......... :question:

    Thanks,

    Nishant Desai

    Thanks Mr. Massey,

    Now I want 2 know from where u ve get the Excel Tollkit, hav u purchased it or download it from anwhere? i don have any kind of excel toolkit, so i am bit confused, wat to do????????

    Thanks,

    Nishant

  4. Hi everyone,

    I have written a vi that saves a waveform to a dat file using the 'Write Waveforms to File' function, I have also successfully written a vi that reads this file back, converts it into a 2D array and displays it on a XY graph.

    I can save (export) this dat file to a xls format, however the date format is wrong. It uses the seconds since 1904, want I want to use is the traditional dd/mm/yy hh:mm:ss format.

    Can anyone help me with this??

    Thanks,

    Cooky.

    Hii Cookie,

    While saving the data into the excel file you arer getting the wrong date format mean you are writng it from the graph, bcoz the problem of 1904 is also in the real time graphs when we are displaying the data into it, of that problem what you can do is I ve written all the proc below and i also ve attached the sample vi.

    By default, waveform charts and graphs display the absolute time at time 0 as 7:00:00 PM, 12/31/1903 on a Windows based system. Property nodes can be used to get the correct absolute time to display on the x-axis of the waveform chart.

    First, right click the chart on the front panel and select X Scale >> Formatting. Then set the format to Absolute Time.

    Create a property node for the waveform chart by right-clicking on the chart on the block diagram and selecting Create >> Property Node. Expand the property node to display two properties. Select the Format property and the Offset property. The Format property is located under X-Scale >> Format and Precision >> Format, and the Offset property can be found under X-Scale >> Offset and Multiplier >> Offset. Right click on the property node and select Change All to Write.

    For the Format property, the context help shows that there are multiple inputs to this property. Wire in a value of 7 to set the format to Time and Date.For the Offset property, first wire the output of the Get Data/Time in Seconds VI to the input of the To Double Precision Float VI. Then wire the output of the To Double Precision Float VI to the Offset property.

    In addition, if you know the number of data points plotted to the chart per second, you can set the Multiplier property located under X-Scale >> Offset and Multiplier >> Multiplier. If there are x data points generated per second, wire in a value of 1/x to the Multiplier property. A simple example program "Chart with Timestamp" that demonstrates how to do that is attached

    If you are not facing the problem of such kind then what you can do is using get date/time in seconds and after that you can add the format Date/time string.

    Download File:post-3625-1134103439.vi

    Thanks & Regards,

    Nishant Desai

  5. Dear Friends,

    As I am reading :book: the data from Excel file, i want to plot it in the graph as historical data and the thing i want that the data is shown as they are written in the graph with the time stamp, i am giving the time stamp as the comment when writing throgh the .lvm file procedure but just selecting the .xls file instead of .lvm file, and i dont think that the file type makes the difference, is it??????? if it please also let me know.

    Here with this I am attaching a file in which i ve shown that how i am writing the file......thanks.Download File:post-3625-1133929661.zip

  6. I think You stuck up while overwriting file options, generally, the overwrite mean that, it wil overwrite the current existing file, but it wont do so, it will create a new file in the overwrite mode and checks if the name of new file is existing???? if yes it ll overwrite that file name else if Append mean while it wont create the new file but Append the data into existing file.

  7. Here are some examples of the questions I have:

    1. It seems that the fastest way to send data from the FPGA to the RT target is to use a single IRQ on the FPGA, and then to post data word by word in a synchronous indicator. A synchronous indicator only updates once it has been read by the RT target. This technique is undocumented by NI, but one of their FPGA people showed it to me. I have found this to yield the highest transfer rates. It would be nice to understand why this is faster than sending the data in an array.

    For LabVIEW to read an array from the FPGA VI front panel it needs to read every array element individually across the 32-bit PCI bus. In addition it needs to perform a few cycles of overhead operations before being able to retrieve the data so it will take a bit longer to read an array than reading the same number of element individually from a synchronous display indicator.

    In LabVIEW 8 you should use DMA to transfer data from the FPGA to the host.

    3. When storing data temporarily, I use FIFOs. These can be created as flip-flops, look up table or block memory. I would like to know the trade off between speed and FPGA space when comparing flip-flops to block memory.
    The Flip-Flop setting uses FPGA real estate to store the data in the FIFO; block memory uses the additional user memory on the FPGA. In most application you should use block memory to reduce the amount of FPGA real estate required by your VI.
    4. What is the penalty incurred for creating a subvi within FPGA code, both is terms of time and space?

    In general there is no penalty for using a subVI. You do need to consider the difference between reentrant and non-reentrant. Reentrant will create multiple copies of the subVI on the FPGA, but they can run in parallel (faster, more space required). Non-reentrant only makes one copy of the VI that needs to be shared between multiple callers.

    5. How does saving data in a shift register compare with saving it in a fifo?
    I would only use a shift register for a very small number of elements as it will use up FPGA real estate. FIFOs can be used between different loops and different subVIs. (their main purpose)
    6. If I have a Boolean constant linked to 5 data sinks, should I separate this into five constants, thinking it will require less signal routing in the fpga, or link all sinks to the same constant?

    I have not tried this but I would think one constant should be fine.

    7. If I send a U8 source into a U32 sink, I get the grey dot indicating a data type mismatch and Labview changes the data to the correct type for me. Is it more efficient to let labview perform the conversion, or should I insert a conversion node myself.
    It should not make a difference.
    8. To what lengths should I go to avoid using case structures?

    Case structures are very efficient on the FPGA and should be used where appropriate.

  8. I wrote the original version a few years back before I truly understood the problems of the sequence structure. Now I do. The modified version you see in LV8.0 was just someone trying to clean up the readability without risking breaking something. I don't think any real functionality changes were made.

    Oh, and, no, I'm not certified. :-)

    -- Stephen Mercer

    -= LV R&D =-

  9. You can use your parallel port as a free little DIO card! You get eight bits of output and five bits of input.

    If you can determine which address your port is using, it is a simple matter to use the "In Port.vi" and "Out Port.vi" (except on WinNT) to read from and write to your parallel port. WARNING!!! Be careful not to short anything out, as this port is built in to your computer, and inadvertently touching the wrong pins together for just a millisecond can destroy your port! These pins, as output, can only drive a tiny amount of current, so you would need additional circuitry to drive relays. I recommend buying a parallel port card, which are only about $20, just to be safe.

    First, you need to determine the port's I/O address. In Win95, right-click on "My Computer", select Properties, then select the "Device Manager" tab. Click on the + sign next to Ports, the double-click on any "Printer Ports" you see. Clicking in the Resources tab of the window which comes up tells you the I/O range, in hexadecimal. For the more primitive Windows, try these addresses (all hexadecimal): 0x378, 0x278, then 0x3bc.

    Once you know the port's I/O address, "In Port.vi" reads eight bits, and "Out Port.vi" writes eight bits. Take advantage of LabVIEW's ability to display any numeric in hexadecimal format (under the "Format & Precision" menu) and show the radix on your numbers lest you forget. Show the address as hexadecimal, and the data as hex, octal, or binary, for easier interpretation.

    Here is the relationship of pins to bits on the 25-pin connector: Pins 2 through 9 correspond to output bits 0 (LSB) through 7 (MSB). Pins 15, 13, 12, 10, and 11 correspond to input bits 0 (LSB) through 4 (MSB). Pin 11 in inverted. Most connectors manufactured today have tiny pin numbers embedded in the plastic next to the pins.

    If you want to know more, there are plenty of parallel port FAQ's on the internet.

    During the power on self test (POST) some BIOSs scan ports to check to see if they're installed. On one machine I had the situation where the external hardware was setting the IO lines such that the BIOS was not seeing the port (hence LPT 1 was not installed and no printing was possible). If this happens, make sure that your external hardware is disconnected when you reboot the machine.

    Credit: Bruce Mihura, Nick Moulton

  10. There is a bug in LV7.0. If you make a control Blinking (set its Blinking property to TRUE), and then place the VI in a subpanel control, the blinking will not be seen except sporadically.

    I built one VI (Master.vi), which if you open and run, the blinking works fine. Then someone pointed out that it was silly to put the Insert VI method call inside the while loop. So I rewrote it (Master2.vi) and the blinking stopped working.

    It seems (my best guess) the subpanel only updates its draw state during a value change event or when a drawable property is changed. Since with blinking, no value is changed and the property is the same (Blinking == TRUE, regardless of whether the blink is currently on or off), no redraw event is going to the subVI. In Master2.vi, if you just click and hold down the increment button on the VI, the blinking will appear as the data change events fire.

    I have filed this bug with the right people here at NI.

    -- Stephen Mercer

    LabVIEW R&D

    Download File:post-16-1073112774.llb

  11. This was already submitted as a follow-up from NI tech support, I'm just sharing it with LAVA.

    LV 7 allows some menus to be abridged, i.e. unused items temporarily go away as in MS Office applications.

    NI tech support confirms that is not yet available in apps built with LV 7, so I submitted that feature request. It'd be great to have our applications abridge their own menus.

    Best, Mark

    blog-2-1126600923.jpg?width=400

    blog-2-1126600944.jpg?width=400

    blog-2-1126600964.jpg?width=400

    blog-2-1126600980.jpg?width=400

    blog-2-1126601083.jpg?width=400

    blog-2-1126601619.jpg?width=400

    blog-2-1126601641.jpg?width=400

    blog-2-1126601655.jpg?width=400

    blog-2-1126601902.jpg?width=400

    blog-2-1126602357.jpg?width=400

    blog-2-1126602563.jpg?width=400

    blog-2-1126602586.jpg?width=400

    blog-2-1126602861.jpg?width=400

    blog-2-1126603091.jpg?width=400

    blog-2-1126603110.jpg?width=400

    blog-2-1126603125.jpg?width=400

    blog-2-1126603324.jpg?width=400

    blog-2-1126603659.jpg?width=400

    blog-2-1126604080.jpg?width=400

    blog-2-1126604267.jpg?width=400

×
×
  • Create New...

Important Information

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