How do I create a constant in TestStand?

For example, if the symbolic value for the reverse gear on an automotive bus is 2, then I need a constant, REVERSE, that is accessible from all of the sequences in a file and cannot be changed from 2.  It is not obvious how to do this in the Variables tab.
Actually, I would like a way to share the constant among files - so it only has to be set in one place - and without using a Station Global because other projects may not use the same value for reverse, but I gather from my colleagues that NI's software doesn't normally offer that kind of flexibility.

Unfortunately TestStand doesn't have the ability to do constants unless you use a resource string.  But then you are stuck with a string type which is always easy to convert.
However, if you never assign that variable to anything and always just read it then you'll be fine.  But you have to have the wherewithal to assure that you don't assign it.  It actually is pretty easy to assign variables (e.g. Locals.Foo = 5)  And the thing is you can do this in any expression (which are scattered all over TestStand).  For instance each step has at least 3 expressions in the Pre, Post and Status.  So somebody could assign it and it wouldn't be easily recognized without doing searches and the like.
You are more than welcome to suggest this in the idea exchange: http://forums.ni.com/t5/NI-TestStand-Idea-Exchange/idb-p/teststandideas
Not sure if a product suggestion was ever made but you can also do that as well: http://forums.ni.com/t5/NI-TestStand/is-there-a-way-to-define-my-own-constants-in-teststand/td-p/735...
jigg
CTA, CLA
teststandhelp.com
~Will work for kudos and/or BBQ~

Similar Messages

  • How can I create a function using TestStand variables and call it from a step's Pre-Expression?

    In one sequence I have dozens of Pre-Expressions which are almost the same thing, like this...
    Locals.tagID = (Parameters.singlePhaseEnabled ? "L" : "D") & Str(Locals.phase) & "006"
    ...and the only thing different is that three digit string at the end ("006" will vary). How can I write a function that I can call from a step's Pre-Expression so it would look something like this? ...
    Locals.tagID = MyNewFunction("006")

    You cannot write custom commands for expressions.
    That being said, there are a couple of options:
    Create a subsequence with a single step. Use a parameter of the sequence as "function parameter".
    Create a custom step type including a substep module which implements the function. Add an edit substep to enable the user of the steptype to gracefully change the parameter.
    Store the variable parameter in a local/file global variable and modify the value in each step. This will, at least, keep the "function" the same for every step.
    Norbert

  • How do I create a constant current output with FP-AO-200, It uses an array as an input to the write vi for FP

    If i use a single value in the 1x array, I get a random pulse, Im assuming I need to do an infinite population of the array to give me a dc current? Any ideas

    The array input is supposed to contain a number of elements equal to the number of channels being targetted by the command. For example, if you write to "Channel 0" of a FP-AO-200, then you would have a single element in the array. Likewise, writing to the "All" channel means you need to have 8 elements in the array otherwise you will return error code 32800. The probable cause for you to see a pulse, is if you write a value in one interation of the loop, then on the next iteration write a 0.
    Regards,
    Aaron G

  • How can I create a Teststand (1.0.3 or 2.0) distribution without having all of the VIs (6.0.2 or 6.1) in the same directory?

    How would I create a Teststand distribution of LabVIEW VIs and maintain the test VI directory structure that I want?
    I know that I have to use the application builder to build the custom operator interface, configure it as an ActiveX server, and launch the Teststand engine installation.
    The only problem that I have is using the VI packager which puts all of the test code and sequences in a single directory.
    This gets quite messy. There are just over 1000 files in the neatly orgainzed directory structure that I have now. (this includes support files, dll's and such)
    I have read brief appnotes on configuring the ini file(s) to use
    the vi search path that I want, but have not been able to get this to work. Maybe I'm not updating the correct ini? or have to include each subdirectory?
    I have currently upgraded from LabVIEW 6.0.2 to 6.1
    I am currently using Teststand 1.0.3
    I have not upgraded to Teststand 2.0 yet because I have not decided if I want to build at this revision or go through the extra work to mass compile Teststand at LabVIEW 6.1, install the LabVIEW 6i VI Packager Fix, and update the new Teststand LV operator interface with my changes.
    At present, I'm not getting the results I want and am quickly running out of time. I have to deliver the project by the 14th of July 2002.
    Sorry for the long question and thanks for you help.

    Hi,
    I dont think the problem is really related to using the VI Packager but more to how the OI interface applications relates to labVIEW File constants.
    If you are using the LabVIEW as the ActiveX Server then there should be no problems. But if you are using the Runtime LabVIEW server such as 'TestStandLVRTS' then the file constant would return different paths.
    eg for the Default Path you would get 'C:\TestStand\Components\User\RuntimeServers\LabVIEW' instead of 'c:\Program Files\National Instruments\LabVIEW'.
    Attacted is an example to show how to change these paths when using your runtime server. Unzip this into your teststand examples folder
    Put the INI file in the location of the \user\runtimeservers\labview folder.
    Change the labview adapter t
    o use TestStandLVRTS.exe. You can run the example sequence from either the OI or seqeditor.
    I hope this helps
    Regards
    Ray Farmer
    Regards
    Ray Farmer
    Attachments:
    UsingLVOI.zip ‏20 KB

  • How do we create a PY Constant

    Hi,
    How do we create a PY constant in T511k table and how do we link that with a specific field of a screen.
    That means when we update the field of a screen then the PY constant should be updated.
    Kindly through some knowledge in this issue.
    Thanks,
    Tanu.

    Thanks for your valuable suggesstions.
    My requirement is like,
    I have to edit a PCR where the PY constant has required to be  compared with the existing value. For this calculation I need this constant( Value) to be in v_t511k table. I know we can create that in this table.
    I have created in the same procedure but when I changed some value in my required field in the  screen, the PY Constant is not been updated autometically.
    Do we have to create any link between them so the the constant is updated autometically or we need to update the constant each time in the t511k table.

  • How do you create an array without using a shell on the FP?

    I want to be able to read the status of front panel controls (value, control box selection, etc.) and save it to a file, as a "configuration" file -- then be able to load it and have all the controls set to the same states as were saved in the file. I was thinking an array would be a way to do this, as I have done that in VB. (Saving it as a text file, then reading lines back into the array when the file is read and point the control(s) values/states to the corresponding array element.
    So how do I create an array of X dimensions without using a shell on the front panel? Or can someone suggest a better way to accomplish what I am after? (Datalogging doesn't allow for saving the status by a filename, so I
    do not want to go that route.)

    Thanks so much m3nth! This definitely looks like what I was wanting... just not really knowing how to get there.
    I'm not sure I follow all the icons. Is that an array (top left with 0 constant) in the top example? And if so, that gets back to part of my original question of how to create an array without using a shell on the FP. Do I follow your diagram correctly?
    If I seem a tad green... well I am.
    I hope you understand the LabVIEW environment and icons are still very new to me.
    Also, I had a response from an NI app. engineer about this problem. He sent me a couple of VI's that he threw together approaching this by using Keys. (I still think you are pointing to the best solution.) I assume he wouldn't mind m
    e posting his reply and the VI's for the sake of a good, thorough, Roundtable discussion. So here are his comments with VI's attached:
    "I was implementing this exact functionality this morning for an application I'm working on. I only have five controls I want to save, but they are all of different data types. I simply wrote a key for each control, and read back that key on initialization. I simply passed in property node values to the save VI at the end, and passed the values out to property nodes at
    the beginning. I've attached my initialize and save VI's for you to view. If you have so many controls that this would not be feasible, you may want to look into clustering the controls and saving the cluster as a datalog file.
    Attachments:
    Initialize_Settings.vi ‏55 KB
    Save_Settings.vi ‏52 KB

  • How do I create a 1d array that takes a single calculation and insert the result into the first row and then the next calculation the next time the loop passes that point and puts the results in thsecond row and so on until the loop is exited.

    The attached file is work inprogress, with some dummy data sp that I can test it out without having to connect to equipment.
    The second tab is the one that I am having the problem with. the output array from the replace element appears to be starting at the index position of 1 rather than 0 but that is ok it is still show that the new data is placed in incrementing element locations. However the main array that I am trying to build that is suppose to take each new calculation and place it in the next index(row) does not ap
    pear to be working or at least I am not getting any indication on the inidcator.
    Basically what I am attempting to do is is gather some pulses from adevice for a minute, place the results for a calculation, so that it displays then do the same again the next minute, but put these result in the next row and so on until the specifiied time has expired and the loop exits. I need to have all results displayed and keep building the array(display until, the end of the test)Eventually I will have to include a min max section that displays the min and max values calculated, but that should be easy with the min max function.Actually I thought this should have been easy but, I gues I can not see the forest through the trees. Can any one help to slear this up for me.
    Attachments:
    regulation_tester_7_loops.vi ‏244 KB

    I didn't really have time to dig in and understand your program in depth,
    but I have a few tips for you that might things a bit easier:
    - You use local variables excessively which really complicates things. Try
    not to use them and it will make your life easier.
    - If you flowchart the design (very similar to a dataflow diagram, keep in
    mind!) you want to gather data, calculate a value from that data, store the
    calculation in an array, and loop while the time is in a certain range. So
    theres really not much need for a sequence as long as you get rid of the
    local variables (sequences also complicate things)
    - You loop again if timepassed+1 is still less than some constant. Rather
    than messing with locals it seems so much easier to use a shiftregister (if
    absolutely necessary) or in this case base it upon the number of iterations
    of the loop. In this case it looks like "time passed" is the same thing as
    the number of loop iterations, but I didn't check closely. There's an i
    terminal in your whileloop to read for the number of iterations.
    - After having simplified your design by eliminating unnecessary sequence
    and local variables, you should be able to draw out the labview diagram.
    Don't try to use the "insert into array" vis since theres no need. Each
    iteration of your loop calculates a number which goes into the next position
    of the array right? Pass your result outside the loop, and enable indexing
    on the terminal so Labview automatically generates the array for you. If
    your calculation is a function of previous data, then use a shift register
    to keep previous values around.
    I wish you luck. Post again if you have any questions. Without a more
    detailed understanding of your task at hand it's kind of hard to post actual
    code suggestions for you.
    -joey
    "nelsons" wrote in message
    news:[email protected]...
    > how do I create a 1d array that takes a single calculation and insert
    > the result into the first row and then the next calculation the next
    > time the loop passes that point and puts the results in thsecond row
    > and so on until the loop is exited.
    >
    > The attached file is work inprogress, with some dummy data sp that I
    > can test it out without having to connect to equipment.
    > The second tab is the one that I am having the problem with. the
    > output array from the replace element appears to be starting at the
    > index position of 1 rather than 0 but that is ok it is still show that
    > the new data is placed in incrementing element locations. However the
    > main array that I am trying to build that is suppose to take each new
    > calculation and place it in the next index(row) does not appear to be
    > working or at least I am not getting any indication on the inidcator.
    >
    > Basically what I am attempting to do is is gather some pulses from
    > adevice for a minute, place the results for a calculation, so that it
    > displays then do the same again the next minute, but put these result
    > in the next row and so on until the specifiied time has expired and
    > the loop exits. I need to have all results displayed and keep building
    > the array(display until, the end of the test)Eventually I will have to
    > include a min max section that displays the min and max values
    > calculated, but that should be easy with the min max function.Actually
    > I thought this should have been easy but, I gues I can not see the
    > forest through the trees. Can any one help to slear this up for me.

  • How do I create an ACR custom lens profile if camera exposure can't be set to manual?

    How do I create an ACR custom lens profile if camera exposure can't be set to manual?
    I ask this question for the Nokia 808 PureView 41MP camera. It produces stunning image quality but exposure can only be controlled via EV +/- compensation. I need a lens profile to correct for vignetting to get even skies in panorama (which turn out stunningly otherwise). There is no profile for the Nokia 808 PureView I am aware of and I'd like to produce one.
    Is the Adobe profile creator able to correct for varying exposure using EXIF or overlapping parts of the chart or background?
    Or would the Adobe profile creator ignore EXIF if I use studio flash to enforce a constant lightning situation, even if shutter speed would vary (aperture is constant and ISO can be set constant, just not the shutter speed)?
    Or did Adobe produce a profile internally they can share?
    Thanks.

    If you read the first post, this is the camera-app of a 41MP Nokia Pureview 808 camera-phone, so maybe someone could write a new camera app but the phone is Symbian OS which is dead, making that unlikely.
    http://www.digitaltrends.com/mobile/the-skeptics-guide-to-nokias-808-pureview-five-reasons -41-megapixels-are-not-a-gimmick/
    http://www.digitaltrends.com/mobile/the-nokia-lumia-820-and-lumia-920-too-little-too-late/
    It would probably be easier for Adobe to rewrite the LPC to allow vignetting to be computed from a single shot of a blank wall without a target in the shot, than to have someone rewrite a camera app that allows manual exposure.
    Another idea about how to get the phone to keep a constant exposure would be to experiment with putting darker and lighter objects in the field-of-view away from the target area to make the camera metering adjust things so it’s exposure is the same from one shot to the next.  This would take some doing but should work, unless the LPC uses the part of the frame that doesn’t contain the checkboard target in its computations.
    You’re basically varying the scene around the target so the camera takes the same exposure of the target each time.

  • How can I pass arguments to a TestStand sequence with LabWindows 6 ?

    Hi
    I have created sequences in a TestStand file.
    I want to program a sequence with Labwindows 6 which would call all these existing sequences (containing parameters).
    I don't have any problems to create the steps "SequenceCall" but i don't know how to pass arguments to the sequences with the TS API.
    I have used the look-up strings "TS.SData.SFPath", "TS.SData.SeqName", "TS.SData.ThreadOpt" to program the sequence file / sequence and the multithread option. But now how to program the arguments passing ? I think there is something with the lookup string "ST.SData.ActualArgs"...
    Thank u very much for any help

    I'm not sure if you want to pass values from TestStand to LabWindows or if you want to pass values in TestStand from a sequence call step to a called sequence.
    To get TestStand variables from LabWIndows, use the following function:
    tsErrChk (TS_PropertyGetValNumber(testData->seqContextCVI, &errorInfo, "Locals.StartPoint", 0, &dStartPt));
    iStartPt = (int)dStartPt;
    The TS_PropertyGetValNumber gets the TestStand variable Locals.StartPoint and puts it into the LabWindows variable called dStartPoint. Numbers to and from Test Stand are always a double type. The next line converts it to an integer.
    To put a LabWindows value to TestStand, use TS_PropertyPutValNumber.
    To pass values from a sequence call step to a called sequence, create variables in the Parameters t
    ab on your main sequence. Create same variables on the Parameters tab of the called sequence. In main, specify module to be called in calling step. There is a paramters section on the Edit Sequence Call dialog box which appears. Check the Use Prototype of the Selected Sequence box. You can then list all the parameter variables in the parameters section.
    Hope this is what you want.
    - tbob
    Inventor of the WORM Global

  • How do I create an array of results?

    I'd like pass an array with test results to LabVIEW code for csv writing. How can I do it? I'd would also need arrays with limits. Something like this does not exist, correct? How do I create it. Do I use a looping option in the test? I cannot find a numeric value of number of tests in the sequence. How do I query if the current test (in a loop) is numeric?
    Thanks

    Thanks all for responses.
    What I need to do is create a custom csv file. It needs a header, that contains all low and high limits and all parametric results.
    Once the testing is finished I need to gather all limits and results (presumably in an array) and pass it on to my LabVIEW code that will peform the actual csv file generation. I do not know how I can iterate through all TestStand tests, check if given test is numeric, an if so extract both limits and the test result and store it in an array. Once done, I will pass it as an argument ot my LabVIEW code.
    I understand that I can use TestStand API in LabView, can you point me to some examples? It is not clear to me after studing help files and reading TestStand manuals.
    Thanks for help
    CT.

  • Create array varible in TestStand 4.0

    Hi  gurus,
           I have a doubt that how can we create Array of string in TestStand 4.0 using C#.NET environment.
    I used following method, but failed to create array:
    objPropertyObj.SetValStringByOffset(10,PropertyOpt​ions.PropOption_InsertIfMissing,"SRU"); // exception here....
    The other following method creates array with empty size:
    objPropertyObj.NewSubProperty("SUBSTITUTE.SRU", PropertyValueTypes.PropValType_String, true, "Arrayw",10 );
    Please let me know how to set the length of the array at second method.
    Thank you,
    regards
    RKK

    You should post to the TS board.
    Try to take over the world!

  • How to setup auto paddle & constant speed for ball

    I wanted to setup an automatic paddle so that this game will works as a one-player game. I have 3 files here. Ball.java, Play.java and pong.java.
    My code below doesn't seem to get the paddle moving at all. How can I do so? What's my mistake or how should I do it correctly?
    Pls help....:(
    Also the ball runs faster and faster after each volley and the ball deflects at a smaller x-axis angle after hitting the rightWall & leftWall. How can I get a constant velocity as well as a more balance deflection??
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Toolkit;
    import java.awt.event.ItemEvent;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionListener;
    import java.awt.geom.Rectangle2D;
    import javax.swing.JButton;
    import javax.swing.Timer;
    import javax.swing.JPanel;
    import java.awt.*;
    import java.awt.event.*;
    class Play extends JPanel implements ActionListener, MouseMotionListener, ItemListener {
         private double maxX,maxY,y; // dimensions of the surface of play
         private double heightP,widthP,semiWidthP; // dimensions of the paddle
         double thickness = 10; // thickness of the walls, ceiling and floor
         private Toolkit tk;
         private Ball ball; // graphic objects
         private Rectangle2D user_paddle,computer_paddle, leftWall, rightWall, exitA, exitB;
         private Timer timer; // objects of interaction
         private JButton button, reset;
         private int countA, countB;
         int computer ;
         int user;
         TextField userscore = new TextField(4);
         TextField compscore = new TextField(4);
         Thread t = null;
         Play(Ball ball,Timer timer,JButton button, JButton reset) {
              this.ball=ball;
              this.timer=timer;
              this.button=button;
              this.reset=reset;
              userscore.setEditable(false);
              compscore.setEditable(false);
              // dimensions of the applet
              this.maxX = getSize().width;
              this.maxY = getSize().height;
              tk = getToolkit();
              // paddle
              semiWidthP = ball.getDiametre()/2;
              widthP=semiWidthP*2;
              heightP = 50;
              user_paddle = new Rectangle2D.Double((maxX-thickness-heightP)*0.05,(maxY)/4,
              semiWidthP,heightP);
              computer_paddle = new Rectangle2D.Double((maxX-thickness-heightP)*1.03,(maxY)/4,
              semiWidthP,heightP);
              // borders
              exitA = new Rectangle2D.Double(0,0,thickness,maxY);
              exitB = new Rectangle2D.Double(maxX-thickness,0,thickness,maxY);
              rightWall = new Rectangle2D.Double(0,0,maxX,thickness);
              leftWall = new Rectangle2D.Double(0,maxY-thickness,maxX,thickness);
              // to indicate that the movements of the mouse will be listened to
              addMouseMotionListener(this);
         }//end of Play
         // to adjust the graphic objects if the play changed dimension
         public void updateWall() {
              double maxX=getSize().width, maxY=getSize().height;
              if(this.maxX!=maxX ||this.maxY!=maxY){
                   this.maxX=maxX;
                   this.maxY=maxY;
                   user_paddle.setFrame((maxX-thickness-heightP)*0.05,(maxY)/4,semiWidthP,heightP);
                   //computer_paddle.setFrame((maxX-thickness-heightP)*1.03,(maxY)/4,semiWidthP,heightP);
                   exitA.setFrame(0,0,thickness,maxY);
                   exitB.setFrame(maxX-thickness,0,thickness,maxY);
                   rightWall.setFrame(0,0,maxX,thickness);
                   leftWall.setFrame(0,maxY-thickness,maxX,thickness);
         }//end of UpdateWall
         // posting of the contents of the screen
         public void paintComponent (Graphics g) {
              super.paintComponent(g);
              Graphics2D g2D = (Graphics2D)g;
              updateWall();
              paintPad(y);
              //g2D.drawString(ball.getX()+","+ball.getY(),10,15);
              g2D.drawString("Player A: "+ countA,10,20);// drawString update scores
              g2D.drawString("Player B: "+countB,500,20);
              g2D.fill(exitA); g2D.fill(exitB);
              g2D.fill(rightWall);
              g2D.fill(leftWall);
              g2D.setColor(Color.blue);
              ball.toPost(g2D);
              g2D.setColor(Color.red);
              g2D.fill(user_paddle);
              //g2D.fill(computer_paddle);
              g2D.setColor(Color.gray);
              g2D.drawLine(300,0,300,400);
              while( t!=null) {
                   try     {
                        t.sleep(10);
                   catch(InterruptedException e) {}
         }//end of paintComponent
         private void bip(){
              tk.beep();
         public void itemStateChanged(ItemEvent ev) {
                   Object sc = ev.getSource();
                   boolean on =ev.getStateChange()== ItemEvent.SELECTED;
         //treatment of the Action Vents of Timer
         public void actionPerformed(ActionEvent e) {
              double dx = ball.getDx();
              double dy = ball.getDy();
              // to move the ball//
              ball.toGoA(ball.getX()+ball.getDx(),ball.getY()+ball.getDy());
              // checking of a change of direction (with acceleration...)
              if(ball.intersects(leftWall) || ball.intersects(rightWall)){ // striking with dimensions
                   ball.setDy(dy>0 ? -(++dy) : -(--dy));
                   bip();
              else if((ball.intersects(user_paddle)) || (ball.intersects(computer_paddle))){
                   ball.setDx(dx>0 ? -(++dx) : -(--dx));
                   bip();
              else if((ball.intersects(leftWall)||ball.intersects(user_paddle)) || (ball.intersects(leftWall)||ball.intersects(computer_paddle))){
                   ball.setDx(dx>0 ? -(++dx) : -(--dx));
                   bip();
              else if((ball.intersects(rightWall)||ball.intersects(user_paddle))||(ball.intersects(rightWall)||ball.intersects(computer_paddle))){
                   ball.setDx(dx>0 ? -(++dx) : -(--dx));
                   bip();
              else if(ball.intersects(exitA)){
                   ball.toHide();
                   button.setText("Start");
                   timer.stop();
                   ++user;
                   paintC(computer, user);
                   //++countB;
              else if(ball.intersects(exitB)){
                   ball.toHide();
                   button.setText("Start");
                   timer.stop();
                   ++computer;
                   paintC(computer, user);
                   //++countA;
              paintPad(dy);
              repaint();
         }//end of actionPerformed
         public void setTextFields(TextField c1, TextField c2) {
              compscore=c1;
              userscore=c2;
         public void paintC(int computer, int user) {
              compscore.setText( " " + computer );
              userscore.setText( " " + user );
              compscore.repaint();
              userscore.repaint();
         public void paintPad(double y){
              computer_paddle.setFrame((maxX-thickness-heightP)*1.03,y-semiWidthP,semiWidthP,heightP);
              while( t!=null) {
                   try     {
                   t.sleep(10);
                   catch(InterruptedException e) {}
              //computer_paddle.setFrame(computer_paddle.getX(),dy-semiWidthP,semiWidthP,heightP);
              repaint();
         // draft displacements of mouse
         public void mouseDragged(MouseEvent ev){// ignore
         public void mouseMoved(MouseEvent ev){
         // replace X by making sure that one remains in the terminals of the applet
              double dy = ball.getDy();
              double px = Math.min(maxY-thickness,
              Math.max(ev.getY(),semiWidthP+thickness));
              user_paddle.setFrame(user_paddle.getX(),px-semiWidthP,semiWidthP,heightP);
              repaint();
    }

    Hi,
    For creating the deliveries automatically you can use the T.code VL04 in the b/g or run the program RV50SBT1 in the b/g every 2 hours. This can be done using T.code SM36, this is where you set up the job. Here you can specify the details and the timing.
    For creating the TO's for the delivery, either you do it through the config setting or run a similar job in the b/g and TO's should be created automatically.
    For some reason if you find deliveries are not created you may use V.22 and give the Log number(which you will get from the job log) and see the reasons for delivery not being created.
    hope this helps.

  • How do I create a print button to print a specific range of the document.

    How do I create a print button to print a specific range of the document.  I've found JavaScript to print a specific page, but a range or even multiple ranges.  Form is created in Adobe 9 Pro.  Any help would be truly appreciated! 

    Sure, I'll give it a test.  Its just that I have a 128 page form that not all of it needs to be printed.
    Currently,  I have an index page where I want to set up a print button queues per form, however there are several form scattered throughout the document that make up a specific section, but it does not require printing the entire document.  Does that make sense?
    I did find this JavaScript during my reseach, but have not be able to get it to work.
    var pp = event.target.getPrintParams() ;
    pp.interactive = pp.constants.interactionLevel.full;
    pp.printRange=[[1, 1], [3, 4]];
    event.target.print(pp);

  • How can I creat or open an excel file in labview?

    I am using Labview 7.1 and report generation toolkit. I got the example code from this address :"Creating a report in Microsft excel using the labview report generation toolkit"
    But seems this example only can creat report when the excel file exist, otherwise it will get error code 7.
    How can I creat a new file if it doesn't exist and open the file if it exist? Can I creat a report without openning excel because I need to creat more than one report and check it after the test.
    Thanks

    Simply use the "Open/Create/Replace File.vi, and wire a constant "Create / Replace".
    Wire a path/filename and make sure the name ends with the extention .xls
    If you have multiple lines (likely), place aech line in an array and use the "Array to Spreadsheet String.vi" before sending it to "Write to file.vi". Don't forget to close the file.
    Hope this helps..
    JLV

  • How can i create a .mov file from image sequence with different durations

    how do u create an image sequence with different durations? image one stays for 10 seconds and image two may stay for 30 and so on. each one has a custom duration. can this be done with an apple script or a text file saved as an mov file?

    Hello Omar,
    The example code Programmatic Printing of TestStand Reports - Modular contains a sequence that will convert an XML file to an HTML file given the XML file's path and the path to the stylesheet.  It may need to be altered to fit with the modifications you have already made to the report generation routines, but I think it should definitely get you off on the right foot.  Let me know if you have any questions!
    NickB
    National Intruments

Maybe you are looking for

  • Windows Error 48 Ipod can't update

    Anybody know how to fix this problem Everything has worked fine for about 3 weeks. Connected Ipod Nano 4gb to Itunes tonight and got message "Error 48 - Problem with Ipod cannot update Ipod". Only solution I could find was to reset Ipod and reload al

  • Reading Health XML files

    I was able to export info from the Health app and got 2 files - export.xml and export_ca.xml. Unfortunately, any app that I can get to open the XML file is just a list of delimited information. I can read in a text editor but can not import into Numb

  • Trouble importing photos to iPhoto '11

    I import a group of photos - in my albums it shows the album there with 13 photos. I can sweep across the album and see the photos in there. But when I double-click on the album it shows no photos. I sign off, sign back on - the imported album is gon

  • Structure of nested table

    Plz tell me how to see the structure of a nested table by using 'describe' command.

  • Atomatic start of AS

    Dear Friends, I am fetching problem to start ny DB and AS automatically. I am with poor knowledge of Linux. Sombody please help me. I have created a script in /etc/init.d dbora file but it is not starting automatically. but if I paste it in terminal