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]
======================================

Similar Messages

  • 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.

  • 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.

  • 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

  • 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: 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

  • 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!  

  • Using "getf" command in Scilab-LabVIEW Gateway

    I am having trouble using the "getf" command in the Scilab-LabVIEW Gateway.
    I would like to load an external Scilab function using the LabVIEW script
    node and perform an operation with it.
    In Scilab, the following code works correctly:
                                 scilab-4.1.1
                          Copyright (c) 1989-2007
                      Consortium Scilab (INRIA, ENPC)
        Startup execution:
          loading initial environment
        -->getf "C:/program files/scilab-4.1.1/macros/dec2bin.sci";
        -->dec2bin(10,4)
         ans  =
          1010
        -->    
    However, when I execute the same code in the Scilab-LabVIEW Gateway, I
    receive the error:
        Error 1048 occured at LabVIEW:  LabVIEW failed to get variable from
        script server. Server:"" in Untitled 1
        Possible Reason(s):
        LabVIEW:  LabVIEW failed to get variable from script server.
    Is it possible to use "getf" in the Scilab-LabVIEW Gateway?
    Thanks,
    Joe
    Attachments:
    scilab_terminal.JPG ‏29 KB
    labview_scilab_error.JPG ‏28 KB

    Hi,
    You may want to contact the persons responsible for creating the Scilab to LabVIEW Gateway.  I have seen this error with scripts usually when it is required to have user inputs and have the user interact with the program.  Sometimes fixing this problem is if you associate the variable being called to an input in LabVIEW.
    I hope this helps,
    Regards,
    Nadim
    Applications Engineering
    National Instruments

  • How to make a video in Labview that sync with scenario data?

    Hi guys,
    I am doing a program that shows the scenario data of a satellite at different positions. (For eg, at the position nearer to sun, the temperature data is higher.....)
    To make the front panel more interesting, I am thinking to add in a video of a satellite orbiting the Earth. The video has to sync with the data I am showing.
    The orbital time of my satellite is 90 minutes = 5400 seconds. If I am going to use the picture ring control method, I have to import 5820 frames of pictures into the picture ring control. My understanding is that each time the user can only import one image (correct me if I am wrong). That would mean I have to import the pictures for 5400 times. 
    Is there any other way to do this? I do not want to waste my time on importing so many images.
    Vanessa
    Solved!
    Go to Solution.

    Okay there are many ways to do this, and I'm not certain which would be less work.
    One option would be to have a picture ring, with 5820 individual images that you then pick which one to display as an index.  If you were to do this I'd recommend some LabVIEW scripting to create the control, importing the images programatically.  I think memory wise storing these images in this control would be very difficult for LabVIEW, but it could be done.
    What I think would be a better option, is to use a single 2D Picture control, and then load a new image from disk (where I hope these images are stored).  You then just load the right image for the right time.  Look under the Graphics and Sound >> Graphics Format to see how to open a file from disk.  This path will change for each image.
    EDIT:  Here is an old link that is still relavent http://digital.ni.com/public.nsf/allkb/328AF568F15B36328625696200511EF0
    DOUBLE EDIT:  Really?  Scripting doesn't allow importing pictures?  Well there is likely a work around but that sucks go vote for it here.
    http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Easy-Picture-Ring-filling/idi-p/3072297
    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.

  • LabView 7.1 and MAX problems after installing and removing LabView 8.2

    Hi all,
    I came into a research lab and am using computers/programs set up by lab members in the past. We have been running LabView 7.1 on a Fujitsu P8020 laptop (its about 6 yrs old maybe?). Recently, we decided to install LabView 8.2. However, we could not get our program to work properly on v8.2, so we did a system restore to return the computer to its v7.1 settings. This seems to have been a bad idea.
    Now, after the system restore, when opening the Measurement and Automation Explorer (it is v3.1), I get a message that "NIMax has encountered a problem and needs to close - we are sorry for the inconvenience". Additionally, when opening the labview script that had been working on v7.1 prior to 8.2 installation, it appears that certain VIs are missing, since it is asking me to "please find the VI named "xxxx.vi".
    I would greatly appreciate any thoughts/help with this. I worry that fumbling around witht his by myself would only exacerbate problems.

    RubbahSlippah wrote:
    Hi all,
    I came into a research lab and am using computers/programs set up by lab members in the past. We have been running LabView 7.1 on a Fujitsu P8020 laptop (its about 6 yrs old maybe?). Recently, we decided to install LabView 8.2. However, we could not get our program to work properly on v8.2, so we did a system restore to return the computer to its v7.1 settings. This seems to have been a bad idea.
    Now, after the system restore, when opening the Measurement and Automation Explorer (it is v3.1), I get a message that "NIMax has encountered a problem and needs to close - we are sorry for the inconvenience". Additionally, when opening the labview script that had been working on v7.1 prior to 8.2 installation, it appears that certain VIs are missing, since it is asking me to "please find the VI named "xxxx.vi".
    I would greatly appreciate any thoughts/help with this. I worry that fumbling around witht his by myself would only exacerbate problems.
    Go to Control Panel --> Add or Remove Programs and click on National Instruments Software.  Click the Change button.  Repair all the stuff you find.  (Be sure to have the CDs ready!)  Hopefully it will get you back where you need to be.
    I'm curious - did you try a mass compile after you upgraded to 8.2?  There were fundamental differences between the two versions and a mass compile could've helped...
    Bill
    (Mid-Level minion.)
    My support system ensures that I don't look totally incompetent.
    Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

  • Seeking Labview/C/C++/Linux/Telecom Test Automation Engineer in the Denver Area

    http://www.aircell.com/company/careers/senior-test-automation-engineer-0
    The Senior Test Automation Engineer will be responsible for leading the development of test automation tools, selection of new test technologies, and automation of new and existing hardware and software test cases, supporting multiple engineering teams.  In addition, this position is responsible for on-going training and test automation tool skill development for other Aircell Test Engineers.  In addition to doing hands-on development, this individual will manage tools development projects and lead a team.
     Fluency in Python and LabView scripting, development in Linux operating system environment, and Unix shell;
    • Software configuration management skills and tools, Subversion experience preferred;
    • Strong background in communication protocols including use of protocol analysis tools
    • Leadership skills including team and project management;
    • Data networking administration skills;
    • Industry experience in wired and wireless data communication and telecommunication and VoIP/SIP;
    • Linux server, SVN and HP Quality Center administration skills a strong plus;
    • C/C++ and Java development skills a plus

    Dearest Friend,
    I AM most interested in this position. PLEASE forward, to, me the (MAIL ID) ID for which I send the RUSME for this position and attacha lll conntact detailes available at this time.
    We are requiiring you prom,t and cisrterous replies to this topic . 
    I have immense and broad knowledge in the LAVIEW DISTRICT
    Many Greatful Thanks to you and all,
    Sajib Nowdhury

Maybe you are looking for