Generating a data channel in Diadem 6.0

I would like to generate a data channel to represent a x/y curve. e.g.:
x: 0.1/0.2/0.3/0.5/0.9
y: 1/3/10/11.5/15
How can i do this and how can i use these datas in different autosequences?
The next question is: how can i control with these datas an analog output?

Hi,
If the values you would like to generate are equidistant or can be build with a mathematical algorithm you can use a lot of different DIAdem functions like CHNGENVAL, CHNSPLINEXYCALC, CHNMAPLINCALC etc.. But in your case I can't see something like this, so you must set each value in the channel (see example below)
ChnAlloc('TestChannel', 5);
chd(1, 'TestChannel') := 0.3;
chd(2, 'TestChannel') := 1.2;
chd(3, 'TestChannel') := 2.8;
chd(4, 'TestChannel') := 3.3;
chd(5, 'TestChannel') := 3.7;
To use this in different Autosequences store it as a separate file and call it with the command AutoInclude.
With the Block DAC->Simulation inputs->Channels you can read any DIAdem channel and use it to set the output values.
I hope this will help you a little b
it.
Greetings
Walter

Similar Messages

  • [DIAdem] How can I trace a data range from a data channel?

    Hello,
    I am looking for a way to trace a range of data from a data channel using DIAdem script.
    Right now, I can only trace an entire data channel.
    Is it possible? I do not want to split a data channel in order to trace a part of it...
    Thank you.
    Regards

    Hello Tenanio,
    I believe this will answer your question:
    I am assuming in my code that you have a VIEW layout with a sheet called "Sheet 0" which has a 2D-graph in the top area (as can be seen from the screenshot below):
    Copy this Code into SCRIPT and run it, it should display the data the way you had described:
    View.Sheets(1).Cursor.Type = "Band"
    View.CoordinateWnd.Visible = TRUE
    View.ActiveSheet.Cursor.X1 = ChD(305,"Date_Mesure")
    View.ActiveSheet.Cursor.X2 = ChD(320,"Date_Mesure")
    View.Sheets("Sheet 0").Areas("Area : 1").DisplayObj.XScalingMode = "RangeScroll"
    call wndshow("View")
     Please let me know if this works for you and if you have any additional question.
           Otmar
    Otmar D. Foehner
    Business Development Manager
    DIAdem and Test Data Management
    National Instruments
    Austin, TX - USA
    "For an optimist the glass is half full, for a pessimist it's half empty, and for an engineer is twice bigger than necessary."

  • Date and Time channels in Diadem files

    I'm developing a tool to convert data files from or own format to Diadem data files format, producing a header (.dat) and a binary file (.r64).
    From my source data files, I have to convert a date channel and a time channel. Is there a way to store such channels in binary format (in the .r64 file) ?
    I got the GFS's pdf "Description of the Data formats and File set properties", but I didn't find any info about binary date or time channels.
    Thanks for help.

    Michel,
    The starting point is 01.01.0000 at 00:00:00. This time/date is the value '0'. The DIAdem time channels will be accurate until at least 12/31/2078, starting at 10/15/1582. This is due to changes made to the Gregorian calendar made back in 1582 concerning leap years.
    Today (04/18/2202) at 1:00:00 PM (13:00:00 military time) would be the value 6.31862676E+10. This number represents the number of seconds that have passed since 01.01.0000 at 00:00:00.
    DIAdem provides two functions to convert numbers into time data and time data into numerical data. They are TTR (time to real) and RTT (real to time). The DIAdem help system contains additional information on how to use these functions.
    Let me know if there is any additional information I ca
    n help you with.
    Otmar
    Otmar D. Foehner
    Business Development Manager
    DIAdem and Test Data Management
    National Instruments
    Austin, TX - USA
    "For an optimist the glass is half full, for a pessimist it's half empty, and for an engineer is twice bigger than necessary."

  • Channel Data filters in DIAdem

    Hi All,
    I am having NI DIAdem installed in my system.
    I am having data to be analysed in .csv format and the same data i am able to see in DIAdem.
    There are number of channels in this data.
    There are Channel filters in DIAdem at the top right corner on Data Portal which can filter one channel within the entire channels in the data.
    Suppose in one channel, i am having date & time (time stamp) when a particular data record was recorded having different channels in it..
    Now, this channel is having say 1000 records/data corresponding time stamps.
    My question is can i filter entire data as per the selection of time stamp for one channel/channels(s).
    I did not found any tool in DIAdem to do this.
    Can anyone tell me.
    Samriddh Sarbalhi

    Hi Samriddh,
    Let me try to clarify your request.  Let's stay with the example of data channels with 1000 values in them.  Will each channel have one date/time value associated with it or 1000?  Will all the channels in one data file have the same date/time value?  Do you want to concatenate together all the channels which have date/time values in the correct range?  If so, will some of those channels to concatenate come from different files?
    I think we can use the DataFinder to tackle these issues, as long as you don't have 1000 different date/time values in each channel.  In that case we'll need to use a channel calculator or calculation manager session to filter the specific rows you want from one or more channels.
    Brad Turpin
    DIAde Product Support Engineer
    National Instruments

  • How to set a specific time zone for time channel in DIADEM

    Hi,
    I'd like to know how to autmatically set a specific time zone for time channels in DIADEM.
    For example, I have stored data with corresponding time channel in UTC time on a disk which was collected in another time zone. Now I want to analyze this data and I want the time channel to show the local time in the time zone where the data was collected, and not the time in the local time zone where the computer is located.
    The time channel should also take site local summer/winter time into account. Now I'm running a script that handles it for me which adds or subtract hours according to my input. The problem is that I'm handling data from several different time zones and I'm not located in any of them and when you're running a lot of data over a greater time period, it's easy to make mistakes, especially when it comes to summer/winter time. Is there a any clever solution to this already implemented in Diadem that I have not found? 

    Hi hj77,
    No, I'm sorry, DIAdem has no time zone functionality at all.  I'm afraid you have no choice in DIAdem but to keep running your scripts.  Summer and Winter time are truly tricky, because the rules for when the changes occur are different in different countries and states within countries and also can change from year to year within the SAME country (as they did in the US a few years ago).
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • How to remove spikes from a data channel

    We wrote a module in DIAdem to look at each single point and used some logic to determine if it is a spike or not. If it is we replace it with the mean of neighbouring points.
    BUT this takes a long time for big data channels
    Is there a routine which does it faster/quicker

    Hi,
    A Formula using complete channels is much faster than a formula using a
    loop over all values. Of course it depends on the logic you are using.
    Here is an example for everything over 10 is a spike:
    Call FormulaCalc("Ch('A'):= Ch('A') + (Ch('A')>10)*Novalue")
    This Formula declares every value above 10 to Novalue. Using logical
    coparissons in channel calculations can be a very helpfull in many
    cases.
    Now you can use the math function for novalue handling to replace every novalue thru interpolation.

  • Plugin for binary data: channels with coefficient : y = a3*x^3 + a2*x^2 + a1*x +a0

    Hello,
    I am bulding a plugin for extracting data from a binary file.
    My problem is that the scaling of the values is not defiened by a linear equation (y = a1*x + a0 where conversion is easy with Factor and Offset properties of Channel), but by a cubic equation (y = a3*x^3 + a2*x^2 + a1*x +a0) with 4 coefficients. For the moment, I performed the operation in a loop over all the values of the channel... this takes a lot of time to convert all the values!!! Is there a more efficient way for multiplying array in VBA or channels in DIADem (for Plugins!!!)...?

    Hi Ollac,
    There is no way to efficiently apply polynomial scaling in a DataPlugin.  You could create each of the polynomial component terms with an eMultiplyProcessor type ProcessedChannel in the DataPlugin, but we can't add them together with another ProcessedChannel because you can't add a ProcessedChannel to another ProcessedChannel.  If the manual cell-by-cell scaling that you've already tried is too woefully slow, then I'd suggest exposing the raw data values to channels in the Data Portal and adding the "a0", "a1", "a2", "a3" polynomial coefficients as channel properties.  Once the raw data is in DIAdem, you can use the ChnCalculate() or the older and faster FormulaCalc() command to apply the polynomial scaling in-place based on the coefficients in the channel properties.  You might want the Data Plugin to add the "_Raw" suffix to the channel names and have the scaling VBScript remove the "_Raw" suffix or replace it with a "_Scaled" suffix so you don't accidentally apply the polynomial scaling twice.
    Ask if you have questions about this,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • Appending or Replacing data sets in DIAdem

    I was wondering if there was an easy way to take new data points and append them to old data points already loaded into DIAdem.  Similarly I would be interested in just replacing the old data with the new
    I have a data set I have uploaded from an excel file into DIAdem.  Within DIAdem I have manipulated data and made several graphs for presentations.  Since that first upload of data I now have acquired new data.  That new data is in the same format as the old data, it's simply that there are more data points now.  So it would be nice to know how to either append or replace the old data while keeping all the formatting.  
    Right now the easiest way I've found is to copy and paste data into a new Excel file and upload it.  DIAdem scripts have proven buggy and inefficient.  I can't believe Excel would handle appending better than DIAdem.  There must be an easy way to do this that I am missing.  Any help would be appreciated.  

    Hi Stysley,
    Unless you're talking about a huge amount of data, I'd say the easiest and cleanest way to do this would be to delete all your channels in DIAdem and reload them from the (now larger) data file.  Then all you have to do in REPORT is hit the "Refresh" icon.
    It sounds like you are loading your data files into Excel-- does that mean that you have ASCII data files to start with?  The best approach in that case would be to create a DataPlugin for the ASCII data file format and avoid the intermediate Excel step.  Then re-loading the data would be as easy as hitting the "Delete Internal Data" icon in the NAVIGATOR and then dragging the ASCII data file from the NAVIGATOR tree view into the Data Portal at the right of DIAdem.
    If you'll post or email me ([email protected]) several of your ASCII files, I should be able to send you back a DataPlugin you can use.
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • How to overwrite channels in diadem 9.0

    Wie kann man in Diadem 9.0 Kanäle manuell oder per VBS-skript überschreiben?

    Hi WBH,
    I fear that I do not fully understand your question. If you drag the channels you're interested in from the Data Portal into a table in the new VIEW panel, you will see the data much like it was displayed in the old DATA "Channel Contents" tab. At this point you can double-click on one of the table cells and type in a different value, thus interactively overwriting values of an existing channel.
    You can do the same thing programmatically without having to create a VIEW table. In fact, nothing has changed programmatically-- the ChD() and ChDX() functions still work just like they used to. In addition to the DIAdem 8.x style channel number/name addressing
    [ ChDX(50, 12) ] or [ ChD(50, "Revs") ]
    you now also have the option of addressing cha
    nnels by their group name and channel name
    [ ChD(50, "Engine Measurements/Revs") ]
    Note that the ChDX() command can ONLY take channel numbers, while the ChD() command can take either channel numbers, channel names, or the new Group/Channel names referencing. Also note that the ChDX() function is MUCH faster.
    Let me know if that did not answer your question,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • Generate pdf from labview using DIAdem

    Hi
    I am trying to generate a report (pdf) using DIAdem in LabVIEW 8.5, but I can't get the the template that I generate myself, to work properly.
    I have some data (attached in the VI), which is a table with 3 rows, 1st: sample no, 2nd: frequency, 3rd: result.
    What I need on my report is
    1) The frequency plottet along the x-axis (equally spaced), and the result plotted along the y-axis (it's percent (%), so they really has to be multiplied with 100, so the y-axis should go from 0-100)
    2) A table below with 2 rows, 1st: frequency, 2nd: result
    3) Some extra information about who conducted the experiment, date and so on.
    I have tried and make something like it, which you can see in the attached pdf Data.pdf.
    I am all new in DIAdem, so can someone please help me make this template, I can't get it to work properly. I can't turn the table, so I get two columns instead of two rows, and I can't get the graph to plot the data as I want to.
    Hope to hear from someone soon, today if possible, thank you very much.
    Best regards
    Simon
    LV 8.5
    LabVIEW 8.6 / 2009 / 2010
    Vision Development Module 8.6 / 2009 / 2010
    VBAI 3.6 / 2010
    Attachments:
    diadem_report_gen.zip ‏135 KB

    Hi Brad
    I have tried to build an installer and compile an exe and nothing seems to work regarding the template, eventhough I place the TDR file in the same directory as the executable. I can see that the pdf, that is generated, is using the right template, there is just no data in the pdf, I have even tried to plot the graphs in the VI, so I am sure the data is there, pretty weird.
    I have attached my little example in the following zip, containing the VI, TDR and installer. It is made in LV8.5 and DIAdem 11 and I run it on the same machine as I compile i.
    I have made a ring control to choose between two different paths for the TDR, because the path doesn't seem to be the same when you run it in LabVIEW and running the executable.
    But again, I can see that it uses the right template, or else the pdf would just be blank, but there is just no data
    Can you take a look at it?
    Best regards
    Simon
    LabVIEW 8.6 / 2009 / 2010
    Vision Development Module 8.6 / 2009 / 2010
    VBAI 3.6 / 2010
    Attachments:
    my_diadem_program.zip ‏244 KB

  • Read cDAQ device data directly into diadem

    I need to read data acquisition hardware analog channels directly into Diadem for display, logging and analysis. 
    Has anyone done this?  I cannot even find the drivers in Diadem to add it as a data source.
    Software installled: Diadem 2012  / NI MAX / Signal Express 2013 LTE
    Hardware: 2x cDAQ 9181, 1 with NI9201 -10/+10v analog input, 1 with NI 9203 current input.
    I am able to conifgure the modules, read and display then in signal express, but I have no idea how to get the channel data directly into Diadem.
    Thanks,  Jim

    Jim,
    Please check chapter 2-1 of the attached manual to set up NI hardware with DIAdem DAC.
    Let us know if you need additional information.
          Otmar
    Otmar D. Foehner
    Business Development Manager
    DIAdem and Test Data Management
    National Instruments
    Austin, TX - USA
    "For an optimist the glass is half full, for a pessimist it's half empty, and for an engineer is twice bigger than necessary."
    Attachments:
    DIAdem_DataAcquisition.pdf ‏1902 KB

  • StatBlockCalc without creating data channels for results

    I am trying to create the min, max, and mean for a group of channels (3 of them) but I do not want to create/store them in new data channels - I would rather use the StatMin, StatMax, and StatArithMean variables.  For example, using the script
    StatClipCopy = 0StatClipValue = 0StatFormat = ""StatResChn = 1Call StatBlockCalc("Channel","2-254","'[1]/Amp-Hours' - '[1]/Temperature A1'") '... StatDirec,RowNoStr,ChnNoStr
    causes 3 new channels (min/max/avg) with 3 items in each channelto be created in the data portal.  Rather than creating channels, I change the StatResChn = 0 which I thought should only store the values in the variables StatMin, StatMax, and StatArithMean  
    StatClipCopy = 0
    StatClipValue = 0StatFormat = ""StatResChn = 0Call StatBlockCalc("Channel","2-254","'[1]/Amp-Hours' - '[1]/Temperature A1'") '... StatDirec,RowNoStr,ChnNoStr  
    However this only appears to work is using a single channel (i.e. Amp-Hours or Temperature A1)
    Is there a way to get multiple Statistics values (statmin, statmax, etc) over multiple channels without creating separate channels in the data portal?
    Solved!
    Go to Solution.

    Jim,
    When you calculate the statistics for a block of channels, the result cannot be stored in one of the channels. Instead, it goes into one of the result variables for the statistics calculation function:
    The maximum would be stored in the StatTxt2(5) variable, a complete list of the result variables is below:
    StatTxt2(1)
    Index number
    StatTxt2(2)
    Measurement value sum
    StatTxt2(3)
    Measured value square sum
    StatTxt2(4)
    Minimum
    StatTxt2(5)
    Maximum
    StatTxt2(6)
    Arithmetic mean
    StatTxt2(7)
    Root mean square
    StatTxt2(8)
    Geometric mean
    StatTxt2(9)
    Harmonic mean
    StatTxt2(10)
    0.25 quantile (lower quartile)
    StatTxt2(11)
    0.50 quantile (median)
    StatTxt2(12)
    0.75 quantile (upper quartile)
    StatTxt2(13)
    Range
    StatTxt2(14)
    Standard deviation
    StatTxt2(15)
    Variance
    StatTxt2(16)
    Variation coefficient
    StatTxt2(17)
    Quartile distance
    StatTxt2(18)
    Relative variation coefficient
    StatTxt2(19)
    Average absolute deviation from mean
    StatTxt2(20)
    Average absolute deviation from median
    StatTxt2(21)
    Skewness
    StatTxt2(22)
    Kurtosis
    StatTxt2(23)
    Standard error
    Hope that helps,
    Otmar D. Foehner
    Business Development Manager
    DIAdem and Test Data Management
    National Instruments
    Austin, TX - USA
    "For an optimist the glass is half full, for a pessimist it's half empty, and for an engineer is twice bigger than necessary."

  • Unpack data channels from cluster

    Hi all,
    I tried searching for this, it seems common enough, but I'm not sure I used the right set of words:
    I'm receiving data from a device in packets. Each packet contains multiple frames, each frame contains two sub-frames, and each sub-frame contains several data channels. In my vi, the packet is a cluster, the frames are clusters, and the sub-frames are clusters, all typedef'ed.
    What I want to do, is take the initial big cluster, and split the data into a cluster of arrays, one per data channel, without generating spaghetti.
    The "decimate array" function would work beautifully to do the job, but alas, it only operates on arrays, not clusters, and it seems my clusters cannot be converted to arrays.
    Is there something I'm missing? I've attached a high-level picture...note I'm not an artist. The values "n" and "m" are fixed, so there is no variability
    Solved!
    Go to Solution.
    Attachments:
    ClusterToClusters.png ‏11 KB

    Right-click on Build Array and choose "Concatenate Inputs" so you'll get a 1-D array.
    If you get rid of the "Header" and "Footer" elements, you can wire your overall cluster to Cluster to Array, which will give you an array of Frame clusters, which you can then put through a For loop with Cluster to Array, which will give you a 2-D array, that you can reshape/decimate/extract columns or rows as necessary. Or, in newer versions of LabVIEW, you can right-click on the loop output tunnel and choose the option to concatenate, giving you a 1-D array. However, I suspect that the 2-D array will actually work well for you - you'll have frames on one axis, and data channels on the other.
    If you need the Header and Footer to remain part of the overall cluster, add one more level of nested cluster (there's no memory/speed penalty) containing all the frames, so that you can unbundle just the data.
    Is there any possibility of reading the data into an array in the first place, instead of a cluster? That might be easier.

  • XSQL : End of TNS data channel?

    Hi, I'm having trouble using the Oracle xsql servlet for a mission-critical application. Using a complicated query which has several cursors, I get the following error:
    oracle.xml.sql.OracleXMLSQLException: Io exception: End of TNS data channel
    I have the servlet deployed to Apache Tomcat 3.2 (I have also tried 3.1, with the same results). This error seems to only occur when the query selects from certain tables. However, the same query works fine in SQL*Plus or any similar tool.
    Any idea what might be causing this? If not, can you point me to someone who might have an idea?
    This seems to be a recent problem. Some queries that worked before don't work anymore. Changes that have been made since then are that the database's Net8 service was removed and re-setup, and also that all the tables and indexes in the schema have been re-analyzed.

    Whenever a problem appears to be in the XSQL Servlet -- specifically those that relate to translating SQL statements into XML -- here's a tip to help diagnose the problem.
    The XSQL action handler for the <xsql:query> action directly makes use of the Oracle XML SQL Utility to do the real work. The XSQL Pages system pools database connections and makes using the XSU easier because most common tasks can be done with templates, but when a problem arises in this area it is likely an issue with the underlying XML SQL Utility.
    To help see whether this is in fact the case, try the same query that is causing problems using the XML SQL Utility's command line OracleXML utility.
    $ OracleXML getXML -u username/password "SELECT ... "
    If you are getting TNS errors, likely the server is generating server-side trace files that might provide additional details on what the issue might be.

  • Exhausted Result set and End of TNS data channel

    Please reply to : [email protected] (there's hopeful :-)
    Using the same code, but with different drivers I get :
    8.1.7 Thin Driver : End of TNS data channel
    8.1.7 OCI Driver : Exhausted Resultset
    Both are talking to an 8.1.7 server.
    The problems are coming at different points in the code, and seem
    to be data/volume based - they are reproducible in the main, but
    don't always happen.
    I've checked the forums for both of these problems, but nothing
    seems to match my approach - just loads of calls to simple
    prepared statements generated for an OO/RDB mapping.
    Any pointers appreciated - such as why these happen?
    Thanks
    tim
    Thanks

    Hi Liya -
    "End of TNS data channel" is usually a message sent by the database when something erroneous is occuring.
    What version of the database, JDBC, and JDK are you using?
    Are you getting any dump files from the database?
    Can you describe a little more about what the application code is doing?
    There is some good information on this error message at the following URL
    http://forum.java.sun.com/thread.jsp?thread=280338&forum=48&message=1090056
    -steve-

Maybe you are looking for

  • Can anyone help me in relation to a message I am getting when I open Photoshop?

    Hi - I have received an e-mail from Adobe saying: 'We have been unable to bill the payment method on file for your account. To make sure you have uninterrupted access to Creative Cloud, please take a moment to update your billing information.' I have

  • How to add several hyperlinks in a graph on different location

    Hi, I have been able to create hyperlink using srw.set_hyperlink() for text report. I create a bar graph to show data monthly, (Jan, Feb, ..., Dec), thus showing 12 bars in a bar graph. I need to make different hyperlink (to drill down) for each mont

  • Grrrrr Duplicate code in html links

    Hi, Am new to dreamweaver so apologies if this is a dumb one... I have been working on my site and began to experience this problem. I have a menu with drop downs, the code is simple - but when I preview the page in browser (IE8 / Win7) and roll over

  • Ignore time component when comparing dates

    DB version:10gR2 In one of our codes , the client wants the dates to be compared by ignoring the time component from the date. ie they don't want MM:DD:YYYY HH:MI:SS, they just want MM:DD:YYYY, So I am modifying   when ship_date > est_date_del   to  

  • Sticky using X-Forwarded-For

    Hello,   I have a back-end ACE which needs to create a sticky based on a header value. The  X-Forwarded-For header is perfect as it indicates the original client ip.  There is a front end ACE which is setting the header correctly.   My goal is to hav