How to store test parameters and recall

I have built a AC Motor Tester using cDAQ. The tester is in production and running well. The next step I need to tackle is to Record the test parameters that the operator is currently having to enter each time she changes to a different motor. We have several hundred different motor test specifications consisting of  22 different inputs. (1 string, 1-I16, 8-dbl, 4-Boolean, 2-I8, 1-U16). I want to set it up so if the Part Number has not been entered yet, it is recorded. If the Part Number is already in the TDMS file, all of the Value Properties are set from the data in the TDMS file.
I have wrote a small VI as to how I am trying to appraoch this problem. However, it is looking very convoluted. Is there a better way to do this?
Attachments:
Read and Write.vi ‏30 KB

My favorite way to store that kind of parameters is INI files. Create an INI file for each new motor and store the parameters in it.
Another way is to use  XML files (there are really great XML toolkits)
Rodéric L
Certified LabVIEW Architect

Similar Messages

  • Is diadem the best solution to store test limits and parameters

    I understand that diadem is the best repository for test results for analysis and reporting. However can I make use of the database structure to store test limits and instrument setup values as a TDM file that I can call upon in a VI.
    If so, is it possible to extract from the TDM file only the values that I require.
    For example.
    Widget1 test requires min/max values A,B,C and instrument setup values for condition 1,2,3
    Widget2 test requires min/max values A,B,C and instrument setup for condition 4,5,6
    If this is the case would it make sense to have 1 single TDM with all values and parameters or seperate TDM for widget1 and widget2 etc etc..
    Regards
    Chris

    Hi Chris,
    This question has come up in one form or another many times over the last several years, actually predating the DataFinder.  I think the honest answer is that the jury is still out as to whether DIAdem and the DataFinder offer a good general-purpose data management and reporting combination for manufacturing test data.  Certainly I have created numerous proofs-of-concept to show prospective customers that it can work and what they can expect from DIAdem and the DataFinder with their data.  There are some cases where I think DIAdem and the DataFinder are hands-down the best tool on the market, and there are other situations where DIAdem and the DataFinder can still do the job but it's a bit of a stretch, and then there are high-end situations where other tools are the better fit.
    I'll try to keep this reasonably short, but I think this is a question many will be interested in reading about, so I want to go ahead and post a few points to clarify those "different situation" comments above.  DIAdem and the DataFinder become a much more compelling fit when you run lots of different types of tests, such that the number of results is variable from one test to another, or the result quantity names and units are different from test to test, or the analysis/reporting required is different from test to test.  High mix data plays to the strengths of DIAdem and the DataFinder, because the DataFinder is a self-configuring and expanding data base, and DIAdem is a general purpose analysis and reporting tool and is very flexible.  If your acquired data has a very static format, on the other hand, then it would take much less effort to set up and maintain your own relational data base and create one analysis and reporting solution that would never need to be expanded.
    DIAdem and the DataFinder also excel when the overall data amount is not astronomical and when the data consumers are all on the same LAN and are willing to install DIAdem to look at the data or create reports.  Many times in a manufacturing test setting a web interface is requested so that the data consumers can be anywhere in the world and need have only a web browser to interact with the data.  DIAdem and the DataFinder are fully compatible with Citrix and other Windows Terminal Services layers, but that does not come built-in with DIAdem 10.2 and the DataFinder Server Edition 1.1.  Both DIAdem and the DataFinder can handle VERY large data sets, but if you need high-end server options such as data base backups, triple-redundancy, complicated user-definable data access privileges, etc., then a conventional relational data base such as SQL Server or Oracle are going to have more to offer.
    Note that the DataFinder data base is an indexed compendium of information stored in flat files and is always tied to those flat files.  If you add or remove or edit a data file, the DataFinder will automatically update the corresponding records-- there is no way to sever this link and use the DataFinder in a file-less mode.  The best way to organize your manfacturing data in these data files is to expose your single value, named data results as properties on the file, group, or channel level.  This enables you to query on the values of those properties.  TDM files used for this purpose will index very quickly but will have a large footprint on disk, since you're storing this information in XML.  If file size is an issue, TDMS files index at least as fast and would have a smaller disk footprint.  ASCII files are actually surprisingly efficient for storing manufacturing data.  If you happen to be using TestStand, note that there is an ATML DataPlugin on www.ni.com/dataplugins which you can use which will automatically expose your measurements as properties in DIAdem and the DataFinder.
    Ask as you have additional questions,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments
    in environments higher volume your data is, on the other hand, the more we have to be careful to make sure that DIAdem and the DataFinder

  • How to store photo images and thumbimpressions in oracle 10g database

    Hi all
    I have an web application running in Oracle 10g rel 1 database server in RHEL3. It has application server with forms and j2ee component as middle tier. I need to store centrally photo images and thumb impressions and use it in our application without any overhead on retrieval and performance of web application. what will be optimized method of storage of photo and thumb impressions. Awaiting your valuable suggestions.
    Regards
    Vijay Kumar

    Hi Vijay,
    How to store photo images and thumbimpressions in oracle 10g database I have working code here for storing photos in Oracle tables that you may find useful:
    http://www.dba-oracle.com/t_storing_insert_photo_pictures_tables.htm
    Hope this helps . . .
    Donald K. Burleson
    Oracle Press author
    Author of "Oracle Tuning: The Definitive Reference"
    http://www.rampant-books.com/book_2005_1_awr_proactive_tuning.htm

  • How to understand "outbound parameters" and "inbound parameters" in WE20?

    Hi,
    How to understand "outbound parameters" and "inbound parameters" in transaction code:WE20? Which side is based to set the outbound/inbound parameters?
    As I can only set "outbound parameters" for the both partner type:customer and vendor.
    so, When do we need to set the parameter "inbound parameter"?
    Thanks.

    Hi,
    If you deals with inbound IDoc processing then you need only to maintain partner profile for inbound parameter.
    However, if you deal with outbound IDoc processing then you need to setup partner profile for outbound parameter.
    In special case, you may need to setup both inbound and outbound parameters for example the sender needs to have confirmation or acknowledgement for completion of inbound IDoc processing.
    Please check this links and should help you to learn/start with ALE.
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    Also you can check this online document for ALE and IDoc.
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf
    Hope this will help.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • What's the best way to store test parameters for future use?

    I'm creating a test stand that will perform various "standard" tests. Each of the tests has it's own setpoints (integer numbers) as well as some string values that are stored in the log file with the data.
    What is the easiest way to store these setpoints and strings so that I can pull them into the VI in the future, say by selecting a test type from a ring control, etc.?
    I would also like to make this dynamic so that new test types can be stored from the vi. (i.e. I don't want to have to hard code all the future tests and their parameters).

    I like INI files, too. If you are looking for an easy way to read and write your parameters to INI, take a look at the Variant Configuration File IO Library of the OpenG Toolkit.

  • How to store export parameters in eCATT?

    Hi all,
    I am quite new to eCATT. My VA01 recording receives different variants from an Excel-file and now I'm trying to chain VA01 with VA02.
    My VA01 test script creates 5 sales orders. An export parameter is generated only from the fifth sales order number. VA02 gets this export parameter as import parameter and everything works fine. But is it possible to store <b>all</b> sales order numbers and use them as export parameters? I would like to use several sales order numbers as import parameters in VA02. Now only the fifth sales order number is exported to VA02 transaction via REF commands. Could these export parameters be downloaded e.g. to an Excel file so that VA02 could upload them from there and use them as its import parameters?
    I would really appreciate the help!
    Regards,
    Linda

    HI Linda,
    Create an export variable and in the parameter reference give the field reference of the field like this VBELN[], then this forms a structure parameter...
    Then place all your recorded SAPGUI/TCD with in Message/EndMessage Block, and make a rule as an expected message, something like this...
    MODE                    MSGID           MSGNR    MSGV1
    'E'               '/DBM/COMMON'     467     E_VBELN     
    MSGID & MSGNR might differ in your case use them accordingly, also check the previous log and make sure that the order number is MSGV1, if it is in MSGV2, place the variable E_VBELN in the MSGV2 field of the message Rule.
    This should generally fetch you all the order numbers...
    But in some situations it didnt work in my case, so here is the second solution...
    MESSAGE ( MSG_1 ).
    SAPGUI/TCD RECORDING
    ENDMESSAGE ( E_MSG_1 ).
    DO ( &TFILL ).
    IF ( E_MSG_1[&LPC]-MSGID = '/DBM/COMMON' AND E_MSG_1[&LPC]-MSGNR = 467 ).
         E_VBELN[V_COUNT]-TABLE_LINE = E_MSG_1[&LPC]-MSGV1.( V_COUNT Should also be declared, but as a local variable)
         V_COUNT = V_COUNT + 1.
    ENDIF.
    ENDDO.
    This was you will get all the order numbers in one variable, which you can access in any script while looping the varable based on its length..
    Check and modify accordingly.
    Hope this helps..
    Best regards,
    Harsha
    PS: award points if this answer helps solve your issue.

  • How to store Connection object and call it from other programs.

    Hi,
    I am trying to connect to the database, store the connection object and use this connection object from other standalone java programs.
    Can any one tell me how to do this? I've tried in the following way:
    In the following program I am connecting to the database and saving the connection object in a variable.
    public class GetKT2Connection {
       public static void main(String[] args) {
          String url = "jdbc:odbc:SQLDsn;
          String dbUser = "sa";
          String dbPwd = "sa";
          Connection kt2conn = Connection connection = java.sql.DriverManager.getConnection(url, dbUser, dbPwd);
          if(kt2conn == null) {
             System.out.println("Database Connection Failure!");
          else {
             System.out.println("Connected to Database...");
         GetKTConnectionObj.storeKT2ConnectionObj(kt2conn);
    } Here is the program to save connection object in a variable.
    public class GetKTConnectionObj {
       static Connection kt2Connection = null;
       public static void storeKT2ConnectionObj(Connection conn) {
       kt2Connection = conn;
       public static Connection getKT2ConnectionObj() {
       try {
          return kt2Connection;
       catch(Exception e){
          System.out.println(e);
      return null;
    }Now from the following code I am trying to get the connection object that is stored. But this is throwing NullPointerException.
    public class Metrics_Migration {
      public static void main(String args[]) {
         try {
        java.sql.Connection connection_1 =   GetKTConnectionObj.getKT6ConnectionObj();
         catch(Exception e){
    }

    kt2Connection is null. You need to store it first, to make it not null. Otherwise it will stay null forever. And why on earth are you trying to do this THIS way?
    If you are running the two applications separately, it wont work either.

  • How to store lead-time and price per MPN for a single Item

    We are probably one of the only CEM's that use Oracle Applications in a one-to-one MPN-IPN (Oracle Item Part Number) relationship. We do not currently store multiple Manufacturers under a single Item. Rather, we use the Customer Item Cross Reference to rank the customer's AML, with each IPN tied to a single MPN.
    We are looking at moving into a one-to-many "world" in Oracle but are not sure how we can handle different pricing, lead-time, preference, status (prototype, production, obsolete, do not use), etc. for each Manufacturer's Part Number under a single Item. How are other CM's handling this???

    Hi Greg,
    Unfortunately, DIAdem Datafinder doesn't really support much in the way
    of Date/Time search outside of the File Level Creation Date property.
    In order to make the creation time of the Channels searchable you would
    want to create some custom properties (or use the existing RegisterInt1
    - RegisterInt6) to define your own searchable properties.
    For example, since you know that you have one TDM file per day, you can
    start your search by find the desired day on the File Property Level,
    searching the "Creation Date" property. When you store your TDM
    properties, you could store the hour creation as an integer (and
    thereby searchable) in one of the RegisterInt properties of the
    channel, or create your own custom "Hour" channel. You could similarly
    save the minute and second property in their own custom properties.
    Then, since you're saving integer values, you can then search those
    values to determine the time that the channel was created.
    I realize that this isn't ideal or elegant, as in total it requires 4
    searches (date, hour, minute, second). But that is the most
    straightforward way of searching your channels by creation date/time.
    Hope this helps Greg, let me know if you have any other questions.
    Dan Weiland

  • How to find custom parameters and its values?

    Hi,
    Please let me know how to find the list of custom parameters with its possible values and its use in programs?
    Thanks.

    There is no validation for the values that can be input so you can put anything in the value field. For example, try "BUK" and
    then a value for a company code you know does not exist.
    When you run a transaction with that it will default that value.

  • How to share a parameterized and refreshable report with my colleagues

    I usually send monthly reports to 2 or 3 of my colleagues by email. Now I am thinking to use crystalreports.com to publish and share the reports. Which way is better to share the parameterized reports and also make them refreshable (updated), ODC or salesforce? How to allow the online reports to access our Oracle database when users view them? I am new to crystal reports, any suggestions will be appreciated!

    Hello,
    Currently, the ODC is only supported on Windows / IIS.  We were working on a linux version, but it has been put on hold due to other priorities.  I don't believe we have an estimation for when it may be released.
    You do need the crystal reports db drivers on the same IIS machine.  I am not sure if this means you need a full install of crystal reports or just the sdk or what.  But yes, you do need at least a portion of the crystal reports install on the IIS machine.
    Inside the desktop publisher, you can create a task which represents a scheduled report on your local machine.  When you create the task, you will be prompted to select the report on your local machine and where you want it to go in cr.com along with when you want it to run (now, once, daily, weekly, etc).  When you save the task, it will figure out if any parameter prompts or db logon prompts are needed and actually prompt you for those right there.  The values you enter will be saved into the task and used when the task actually runs.  At run time, the task will refresh the report based on the prompt values you entered and upload the refreshed copy to cr.com as a saved data report.
    If you have registered for a starter account on the website, you can download and try out the desktop publisher and see if it meets your needs.
    Cheers
    Steve

  • How to store test cases in multiple languages?

    We need to provide test cases in German an English and I would like to avoid having two projects.
    My idea is to use a template project which allows the translation of the process tree, and then have both test cases in one document (maybe using a word makro to jump to the needed language if that works).
    Do you know a better way to manage test cases in different languages?

    We need to provide test cases in German an English and I would like to avoid having two projects.
    My idea is to use a template project which allows the translation of the process tree, and then have both test cases in one document (maybe using a word makro to jump to the needed language if that works).
    Do you know a better way to manage test cases in different languages?

  • How to store/manipulate Date and long text fields with Dictionary project

    I am able to save string values into my backend (SQL Server) database in my web dynpro project but I am getting errors dealing with my date string and my long text (comments) field. 
    I want to figure out both how I need to define the fields in the dictionary project, how to define the context variables in web dynpro, and how to code the statements to pull the values out of the context and into fields I can use in my SQL insert. 
    Currently I have the date defined in the dictionary project as "date" and the comments as a 256-character string. 
    In the web dynpro context I have the date field defined as "date" and the comments field defined as "string".  Should I define a 256-character string type and use that as field type??
    In the code I am using the following to get the values:
         String s9 = (String) wdContext.nodeReceipt().getElementAt(wdContext.nodeReceipt().getLeadSelection()).getAttributeValue("Comments");
    String s5 = (String) wdContext.nodeReceipt().getElementAt(wdContext.nodeReceipt().getLeadSelection()).getAttributeValue("DateReceived");
    SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy");
         try {
         Date dt = sdf.parse(s5);
         } catch (Exception e) {
              e.printStackTrace();
    I then try to insert all of my values with the following code:
    InitialContext ctx = new InitialContext();
      javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("jdbc/SAP/BC_JMS");
      java.sql.Connection con = ds.getConnection();
      java.sql.Statement stmt = con.createStatement();
      stmt.executeUpdate("insert into AVD_GEN_REC(VENDOR,DATE_RECEIVED,TOTAL_PIECES,LOGGED_BY," +
           "ADDRESSED_TO,BLDG_NO,CARRIER,TRACKING_NO, COMMENTS) values('s1','s5','s2','s6','s3','s7','s4','s8','s9')");
       } catch (Exception e) {
             wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess("Exception "+e.getMessage());
    Any help/ideas would be appreciated...

    The comment error seems to have resolved itself but I still get an error with the date field:
    Exception The SQL statement "INSERT INTO "AVD_GEN_REC" ("VENDOR","DATE_RECEIVED","TOTAL_PIECES","LOGGED_BY","ADDRESSED_TO","BLDG_NO","CARRIER","TRACKING_NO","COMMENTS") VALUES ('s1','d5','s2','s6','s3','s7','s4','s8','s9')" contains the semantics error[s]: type check error: new value (element number 2) is not assignable to column "DATE_RECEIVED" 
    The DATE_RECEIVED is defined in the data dictionary as "date", the context variable "DateReceived" is also a "date", and the statement to pull d5 is being stored to a "Date".  Is there a difference between the "Date" and "date"?
    Date d5   = wdContext.currentReceiptElement().getDateReceived();

  • How to store a file and refer it from another file using the Binary cache?

    Hello,
    I think it's a long shot but I thought I will give it a try.
    I am creating an excel file from an xml String using the Web Dynpro Binary cache.
    The problem is that when columns with numbers are involved an extra #agg column is being added by the excel "flattener" which is in charge of rendering the excel file from the xml String.
    The only way to override this excel feature is to supply your own XSLT and reference it from the XML. Now, since I am not using an actual filesystem but the Web Dynpro Binary cache, is it possible to use this cache in order to store there the xslt and refer it later from an XML?
    Roy

    Hi,
    Just found out this.. See if you can make use of it..
    getPublicCachedWebResource(byte[] webResource, WDWebResourceType resourceType, WDScopeType scopeType, WDDeployableObjectPart deployableObjectpart, String key)
    <i>          returns a IWDCachedWebResource, <b>which is saved directly to the WDDeployableObject directory.</b></i>
    you can make WDDeployableObject as your component and point the reference to the component folder.. Since you are specifying a scope type.. it shoukd be deleted after the scope defined...
    Lemme know if this works..:)

  • How to store G3 iBook and battery long term

    Need to leave our old G3-500Mhz white iBook for many months at a time. (1) Do I remove the battery when it has about 50% charge or ? (2) Do I leave the iBook plugged into an a/c power supply or disconnected?
    Many thanks.

    dga1966, Welcome to the discussion area!
    Apple recommends (http://www.apple.com/batteries/notebooks.html): If you don’t plan on using your notebook for more than six months, Apple recommends that you remove and store the battery with a 50% charge.
    BTW, this is the iBook G4 discussion area.

  • How to store Tableview  layout and restore it during FXML load?

    How can we get the Tableview column sequence and the corresponding column sizes?
    Once stored, how can i use that information while loading my FXML via my controller class in the initialize() method?
    Please let me know if anyone has any tips or pointers.

    I defined a primary key over all the dimension keys in the fact table but for some reason the build still uses an aggregation. Probably because the aggregation operator for the cube I'm currently playing with is actually set, and I don't see a way to undefine it from the UI toolbar you are referring to. This is a piece of mapping section from the workspace file I exported using AWM.:
    <CubeMap
          Name="MAP1"
          IsSolved="False"
          Query="POT_BATH_T"
          AggregationMethod="SUM">
    Looks like the build aggregates because it is clearly told to so by the AggregationMethod attribute? Any way to override it?

Maybe you are looking for

  • ORA-00600: internal error code, arguments: [kglpin-bad-lock], [0x70000062E067FC8], [], [], [], [], [], [], [], [], [], []

    Hi, Using owb 11.2.0.3 and encountering ORA-00600: internal error code, arguments: [kglpin-bad-lock], [0x70000062E067FC8], [], [], [], [], [], [], [], [], [], [] this error when a proces sflow runs a mapping. It fails and data remains unchanged. When

  • How can I place a text field not directly on the left of the page but with an indent to the right?

    Hi everybody, I try to create a form in which I want to enter several item under each other general info        Item 1               Item 2                          Name 1            Name 2                         Item 3               Item 4 and so o

  • Servlets and sessions - good practices

    Hello, This is a newbie question. The scenario: Let's say I made a bank application that allows a user to log in and view 2 pages; the simple home page with just some static content and then a dynamic page that lists the last 10 transactions fetched

  • Can't Import java class in form 10g

    Hi All, I have tried to call a web service from oracle form 10g so, I read your available document (How to call Web service from Form 10g) http://www.oracle.com/technology/obe/obe_as_10g/deploy/callws_fromforms/forms_webservice.htm#r1 but when I've c

  • Rwclient, how to put E-mail body

    Dear Gurus, On Oracle AS, by using below comand I am able to generate reports and able to send them by Email but I would like to put Mail Body so could you please help me on this. How to put E-mail body on this comand. rwclient server=servicename rep