Tiara by LV data tracing

Is it possible to plot the data in the DIAdem by specifying the x and there axes LV values when running? I'm looking for a solution something like:

1 load data in Diadem (give the command of LV).

2. load the page layout in tiara (give the command of LV).

3. specify the channels to draw LV

4 plot data

5 stop

Thank you

Yoann

Hi Chris,

Please can take you a look at this piece of example code, I think that's what you have requested.

You need to implement custom a table to insert the different channels. You also need to know the name of your axis system in tiara, you can find it by placing the cursor on the axis system in DIAdem report view and search in the status bar at the bottom left of the application window.

Concerning
JamesC
NIUK and Ireland

It only takes a second to rate an answer

Tags: NI Software

Similar Questions

  • Gauge serial data, tracing and logging

    Is anyone able to point me to an example of project to read 3 data values in a series flow and spread them out on a gauge and a graphic.

    Logging would be nice as well, but gauge and chart are more important.

    My data is reflected in the format below, but I have complete control over it.

    R: 0, P:-210.15, F:173.191
    R: 0, P:-210.65, F:173.191
    R: 0, P:-210.78, F:173.191
    R: 0, P:-210.67, F:173.191

    Have basically left me short way no time for that one, and try to understand the example files to put me in a spin.

    May be interested to pay for the assistance of an expert, if it's not trivial.

    Any help gratefully received!

    Duncan

    Read data one line at a time and use Scan string to break up into 3 values.

  • Construction in real time of the table and the data tracing

    Hello

    I have a project in which I am waiting for a message from the chain coming to my serial port that contains two parameters of a voltage sensor compared to the position

    I will then draw two parameters for a XY chart as they arrived at my port to build a chart that is continuously updated with all the points came to the COM port (all from the position of the reading pressure readings).

    I know that to draw the two parameters against each other that I must use the XY-graph and for this, I have to insert my data in the tables first and then give them to the chart.

    The problem is that the message of the series is not at fixed intervals (for example a message now comes, the other may be after 1 minute, then another after one half minute.. .and so on). and the chart should be updated with the points once they arrive (in addition to displaying the previous points too of course).

    I don't know where to start! can someone put me on a track for it?

    Note: I have no problem with the interpretation of the data series, at the end I will have two numeric values which I'll then draw against each other

    Thank you

    One thing that I had not noticed before on your VI is that you use the wrong function when generating data in your table.  You should use table to build.  No insertion in the table which is more intended for stuff that goes in the middle of a table.  And the way you use it, you insert in fact data at the beginning and not at the end.

    I don't know what you have tried and why you think that the circular buffer is not what you want to do.

    Take a look for a function called data queue Pt by Pt that effectively does what you want.

    I will attach a Subvi I used.   I changed it to something that I found.  I think I found somewhere in LabVIEW itself, or an example, maybe the forums, but I can't find the original source.  And I don't see in the comments of the VI. (If anyone knows, please comment.)

  • Data tracing < double > AnalogWaveformCollection on the WaveformGraph in Windows Form

    Hello world

    I have the list of values of type AnalogWaveformCollection and I would like to draw them on a graph. According to sources from the Web site, I used the following to do method inorder, but I get an error that says: Type arguments can be inferred from the use. Try to specify them explicitly.

    Here is the code:

    Sub StartAcquisition()
    {
               
    PrecisionTimeSpan timeout = new PrecisionTimeSpan (5.0);
                AnalogWaveformCollection wave = null;
    Try
    {
    InitializeSession();
    scopeSession.Measurement.AutoSetup ();

    recordLength long = scopeSession.Acquisition.RecordLength;
    Double sampleRate = scopeSession.Acquisition.SampleRate;

    waveforms = scopeSession.Channels [ChannelName]. Measurement.Read (timeout, recordLength, waveforms);

    waveformGraph1.PlotWaveforms (waveforms);  error
    }

    Can someone please help?

    Kind regards

    Priyanka


  • How to import Date into the text data file TDR box?

    I have a report template that I use frequently for data tracing files. At the top of the TOR, I have a main title text box that says "Daily Operation" usually followed by the date (entered manually) of this file.

    Q: How do I import/reference the value of the date of the file (photo #1 - black outline) in the text box (photo #2) I use to Date? I appreciate all help.

    Hi man of laboratory.

    Looks like you will need to use the RTT (-real time), which transforms the tiara time real number (fractions of a second from 0 AD) in a date/time string.  There is also a TTR function that goes the other way.

    @@RTT (ChD (1, "[1] / Date"), "" mm/dd/yyyy # hh:nn:ss.fff "') @.

    Brad Turpin

    Tiara Product Support Engineer

    National Instruments

  • Tiara of exit without displaying message to save c#

    Hello

    So I wrote a c# program that uses the tiara to extract data from a file.  It works great with help I asked a few days ago, but I'm looking for a change to make the program even easier use.

    I use TOCommand oDIAdem = new TOCommand (); to control the tiara in my c# program that works very well, but I hope that there is a way to remove the output dialog box that appears when the program ends.  I've attached a screenshot of the output dialog box that appears.  It is not a huge problem, but I would like to make the simplest possible program for the person using it.  Any help is greatly appreciated.

    Thank you!

    oDIAdem.CmdExecuteSync ("datadelall (1)")

    should be an easy fix. It erases just the portal.

  • Difficulty to use indexing to divide the data into five sets of data

    Hello

    I'm using labview to program a mass spectrometer.  I want to conduct surveillance of the multiple ion where I watch the level of five different masses over time.  The five different masses correspond to five of the tensions that are sent via the DAC to my instrument.  After sending each voltage, a voltage was then read AIN.  The help of indexation and a for loop, I can send fill this function.

    My problem is to be able to plot these data.  I need a field of tension AIN (y) and the time (x) for five tension (mass) and plots to display on a single diagram.  I don't know how to correlate data from indexing to separate into five different mass and then repeat the experience by adding data to each mass using all loop.  When I tried I just get data tracing as a straight line as a set of data when I need five sets of data.

    I enclose my vi.  Any help would be great.

    Your VI base design is incorrect:

    • There is no reason for you to have 2 while loops. One is suffient.
    • You should not open the interface in each iteration of the loop. Open outside, do your work and then close when you are finished loop.

    Regarding the map, get rid of the inner loop and eliminate this Build table you have outside the loop for. In order to have a graphic draw several lines, you have need of a 2D array. Because you use a loop for to acquire a reading at the same time, you'll need create a 2D out of the loop for. To do this, put a table to build inside the loop, then a function of 2D matrix transposes outdoors. See the attached example.

  • Generation of weather in TDMS for measures of multi channels channel

    Hello world

    I have to write an application with five measures will at the same time... then it must be saved in TDMS each channel being its own channel of time just after she... IE sequence of the canal as below

    Channel group

    Measurement1

    (EDT) 1

    GCA2

    TIME2

    Measurement3

    Time3

    Measurement4

    Years.4

    Approvisionnement5

    Neuve5

    Each time channel should have "dt" for its number of measure...

    So far, I m succesfull in the measuring channel recording only all the... But I have no idea how design for each measurement time line...

    I tried to get the time I receive the data using functions as below

    GetSystemDate (month & day, &year);)
    GetSystemTime (& hours, minutes & seconds);
    sprintf (timeStr, ' %d/%d/%d % 02d: % 02d: % 02d ", day, month, year)
    hours, minutes, seconds);

    This will generate the channels of chain of time... but my requirement is of data type ' Date/Time' used on larger scale of the axis in tiara...

    Any help

    Thank you

    HS

    HS,

    There are two ways to store calendar for a channel information in a PDM file.

    You can only use the first method if timing information is regular (spaced), which means that it can be described with the only values t0 and dt.  This method translates a single channel in tiara which contains data values and stores the calendar as properties on the channel information.  Note that in this case DIAdem will treat time as relative values with no basis of absolute time values. The properties you must set on the channel are:

    (1) wf_start_offset (mandatory), the type is TDMS_Double, contains the time value t0 of the first data point of some units that you use and can just be 0 if your t0 value has no meaning other than as a reference for all other values of time in this channel point

    (2) wf_increment (required), type is TDMS_Double, contains the dt in whatever units you use

    (3) wf_samples (mandatory), the type is TDMS_Int32, contains the number of samples in the waveform

    (4) wf_xname (Optional), type is TDMS_String, contains the name associated with the x-axis of time and will be used by the tiara to label the x-axis in tracing this waveform

    (5) wf_xunit_string (optional), type is TDMS_String, contains a string that describes the x-axis of time units and will be used by the tiara to label the x-axis when tracing of this waveform

    You can set the properties above using the TDMS_SetChannelProperty function.

    You can use the second method for regular or irregular (not also spaced) timing information.  This method translates a channel with your data values and a separate second channel which contains the absolute timestamp values. From your original post, more like what you want.  In addition to your data channel, you must create a channel of timestamp.  Call TDMS_AddChannel with a data type of TDMS_Timestamp to create your channel of timestamp.  Call TDMS_AppendDataValues with the values of type CVIAbsoluteTime to write the Timestamp values in this channel.  You can create individual type timestamp values CVIAbsoluteTime by calling the functions of absolute time in the ICB Utility Library, such as GetCurrentCVIAbsoluteTime and CVIAbsoluteTimeFromLocalCalendar.

    I hope this helps.

    -Jeff

    NEITHER

  • Collage error: runtime error. Error: access violation, address of the error: 0000 P 280, the Module name: GFSData.DLL

    Hello to all on the forum,

    I am running DIAdem 2015 (15.0.0f6005) on a Windows 7 Pro SP1 i3 4 GB RAM machine.

    I want to evaluate a test. Data are expressed as 25 .txt files. I need to plot, one of the values on the whole test time. I tried to combine the data from all 25 in one file .tdm .txt files. I came far enough until I met my problem. After gathering around 15 .txt files in a .tdm, tiara doesn't let me continue. It gives this error message (in German, I'll translate as good as possible):

    "When executing command 'DataBlClpPaste('1-52',1859122,0)' a rumtime error has occurred.

    Error: ACCESS VIOLATION

    Address of the error: 0000 P 280

    "Name of the module: FGSData.DLL.

    I will describe my procedure in which this happened:

    -Open the .txt with plugin I had created the first import

    -Ribbon with two windows view channel: have the target in a secondary window group, drag the newly imported from .txt in the other channels

    -In the secondary window with new data, select the lines I want to add to the data target group by clicking on the first line, then scroll to the last row and shift-select that. CTRL + c to copy the data

    -In the target group, click the first empty line, and then ctrl + v to paste data here

    After the last step, instead of pasting the new data in the target dataset, the above message error. I can't do anything, but click on 'ok '. After ok, the program window will not respond to any click except for switching between Navigator / View / analysis /... I have to close DIAdem, where I can always select "close and save", that works too.

    I could go a few times after reopening DIAdem, but finally, which stopped working. It now gives me the error message whenever I try to do this routine. The .tdm file is 21Mo now, the .tdx is 1.1 GB.

    I appreciate any help on this, I really would prefer combining data using DIAdem on trying to copy and paste around 1 GB of data .txt into one giant .txt file. It takes very long to not even open a .txt of 50 MB file, I fear this would be a messy process.

    Best regards

    Simon

    If you are using DIAdem 2015, there is a new entry in context menu where you can select Add.

    Maybe it helps.

    The help of DIAdem 2015:

    Adding data


    Adding data to merge similar series ratings data in order to deal with them. In the process, DIAdem adds the data to load for existing channels with the same name in the data portal instead of storing data in new channels. Perform the following steps to add the external data area data channels in the data portal:

    1. Open the NAVIGATOR tiara.


    2. Select remove internal data to delete the data in the data portal.


    3. Find the Demo1.tdm file in the file browser.


    4. Drag and drop the file in the data portal.


    5. Select the Demo2.tdm file in the file browser.


    6. Open the context menu of the file and select Add data.


    Tiara adds the data in channels that have the same name in the data portal. In the properties of the Data Portal window, you can see that the number of values in the channels has doubled.

  • orthonormal ladder

    Hello

    I have a problem with the data tracing with Labview. I traced Nyquist diagrams, but I wasn't very happy with the nyquist on labVIEW vi. Therefore, I was wondering how to draw two axes in scale orthonormal (as shown in the photo). It is not something that labview done automatically, and it's pretty boring, and so I was wondering if one of you maybe a suggestion for this.

    Let me know

    Kentmey


  • Prevention and management of concurrent access to the same port VISA

    Hello

    I currently have a VI with three parallel loop: a loop for the UI with a structure of the event; a loop for the collection of data; and a loop for data tracing.

    The loop of data written to the serial port to put the camera to send a probe reading update. The device sends the sensor updated playback and loop bed devices response data collection.

    I have a situation where the user interface loop must also 1. write to the same device (via the same port), 2. read the answer, then 3. write using the response data and user input. My problem is that the user interface loop is reading the response of devices in the loop of data collection rather than the response to the user interface loop.

    So the problem looks like:

    loop data collection: how hot is?

    device: 30 degrees Celsius

    loop data collection: how hot is?

    device: 30 degrees Celsius

    loop data collection: how hot is?

    loop UI: what color is the sky?

    device: 30 degrees Celsius

    user interface loop: Ok! the color of the sky is 30 degrees Celsius.

    device: Blue

    I'm tempted to look for a solution where the user interface loop interrupts somehow the other two loops while it is writing and reading on VISA port, but I doubt that it is the appropriate solution. My code is big enough, but I can try to view if necessary. I remember seeing messages from people with similar problems, but it seems impossible to find today. Thanks in advance for the help!

    Famous engine Action Nugget of Ben is always a good read. http://forums.NI.com/T5/LabVIEW/Community-Nugget-4-08-2007-action-engines/m-p/503801

    Now that you've been through that we will develop a specific EI style that I call a Module on resources.  A RM exposes only the functions required by a given application to using an external resource while protecting sections of code of "criticism".  In your example even if the VISA operations block several appellants to write simultaineously, you did not protect the operation "Request" critical so readings were responses to the caller of evil.  The 'query' is essential and must block access to other operations until the query is complete.

    Look at this "Very basic" RM implementation that does not protect the critical query operation:

  • Store tabular data in file TDM tiara.

    Hello

    Is it possible to store tables in CT files?

    After processing the data, my results are a list of values that is in table form. And normally save us only the TOC file (and not the file TDR), in this case if I want to save the table, that I have prepared what method could be used?

    I hope that the issue is clearly else let me know.

    Thanks in advance.

    Kind regards

    fazshah.

    Hi fazshah,

    Once you calculate the scalar measure to display your table list in the text field, first save this metric as a property attached to the root, or a group or a channel in the data portal:

    Data.Root.Properties.Add 'PropName', varValeurProp
    '----------------- or -------------------------
    Set Group = Data.Root.ChannelGroups ("GroupName")
    Group.Properties.Add 'PropName', varValeurProp
    '----------------- or -------------------------
    Adjust the strings = Group.Channels ("ChannelName")
    Channel.Properties.Add 'PropName', varValeurProp

    You can add the formula to the list of text field that displays this property you just write:

    PropName = @Data.Root.Properties ("PropName"). Value @.
    PropName = @Data.Root.ChannelGroups ("GroupName"). Properties ("propName"). Value @.
    PropName = @Data.Root.ChannelGroups ("GroupName"). Channels ("ChannelName"). Properties ("propName"). Value @.

    You can also reference groups and channels by digital instead of the name index, if you prefer.

    Brad Turpin

    Tiara Product Support Engineer

    National Instruments

  • How to open files (.dat) famos on tiara?

    In my request here I m using a data logger Kvaser Memorator professional for logging tool can signals using the Kvaser Memorator Professional Setup Tool software. By extracting the files saved in the eqquipent map, I have the following options for extensions:

    -Some signals to CSV

    -Signals selected as Matlab for ATI Vision

    -Certain signals to the MDF format for vector CANAnalyzer

    -Vector ASCII (.asc)

    -PEUT images in CSV format

    -PEUT pictures to plain text

    -Famos (.dat)

    -Vector MDF (.log)

    -Vector J1587 ASCII (.asc)

    -Kvaser binary format (KME 2.4) - used for vector cananalyzer

    -Kvaser binary format (KME 2.5)

    -Kvaser binary format (KME 4.0)

    What I want to do is open the file in one of these extensions above using the 2011 tiara. Who is the extension recommended for my application? Is there a plugin that I need to install on my computer? If son, which plugin and where to install it?

    Thank you very much!

    Hello

    Our suggestion is to use the MDF (*.mdf, *.dat) file format. You will need to install the following use: Use MDF.

    You will find a brief description on how to install this use here.

    Please let me know if this does not work for you.

  • Tiara taking much time to load the TDMS 700 MB to the data portal

    I'm trying to load a file of 700 MB TDMS in DIAdem, sampling frequency of 4 channels 10 Hz for 4 days. When I drag the file in the data portal, tiara freezes, its on a 2GB machine, a file that is located on the desktop, not running other programs and it is went 50 minutes without being able to load before I did leave. seems to work fine, although on smaller files. I was wondering if this sounds normal and if anyone knows a way around him.

    Yin

    Hi Yin,

    You can defragment the TDMS file loading in DIAdem programtically:

    TDMSFileName Sun: TDMSFileName = "C:\Dokumente und Einstellungen\GrRomaiS\Eigene Dateien\LabVIEW Data\ttt.tdms.
    Call DataFileLoad ("" & TDMSFileName & "","TDMS","" ")

    Please note that in this case, you will need to replace at least"<" and="" "&"="" in="" your="" filename="" (not="" contained="" in="" example="" code="">

    In addition, we have incorporated a fix in DIAdem 2010 SP1 that will speed up loading files TDMS (for example containing explicit time strings). We hope to see DIAdem SP1 this year...

  • See the tiara reduced data in VIEW?

    Hello

    I installed the evaluation version 15.0 tiara

    Then I found my data on a SQL Server and load in data manager (Datenportal): (see photo)

    Now, I want to view my data in the VIEW tab and have a problem:

    This table includes data for several PP (PP means place of tests and has values whole 1.16).

    Question: can I display data in the VIEW tab only when e.g. PP = 3?

    I tried to write a script, but it's too slow (there is 6892777 lines in this table).

    Adding the line directly to the DISPLAY is fast, so it is also possible to add lines where PP = 3?

    Thanks in advance

    BR

    EWiebe

    Try with CHDX works!

    And performace is OK (i.e. about 1 minute for 7000000 entries).

    I think it's my solution

    Option Explicit ' Erzwingt die explizite Declaration go variables in one Script.

    Dim i, j, dt, x, length, R1, curr_dt, curr_pp, ch_len, last_percent
    Dim intChannelNo_PP, intChannelNo_DT_ORIG, intChannelNo_VAL_ORIG, intChannelNo_DT_NEW, intChannelNo_VAL_NEW

    ch_len = ChnLength("SCHALTER_DAUER_STD/DT")

    Call ChnAlloc ("DT_PPX", ch_len, 1, DataTypeFloat64) ' allocate channel intLoop
    Call ChnAlloc ("WID2_MAX_PPX", ch_len, 1, DataTypeFloat64) ' allocate channel intLoop

    ONC = intChannelNo_PP ("' / PP '") ' calculate the channel number
    ONC = intChannelNo_DT_ORIG ("' / DT '") ' calculate the channel number
    ONC = intChannelNo_VAL_ORIG ("' / WID2_MAX" ") ' calculate the channel number
    ONC = intChannelNo_DT_NEW ("' / DT_PPX" ") ' calculate the channel number
    ONC = intChannelNo_VAL_NEW ("' / WID2_MAX_PPX" ") ' calculate the channel number

    On Error Resume Next

    j = 1
    % = 0
    last_percent = 0
    Length = ChnLength("SCHALTER_DAUER_STD/pp")
    For i = 1 to length ' ChnLength("SCHALTER_DAUER_STD/PP")
    curr_pp = ChDX (i, intChannelNo_PP)
    If curr_pp = 5 then
    ' get the date
    DT = ChDX (i, intChannelNo_DT_ORIG)
    ChDX (j, intChannelNo_DT_NEW) = dt
     
    «get a number»
    x = ChDX (i, intChannelNo_VAL_ORIG)
    CHDX (j, intChannelNo_VAL_NEW) = x channel ' Fill with data
    j = j + 1
    end if
     
    % = (I * 100\length)
    If % <> last_percent then
    last_percent = %
    Call WndShow ("SHELL")
    Call LoopInc (percent)
    Call SqlStatusDlg ("copy... "& CStr(i*100\length) &"%")"
    end if
     
    i = i + 1
    Next

    ChnLength (intChannelNo_DT_NEW) = j-1
    ChnLength (intChannelNo_VAL_NEW) = j-1

    Call ChnPropSet ((intChannelNo_DT_NEW), 'length', j) ' set the length of the canal
    Call ChnPropSet ((intChannelNo_VAL_NEW), 'length', j) ' set the length of the canal

    Call ChnCharacter (intChannelNo_DT_NEW) ' update the characteristic values
    Call ChnCharacter (intChannelNo_VAL_NEW) ' update the characteristic values

    Call SqlStatusDlg ("Fertig")
    Call MsgBoxCancel

    Void SqlStatusDlg (Msg)
    Call MsgBoxSetPos (40, 45, 15, 5)
    Call MsgBoxDisp (Msg, "MB_NOBUTTON", "MsgTypeNote", 0, 0, 1)
    End Sub ' SqlStatusDlg()

Maybe you are looking for