LabView code module to perform simple pass/fail *IDN? query?

LabView 7.1, TestStand 3.1, NI PCIGPIB board controlling a communications service monitor and a power supply. I'm having problems with my application sync correctly between the service monitor and GPIB board. I suspect the driver. Does anyone have a simple LabView code module to perform a *IDN? with a partial (in case they change firmware versions)string comparison that I can use in a TestStand seq. At this point if failure I could pop-up and tell operator to abort test and reboot instrument. (only way I've found to clear the buffer). Note: At times this app works fine and is inconsistant in failure times/rates.
Sorry so wordy and thanks in advance.
Using LabVIEW 2010SP1 and TestStand 4.5

Thanks for the reply Craig.
I've found I can perform a *IDN? using the Instrument I/O Assistant.vi. Ive placed this on a new block diagram and am changing it as I need. I've found in this particular case the *IDN? yields 3 tokens one of which I can use to perform a string comparison on. This will give me a boolean which I can wire to the pane for use by TestStand.
Using LabVIEW 2010SP1 and TestStand 4.5

Similar Messages

  • Able to help me find a template LabVIEW code to pilot a simple autonomous robot?

    We are using XP operating sytem and LabVIEW to power a tetrix/NXT kit and both of us are beginner programmers (still learning how to move this thing forward.) Is there some existing code temple we could learn fromand adapt to our robot, which will use ultrasonic, light, & touch to find its way through a maze?
    Thanks!

    I don't know if you are familiar with it, but there is a forum on this site devoted to Lego Mindstorm/NXT issues where I would guess more NXT "experts" hang out. It is located at :http://forums.ni.com/t5/LabVIEW-Education-Edition/bd-p/460, since I can't seem to embed the link.
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

  • Sequence File Documentation adding code module inputs/outputs

    Hi there,
    I would like to document my sequence file. I have used the TS tools| Sequence File Documentation which works fine but I would like to add more information like the code module input and outputs.
    I am using LabVIEW code modules.
    How can I access the VI Parameter table: parameter name, type, in/out and value and then add them to docgen_txt.seq ?
    Any suggestion would be much appreciated.
    Thanks in advance..
    Marken

    Hi Marken
    In this thread there is an example how to create a LV-Module dyamically. Accessing the LV-Parametertable is a sub topic there.
    http://forums.ni.com/t5/NI-TestStand/Create-a-LabVIEW-Step-dynamically/m-p/977348#M25792
    Hope this helps,
    Regards
    Juergen 
    =s=i=g=n=a=t=u=r=e= Click on the Star and see what happens :-) =s=i=g=n=a=t=u=r=e=

  • In LV, using TS API, how do I specify the VI module for a Pass/Fail step?

    I am writing a LabView VI which will let a user write a TestStand sequence. Each step in the seq is the same type, a Pass/Fail test. I need to specify for each step the LabView VI module location, and an input buffer. I am having difficulty finding out how to specify the module for the step using the TestStand API in LabView. How to do this????

    Hi Drew,
    I think Dennis might have come at this from the wrong angle.
    Have a look at the example that ships with TestStand under
    \Examples\SequenceBuilderTool\LabVIEW
    This might give some clues, but I'd suggest posting this question over to the TestStand discussion Forum as suggested by Dennis.
    There'll be a few more people there who can help a bit more in-depth
    My personal suggestion is to create a custom step type that calls the .vi's and then you can create the steps in a new sequence file using your tool easily. This could be cumbersome for you if you already have a lot of steps setup.
    Better then to create a resource to get the steps out of to clone them by creating a sequence file which is full of your steps. When you have a handl
    e to a cloned step, you can change properties about it in memory, before putting it into the sequence (i.e. change it's name and stuff)
    Otherwise you need to get the type and create a new step of this type.
    If all you're stugling with is the module to call, then for the step you have a handle to, change the
    you can either change the "Step.TS.SData.ViPath" as a string (TestStand set property value String with a reference to the sequence_context) or if you wanted to bring up the specify module dialog, if you have a handle to the step itself, call the method SpecifyModule.
    Hope that helps
    Sacha.
    // it takes almost no time to rate an answer

  • SCORM - Simple Quiz - Pass/Fail Only

    Flash CS4
    AS2
    Good Afternoon,
    I've created a simple multiple choice quiz in Flash.
    I was wondering if anyone could point me to some resources for writing a simple SCORM wrapper, and the accompanying AS2 code.  This is only going to report a pass/fail to the LMS - that's all - nothing more at this point.  I'm hoping there should be a simple tut on this, as I said, it's pretty straight forward.
    Thank you!
    Actus

    I have a tutorial here:
    http://pipwerks.com/2008/04/27/how-to-add-basic-scorm-code-to-a-flash-movie/
    It uses a custom (and free) SCORM ActionScript class and JavaScript wrapper so you don't need to write your own.
    The tutorial uses SCORM 2004, but the JavaScript wrapper and ActionScript classes are version-neutral (works for SCORM 2004 and 1.2). There are two versions of the ActionScript class available: one for AS2 and one for AS3.
    You can download the wrapper files here:
    http://pipwerks.com/downloads/
    - philip

  • How can I install (download) a Labview FPGA code onto Altera FPGA chip using Labview FPGA module?

    Hi there
    Guys i'm a very new labview user (PhD student), my project is about ( design and implementation of a high speed-yet sophisticated system using Labview environment then install this project's code (using Labview FPGA module) onto Altera-made FPGA chip).
    so kindly, can any body help me in this?...is there any way to connect labview with Altera FPGA?...please anything would be said 'd be of great benifits
    thanks a lot in advance.

    as previously mentioned, labview fpga only supports national instruments targets utilizing xilinx fpgas. the hdl generated by labview fpga is encrypted and cannot be used to synthesize a design outside the labview fpga design flow. 
    however, if you must use labview for your project, it might be possible for you to design the system in labview and use one of the labview embedded modules ( http://www.ni.com/embedded )to generate c code which you can then port to systemc and compile for the altera fpga. i'm not saying it will be easy, but it should be possible. 

  • Process sampled data and perform simple calculation to by pass Matlab?

    I have files that contain large number current samples (like 300,000 for example). I need them to performing simple calculations (for example to calculate energy).
    Before, I used Matlab to load all those samples into array and to do all calculations there.
    However... that process is kind of slow. What can I use to simply this and replace Matlab by some script?
    Can I use perl or php to perform this operation on set of sample files to spit out final calculation values into new file?
    Last edited by kdar (2012-05-11 13:21:05)

    I'm surprised no one has suggested numpy and scipy, which are modules for python 2. They have syntax that's similar to mattlab, they're very fast, and python is useful in other circumstances and easy to learn.
    I did something similar for spectral data. Here's an example of what I did in python:
    #!/usr/bin/env python
    #This program goes through rayleigh line data and finde the mean shift
    #in nanometers and the standard deviation
    import sys, os
    import numpy as np
    import scipy as sp
    import scipy.optimize as op
    import time
    ray = []
    filenames = []
    line = 633
    def rs(wavelength,laser):
    return ((float(1)/laser)-(float(1)/wavelength))*(10**7)
    def main(argv): #Goes through a file and finds the peak position of the rayleigh line
    f = np.loadtxt(argv).transpose() #opens the file
    maxi = np.amax(f[1]) #Finds the value of hte peak of the rayleigh line
    intensity = [f[1,i] for i in range(len(f[1]))] #extrants the array into a list
    indi = intensity.index(maxi) #Finds the index of the rayleigh line
    ray.append(f[0,indi])
    filenames.append(str(argv))
    # Goes through each file named in the CLI call and applies the main function to it
    for filename in sys.argv[1:]:
    main(filename)
    # Use numpy for some basic calculations
    mean = np.mean(ray)
    StandardDeviation = np.std(ray)
    median = np.median(ray)
    variance = np.var(ray)
    ramanshift = [rs(ray[i],line) for i in range(len(ray))]
    rsmean = np.mean(ramanshift)
    rsSD = np.std(ramanshift)
    rsmedian = np.median(ramanshift)
    rsvariance = np.var(ramanshift)
    tname = str(time.asctime())
    # Write all calculations to a file
    output = open('rayleigh_'+tname+'.dat','w')
    output.write('#The files used for this compilation are:\n')
    for i in range(len(filenames)):
    output.write('#'+filenames[i]+'\n')
    output.write('The wavelengths of the Rayleigh line are (in nm):\n')
    for i in range(len(ray)):
    output.write(str(ray[i])+'\n')
    output.write('The raman shifts of the rayleigh line for '+str(line)+'nm are (in rel. cm^(-1):\n')
    for i in range(len(ray)):
    output.write(str(ramanshift[i])+'\n')
    output.write('Mean = '+str(mean)+'nm, or '+str(rsmean)+' rel. cm^(-1)\n')
    output.write('Standard Deviation = '+str(StandardDeviation)+' nm, or '+str(rsSD)+' rel. cm^(-1)\n')
    output.write('Median = '+str(median)+'nm or, '+str(rsmedian)+' rel. cm^(-1)\n')
    output.write('Variance = '+str(variance)+'nm or, '+str(rsvariance)+' rel. cm^(-1)\n')
    output.close()
    Last edited by Yurlungur (2012-05-13 21:14:54)

  • LabVIEW FPGA Module Error Code 10 when creating bitfile

    I am recieving the following error message when trying to compile a vi:
    Internal Error
    An internal LabVIEW FPGA Module error occurred at the following stage: Creating Bitfile.
    Error Code: 10
    Error Text: Create Folder in nirviRecursiveCreateFolder.vi-
    >nirviRecursiveOpenFile.vi->nirviWriteBitFileInformation.vi-
    >nirviCompileDownload.vi->hardware_template.vi
    If this problem persists, please contact National Instruments.
    Any help would be appreciated.  I am not very familiar with LabView, and am trying to run code generated by a grad student several summers ago.  If more information is needed, let me know and I will try to provide it.
    Thanks

    Arkolbus-
    It sounds like the compiler is having some trouble creating a folder that it needs to generate the bitfile.  First, check all of the usual things: are you an administrator? do you have worte access to the "FPGA Bitfiles" folder in your project?
    If it looks like you should be able to write the file, you can try posting your project (zipped) and let someone on the boards try to compile it (be sure to let us know what the versoin is). If we can compile it without issue you may want to try repairing your FPGA module installation.
    Xaq "Bulldozer"

  • How do i configure a FOR loop to have the behavior of the step Loop Type: Pass/Fail count?

    Hello,
    I'm using the Pass/Fail count set to one Pass to capture an event generated by my DUT.  I originally used a numerical compare step with the Looping type of Pass/Fail count to accomplish this.  Unfortunately the implementation changed and now I need to execute a few steps that can not be combined within one code module as before. Nor can these steps be put into a subroutine.  One of the steps executes a .NET asembly and I haven't figured out how to pass the reference to the subroutine.  When the subroutine is intered the reference is lost and the methode does not execute correctly.
    I have an evaluation function the exits the loop when the expected conditions are met. Everything works except for the Overall Pass/Fail result of the For loop.  If the loop exits due to the first numerical compare test passing, I want the loop overall execution to report as "Passed".  If the loop reaches it's predetermined number of iterations, the overall result needs to report as "Failed".  It would also be nice to have the radio button functionality of "Record Result of Each iteration".  Some conditions require a wait over a minute for the event to occur and I don't want to generate needless data for the report.
    Currently I get the pass/fail status for each For loop iteration, but only "Done" for each loop iteration.  I don't want the initial few failures to cause the test to fail.
    Does anyone know how to do this? Suggestions?
    Thanks,

    I have 2 steps in the loop that can not be combined into one step. This forces me to implement the behavior in some form of loop.  A While Loop could be an option.  I would need to pass the Step.Result.Status from the Multiple Numerical compaire step to the condition of the While Loop.  I tried to use the Step.TS.ID without success.  Some form of reference to the numerical compare step would be needed. I'm using a For Loop as I do want to limit the number of iterations of the loop.  In the case where the loop iterations are reached, the event I am trying to detect did not occur at the correct time and a failure needs to be reported.
    I came up with something based on my comments in the second post:
    1) To start with I configured a Locals.ForLoop_5 variable.  This is used to set the limit on the loop iterations and for comparison after the loop has finished executing. More on that later.
    2) The first step inside the loop invokes a method within a .NET assembly that has been packed in a DLL This method gets the required data from the DUT and stores it to a text file.
    3) The next step is the Multiple Numeric Limit step.  This step invokes a VI that extracts the data from the text file.  This step has been customized in several ways.
      i)  In Run Options, the Results Recording Option was disabled.  This prevents recording of "Failed" while the loop executes when waiting for the event to happen.
      ii) In Run Options, the Step Failure Causes Sequence Failure is unchecked.  Same reasoning as i)  These steps are not true failures.
      iii) A Post Action is configured to go to the nexxt step after the For Loop End step On Condition True with the logic of Step.Result.Status == "Passed".  This causes the loop to exit when the first "Passed" is encountered which corrolates with the event I'm trying to detect. On Conditon Fail remains set to default.
    4)  The step after the For Loop End is an expression step with everythin set to default except for the Status Expression logic set to: Locals.Loopindex < Locals.ForLoop_5 ? (Step.Result.Status = "Passed") : (Step.Result.Status = "Failed"). This step performs the overall Pass/Fail reporting for the For Loop.  If the number of loop iterations is less than the maximum it could have only gotten there by the previous logic triggered by the numerical compare passing, therefore "Passed".  If the loop index has reached the limit, then the event was not detected, therefore Failed.
    I have tested this work around with success, it just a pain to now have to implement this on my 40 some odd For Loops.
    If there is a better way, I'd still like to hear it.

  • Can LabView FPGA module work with non-NI FPGAs?

    Simple Question: Can the LabView FPGA Module work with other FPGAs? Im assuming yes, but id like ot make sure first. Normaly I go with NI for most of my stuff, but they just are lacking in the FPGA hardware for what I need, but Im accustumed to LabView so I would like to stick with that to program it.
    Thanks!
    -Mark

    Using LabVIEW and LabVIEW RT you can access the registers on any PCI/PXI card using the NI-VISA driver. NI-VISA also allows you to handle interrupts and DMA data. For interrupts you will not actually write an interrupt service routine (ISR) in LabVIEW. Instead the VISA driver will acknowledge the interrupt to the card and then pass a VISA event to the LabVIEW application letting the application know that it needs to process the interrupt. Detailed information about this type of programming is available in the following documents.
    Using the VISA Driver Development Wizard and NI-VISA to Register-Level Program a PXI/PCI Device unde...
    Configuring LabVIEW Real-Time and NI-VISA to Recognize a Third Party Device
    Configuring LabVIEW Real...
    Developing a LabVIEW Real-Time Driver for a PXI or Compact PCI Device
    Porting a Windows PCI Device Driver to LabVIEW Real-Time
    Considerations in Implementing LabVIEW Real-Time Drivers
    Christian L
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • [LV - TS] How to execute a SEQ file, get the result (PASS/FAIL) and the report file ?

    Hello,
    I'm looking for the most obvious and simple way to, from Labview :
    1- Start the Teststand engine : DONE
    2- Get a list of SEQ files to execute : DONE
    3- Loop through the list to execute each SEQ file : <- found some examples but I have some trouble with the UIMessage stuff
    http://zone.ni.com/reference/en-XX/help/370052N-01/tsexamples/infotopics/executing_sequences_using_api_labview/
    4- Get the result of the SEQ execution : <- unsure
    5- Get the XML path+name of the report file generated : <- obviously not easy
    http://digital.ni.com/public.nsf/allkb/3D3B2358DF9B786B8625789500549A3B
    http://forums.ni.com/t5/NI-TestStand/Getting-Report-File-Path-location-at-execution-in-TestStand-2012/td-p/3041789
    Here is my current implementation :
    David Koch
     

    Hello,
    I tried to work from this example :
    http://forums.ni.com/t5/NI-TestStand/Execution-of-TestStand-Sequence-in-LabVIEW-via-TS-API-Different/td-p/2939616/page/2#M46686
    However it remains unclear about how to get a simple
    answer from just running a sequence file out of any
    model so far (Simple Pass). Like I told you, all what
    I need, once the TS engine is started, is a VI with the
    following interface :
    INPUT
    1- TS engine reference
    2- SEQ file path (path or string)
    3- Sequence name to execute
    4- UUT string (optional, but yeah)
    5- error in
    OUTPUT
    1- Result boolean (PASS/FAIL)
    2- Path to XML report
    3- error out
    It would be so cool to just have this
    About the surrounding UI, I'm working on it. The LV
    code is not really important at this point, it's running
    a SEQ file that matters to me.
    David Koch
     

  • Teststand Manager Controls in Code Modules

      I am trying to understand how UI controls work in code modules called by TestStand steps.  I can pass a reference to an Application Manager (perhaps the application manager?) to my code module using RunState.engine.GetInternalOption(InternalOption_ApplicationManager).  Does the sequence editor have an application manager?  Or the engine?  Is this the same as the Application Manager control I put on the front panel of the code module?  What about SequenceViewManagers and ExecutionViewManagers?  Can I create those in my code modules to display sequences or executions?  Or can I somehow get those from the sequence editor/engine, or from the Application Manager?
    I know that I just asked a lot of questions, but I guess what I am looking for is some general guidelines for using the manager controls in code modules.  This all came about by an attempt to display an Execution View Manager control in my code module.  Feel free to ignore the following description of my various attempts to get this to work.  This exercise helped me understand the managers a little bit more, but I'm still a little confused.
    Suppose I want to create a custom step type for debugging to display the variables for the current sequence context on the front panel of a code module VI.  (LabVIEW 8.6, TestStand 4.1.)  In my code module, I call ExecutionViewMgr.ConnectVariables to connect to a VariableView control.  Where do I get my ExecutionView Mangager from?  I tried two methods:
    1) create an ExecutionViewManager control; set the manager's current execution using ExecutionViewMgr.Execution (pass RunState.Execution from TestStand to the code module).
    It seems like this should work, but when I run my sequence from the sequence editor, the ExecutionViewMgr.Execution property node returns error -17500.
    When I run from a LabVIEW Operator Interface (using the LabVIEW environment, not the exe), I don't get an error.  But I must connect a list control using ExecutionViewMgr.ConnectExecutionList, and select the execution from the list when the code module is running.  Then I can see the variables when I select the execution in the list.  However, the execution display on the OI goes blank.  I can see either the variables on my code module or the execution on my OI, but not both simultaneously.  It appears that an execution cannot be attached to more than one manager at once (I guess that's reasonable).
    2) pass the result of RunState.engine.GetInternalOption(InternalOption_ApplicationManager) to the code module; set the manager's current execution using ApplicationMgr.GetExecutionViewMgr() (pass RunState.Execution from TestStand to the code module, then as a parameter to GetExecutionViewMgr() ).
    In this case, I would expect that there is no ExecutionView Manager associated with the execution when running from the sequence editor.  But the ApplicationMgr.GetExecutionViewMgr() function returns a non-Null reference.  ExecutionViewMgr.ConnectVariables() causes an error dialog to be displayed (from the function itself, not from TestStand), although it doesn't actually output an error (and the VariableView control remains blank).  The error is "Unable to connect Variables View control."  (See attachment.)
    When I run from my LabVIEW OI, it works perfectly--I see the variables on my code module's UI, and the execution appears on the OI simultaneously.  I guess this makes sense since the TestStand engine is returning the Execution manager that was already created by the OI.
    Attachments:
    Error Dialog.PNG ‏20 KB

    TestStand only allows a single ApplicationMgr per process, creating a second one will error. So the engine will always return the one in either the UI or the Sequence Editor. Events should be seen by both handlers. You have to be careful to ensure that your extra handler does not mess up the UI's handler if yours is called first, like preacknowledging a message. As far as setting up a handler in a code module, you should be able to. However, we have not fully tested this capability, so we cannot say that we fully support this because you might run into issues. In addition, using LabVIEW might present additional issues that might not be seen in other development environments like CVI and Visual Studio. Performing some functionality that can process messages in a COM callback can cause potential hang conditions, to the less you do in a callback the better when using LabVIEW. Keep in mind that you have to ensure that you unregister your handler if the code module returns to the calling execution and you no longer want the handler to be called.
    Attempting to use a new TestStand UI control in a different thread than the UI thread is not recommended because we have done almost no testing on this use case because it is not done in typical UIs.
    Now, for customers that want to create a nice GUI that includes serial number prompting, but still want to be able to work with the Sequence Editor, I suggest that you implement a behavior that works with a supporting GUI, but support an alternative when a non-supporing GUI is present.
    For example, you could do the following:
    1. The process model can send a custom UI message synchronously to the GUI to ask for a serial number. The custom message would contain a reference to a property that contains (a) a boolean to indicate that the UI will "respond" to the message, (b) a string for specifying the serial number, and (c) a notification object from the TestStand Synchronization Server.
    2. When receiving the UI message, a supporting UI will set the boolean to True, duplicate the reference passed locally, and acknowledge the UI message.
    3. When the UI message returns, the exectution will determine if the UI supports the message. If yes, the exectution will (a) wait on the notifcation (b) When the user enters a serial number, the GUI will set the string property and then pulse the notification, and release the reference to the properties passed via the UI message. (c) The execution will return from the notification wait, read the serial number, and continue execution.
    If no, the execution will need to use the default process model prompting or custom prompting that you devise when using the Sequence Editor.
    The process model could use a UI message to determine if the GUI is supportive of this mechanism once instead of with each serial number prompt, but you get the idea.
    Scott Richardson
    National Instruments

  • Creating variables/parameters from a code module that persist when the sequence is over

    I am creating variables/parameters programmatically in a code module (C#) by passing in the Locals object and calling the method 'NewSubProperty'.
    I've also tried SetValNumber with PropOption_InsertIfMissing.
    But it seems they are only being created in that instance of the sequence, because they are gone when the sequence is over. I really wanted them to persist.
    I wanted to avoid creating station globals dynamically like this, but maybe that's all I can do to make them last.
    Any ideas would be gratefully appreciated.
    Thanks,
    Ronnie
    TestStand 4.2.1, LabVIEW 2009, LabWindows/CVI 2009
    Solved!
    Go to Solution.

    Hi,
    Check out the links on this response
    http://forums.ni.com/ni/board/message?board.id=330&message.id=11226&query.id=267719#M11226
    It maybe of help
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Pass/Fail in Report Filename

    I would like to display pass/fail in the TS report filename.  Please provide steps or example code of how to perform this task.

    Just an update:
    TestStand 4.2 gives you the ability to specify the report path using Expressions as well right from the Report Options dialog box. For instance, using the  
    <UUTStatus> macro, you could specify that reports for UUTs that Pass versus those that Fail go to different locations.
    For more information on this, refer to:
    NI TestStand Help: Specifying Report File Paths by Expression
    NI TestStand 4.2 Release Notes: Using Expressions to Customize Report File Paths
    For more information on the new features in TestStand 4.2, refer to:
    Whats New in TestStand 4.2
    Jervin Justin
    NI TestStand Product Manager

  • Using Labview realtime module in RTAI

    hello everyone,
    i want to use Labview realtime module in RTAI for real time applications beacuse of it's free source and very good performance. is it possible to do this work?
    if it is, can anyone introduce some same case study or something similar to this?
    Solved!
    Go to Solution.

    amirsaman wrote:
    hello everyone,
    i want to use Labview realtime module in RTAI for real time applications beacuse of it's free source and very good performance. is it possible to do this work?
    if it is, can anyone introduce some same case study or something similar to this?
    I don't think that is possible for anyone outside NI. LabVIEW realtime supports at this time only Windows as development host and as target only National Instruments hardware with specifcally targeted OSes or the Pharlap ETS system on x86 systems with a somewhat specific hardware configuration. Using RTAI as target OS for LabVIEW realtime applications would require first some modifications to the LabVIEW realtime plugin to support this new platform.
    Also none of the LabVIEW realtime files created for either the NI platforms running VxWorks or Pharlap OS, or the Pharlap ETS system woud be possible to get deployed to a RTAI system, as they are not compatible. You would in the first place have to port the whole slew of shared libraries that make up the realtime LabVIEW runtime system on one of these targets to your RTAI system which is basically a completely new LabVIEW target platform that you can only create with quite a bit of effort from the LabVIEW source code. It's not really impossible for NI as most of the LabVIEW code is written quite platform independently but it would be a combination of the compile settings for current LabVIEW realtime, with settings to produce LabVIEW VxWorks realtime targets with some extra Linux settings. Yet it would be by far not trivial and some of the parts are actually hardware specific drivers which have to be ported too, and limit the possibility of what RTAI hardware could be used even further. In short not something that would make any commercial sense to NI as they would have to invest a lot of resources without any possibility to sell extra hardware.
    And hell is freezing up before NI releases LabVIEW source code in any form that would give non-NI employees access to it! 
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

Maybe you are looking for