Plotting data in diadem via LV

Is it possible to plot data in diadem by specifying the x and y axes values from LV at runtime? I am looking for a solution something like:
1. Load data into Diadem(give the command from LV).
2. Load layout into diadem(give the command from LV).
3. Specify the channels to be plotted from LV.
4. Plot data
5. Stop
Thanks,
Yash
Solved!
Go to Solution.

Hi Yash,
Please can you have a look at this piece of example code, I think it does what you have requested.
You will need to build up a customised array to insert the different channels. You will also need to know the name of your axis system in DIAdem, you can find this by hovering over the axis system in the report view of DIAdem and looking in the status bar at the bottom left of the application window.
Regards
JamesC
NIUK and Ireland
It only takes a second to rate an answer

Similar Messages

  • How do I send string data into DIAdem via a channel?

    Using a TO.DATASHEET reference, ChnValSet doesn't work with strings. It's fine with numbers and dates, just not strings. I'm not sure if the CHT variable is useful for me or not. Thanks.

    Hi Deca,
    You can use the CmdExecuteSync method of the DIAdem.TOCommand interface to set the value of a text channel. For example passing the string "CHT(1,1) := 'test'" as a parameter to the CmdExecuteSync method will set the 1st row of the 1st channel to "test". Please refer to the DIAdem help for more documentation on the CHT function.
    I hope this helps! Please post back if I wasn't clear enough in explaining how to do this or if you have any problems getting it to work.
    Regards,
    Sarah Miracle
    National Instruments

  • How to plot data in a chart?

    I'm trying to plot data from a table in
    a ChartControl object. The table consists
    of two columns, one contains a numeric
    value and the other contains a date value.
    I'd like to plot the numeric value on the
    Y axis and the dates along the X axis.
    I've got the same data displayed in a grid
    format, and that's all fine.
    This seems like a simple enough thing to
    do, but I haven't found a basic page of
    documentation to guide me in the right
    direction. How do I do this?

    Use Reshape array to turn your 2-D array into a 1-D array.  You will need to wire in a constant of 40 since you will have 40 elements in your new array.  Convert the 1-D array to a cluster with Array to Cluster.  Right click on that function and set the size of the array to 40.  Wire that cluster to the waveform chart.  Now each of your 40 values you get after the double For Loops will run will append their new data to the 40 lines on your waveform chart.
    Message Edited by Ravens Fan on 12-18-2009 11:30 PM
    Attachments:
    ThermocoupleReadings[1]_BD.png ‏13 KB

  • How to load a range of data in Diadem?

    Hello; I have a set of Access DB containing analytic data of 5 jears. How can I import a range of data (eg. all year 2003 data)in Diadem for analysis?
    Thank's

    Thank's,
    but I couldn't choose explizit the time channel. Also I couldn't set a command like 'between 1.1.2003 and 31.12.2003'. Attached is an exemple of the dataset. The time channel is '50_DAT'.
    It would be nice to get an answer.
    Thank's Matthias
    Attachments:
    B0P2DAT8_50.MDB ‏400 KB

  • Data interpreter for loading of DASYLAB data into DIADEM

    Can NI deliver a data interpreter for loading DASYLAB data into DIADEM?

    Hi zzzz,
    It is my understanding that DasyLab has the ability to write DIAdem *.DAT files. This I have gathered from the fact that US customers have sent me *.DAT data files generated by their DasyLab version, in which several properties are called by their German names. So I assume the DasyLab *.DAT file output was originally written for a German audience, but the data made it over just fine. I suppose that could have been a special feature of their particular DasyLab, but check if you can output *.DAT files with yours. If not, please write back.
    Regards,
    Brad Turpin

  • Select data from database via XML

    I want to select data for display and insert data to tables via XML, and I want
    to do this from a browser.
    I am using "Oracle8i Enterprise Edition Release 8.1.7.4.0" on HP-UX server
    with "JServer Release 8.1.7.4.0.".
    The oracle documentation says I need the following in order to do this.
    1. XML-SQL Utility
    2. XML Parser for Java, V2
    3. JDBC driver
    4. JDK
    5. A Java compliant web server
    6. XSL Servlet
    How do I verify, if the above software list is available in my environment.
    What are all available within the database and what are other software I need to
    install.
    Thanks
    Pushparaj

    It's a classpath problem. Either you mistyped the class name, or you don't have the class in your classpath. I think Oracle's drivers come in db12.zip or db12.jar or some such. Whatever that jar or zip file is, it has to be in your classpath, but it's not.
    Or it is in your classpath, but you're in an appserver context where the classloader that the container provides for your app uses something other than the classpath variable. For instance, in tomcat, the jar file would be uder webapps/yourApplication/WEB-INF/lib I think.

  • Pivoting date data in Diadem - summarising data by grouping

    Hi,
    Is there a way to summarise date data in Diadem?
    For example, if I have a file with the following headings:
    Date/time, on/off, duration
    The Date/time column is recordrded in date, hours and seconds,
    the on/off is either 1 or 0
    duration is the difference in time values when on/off is 1.
    Is there a way to summarise the date data by day or possibly by month? (The corresponding numbers in 'duration' would need to be assigned to the appropriate day or month)?
    The equivalent calculation tool would be a pivot table in Excel.
    Look foward to a response.

    Hi Brad,
    Thank you for your prompt response.
    I have attached a file in the code section with some data. (Apologies for this, but the NI website said the content did not match the filetype). (I will try and get this right and send the attachement as an excel file. DIADEM should be able to read in the text file).
    The columns are as follows: Event, Date,Time,Duration On,State.
    (please note 1) that in the 'event' column there are 5 boilers - good for pivoting once grouped per boiler,
                         2) that 'State' is either a save or a bypass - also good for pivoting i.e. which days and boilers were in bypass, and which days and boilers were in save)
    I would like to be able to summarise the data as follows:
    Show a period(group by month or year) the sum of the Duration On, then display the result on a monthly histogram showing for example daily Duration On vs date.
    Then
                       on an annual histogram showing for example monthly Duration On vs month.
    As the last part of the exercise, how can I break out doing the 2 steps about for each of the 5 seperate boilers and show when each of the boilers were in a save or a bypass?
    (Is a pivot table in excel required or can all the data processing be done in DIADEM?)
    I appreciate your assistance in resolving this issue.
    Sincerely
    HotCold
    Attachments:
    Heathrow.txt ‏442 KB

  • R/3(sends IDOC data)  to IBMMQ via XI.

    Hi,
    My requirement is R/3(sends IDOC data)  to IBMMQ via XI.
    I need to sent up Integration Builder: design as well as configuration.
    Can anyone send me a document which describes a complete end to end scenario?
    I have seen the forum and the blogs but none decsribe the complete end-to-end scenario.
    Plz reply at the earliest.
    Regards,
    Mateen.

    <i>My requirement is R/3(sends IDOC data) to IBMMQ via XI.</i>
    >>>
    there is no document as sucj available on SDN that will help u implement the above scenario. But you can have help on
    1. sending the IDoc to  XI - Ref: https://wiki.sdn.sap.com/wiki/display/XI/SAPR3%28Idocs%29ToXI--Steps+Summarized
    2. IBMMQ - you will have to use the JMS adapter. To receive help on configuring the receiver JMS adapter ref: http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm

  • Best method for plotting data array?

    I am reading data from a Delta Motion controller and writing that data to an array in my vb.NET program.  The data is not time stamped but I know what the sampling interval is (0.001s).  I want to take that data and plot it on my Waveform Graph.  What is the best method for doing this?  I'm sure this is simple, but I'm new to MS and LV.
    Private Sub btnRampUpA_Click(sender As Object, e As EventArgs) Handles btnRampUpA.Click
    Dim Axis0ActualPrsData() As Single = New Single(4096) {} 'Create array for data from the RMC controller to be read into
    Dim Axis0Actual() As AnalogWaveform(Of Single)
    If RMC.IsConnected(PingType.Ping) = True Then 'Check to make sure comms to RMC is good before trying to read data from it
    Try
    RMC.ReadFFile(FileNumber150.fn150Plot0StaticUA0, 112, Axis0ActualPrsData, 0, 4095) 'read the plot data where sample period = 0.001
    Catch ex As ReadWriteFailedException
    MessageBox.Show("Unable to read plot data from the RMC. " & ex.Message)
    End Try
    End If
    End Sub
    Thank you

    PlotYAppend appears to be the answer according to the white page, although I don't have it working as of yet.  Can someone confirm?

  • Plotting Data on a fixed time axis from left to right

    I am plotting data on a Historical Trend graph from the DSC palette. I receive the data from a plc throughout the course of a production shift. I would like to have the start time of the shift (07:00) on the far left of the x-axis and the end time of the shift on the far right (15:30). I would like to plot the data from left to right as the shift progresses. Is this possible? How do I format?
    Many thanks for any input,
    Stuart Wilson

    Hi Stuart,
    All you need to do is place down a waveform chart and then modify the properties slightly in order to achieve this. If you right click and make sure autoscaling is turned off on the x-axis first of all, then go into the properties page and change the x-axis formatting to absolute time then you will be able to plot data with the actual time according to your system clock.
    The only problem you have now is that there probably isn't enough room on the chart to plot data for the entire time between 09:00 and 15:30 depending on how often you want to sample. The default number of data points to keep in the chart is 1024. Therefore if you try and change the max and min values to 09:00 and 15:30 then it won't allow you to set that up as it doesn't think you have enough room there. Right click on the chart again and go down to Chart History Length. Increase this number to a large enough number and then you will be able to set the start time to 09:00 and the end time to 15:30 and as long as autoscaling is turned off this will not change.
    Hope this helps, please find the attached example which will plot random numbers to a chart once a minute and the chart will plot data between these times.
    Best regards,
    Peter H.
    Applications Engineer.
    NIUK.
    Attachments:
    Large Chart.vi ‏16 KB

  • Send Form Data to PC via USB cabile

    Respected SIr/Madam
    I want to send Form Data or RMS Data to PC via USB data cabile .
    Is it Possible ?
    if it is possible then please give me some idea how to make it
    thanks in advanse
    Souvik

    Yes ..
    First ensure that driver for the Data cable is installed.
    Get the comm port number .
    In windows
    control panel->Phone & Modem options ->Modems..
    The Comm port no for the data cable is present in Attached To column.
    In Linux ..
    you can get it by checking the Device options
    Next
    U need to establish a connection between PC & Handset using the comm port.
    Note that The comm port obtained here is the reference commport in the PC..
    U can get the comm port number in Handset using the J2ME application itself..
    String port;
    String ports = System.getProperty("microedition.commports");
    int comma = ports.indexOf(',');
    if (comma > 0) {
    // Parse the first port from the available ports list.
    port = ports.substring(0, comma);
    } else {
    // Only one serial port available.
    port =ports;
    /*Below is a code example showing how you can use serial I/O API to open a connection and read/write
    to it. */
    //using commconnection since midp2.0
    CommConnection commConn =
    (CommConnection)Connector.open("comm:COM0;baudrate=115200", Connector.READ_WRITE,
    true);
    InputStream iStream = commConn.openInputStream();
    OutputStream oStream = commConn.openOutputStream();
    String sMessage = "send";
    oStream.write(sMessage.getBytes());
    Thread tRead = new Thread() {
    public void run() {
    while (true) {
    StringBuffer sb = new StringBuffer();
    while(true) {
    int c = iStream.read();
    if(c != '\r') {
    sb.append((char)c);
    else
    break;
    try {
    sleep(1000);
    catch (InterruptedException e) {}
    tRead.start();For some handsets that do not support CommConnection, you can use StreamConnection in place of
    CommConnection with the same result:
    StreamConnection commConn =
    (StreamConnection)Connector.open("comm:COM0";baudrate=115200"); The above code is for J2me application running on Handset ...
    In PC you can refer it using the comm port identified from the Control Panel.

  • I used firefox 3.6.14 on windows 7 x64 (firxfox x32). I found a problem when I develop my website and alert data or value via javascript , firefox hang (not response) every time. What's happend? How to solve is problem?

    I used firefox 3.6.14 on windows 7 x64 (firxfox x32). I found a problem when I develop my website and alert data or value via javascript , firefox hang (not response) every time. What's happend? How to solve is problem?
    Thank you for help
    Lohkaeo

    Oops - for some reason, this problem now seems to have gone away. May have had something to do with Flash. I'll keep my fingers crossed.

  • Import data and cofiles via stms

    Hi all,
    I would like to import some data and cofiles via stms in my MiniSAP.
    Only tables are imported without problems. Programs, transactions or other files of the package will not imported.
    The imported objects will be not activate automatically.
    The return code of my package is (0 = green), the status of the import stay at "Import continue".
    Can anyone help me, please.
    Thank you very much.

    Hi,
    Whenever a transport request get released it generates two files automatically at the OS level,ie at the transport directory normally /usr/sap/trans.These two files are called cofiles & datafiles and it gets generated at /usr/sap/trans/cofiles & /usr/sap/trans/data respectivley.Cofiles are the control files and data is the actual data file.
    You can execute the transports only when you have these datafiles & cofiles available at your tarnsport directory.
    If you want to do the transport in other systems,you have to copy these files to the transport directory of the target system or also you can share the same transport directory across different systems.
    Regards,
    Sam

  • Get Plant data From ECC Via. Midedleware

    HI,Experts :
       I work in SRM7.0.ECS!
      I get material data fron ECC Via. CRM Middleware .BUT the Plant data not in it .How can I get the plant data (just plant number) Via. CRM Middleware ? I need your suggestions warmly?
      BR
      Alex!

    Hi Alex
    check these two reports in srm 7.0
    BBP_GET_LOCATIONS_ALL
    BBP_LOCATIONS_GET_SELECTED
    after replicating plant
    generally in srm 5.0 we run any one of the report and bring the plant into srm and map the plant in extended attribute tab in locations
    here we type BP number ( of plant - once you transfer a plant from ecc to srm , it creates a BP for each plant) and we map as said earlier.
    check it up .
    try one plant BBP_LOCATIONS_GET_SELECTED  by this report . make ensure no ranges available for Business partner in bucf tcode
    br
    muthu

  • How to remove and add plotted data?

    In my code below I would like to add two buttons and by clicking on a button("Remove") it will remove one by one plotted data,and plot it back by clicking on the button("Add") such as the examples:
    Full data plotted by running the class
    Now by a single click on a Remove button last data point disappear
    another click and again last data point disappear, and so on
    The inverse operation would be performed by clicking on "Add" button: each click will add back a data point
    import javafx.application.Application;
    import javafx.beans.property.SimpleDoubleProperty;
    import javafx.event.EventHandler; 
    import javafx.scene.chart.NumberAxis;
    import javafx.scene.chart.XYChart;
    import javafx.stage.Stage;
    import javafx.scene.Scene;
    import javafx.scene.chart.LineChart;
    import javafx.scene.control.Button;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.layout.BorderPane;
    public class XYMove extends Application {
    BorderPane pane;
    XYChart.Series series1 = new XYChart.Series();
    SimpleDoubleProperty rectinitX = new SimpleDoubleProperty();
    SimpleDoubleProperty rectX = new SimpleDoubleProperty();
    SimpleDoubleProperty rectY = new SimpleDoubleProperty();
    @Override
    public void start(Stage stage) {
    final NumberAxis xAxis = new NumberAxis(12, 20, 1);
    double max = 12;
    double min = 3;
    max *= (1+((double)3/100));
    min *= (1-((double)3/100));
    final NumberAxis yAxis = new NumberAxis(min, max, 1);
    xAxis.setAnimated(false);
    yAxis.setAnimated(false);
    yAxis.setTickLabelFormatter(new NumberAxis.DefaultFormatter(yAxis) {
        @Override
        public String toString(Number object) {
            return String.format("%2.0f", object);
    final LineChart<Number, Number> lineChart = new LineChart<Number, Number>(xAxis, yAxis);
    lineChart.setCreateSymbols(false);
    lineChart.setAlternativeRowFillVisible(false);
    lineChart.setAnimated(false);
    lineChart.setLegendVisible(false);
    series1.getData().add(new XYChart.Data(1, 3));
    series1.getData().add(new XYChart.Data(2, 8));
    series1.getData().add(new XYChart.Data(3, 6));
    series1.getData().add(new XYChart.Data(4, 7));
    series1.getData().add(new XYChart.Data(5, 5));
    series1.getData().add(new XYChart.Data(6, 6));
    series1.getData().add(new XYChart.Data(7, 4));
    series1.getData().add(new XYChart.Data(8, 7));
    series1.getData().add(new XYChart.Data(9, 6));
    series1.getData().add(new XYChart.Data(10, 7));
    series1.getData().add(new XYChart.Data(11, 6));
    series1.getData().add(new XYChart.Data(12, 7));
    series1.getData().add(new XYChart.Data(13, 6));
    series1.getData().add(new XYChart.Data(14, 12));
    series1.getData().add(new XYChart.Data(15, 10));
    series1.getData().add(new XYChart.Data(16, 11));
    series1.getData().add(new XYChart.Data(17, 9));
    series1.getData().add(new XYChart.Data(18, 10));
    pane = new BorderPane();
    pane.setCenter(lineChart);
    Scene scene = new Scene(pane, 800, 600);
    lineChart.getData().addAll(series1);
    stage.setScene(scene);        
    scene.setOnMouseClicked(mouseHandler);
    scene.setOnMouseDragged(mouseHandler);
    scene.setOnMouseEntered(mouseHandler);
    scene.setOnMouseExited(mouseHandler);
    scene.setOnMouseMoved(mouseHandler);
    scene.setOnMousePressed(mouseHandler);
    scene.setOnMouseReleased(mouseHandler);
    stage.show();
    EventHandler<MouseEvent> mouseHandler = new EventHandler<MouseEvent>() {
    @Override
    public void handle(MouseEvent mouseEvent) {
        if (mouseEvent.getEventType() == MouseEvent.MOUSE_PRESSED) {            
            rectinitX.set(mouseEvent.getX());
        else if (mouseEvent.getEventType() == MouseEvent.MOUSE_DRAGGED || mouseEvent.getEventType() == MouseEvent.MOUSE_MOVED) {
            LineChart<Number, Number> lineChart = (LineChart<Number, Number>) pane.getCenter();
            NumberAxis xAxis = (NumberAxis) lineChart.getXAxis();
            double Tgap = xAxis.getWidth()/(xAxis.getUpperBound() - xAxis.getLowerBound());
            double newXlower=xAxis.getLowerBound(), newXupper=xAxis.getUpperBound();            
            double Delta=0.3;
            if(mouseEvent.getEventType() == MouseEvent.MOUSE_DRAGGED){
            if(rectinitX.get() < mouseEvent.getX()&& newXlower >= 0){   
                newXlower=xAxis.getLowerBound()-Delta;
                newXupper=xAxis.getUpperBound()-Delta;
        else if(rectinitX.get() > mouseEvent.getX()&& newXupper <= 22){   
                newXlower=xAxis.getLowerBound()+Delta;
                newXupper=xAxis.getUpperBound()+Delta;
            xAxis.setLowerBound( newXlower );
            xAxis.setUpperBound( newXupper );                       
            rectinitX.set(mouseEvent.getX());                                
        public static void main(String[] args) {
            launch(args);
    }Thanks!

    I would use an ObservableList (probably backed by a LinkedList) of XYChart.Data to store the collection of "deleted" data points. Create the buttons as usual; your "Remove" button's event handler should remove the last element of the series and add it to the first element of the deleted items data points. The "Add" button should remove the first element of the deleted data points and add it to the end of the series. You can bind the "disable" property of the remove and add button to Bindings.isEmpty(series1.getData()) and Bindings.isEmpty(deletedDataPoints), respectively.
    Something like
    ObservableList<XYChart.Data<Number, Number>> deletedDataPoints = FXCollections.observableList(new LinkedList<XYChart.Data<Number, Number>>());
    removeButton.setOnAction(new EventHandler<ActionEvent>() {
      @Override
      public void handle(ActionEvent event) {
        deletedDataPoints.add(0, series1.getData().remove(series1.getData().size()-1));
    addButton.setOnAction(new EventHandler<ActionEvent>() {
      @Override
      public void handle(ActionEvent event) {
        series1.getData().add(deletedDataPoints.remove(0));
    removeButton.disableProperty().bind(Bindings.isEmpty(series1.getData()));
    addButton.disableProperty().bind(Bindings.isEmpty(deletedDataPoints));The other approach would be to use a separate List for all the data points, and keep an integer variable storing the number of data points displayed. Your "remove" button would decrement the number displayed, and your "add" button would increment the number displayed. Both would also call
    series1.getData().setAll(allDataPoints.sublist(0, numberOfDisplayedPoints));You might even be able to make the numberOfDisplayedPoints an IntegerProperty and bind the data property of the series to it in a nice way. This approach probably doesn't perform as well as the previous approach (using a stack of deleted points), because you are not directly giving the chart as much detailed information about what has changed.
    Both approaches get problematic (in the sense that you need to carefully define your application logic, and then implement it) if the underlying data has the potential to change.

Maybe you are looking for

  • How to Print Particular Page in Smartform

    Hi ,      Anyone Give me steps to Print Particular Page when Printing Several Forms in One Print Request .     Am Using smartform Within the Loop , So  i Used SSF_OPEN And SSF_CLOSE. When am printing the Smartform i gave particular    Page in Dialog

  • One solution for 'iTunes has stopped working' message

    This worked in my case for iTunes 10.5 on a Dell Inspiron 1525 running 32-bit Vista. Symptoms started after I had to re-install it. Suddenly, whenever I tried to dl anything from the store, the dl would hit 100%, then I'd get the error message and DE

  • Material Receipt tolerance

    Hi all I am facing a problem in receiving the material thru MIGO transcation as my schedules generated thru MRP run are appearing in future dates . Now there is a tolerance limit for excess & over delivery in terms of quantity but in terms of deliver

  • Progress version

    Hi, I created a Progress version for my company code. In WBS, Progress Tab --> Progress version field my progress version  is missing. Where should i assign my progress version so as to appear in WBS progress tab

  • TAXINN pricing procedures.

    Hi Gurus, What are the Standard pricing procedures for TAXINN. regards, jyothi.