LabVIEW Scripting History

To be honest I thought about posting this at the LabVIEW sub-forum, but the topic is more curiosity than anything else, and I didn't want to clutter that forum when this one is sorta dedicated to curiosity, among other things.
So I was thinking about this the other night.  LabVIEW Scripting is one of my favorite features of LabVIEW.  The fact that I can write code, in a graphical language, and that code can generate code in that graphical language, is facinating to me.  Bad example but I can't write a PowerPoint presentation that makes PowerPoint presentations.  Which made me wonder, how early was Scripting used?  And how early was it planned to be a feature of LabVIEW?
I know that scripting existed in some semi-public form in LabVIEW 7 era.  At the time NI gave out to select partners that needed scripting functionality, the ability to use it, it was incomplete, and undocumented.  But what is the earliest example of NI using scripting publicly, or experimentally?
It just seems that a lot of work has to go into a thing like Scripting, and I'm sure R&D worked on it for many years.  So was it a feature NI planned from since version 1.0?  Or was it planned from 3.x where there were massive changes?  Or planned from 5.x where there were even more massive changes?  Any history of Scripting or insite is appreciated.
Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

RavensFan wrote:
Something that I think would be cool to have is something like the Excel Macro Recorder.  Where you do something manually, but the application is in the background translating that to code for you.  
It seems like it would be a lot of development effort to program something like that, and I don't use scripting often enough that it would be a huge help to me, but it would be cool if it existed.
Oh I had forgotten about that feature, which I used all the time.  One issue you find doing that, is the steps you perform aren't always translated the way you expect.  Like I may want to select the workbook named "My Workbook".  So turn on recording and select that workbook.  Looking at the VBA recorded it might not say it selected "My Workbook" but instead it may say it selected the second workbook in the document.  I'd assume if LabVIEW had a recording feature it would have similar limitations, where it would produce the exact code you did, but maybe not the way you wanted.
Still I think this is a fantastic idea that should be on the idea exchange board.  But to be honest I never expect it to be a supported feature.  It sounds like too large of a task.  Scripting at times can be confusing knowing what is possible and how.  This would take away some of that confusion by showing code that did what the user did.
Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

Similar Messages

  • Interactive Scripts History Issue

    Hi ,
           I got a issue in Interactive Script using winclient. I have created a flow in interactive script editor and is working well in the CICO screen. My issue is I am not able to view the history of the answers for that question displayed on that script. How to store the history of scripts for a particular Business Partner.
    Regards
    Raj.

    Hello Raj,
    Not sure in which version you are in , The answers are not recorded in CRM but they can be exported to BI, if a BI system is connected. To enable BI recording in the script IMG activity "Define Script Profiles" (tx. CRMC_IC_SCRIPT) you need to set the History flag for your script profile to "Record script data to BW".
    Earlier, this information used to store in Tables CRMD_TM_SCR_HIST and CRMD_TM_SCR_HEAD  in CRM 3.0. But these are no longer used to store the script history from version CRM 4.0
    Hope this helps.
    Thanks
    Raja pamireddy
    CRM Marketing Forum Moderator.

  • Create local variable using labview scripting

    I am trying to use labview scripting to create a control and a local variable for that control.  I want both the local variable and the control contained inside a case structure.  My problems are twofold:
    1. the local variable is left blank/unnamed
    2. the local variable is wired outside of the case structure, even though I set it's owner to be the same as the owner for the control (which is placed inside the case structure).
    The flat panel is there because I thought that my problem might be a result of the local var being created before the actual control, so this just forces the control to be created first.  The other thing I wonder about is the VI Object Class for the local variable.  I have tried 'Node' and Control->Boolean, but neither worked.
    I have attached a jpg of the code I'm talking about.  The picture on thetop is of the code in question.  The picture on the bottom is of the resulting code that's created....
    Can anyone offer any help?
    Thank you...
    Attachments:
    vi_scripting_lv.png ‏95 KB

    The reason your locals aren't tied to a control, is because you didn't make a local variable from any control.  Use the Boolean reference wire and wire it to an Invoke Node and select the Create >> Local Variable method.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • What is Labview scripting?

    What is LabVIEW scripting? I have seen it being mentioned on this and lavag forums? What can we do with it (that normal programming does not allow)? Where can I learn about it?

    Imagine a building: This is LabVIEW.
    This building has several levels. The entrance is all nice and shiny. This is the Express and whatever stuff meant for starters with LabVIEW. Then there are some levels with more or less involved rooms. Things like doing DAQ, Instrument Control, Advanced functionality to control the bits and bytes in LabVIEW. Above that there is an attic. It was built somewhere along with the rest but never really finshed. It contains stuff developed by LabVIEW developers for their own internal use or as as a proof of concept. These things have lots of sharp edges, rusty nails sticking out and all in all can be very powerful but at the same time also make the entire building crumble down if you happen to pull at the wrong beam.
    What it means is this is stuff that exists in LabVIEW, but hasn't been designed to be used by the average LabVIEW user at all. It's mostly unfinshed work in progress, unpolished, raw and with the possibility for some nasty results. It may work, or not, crash your system, eat your favorite chocolate chips cookies, or do something completely different a computer is never supposed to do. The warnings you have gotten so far simply mean, you can try to use it but if you scratch your skin on one of those rusty nails don't blame anyone but yourself for being not carful enough.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to create a strictly typed refnum control using LabVIEW scripting

    I wish to use LabVIEW scripting to create a strictly-typed refnum control that is bound to my custom control (a type-defined cluster), but I'm unfamiliar with scripting and can't see how to do it.
    If I create a New VI Object, using Control Refnum as the Style, how do I provide my custom control to the VI Object Class terminal? When I try using a reference to my custom control.ctl file (using Open VI reference) I get an error: "Error 1057 occurred... Type mismatch: Object cannot be cast to the specified type."
    Or, if I create a new Control Refnum as above, using a standard Cluster as the VI Object Class, how do I then convert this refnum control to a strictly typed refnum that is bound to my custom cluster control type?
    Thanks in advance for any advice,
    Thoric (CLA, CLED, CTD and LabVIEW Champion)
    Solved!
    Go to Solution.

    Here we go...
    You have to create a new Control VI and then specify the VI Type as Typedef.
    Regards,
    Da Helmut
    Attachments:
    example.vi ‏22 KB

  • Where we can read interactive script history?

    Hi,
    where I can see scripts earlier talked with business partner?
    in activities? where
    Regards
    Radek

    The interactive scripting data is not stored locally in the CRM system.
    Instead all data is directly put to the BW extractor.
    If you need to access the script history you must implment BW.
    The data source for the actions might be 0CRM_CIC_SCRIPT, and the field
    BPARTNER should be holding the partner information.
    You can check the same as follows-
    Transaction RSA5->OCRM_CIC->0CRM_CIC_SCRIPT->(Field name BPARTNER)
    Regards, Gerhard

  • Interactive Scripts History

    Hi ,
    I got a issue in Interactive Script using winclient. I have created a flow in interactive script editor and is working well in the CICO screen. My issue is I am not able to view the history of the answers for that question displayed on that script. How to store the history of scripts for a particular Business Partner.
    Regards
    Raj.

    Hello Raj,
    Not sure in which version you are in , The answers are not recorded in CRM but they can be exported to BI, if a BI system is connected. To enable BI recording in the script IMG activity "Define Script Profiles" (tx. CRMC_IC_SCRIPT) you need to set the History flag for your script profile to "Record script data to BW".
    Earlier, this information used to store in Tables CRMD_TM_SCR_HIST and CRMD_TM_SCR_HEAD  in CRM 3.0. But these are no longer used to store the script history from version CRM 4.0
    Hope this helps.
    Thanks
    Raja pamireddy
    CRM Marketing Forum Moderator.

  • Speeding up LabVIEW scripts generated by IMAQ Vision Builder

    Hi,
    I am an experienced c++ software developer, I have mainly used Microsoft's Visual Studio for development. Now, I am developing a real time application using LabView and IMAQ Vision Builder. The LabView application I developed calls a script that was generated by IMAQ vision builder...the application works, but it is too slow for the processing I need to do. In C++ I wouldn't have any trouble speeding the application up, but I am still learning how labview handles threads etc. Does anyone have any ideas?

    Your question is very difficult to answer. Without knowing anything about the processing you are doing, I can't suggest anything to increase the speed.
    Vision Builder does not produce the most efficient code possible. It is likely that the algorithm could be improved, but this really depends on what you are doing. It is also possible that your acquisition could be what is slowing you down, especially if you are using Snap.
    Perhaps if you post the code generated by Vision Builder it will be possible to help you more.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • LabVIEW Scripting not showing up in NI License Manager

    I have installed LV Scripting but can’t seem to activate it.  It is not appearing in NI License Manger for some reason.  I am using LV 2012.  I have restarted both LV and the license manger without any luck.  I am using a volume license for my normal development, don’t know if this is causing issues. Am I missing something obvious here?
    Herrlin
    Just trying to spread the LabVIEW love.
    Solved!
    Go to Solution.

    This is my bad. Apparently you just need to enable VI Scripting from the tools->options menu under VI Server in LV 2012.
    Herrlin
    Just trying to spread the LabVIEW love.

  • Labview + scripting + HPGL , DXF , EDIF , CIF

    Hi everyone,
    I need to incorporate scripting functions in my labview application.
    Did anyone interface LV with the VBscript OCX or another programming
    language, such as Lisp or a C dialect? How ?
    Where can I find an example parser that would support loops and
    function definitions (any language)?
    Did anyone write a "compiler"/import utility for the following file
    formats: HPGL or postscript, AUTOCAD DXF, CIF, EDIF ... (public or
    commercial) ?
    Thanks,
    JN
    Sent via Deja.com http://www.deja.com/
    Before you buy.

    Hi,
    you should try the Tcl - Software at http://www.scriptics.com/. With
    this interpreting language you have the choice to access static
    variables that are defined anywhere in your dlls and extend the
    functionality of the script language by writing extensions in C. We
    implemented TCL in a automotive test stand environment and are moving
    more and more functionality to this language. It's so powerful and
    flexible...
    ....and it's public. You can adapt the source to your special
    requirements, if you want.
    JAK
    [email protected] schrieb:
    > Hi everyone,
    >
    > I need to incorporate scripting functions in my labview application.
    > Did anyone interface LV with the VBscript OCX or another programming
    > language, such as Lisp or a C dialect? How ?
    >
    > Where can I find a
    n example parser that would support loops and
    > function definitions (any language)?
    >
    > Did anyone write a "compiler"/import utility for the following file
    > formats: HPGL or postscript, AUTOCAD DXF, CIF, EDIF ... (public or
    > commercial) ?
    >
    > Thanks,
    >
    > JN
    >
    > Sent via Deja.com http://www.deja.com/
    > Before you buy.
    ======================================
    TECHNOGERMA Systems GmbH
    Dipl.-Ing. Jens-Achim Kessel
    Departement for Automation and Control
    D-64291 Darmstadt, Roentgenstr. 10a
    phone: ?++49> (6151) 35 14 85
    fax: ?++49> (6151) 35 15 58
    e-mail: [email protected]
    ======================================

  • Labview Scripting: Configurer le tracé des fils de liaison

    Bonjour,
    Suite à mon premier post: http://forums.ni.com/t5/Discussions-de-produit-de-NI/Cr%C3%A9er-des-r%C3%A9f%C3%A9rences-de-contr%C3...
    J'ai réussis à créer mes références de contrôles et à les insérer dans un tableau.
    Cependant les connexions entre ces références et le tableau sont faites au hasard:
    Je souhaiterai avoir des connexion dans ce style:
    J'utilise la methode "connect wire" pour créer mes connexions, mais je n'ai pas trouvé de methode qui permet de configurer le tracé des fils...
    Résolu !
    Accéder à la solution.

    Bonjour,
    C'est un peu brute de fonderie de déplacer chaque cable un après l'autre surtout quand il y'en a beaucoup comme dans ce cas précis.
    Le plus simple est de laisser LabVIEW gérer la disposition via la fonction Nettoyage du diagramme qui peut être effectuée uniquement sur les éléments sélectionnés, ainsi on a une seule partie (celle qui nous intéresse) nettoyée.
    Donc par Scripting on va sélectionner ce qui nous intéresse et le tour est joué.
    Voir l'exemple modifié ci-joint en 8.6 qui est lié à mon exemple précédent.
    Cordialement,
    Da Helmut
    Pièces jointes :
    vi.Create.Tableau.Ref.vi ‏57 KB

  • Labview update history

    Good morning.
    I am doing image acquistions with a Camera Link device. Last week I was able to run the VIs correctly. But today, there is something wrong. The images don't come correctly. I attached an image to this post. On this image you see a red circle on the right, and another gray circle with little rectangles on the left. I am supposed to get only the red circle, and not the gray circle on the left.
    Between last week and today, I did not change anything in the VI. It is exactly the same. So my guess is that there must have been a software update that is messing with the acquistion.
    I already uninstalled all Windows updates since last week, but the problem is still here.
    Is there somewhere I can find a list of updates I made to Labview with the "NI Update Service" in order to undo the last updates?
    Thanks a lot for your answers.
    Best Regards.
    Luc
    Solved!
    Go to Solution.
    Attachments:
    WrongImage.png ‏149 KB

    Luc,
    the "grey circle" looks more like some mirrowing during the acquisition of the image.
    Are you sure that the physical setup of the camera/lighting is still valid? Is there maybe some reflective material around?
    What about dirt on the lense?
    Also note that the image you attached is something which is already altered by vision functions. Is the mismatch already in the acquired image (as i suggest with my previous questions) or is it a result of the analysis functions?
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Scripting in LabVIEW

    Hi, could you please let me know what is the easiest scripting method that can be used in LabVIEW, we have engineers that know nothing about LabVIEW, they want an scripting language to do simple things like assignments , for loop, while loop and basic math functions such Mean . Is math script ( Matlab) the best choice?
    The problem I have with Math Script is , I think it is good for complicated mathematics but it can't be used as a command script for LabVIEW ?
    For example if I have this line in that scripting window
    vpp= 10
    then I would like to pass that value to a VI, if I don't have this line then there is no need to have that VI
    Is there any LabVIEW scripting language that can be good for this purpose?

    Thanks jcarmody and Yamaeda for your suggestions
    Before working on your idea about using Paython I would like to show you one example and if you think the toolbox can handle that I will continue
    This is one of the m files ( matlab ) provided by them:
    As you can see below they can call functions , use basic math functions and use basic commands such as if , for , while?
    They would like to have an environment like this but when for example they call a function I don't want to run a Matlab or Paython code. I want to run a SubVI which is specified for that command and then we goto to the second line and continue. SO everything should be implemented in LabVIEW but I want to give them this capability to write scripts (since they don't know LabVIEW) but everything should be execute in LabVIEW. Can the Paython toolbox give me this capability?
    If not do you have any suggestion
    vTest = 0.8; %default voltage value for current measurements is 0.8V
    end
    atpMode = 2;
    atpAddress = 3;
    tpCfg = 'ATP';
    tpAnaBuff = 'OFF';
    configATP(dutNum,ATPmode,ATPaddress,tpCfg,tpAnaBuff);
    %This function sets up the DUT test mode and test point
    vdd = [];
    vpp = [];
    configTIBVolt(vdd,vpp,vTest);
    % This funciton configures the analog voltages on the test interface board
    % Variables that are empty would retain their previous values
    bufferOn = 0;
    configDUTRelay(bufferOn);
    % This function configures the relay that selects the analog buffer on the
    % DUT board. For current measurements, the buffer should be bypassed
    k = 1;
    trimCode = 0;
    while(trimCode(k) < 8 && trimCode(k) > -9) %iBias Trim is 2's complement 4-bit
    numBits = 4;
    trimCode_twosComp = dec2twosComp(trimCode(k),numBits);
    % this function converts the decimal trimCode into its 4-bit two's
    % complement form since the iBias trim codes are in two's complement
    regData = ['xxxx',trimCode_twosComp];
    regAddr = 13;
    regReadModifyWrite(dutNum,regAddr,regData)
    % This function reads the register value, modifies only the selected bits,
    % (i.e. those that aren't 'x'), then writes back to that register.
    % This is to avoid overwriting unrelated bits in the same byte
    dutOut = 'CURR_MEAS';
    pxiAnaIn = 'CURR_MEAS';
    dutVpp = [];
    dutVdd = [];
    configTIBMux(dutNum, dutVpp, dutVdd, dutOut, pxiAnaIn);
    % This function configures the test interface board analog switches for
    % VDD, VPP, DUTout, and PXIanaIn
    % Variables that are empty would retain their previous values
    pauseTime = 1e-3;
    pause(pauseTime);
    % Wait for everything to settle.
    if( k>2 && direction(k)~=direction(k-1) )
    % If the sign of the error changed, then the best trim code is
    % either this one or the one just before it
    [Y, minIndx] = min(abs(iBias-targetIBias));
    % Finds the index with the min error
    iBiasTrimCode = trimCode(minIndx);
    iBiasMeas = iBias(minIndx);
    % assigns values to output variables
    trimCode_twosComp = dec2twosComp(iBiasTrimCode,numBits);
    regData = ['xxxx',trimCode_twosComp];
    regReadModifyWrite(dutNum,regAddr,regData)
    % write the best trim code t0 the DUT
    return
    % Exit the function
    end
    trimCode(k+1) = trimCode(k) + direction;
    k=k+1;
    end
    % If we've reached this portion of the code, then we failed to find an optimal
    % trim code. We should just return the last values, since these are as close
    % as we can get to the target (i.e. we're at the edge of the range)
    iBiasTrimCode = trimCode(end-1);
    iBiasMeas = iBias(end);

  • Matlab script no longer works after upgrade of matlab

    First of all im using labview 7.1.1 to execute a vi which uses some labview scripts to do the bulk of the number crunching and  labviews excellent interface.
    The problem happened when i recently was forced to use Matlab 7.1 R14 SP3 because some of my other routines required this.  After i had upgraded matlab and tried to run the labview vi, all i keep getting is an error no. 1050 from the matlab script object.
    Now the most infuriating thing about this is that it is such a non descript error, i mean , what does it actually mean? and as such i dont even know where to start in solving this problem.
    Has anyone solved this problem or indeed had it themselves, im at the end of my tether with it now.
    Thanks for your help
    Neil

    This is a known problem between different version of Matlab and LabVIEW. Mathworks changed the Matlab interface with version 7, which broke a lot of LabVIEW code. Which version of Matlab were you using before? You can try searching these forums for "matlab error 1050 labview" and you'll see what I mean. Typically he problem is the version of the matlab.dll that's in the LabVIEW installation directory. You can try the stuff suggested in this article.

  • Can I automate the creation of a cluster in LabView using the data structure created in an autogenerated .CSV, C header, or XML file?

    Can I automate the creation of a cluster in LabView using the data structure created in an auto generated .CSV, C header, or XML file?  I'm trying to take the data structure defined in one or more of those files listed and have LabView automatically create a cluster with identical structure and data types.  (Ideally, I would like to do this with a C header file only.)  Basically, I'm trying to avoid having to create the cluster by hand, as the number of cluster elements could be very large. I've looked into EasyXML and contacted the rep for the add-on.  Unfortunately, this capability has not been created yet.  Has anyone done something like this before? Thanks in advance for the help.  
    Message Edited by PhilipJoeP on 04-29-2009 04:54 PM
    Solved!
    Go to Solution.

    smercurio_fc wrote:
    Is this something you're trying to do at runtime? Clusters are fixed data structures so you can't change them programmatically. Or, are you just trying to create some typedef cluster controls so that you can use them for coding? What would your clusters basically look like? Perhaps another way of holding the information like an array of variants?
    You can try LabVIEW scripting, though be aware that this is not supported by NI. 
     Wow!  Thanks for the quick response!  We would use this cluster as a fixed data structure.  No need to change the structure during runtime.  The cluster would be a cluster of clusters with multiple levels.  There would be not pattern as to how deep these levels would go, or how many elements would be in each.   Here is the application.  I would like to be able to autocode a Simulink model file into a DLL.  The model DLL would accept a Simulink bus object of a certain data structure (bus of buses), pick out which elements of the bus is needed for the model calculation, and then pass the bus object.  I then will take the DLL file and use the DLL VI block to pass a cluster into the DLL block (with identical structure as the bus in Simulink).  To save time, I would like to auto generate the C header file using Simulink to define the bus structure and then have LabView read that header file and create the cluster automatically.   Right now I can do everything but the auto creation of the cluster.  I can manually build the cluster to match the Simulink model bus structure and it runs fine.  But this is only for an example model with a small structure.  Need to make the cluster creation automated so it can handle large structures with minimal brute force. Thanks!  

Maybe you are looking for

  • PO journal Remark problem

    Hi Experts,                   In our process the currency  of finished item is in GBP and the currency of child item is in INR. Now at the time of production order(closed) the journal remark of that finished item is not creating and actual component

  • Any advantages to using .mac vs. AIM account?

    I have both a .mac account and an AIM account. Currently I use my AIM account almost exclusively for iChat, and I was just wondering if there are any advantages to using my .mac over the free AIM. Also if friends of mine wanted to add my .mac name to

  • How to install an Edge file on Weebly

    Disclosure: I am an illustrator, not a web programmer, so please be patient. I use a drag-n-drop online website builder called "Weebly". It's a great, simple tool for building decent websites quickly and easily. There is a provision for custom HTML c

  • Ipod 5th generation sync's on other computer but not mine

    My Ipod wont sync and is not recognised by windows but I can select it to be safely disconnected, so something is recognising it. Other Ipod's are recognissed on my computer and other computers will recognise my Ipod. I have reinstalled the Ipod and

  • Open Diretory Migration 10.6 to 10.8

    Hi there,      I have a server with Open Directory on 1.0.6.8 Server i have +100 Users and i need to setup a secundary server but this server is a new macmini with 10.8 Server.      How can i export all user account with their passwords so the users