Jump to content

BigAngryHillMan

Members
  • Posts

    39
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by BigAngryHillMan

  1. Just got a new laptop after the screen went on my old one. Started installing LabVIEW (2010) from the DVDs and all the install dialogs look as though they have been resized so you can’t see the buttons or the check boxes, of course they cant be resized, so I cant resize them to see the hidden controls.

    Has anyone else seen this issue and found a solution.

    Thanks in advance.

  2. There seem to be very few examples of how to get results out of the standard Teststand SQL database. There is a top level table called UUT_RESULT but it may not be obvious to a new user how to get the results from a test run in the UUT_RESULT table with a given ID GUID.

    To this end I give an example below in the hope it saves someone else the pain of surfing the internet trying to find an example.

    The SQL script below when run will return all the results for a test. Obviously you will still need to read up on SQL but it is a good starting point.

    There is a comment in the code on how to make sure only tests with results are returned.

    The SQL script is a lot more readable when coloured in a SQL editor.

    DECLARE @UGID [nvarchar](50) SET @UGID = 'C26760D9-3FE4-4500-99FA-6B4B26341563' SELECT        	RTRIM (UUT_RESULT.UUT_SERIAL_NUMBER) AS UUT_SERIAL_NUMBER,RTRIM (UUT_RESULT.START_DATE_TIME) AS START_DATE_TIME, RTRIM (UUT_RESULT.USER_LOGIN_NAME) AS USER_LOGIN_NAME,              	RTRIM(UUT_RESULT.STATION_ID) AS STATION_ID,              	RTRIM (UUT_RESULT.UUT_STATUS) AS UUT_STATUS,RTRIM (STEP_RESULT.ORDER_NUMBER) AS ORDER_NUMBER,RTRIM(STEP_RESULT.STEP_GROUP) AS STEP_GROUP, RTRIM(STEP_SEQCALL.SEQUENCE_NAME) AS SEQUENCE_NAME,              	RTRIM(STEP_RESULT.STEP_NAME) AS STEP_NAME,RTRIM(PROP_NUMERICLIMIT.COMP_OPERATOR) AS COMP_OPERATOR, RTRIM(STEP_RESULT.STEP_TYPE) AS STEP_TYPE, RTRIM(STEP_RESULT.STATUS) AS STATUS,RTRIM(PROP_RESULT.DATA) AS RESULT,              	RTRIM(PROP_NUMERICLIMIT.LOW_LIMIT) AS LOW_LIMIT,RTRIM(PROP_NUMERICLIMIT.HIGH_LIMIT) AS HIGH_LIMIT,              	RTRIM(STEP_RESULT.MODULE_TIME) AS MODULE_TIME,RTRIM(STEP_SEQCALL.SEQUENCE_FILE_PATH) AS SEQUENCE_FILE_PATH,RTRIM(PROP_NUMERICLIMIT.UNITS) AS UNITS,              	RTRIM(UUT_RESULT.EXECUTION_TIME) AS EXECUTION_TIME,              	RTRIM(STEP_RESULT.ERROR_CODE) AS ERROR_CODE,RTRIM(STEP_RESULT.ERROR_MESSAGE) AS ERROR_MESSAGE,RTRIM(UUT_RESULT.UUT_ERROR_CODE) AS UUT_ERROR_CODE,RTRIM(UUT_RESULT.UUT_ERROR_MESSAGE) AS UUT_ERROR_MESSAGE                  	FROM 		UUT_RESULT INNER JOIN                  	STEP_RESULT INNER JOIN                  	STEP_SEQCALL ON STEP_RESULT.STEP_PARENT = STEP_SEQCALL.STEP_RESULT ON UUT_RESULT.ID = STEP_RESULT.UUT_RESULT LEFT OUTER /*INNER */JOIN -- SWAP LEFT OUTER FOR INNER TO miss out steps without results.                  	PROP_NUMERICLIMIT INNER JOIN                  	PROP_RESULT ON PROP_NUMERICLIMIT.PROP_RESULT = PROP_RESULT.ID ON STEP_RESULT.ID = PROP_RESULT.STEP_RESULTWHERE 	(STEP_RESULT.UUT_RESULT = @UGID)ORDER BY STEP_RESULT.ORDER_NUMBER

  3. Trying to pass a complex structure from Borland C++ to Labview directly is problematic, not least because you need to be each data type matches in size and byte order but also that the word boundary in your structure matches that of the cluster that you are trying to pass the data to. All very hard to debug.

    IT would be easier to write a DLL to be called from Labview that that takes a variant for each component of the complex structure you are trying to deal with and then assemble that in the DLL into the structure that you need and then call your Borland DLL.

    This will allow more debug as you can see the state of the variables before that are build into the structure.

    Remember that while Labview variants will contain any Labwiew type C++ variants will only hold types native to that environment.

  4. I suspect that the number of bytes you are passing in to the Flatten to String is incorrect, Try writing your code so that you start with a netls3xmaintstatusstruct cluster convert that using Flatten To String and then compare that to the string in your example that you are passing into the Unflatten From String. You might find it better to create a wrapper function using variants.

  5. I have a telnet session where the telnet connection handle is held in a functional variable to allow the telnet session to remain open and allow several VI(s) to use the same open telnet connection,

    i.e.

    One VI opens the telnet session and configures the device for test.

    A number of VIs use the open telnet session to run tests.

    Finally a VI closes the telnet session.

    It is written this way so the VI(s) can be used in Test Stand and stand alone Labview.

    The problem I have is that if there is a delay between running any of the VI(s) the telnet session seems to close without warning and this only become apparent when the next VI tries to access the telnet connection.

    Any suggestions on how to stop the telnet session closing automatically when there are no active VI(s) using the telnet session.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.