LabVIEW et logiciels statistiques (R, Scilab, Matlab, ...)

Bonjour,
Nous avons développé des applications mêlant des acquisitions et des calculs statistiques. Les acquisitions et les calculs sont pseudo-temps réel (acquisition/analyse/sauvegarde/affichage en moins d'une seconde).
Jusqu'à présent, nous passons par une DLL C mais nous aimerions utiliser un logiciel "stat" pour simplifier nos futurs travaux.
Nous avons entendu parlé du logiciel R. Est-ce possible de lancer un script sous R via LabVIEW et de récupérer les résultats des calculs dans l'appli LabVIEW?
Si oui, comment et est-ce assez rapide?
Sinon, avez-vous déjà utilisé Scilab et/ou MatLAB? Qu'en pensez-vous?
Merci pour votre aide.

Bonjour,
Merci pour cette réponse.
Nous n'aimons pas trop ActiveX car il est un peu trop "Microsoft dépendant". Nous avons eu déjà des problèmes avec une de nos applis en changeant de Word (par exemple): le service informatique ne demande pas notre accord pour installer telles ou telles mises à jour sur un poste...
Pour le script (Matlab, Scilab), nous avons effectivement vu ces techniques mais cela ne convient pas à l'usage que nous voulons en faire, à savoir:
- nous recherchons puis validons un protocole statistique avec un logiciel "spécialisé" et plus adapté
- nous intégrons ces calculs statistiques dans notre appli LabVIEW en minimisant leur requalification.
En important un script dans un code LabVIEW, rien ne garantit que personne n'a touché par mégarde au code Matlab/Scilab donc nous sommes obligés de revalider les calculs statistiques une fois le programme LV terminé.
Avec un code compilé, nous pouvons garantir que le code statistique, une fois validé, ne peut être modifié. D'autre part, cela nous permettrait de corriger/modifier éventuellement les calculs sans avoir à requalifier toute l'appli.
Nous voulons bien "séparer" les 2 parties pour:
1 - minimiser les étapes de qualification
2 - simplifier les mises à jour
Nous cherchons donc un logiciel statistique qui puisse générer un code compilé ou utiliser un protocole de com compatible avec LabVIEW. Nous connaissons bien LabVIEW et ses possibilités mais au niveau logiciel mathématique compatible, nous n'y connaissons rien.
Des statisticiens nous ont parlé de R mais n'étant pas des programmateurs ni des experts R, ils ne pouvaient pas nous dire s'il pouvait générer des codes compilés et/ou "dialoguer" avec LabVIEW.
Matlab pourrait, nous a-t-on dit, générer des DLL/EXE mais de là à pouvoir les exploiter sous LabVIEW, nous n'en savons rien.
Nous continuons à chercher. Encore merci.

Similar Messages

  • How do I troubleshoot installation/distribution of a LabVIEW .exe which processes data using Matlab when it works on some computers but not others?

    I've been given the unenviable task of troubleshooting and installing/distributing software written by a former co-worker. I've modified the LabVIEW code and built an .exe file. I've successfully installed the Labview .exe file on several computers, but it won't work on some others. What's more baffling is that I installed it successfully on one computer, uninstalled it, and tried reinstalling it with no success. In fact, it's a new error (Dr. Watson for Windows NT application error). It doesn't help that I have different versions of LabVIEW and Matlab on the target computers. Some have LabVIEW 5.1, some
    have 5.0, and some don't have it at all. Some have Matlab 5.2, some have 5.3 (R11) and some have 6.0 (R12). It's also not clear to me where the Matlab m files should be located. I'm not sure if it's a LabVIEW Runtime Engine problem, or if it's a Matlab problem. I've also wondered how LabVIEW and Matlab talk to each other. When LabVIEW calls Matlab, it seems that Matlab is running in the background. In other words, clicking on the Matlab Command Window and typing "whos" or any other command/variable doesn't work.

    Jay del Rosario wrote:
    >
    > How do I troubleshoot installation/distribution of a LabVIEW .exe
    > which processes data using Matlab when it works on some computers but
    > not others?
    Poke around zone.ni.com and
    http://digital.natinst.com/public.nsf/$$Search/ .
    Good luck, Mark

  • How to "connect" Eclipse with Scilab/MatLab

    I have a problem with "connecting" my Eclipse project with Scilab/MatLab function.
    How can I call Scilab/MatLab function from Eclipse project? What do I need to import? Tomcat keeps trhrowing me errors like: "no javasci in java.library.path", "unsatisfiedLinkError",...
    Any idea, anyone? Does anybody knows some simle way of calling Scilab or MatLab function from Eclipse?
    Please, help!!!
    Thanks,
    Igor S

    I don't anything about Metlab functions, but you might want to lookup 'java robot'. The robot class allows you to execute code from the DOS command line. Perhaps you need to use it to run a *.bat batch job that actually calls your metlab function, or perhaps you can call it directly and get the value it returns back.

  • Projet LabVIEW RT - Logiciel Modbus I / O Server - Labview 7.1

    Bonjour,
    Je souhaite savoir s'il est possible de mettre en place un projet LabVIEW RT sur ma cible (FP2000 & Labview 7.1) et d'installer le logiciel   "Modbus I / O Server" afin de transformer ma cible en esclave Modbus. La cible recevra des requêtes Modbus FTP d'un modem/GPRS (Ewon) pour gérer des alertes et envoyer des SMS.
    Est-il possible avec la libraire nimodbus121 d'enregistrer des variables issues du programme sur le FP2000 afin que le modem puisse les lire puis gérer les alarmes et une page internet ?
    Dans la doc Introduction to MODBUS j'ai lu que "L'ID  est généralement utilisée pour traiter l'esclave MODBUS. Lorsque vous utilisez MODBUS TCP, l'adresse de l'esclave est son adresse IP et l'ID dans l'en-tête MBAP n'est pas utilisé."
    Le Modem à besoin de l'ID du FP2000 (entre 1 et 255) et je ne sais pas ou la trouver ?
    Merci

    Bonjour
    en Labivew 7.1 RT, le plus simple est d'utiliser la bibiothèque NI-ModBus disponible sur le site NI Ele est justement écrite en LV7.1.
    Par contre attention, cette bibiothèque n'est pas optimisé RT.
    Elle ne limite pas le nombre de connexion et lance des thread parallèle.
    Cela devrait fonctionné, mais il peut être nécéssaire de limiter le nombre de connexion en revoyant le paralléllisme.
    Bonne journée
    Ingénieur d'Application / Développeur LabVIEW Certifié (CLD)
    Application Engineer / LabVIEW Certified Developer (CLD)

  • LabVIEW Equivalent of 'Whos' command in MATLAB

    Hi 
    Similar to 'Whos' command in MATLAB I wanted to list all the constant and controls (if possible) I used in my LabVIEW code. Does anyone know if its possible with any additional code or Toolkit. 
    Thanks in advance. 
    Thanks & Regards,
    Kunal Raithatha.
    CTD - CLAD (I wish I can take off that A, and maybe use it later to replace D :-)
    Easy Tip :- "To copy an image to a VI icon, drag the image file and place it on the icon
    located in the upper right corner of the front panel or block diagram" ...If you know any
    more reply back.

    Smercurio_fc
    Pupose is to enlist name and value of constants n controls I used in quite a big VI, values of the constants are often manipulated to adjust the requirement. It will be good at the end if I can print them altogether. 
    Thank You.
    Thanks & Regards,
    Kunal Raithatha.
    CTD - CLAD (I wish I can take off that A, and maybe use it later to replace D :-)
    Easy Tip :- "To copy an image to a VI icon, drag the image file and place it on the icon
    located in the upper right corner of the front panel or block diagram" ...If you know any
    more reply back.

  • Labview binary file format, reading in matlab

    Hi,
    I have some binary files that I wrote in Labview containing data of type double.  I'm trying to load the data in Matlab but I am not having much success.  In Matlab I am using the fread command and specifying the type as double with the machine format as 'b' for big-endian.  But the values I get do not make any sense.  Does anyone know what format Labview saves the data in?  Is it big-endian?  Or something else?
    Thanks,
    Todd

    LabVIEW stores data in BIG endian format. This was done to maintain compatability between all of the different platforms that LabVIEW runs on. And of course is an inheritance of the original Macintosh LV versions. There is a shipping documents that presents all the data storage formats. Just do a search in the LabVIEW bookshelf.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

  • Have trouble in making executable Labview 7.0 program which contains Matlab node

    hi, I am always fine with the executable applications except when my Labview codes containing any MATLAB nodes. I am using LabVIEW 7.0 anyhow. Could anyone help me out? Many thanks!!!

    hi, thanks! I have another post for my problem. Could you see this page http://forums.ni.com/ni/board/message?board.id=170&message.id=129393 ? Thank you again!!

  • How can a labview acquisition/output be triggered by matlab?

    i hope to find a way that matlab can control the start of a simultaneous analog input and output. triggering seemed like the most logical, but i have not been able to find a way to carry this out.

    > i hope to find a way that matlab can control the start of a
    > simultaneous analog input and output. triggering seemed like the most
    > logical, but i have not been able to find a way to carry this out.
    One way to do this is to use the ActiveX automation interface of
    LV. Write a LV VI that performs the Data Acquisition, and write a
    small script to call the VI. The automation interface allows you
    to open a connection to a VI in advance, and call the Run method
    to execute the VI. Prior to Calling Run, you can write to controls
    to pass in parameters, and following the completion, you can read
    back the parameters.
    Another approach, a bit easier if using LV6, is to build a DLL from
    the VI and simply call the DLL.
    Greg McKaskle

  • Using Matlab code in LabVIEW

    Hi,
    I have never used LabVIEW and I am wondering if there is a way to run Matlab code in LabVIEW. If so, how would I do it and are there any special instructions or tips I should know about?

    What is your LabVIEW version?
    Do you have matlab installed on your computer?
    In older LabVIEW versions, you can only use the matlab script node, which requires that you have a copy of matlab installed.
    In newer versions, you have two more alternatives that don't require the purchase of Matlab:
    Use a mathscript node.
    Use a scilab script node.
    Information on mathscript: http://zone.ni.com/devzone/cda/tut/p/id/3502
    Information on scilab: http://zone.ni.com/devzone/cda/epd/p/id/657
    There is even a mathscript forum here: http://forums.ni.com/ni/board?board.id=MathScript
    LabVIEW Champion . Do more with less code and in less time .

  • Using a "fopen" call in a DLL made with MatLab for Labview

    Dear Sirs:
    My name is Juan Crespo and I write you from Spain. I answer if you could help me with a Labview problem. This is the problem.
    I want to write a DLL for being used in labview, and i want to use matlab for write this DLL. I have been searching in the web and reading the NI "using external code in labview" manual in order to know what I must do.
    I know that if I want to use MatLab, I must build a "wrapper function" to avoid the different data type between MatLab and C. I have found on the web -Thanks to Alberto Sanchez- one example about how could a DLL could be written.
    But it exist one diference: I want to read a plain text file that has the input data. so I must read the file, store
    the data in an array and then pass this array to the "interface functions" but in a simple example this dont works
    My question is ¿How could I open a text file in order to use it as input data in a DLL in Matlab?
    Attached to this message is the code I use as "wrapper function". when I compile it there is no apparent errors, but when I try to use the DLL in a VI, an error appears.
    If I change this code and the input is made "manually" (using the VI) there are no errors. So I think that problem is in the way that Labview consider "fopen" function when I build a DLL. The "num.txt" file, where the data input are, is on the same directory that dll file and VI file.
    I hope that you can help me with this problem.
    Thank you very much in advance and please sorry for my bad english
    Best Regards
    Juan Crespo
    Attachments:
    foo_wrapper.c ‏2 KB

    Dear Juan Crespo,
    normally I don't answer questions concerning Matlab because I have no experience with it. But your question was waiting a long time and had to do something with DLL I decided to look at it.
    Your C code has a serious error. You are declaring a variabale named "in1" as "double *". You do not set this pointer to point to a variable. Then you use this uninitialized pointer in the fscanf function to read in from the file. The value is written somewhere in the address space at a place where "in1" is pointing randomly. This will cause an error or crash.
    Declare "in1" as "double" like you have declared "out". You must change some other places where you have used "in1".
    Waldemar writing from Germany
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • I have some software problems of running matlab script node in the LabVIEW program.

    Hi there,
    I wrote a simple matlab code, like x= 1, y = x*2. Then I tried to put them into matlab script node in LabVIEW.
    However, when I ran the program, I couldn't run and Labiew show some error. 
    Then I tried the method talked before on this forum. Please see the following link.
    http://forums.ni.com/ni/board/message?board.id=Mat​hScript&thread.id=571
    I followed the instruction and open the "command prompt," type some commands then I could run the program, and simultaneously, the LabVIEW program open "Matlab command line window" and run my labview code. However, if I didn't use the command prompt, the  "matlab command window" will not be opened by running the labview program. It would just show some error. And even if I turn on the matlab program in advance, I still couldn't run the labview program.
    Is there any effecient way to deal with this problem without using "command prompt?" Because I try another PC with both matlab and labview installed on it, I "can" run my simple matlab script node on it, and it will open the matlab command line window automatically by running my code. Therefore, I thought there might be some software linking problems in the previous PC I used . Do you have any ideas?
    Thanks in advacne.  

    This board is for Mathscript, but you seem to have a matlab problem. You should probably post in the LabVIEW forum instead.
    What is your LabVIEW version? What is you matlab version?
    LabVIEW Champion . Do more with less code and in less time .

  • Using array as a MATLAB script input in a subVI - labview crashes

    Hello
    I am having troubles in creating a subVI that includes a matlab file which has an array as an input.
    I have created a VI, that executes a simple matlab script, having an array as an input and an array as an output. This worked fine, untill i assigned the terminals in order to use it as a subVI.
    After the terminals have been assigned, labview instantly crashes when running the file.
    I also created a VI to test the subVI, but I couldn't get it to work at all, labview always crashed...
    Does anyone know a solution to my problem? They only thing i can think of is to not use it as a subVI, but then my main file will get huge, as all the matlab code would be included in there...
    attached are both files, so that you better understand my problem. (test_... is the main file)
    any help will be greatly appreciated!
    - Jarno
    edit: I'm using labview 2013 with windows 7 and matlab 2014
    Solved!
    Go to Solution.
    Attachments:
    test_subVI_array_into_script.vi ‏8 KB
    subVI_array_into_script.vi ‏8 KB

    Hey Jarno, 
    I did some playing around with this (sorry for the delay) and another workaround we can use is adding an Always Copy to the array before passing it into the Script Node. This will allow you to continue using Double precision arrays instead of going to Singles.
    It looks like there is an issue with the array copy that is passed into the SubVI through the terminal, but we can get around it by making a new copy that the Script Node can properly work with. 
    Tim A.
    National Instruments

  • Hello sir,i need labview code for a code which is written in matlab,latter one is attached with this message.

    hello sir,i need labview code for a code which is written in matlab...
    clc;
    close all;
    clear all;
    Ez= zeros(1,200);
    Hy=zeros(1,200);
    Ca=1;
    Cb=.4519;
    n=1;
    while(n<1500)
    for k = 2:200
    Ez(k)=Ez(k) + Cb*(Hy(k)-Hy(k-1));
    end
    Ez(1)=1;
    for k=1:199
    Hy(k)=Hy(k)+Cb*(Ez(k+1)-Ez(k));
    end
    plot(Ez,'b')
    hold on
    plot(Hy,'r')
    hold off
    pause(0.001);
    n=n+1;
    end
    thanku

    Well, this code is quite trivial and if you have to learn LabVIEW anyway, you might as well try to implement it.
    A few things to remember:
    The first array element in LabVIEW has index #0, while in matlab it has index #1, so everything dealing with array indices needs to be adjusted slightly.
    The zeroes function equivalent is "initialize array".
    Keep the array in a shift register as you update elements.
    use FOR loops.
    Use one of the graphs to display the data.
    LabVIEW Champion . Do more with less code and in less time .

  • Call a function from matlab labview

    hi,
    I would like to know how can I do to write a string on the front panel of Labview and write simultaneously in the Matlab command window.
    Thank you

    You can pass the string to a MATLAB script node and use eval() to execute it in a MATLAB environment.

  • How to do complex engineering calculation in labview.I tried using MATLAB script

    Hello,
    I am trying to use matlab script node to solve two complex equation.But i get different  errors everytime i run my program.sometimes 1048 sometimes 1050 and sometimes it says LABVIEW could not extract variable from Matlab.I am attaching  my MATLAB script node with this thread.Please Help me out to get rid of this problem.
    I am  using LV-8 and MATLAB R-2006a.
    Attachments:
    matlab.vi ‏10 KB

    Hi Praween,
    beside my little MatLab knowledge I tried to replace your formula with equivalent LV code...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    matlab_lv80.vi ‏18 KB

Maybe you are looking for

  • Photosmart all in one B210a showing offline - no connection to MAC OSX 10.8.5 nor IPad

    NEVERMIND!  It's working now!  (Of course as soon as I give up after 4 hours and contact the Forum, NOW it works!!) Thanks anyway! Changed my router from the factory default name and password settings.  Reconfigured printer to recognize router, and t

  • Can't publish my iWeb site - has index file something to do with it?

    Hi, I've been trying to publish my iWeb site (not on a .Mac account but through ftp upload) but it hasn't worked out so far... I phoned my webspace provider's support service and the wguy I spoke to was convinced that it's due to the index file not b

  • Extending the material to multiple plants

    Hello Experts, I am trying to extend the material to multiple plants and storage locations based on the source material storage locations. I am retrieving the data from mard and marc table to check whether that material is already got extended to the

  • Oracle APPs Link error

    hi i am getting this error when opening a link in ora application Error Page Exception Details. oracle.apps.fnd.framework.OAException: No entities found, entityMaps not defined for attachment item (12).      at oracle.apps.fnd.framework.webui.OAPageE

  • Material Document Plant wise

    Hello, I want to create GRN numbers seperately to get generated for two different plants.But however Standard SAP does allow us to do so. Can anyone please help me to find a solution for creating Material Dcoument number range Plant wise. Is there an