Linking Labview Conrtrols to Test Stand Parameters

I am trying to run a Teststand sequence from Labview. I was able to link all the necessary Teststand controls like Open sequence, execution display, Test UUT using the connect command invoke node. However, I am having difficulty linking labview controls to the sequence Parameters found in the sequence context. Any help on this will be appreciated.
Thanks,
Sam

Sam,
As I mentioned before, UI Messages is how you would do this.  Essentially, what you would do is send a UI Message from the sequence and then handle that UI Message in the operator interface in a callback.  For instance, say that you want to know the number of loops to iterate as a setting on your operator interface.  You would send a message from your sequence named say "Give_Iterations".  In your operator interface, you monitor the UI Messages and when you see a message that says "Give_Iterations", you can set some value in your sequence context as a response to the message.
Here is an example of this type of callback:
http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=04A24417FF0933A2E0440003BA7CCD71&p_...
For general UI Message information, you can check out our developer zone documents on UI Messages located here:
http://zone.ni.com/devzone/devzone.nsf/webcategories/5D2CDEB27E67D8378625681900729242
Hope this helps!
Message Edited by AndrewMc on 09-12-2006 01:26 PM
Thanks,
Andy McRorie
NI R&D

Similar Messages

  • Can labview call a test stand module

    Having problems with a test dll that runs in test stand, but I get errors when trying to use the wizard in labview, however I can use the call library function node to protypye it.  Problem - the function openComserialPort(char* comPort, ErrStruct & err), how do you difine the parameters for the ErrStruct & err part.
    next Question, since this Dll runs in Test Stand, is their anyway to export to work in LabVIEW. 
    Solved!
    Go to Solution.

    Here's a description of the dll, to start off, I have a circuit board with a microprocessor on it, that has control for a radio module.  During test I need to program this board serially through its' TX and RX lines on the processor.  The dll given to me, which was written for test stand, has functions to enable me to do this programming.  There are basically  11 function contained is this Dll. 
    Initialize Dll, (no errors),
    open serial port, (no errors), 
    getStandardTable, which sends a command for the microprocessor to send back its information-> get assertion error
    WriteHardwareVersion -> Sends the version and revision number -> assertion error.
    ColdStart -> Which resets board statistics variables -> assertion error.  Now, this function prototype is ColdStart (errStruct & err); So I prototype like I did for the above error struct, but still got an assertion error, which leaves me to believe, that , or vendor, has a bug communicating, or sending the commands via serially, to test this, I could use the serial examples contained in LabVIEW, however I don't know the command set of the microprocessor, or could there be something else wrong,  Any ideas will be appreciated.

  • Using labview global in test stand sequence steps

    If I have to pass data between different steps ( only labview vis) within same Main sequence, is it right using LabVIEW globals, rather than TestStand globals?
    in one step, I will be writing data to the Global.
    In a later step, I will be reading the global to access that data.
    Example sequence:
    I am more comfortable with using Labview globals than Teststand variables. Labview is the only adapter in my sequence. 

    If it is just within one sequence, then I would use the TestStand variables.  The reason is because you are limiting your possible reuse of those VIs by using the global.  If you pass in the value, you have a better chance of being able to reuse the VI.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Testing & Controls Op In Southern WI (Labview / PLC / Test Stand Software & Hardware)

    We have
    a great opportunity at Cooper Power Systems for someone with experience developing electrical test
    stands for a manufacturing production environment.  This will be a great
    opportunity for someone with Labview, PLC, and Test Stand Software and Hardware
    experience.  If interested in this Milwaukee, WI metro area opportunity
    please email me at [email protected]
    Thanks!
     Matt

    Sorry.... I forgot to mention in the original post... this is a permanent position.

  • Updating the result from Labveiw to Test stand!

    Hello, I
    have a quick question; i am using Labview 8.5 & Test Stand. I am
    develeoping Test Scripts using Labview for the design & using them in
    Teststand as PASS/FAIL tests. My question is when i run the tests in teststand
    its showing that the tests what i have written in labview has been passed but
    when i remove the connection to UUT & run the same its showing that tests
    are passed. Actually at this time it should show that the tests are failed
    since the connection to UUT is not present. But on the lab view window its showing
    the proper result(that the is failed due to to bad connection) but on the test
    stand window side its showing erroneous results i.e. tests are passed(i.e. the
    result is not being updated from lab view to test stand window). What should I  do  to
    update the result from lab veiw to testand . I have this problem from couple of
    days.
    Any help
    would be appreciated.
    Thanks.

    Hi basha,
    Looking at your Sequence File and the Pass / Fail Step in MainSequence.
    Although you have three connections on your VI FT_Open_Device_By_Sreial_Number.vi (one input, two outputs),
    within your step, you haven't connected them to any TestStand variables.
    I have attached the FileGlobals.Handle to the Handle output of your VI as an example.
    You need to do something similar for Device Serial Number and FT_Status.
    I am not sure where this top level vi comes in, are you hoping to replace FT_Open_Device_By_Sreial_Number.vi with this top level vi.
    If you are then you need to connect on input and output to its connector pane. I would suggest the boolean result is one of the ouptut
    Which you connect to Step.Result.Pass/Fail
    Regards
    Ray
    Message Edited by Ray Farmer on 03-10-2008 10:04 PM
    Regards
    Ray Farmer
    Attachments:
    vi.PNG ‏25 KB
    Specify Pass_Fail.PNG ‏24 KB
    top level.PNG ‏6 KB

  • How to get the value of the global variable of test stand in labview User interface?

    Hi.
     Can anyone Please share examples and tell me to how access the test stand global variable using labview user interface.
    Solved!
    Go to Solution.

    I'm not surprised that what you are doing doesn't work.  The Start Execution UI Message is triggered when the user clicks a button to start an execution.  Realize that most executions go through a process model.  So you could be looking at the sequence context of the process model and not your client sequence file.
    I recommend reading that link I posted above.  UI Messages are your best bet but you cannot just piggy back on an existing UI Message like this.  They may not be getting sent at the time you need them to be.  The only way to ensure you get what you want is to trigger one yourself at the right time.
    Regards,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • Configure Event Callbacks in test stand using labview

    Hi,
    I was going through Full OI - Configure Event Callbacks.vi in the test stand example. Can you please explain me how the vi works and what is techniwue behind it?
    When i open the individual VI's in the reference, I could see more that 1 control in the front panel. But Only the user parameter is wired in the vi? Why is it so?
    Regards
    Gopal

    Hi Gopal,
    When the TestStand Engine fires events, this VI specifies how your Operator Interface will respond.  For example, let's examine the first event callback registered in Full OI - Configure Event Callbacks.vi , Exit Application.   When the TestStand Engine receives the message to shutdown, and then finishes its neccessary shutdown procedures, it will send a message to the Operator Interface.  For the Operator Interface to receive this message, it must "listen" for it.  In LabVIEW, this is done by Registering an Event Callback.  See the links below for details on how to implement this. 
    The answer to your specific question is in step 7 of the first link below.  When TestStand sends the message to LabVIEW, there is information that is always passed.  The other input controls contain this information.  To create a VI that always includes these controls, right-click on the VI Ref input to the Reg Event Callback Property Node, and then select Create Callback VI.
    Here are two references that talk about handling ActiveX callbacks in LabVIEW in general:
    Registering and Handling .NET and ActiveX Events
    Register Event Callback (Not in Base Package)
    Cheers,
    David Goldberg
    National Instruments
    Software R&D

  • Good NI Test Stand Examples For a Beginner (Using LabVIEW)

    Hi everyone, I am new to using NI Test Stand.  I have gone through the "Getting Started with NI Test Stand" and "Using LabVIEW with Test Stand" documents.
    I know in the NI Test Stand Example folder there are many examples.  Are there any examples that cater to new users to Test Stand?
    Where can I find good examples (demos) for developing test sequences, local variables, parameters, etc...in Test Stand?
    Thanks so much!

    If you have the SSP you could access online training an do the exercises on the training.
    but the examples is a good way to getting started. just play around with all the options you have.

  • Responding to commandKind event - Test Stand/Labview UI

    Hey guys hey.  I have a control on a Labview/Test Stand UI that I want to change the attributes of based on if the user is logged in or a sequence file is loaded.  How can I create an event that will fire when the user logs in or out or a sequence is loaded or unloaded etc.  I have tried firing an event when the ActiveX control Login|Logout mouse click is up, but the event never fires.  I assume that's because the CommandKind_LoginLogout is attached to that control and maybe overrides the event?  My version is TS 4.1, LV 8.6, OS XP.  TY
    Solved!
    Go to Solution.

    Hi ET,
    This option may work for you. You can edit the Configure Event Callbacks.vi to include three extra events, a SequenceFileOpened, SequenceFileClosed, and UserChanged.  This will capture when someone hits one of the three buttons and execute the code in the callback VI.  You can modify the connector pane of the VI or the bundle for user parameters to include a reference to the control of interest, and pass the reference into the user parameter option so it is available in each callback VI.  You can then wire this up to a generic property node to modify the attributes of the control you created the reference for.  I have attached a screenshot of the modification of the Configure Event Callbacks VI.  I hope this option works for you!
    Cheers,
    Kelly R.
    Applications Engineer
    National Instruments
    Attachments:
    SequenceUserEventCallback.png ‏23 KB

  • I want to write a program in LabView then pass the test results to teststand to check if it pass or fail without displaying the test stand program,

    I want to write a program in LabView and create an execute but I want to be able to pass test results to test stand to find it the unit pass ar fail the test then save the data to a database. How would i go about it.

    What's confusing is your statement that you want to do this "without display the test stand program". You can minimize the TestStand UI to the task bar but if you don't want TestStand to be running, how can TestStand evaluate the result. Explain a little more please.
    In the message body of your post, you just say you want to create a LabVIEW exe and pass the results to TestStand. What I would recomend is that instead of an exe, you create a dll and use TestStand's DLL adapter to call it and return the results. TestStand will evaluate it and do the logging.

  • Is there a max number of parameters that can be passed to a C function in test stand v. 1.0.1

    I have had an issue with test stand version 1.0.1 (yes, I know; it's quite old) and calling a C function thru an action step. when I call this function with 18 parameters, it seems to hang. I have called a function with 16 and it seems to work. Is this a limit of the software? I am calling the function from a windows DLL that we've created. When I try to pull the function from the dll into test stand I also get a { error...but I get that in the other function's call and it seems to work fine. Any ideas?

    ok, upon re-reading what I posted I can clearly see your confusion. haha. I think there are two separate issues.
    1) Are there a maximum number of parameters one can use when calling a C function from a DLL? Yes, i'm trying to call a C function from test stand.
    2) when I select the "module" tab, and select which DLL contains my function, the prototype has no information associated with it (by clicking the reload prototype button). I'm not sure why, as I'm using a declspec to send the function information out of the dll, but that's another topic. So I click on the source file tab and point the window to the .cpp of my function (within the DLL's project workspace) and when it begins to parse the file, I get an error about mis-matched curly brackets and if I wish to continue, and skip the rest of the parsing.
    I click "OK" and when I go back to the module tab, I am able to see all my functions, along with the parameters in the drop down menu below. I fill in all the parameters and everything looks ok; no syntax errors, or anything else seemingly suspicious. I then run my test stand code and when I get to the step which calls this function, the system hangs and cannot proceed.
    Any thoughts as to what might cause these issues? 

  • Test Stand LabView adapter 8.6 run time will not run 8.5 VIs

    I’m trying to run a script I developed with a dev computer on
    a regular PC set up with a Test Stand User Gui, and run times for Test Stand
    and Labview.
    With the Test Stand Labview adapter set to 8.6.1 all of my
    ENA(Agilent Network Analyzer) calls fail for “VI Version is too early to
    convert  to the current  LabVIEW version.”  The ENA library is written in 8.5.  If I set the adapter to 8.5.1 then all of the
    VIs developed in 8.6 fail.  In addition
    it will not run any VIs that I save back to 8.5.  I installed a demo Labview development
    version (2010?) and everything ran fine with the adapter set to Development
    System.
    I am not sure what to try next to get it to run on the
    regular PC, any hints.
    Test Stand = 4.2
    LabView = 8.6
    Running in windows XP
    Solved!
    Go to Solution.

    One of the many things I tried was saving the ENA library to 8.6, but I could not get it work.
    This is the Original library I installed and was trying to Convert (8.0 upgrade agena.zip)
    http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=001CE83736F3674BE0440003BA7CCD...
    I am about to try this one. (8.2.1 Upgrade)
    http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=74D1F1D4EB5268E8E04400144FB7D2...
    I am pretty new to labview so I am not sure how to make the save to previous version workfor libraries, but I can easily do it with individual VIs.  For libraries, it creates a new directory, and puts in all of the files and then asks me about saving the lib files as something else.  This is where I think I get it wrong.  I tried it again today and got the same results.
    I greatly appreciate the Help
    Brian

  • Labview and Test Stand

    Hello Everyone:
    I would like to get some feedback (from his/her practical experience ) using
    LabVIEW and Test Stand together. Any comments regarding this matter would
    be greatly appreciated.
    Thank You.

    Robert,
    TestStand package is built to work with other NI software products such as LabVIEW and LabWindows/CVI.
    You can write your test code as LabVIEW VIs. Those VIs do not have to be compiled into executables. You would simply use a LabVIEW Adapter which allows TestStand engine to call LabVIEW VIs.
    One very useful feature of TestStand is that it allows you to debug VIs when called from TestStand. TestStand's execution pauses and you can use LabVIEW's debugging tools to debug VIs.
    From my personal experience, the two packages together work great. A large number of people are already using this combination to increase productivity. To read further about TestStand, you can check out the following usergroup dedicated for TestStand (natinst.public.teststand.general
    ) by visiting http://zone.ni.com/dev_exchange/newsgroups.htm.
    Adeel Malik

  • Passing arrays with Test Stand to DIO 96

    Does anyone know the easiest way of sending data arrays from Test Stand to a DIO 96 using a LabView dll? I have a Test Stand sequence where I will need to set bits and read bits from a DIO 96 and am going to make a LabView dll. I guess I will need to pass either arrays to and from each port or numeric data to and from each port to a dll and also figure out how the status of the bits in the DIO 96 will be remembered.
    What is the best strategy for dealing with Test Stand and a DIO 96?
    Has anyone any ideas or example code?

    Hi Steve,
       either approach is perfectly valid, and as you say, the activeX approach does remove some of the flexability of where you get the data from, however, what you've really described is two separate things, rather than two separate styles of approach.
    ActiveX or direct passing are simply the means of getting data from and to your TestStand data space.
    Step types are a convenient way of wrapping up particular layouts and functionalilty into a very easily re-usable TestStand development item. You would still need some sort of code module to put with a step type, so you're not necessarily limiting your developed code to the Teststand environment.
    Making links through ActiveX allows you to make a solid definition on configuration type items, and allow for edit substeps. For example, the NumericLimitTest step type has step.limits.high and step.limits.low. Rather than pass those to the edit substep as a dll call (which is perfectly valid), passing the sequence context (which also allows you to run the termination monitor etc) allows for the fixed references to the fixed data layout of the step. Self containment like this works when the data sources are fixed as you get with a step type to use the edit substep, or the pre/post substeps.
    Working on a dll call allows more re-use because then you concentrate on the data, rather than where it's come from, however, for large amounts of different sources, the dll prototype can become very complex and difficult to document. You end up having to pass lots of parameters and some of them you might not use.
    The question you're ultimately trying to answer is "what does it do to my architecture?"
    The holy grail of TestStand architectures is any step type can be used in any sequence in any sequence file with any process model under any operator interface. Now this isn't always practical, but the closer you get to it, the more flexibility your system as a whole contains, and the easier it becomes to add in or change the layout / functionality of the system
    With this comes code re-use, but the extra development time it takes to make good re-usable maintainable code isn't re-couped until the 4th or 5th re-use.
    If you want in this case your passing of the array to occur from many different places in your sequences, and you're building up lots of sequences to use them, then making a step type, and passing through the most convenient method you decide upon will make the implementation of the sequences easier to do.
    If you only need it in a couple of ways, then you can do without the step type, and if it's not many different data sources, then pass by parameter to the dll through the function prototype directly, and use a regular DLL adapter to acheive it.
    Mostly my 2-cents worth.
    Thanks
    Sacha Emery
    National Instruments
    // it takes almost no time to rate an answer

  • Is there a way to create a database with Test Stand?

    Anyone know of a way to have Test Stand create a database? My company standard MS Office suite is Microsoft Access 2010, and TestStand does not support the .accmdb extension type(format), so I have to create new databases using old formats. I'm worried about backwards compatability down the road since good ole Microsoft doesn't seem to care about legacy formats.
    I'm still a beginner with databasing, so any suggestions would be greatly appreciated.

    TestStand 2012 SP1, and  we are using a modified Generic Recordset (NI). The problem we are having right now is that the Build SQL instructions are not creating the database tables the way we are configuring them from the "Statements" and "Column/Parameters" tabs under Database Options.
    What is happening is when we validate the schema, and drop all schema tables, it empties all the database tables, but then when you build using the TestStand generated sql file, we get errors(shown below) we are not understanding, and we can no longer write to the database and LabVIEW throws a "Data type mismatch in criteria expression" error like this
    "Possible reason(s):
    ADO Error: 0x80040E07
    Exception occured in Microsoft JET Database Engine: Data type mismatch in criteria expression. in NI_Database_API.lvlib:Conn Execute.vi->TSData - Query Actions.vi->Retrieve Test Data.vi->ARA-63 Data Miner.vi->ARA-63 Data Miner.vi.ProxyCaller"
    ==================================================================================================== > CREATE TABLE UUT_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STATION_ID VarChar(255), BATCH_SERIAL_NUMBER VarChar(255), TEST_SOCKET_INDEX Long, UUT_SERIAL_NUMBER VarChar(255), USER_LOGIN_NAME VarChar(255), START_DATE_TIME DateTime, EXECUTION_TIME Double, UUT_STATUS VarChar(32), UUT_ERROR_CODE Long, UUT_ERROR_MESSAGE VarChar(255), PART_NUMBER VarChar(255), TSR_FILE_NAME VarChar(255), TSR_FILE_ID VarChar(64), TSR_FILE_CLOSED Bit, PART_NAME VarChar(255), PRG VarChar(255), Comment VarChar(255), Operator VarChar(255)) Command issued.
    > CREATE TABLE STEP_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, UUT_RESULT Long, STEP_PARENT Long, ORDER_NUMBER Long, STEP_NAME VarChar(255), STEP_TYPE VarChar(255), STEP_GROUP VarChar(32), STEP_INDEX Long, STEP_ID VarChar(32), STATUS VarChar(255), REPORT_TEXT VarChar(255), ERROR_CODE Long, ERROR_MESSAGE VarChar(255), CAUSED_SEQFAIL Bit, MODULE_TIME Double, TOTAL_TIME Double, NUM_LOOPS Long, NUM_PASSED Long, NUM_FAILED Long, ENDING_LOOP_INDEX Long, LOOP_INDEX Long, INTERACTIVE_EXENUM Long, CONSTRAINT STEP_RESULT_FK FOREIGN KEY (UUT_RESULT) REFERENCES UUT_RESULT (ID)) Command issued.
    > CREATE TABLE STEP_SEQCALL ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STEP_RESULT Long, SEQUENCE_NAME VarChar(255), SEQUENCE_FILE_PATH LongText, CONSTRAINT STEP_SEQCALL_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)) Command issued.
    > CREATE TABLE PROP_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STEP_RESULT Long, PROP_PARENT Long, ORDER_NUMBER Long, NAME VarChar(255), PATH LongText, CATEGORY Long, TYPE_VALUE Long, TYPE_NAME VarChar(255), DISPLAY_FORMAT VarChar(32), DATA Double, FORMATTED_DATA VarChar(255), CONSTRAINT STEP_NUMERICLIMIT1_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)) Command issued.
    > CREATE TABLE PROP_NUMERICLIMIT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, COMP_OPERATOR VarChar(32), HIGH_LIMIT Double, LOW_LIMIT Double, UNITS VarChar(255), STATUS VarChar(255), HIGH_LIMIT_FORMATTED VarChar(255), LOW_LIMIT_FORMATTED VarChar(255), CONSTRAINT STEP_NUMERICLIMIT2_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command issued.
    > CREATE TABLE PROP_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STEP_RESULT Long, PROP_PARENT Long, ORDER_NUMBER Long, NAME VarChar(255), PATH VarChar(255), CATEGORY Long, TYPE_VALUE Long, TYPE_NAME VarChar(255), DISPLAY_FORMAT VarChar(32), DATA VarChar(255), FORMATTED_DATA VarChar(255), CONSTRAINT PROP_MULTINUMERICLIMIT1_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID), CONSTRAINT PROP_MULTINUMERICLIMIT1_FK FOREIGN KEY (PROP_PARENT) REFERENCES PROP_RESULT (ID)) Command failed with the following error...: Table 'PROP_RESULT' already exists. (-2147217900)
    > CREATE TABLE PROP_NUMERICLIMIT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, COMP_OPERATOR VarChar(32), HIGH_LIMIT Double, LOW_LIMIT Double, UNITS VarChar(255), STATUS VarChar(255), HIGH_LIMIT_FORMATTED VarChar(255), LOW_LIMIT_FORMATTED VarChar(255), CONSTRAINT PROP_MULTINUMERICLIMIT2_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command failed with the following error...: Table 'PROP_NUMERICLIMIT' already exists. (-2147217900)
    > CREATE TABLE PROP_RESULT ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, STEP_RESULT Long, PROP_PARENT Long, ORDER_NUMBER Long, NAME VarChar(255), PATH VarChar(255), CATEGORY Long, TYPE_VALUE Long, TYPE_NAME VarChar(255), DISPLAY_FORMAT VarChar(32), DATA VarChar(255), FORMATTED_DATA VarChar(255), CONSTRAINT PROP_RESULT_FK FOREIGN KEY (STEP_RESULT) REFERENCES STEP_RESULT (ID)) Command failed with the following error...: Table 'PROP_RESULT' already exists. (-2147217900)
    > CREATE TABLE PROP_ANALOGWAVEFORM ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, INITIAL_T DateTime, DELTA_T Double, INITIAL_X Double, DELTA_X Double, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), DATA_FORMAT VarChar(32), DATA LongBinary, ATTRIBUTES LongText, CONSTRAINT PROP_ANALOGWAVEFORM_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command issued.
    > CREATE TABLE PROP_DIGITALWAVEFORM ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, INITIAL_T DateTime, DELTA_T Double, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), TRANSITIONS LongBinary, DATA LongBinary, ATTRIBUTES LongText, CONSTRAINT PROP_DIGITALWAVEFORM_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command issued.
    > CREATE TABLE PROP_ANALOGWAVEFORM ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, INITIAL_X Double, DELTA_X Double, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), DATA_FORMAT VarChar(32), DATA LongBinary, ATTRIBUTES LongText, CONSTRAINT PROP_IVIWAVE_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command failed with the following error...: Table 'PROP_ANALOGWAVEFORM' already exists. (-2147217900)
    > CREATE TABLE PROP_ANALOGWAVEFORM ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, INITIAL_X Double, DELTA_X Double, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), DATA_FORMAT VarChar(32), DATA LongBinary, ATTRIBUTES LongText, CONSTRAINT PROP_IVIWAVEPAIR_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command failed with the following error...: Table 'PROP_ANALOGWAVEFORM' already exists. (-2147217900)
    > CREATE TABLE PROP_BINARY ( ID COUNTER CONSTRAINT TABLE_CONSTRAINT PRIMARY KEY, PROP_RESULT Long, UPPER_BOUNDS VarChar(32), LOWER_BOUNDS VarChar(32), DATA_FORMAT VarChar(32), DATA LongBinary, CONSTRAINT PROP_BINARY_FK FOREIGN KEY (PROP_RESULT) REFERENCES PROP_RESULT (ID)) Command issued.

Maybe you are looking for