PDM - properties get

Hi, I have TDMS file and I want to read properties but I can do it only for the first file of the content 00_003_2_HL_... as it is shown in the image. However, I would like to get the other properties such as Fs, unit_string...

I think it's possible, but I can't find the solution. Help, please. The best way is with some examples.

Hi, I am not very clear what is your real problem.  On what objects you want to get the other properties? Group? channel? Details are appreciated, if you are not familiar with the TDMS file formats, you can check http://www.ni.com/white-paper/5696/en

Tags: NI Software

Similar Questions

  • Reading of custom in PDM properties

    Hello

    I'm trying to read custom properties in the root of a file of PDM using Matlab with nilibddc.dll. I found two problems.

    (1) I can't read the names of the properties of file only up to 643. They are the ones on the first two lines of the first page when opened in Excel. nilibddc cannot read the rest of the properties posted 4th and 5th rows tdms open Excel file.

    (2) I can read the names of the properties of file with DDC_GETFILEPROPERTYNAMES, but how to read the values of the properties of file?

    Thank you very much!

    Hi Nathalie

    «(1) I can read the names of the properties of file only up to 643.» They are the ones on the first two lines of the first page when opened in Excel. nilibddc cannot read the rest of the properties posted 4th and 5th rows tdms open Excel file. »

    The properties displayed in the 4th and 5th rows are those of 31 groups of your file.

    I guess that those who are no longer available in the group named "user properties.

    You can call DDC_GetChannelGroups to retrieve the file channel groups.

    So DDC_GetNumChannelGroupProperties like DDC_GetNumFileProperties will return the number of properties.

    "(2) I can read the names of the properties of file with DDC_GETFILEPROPERTYNAMES, but how to read the values of the properties of file?

    To retrieve a propertyyou values need to call DDC_GetFilePropertyType (DDC_GetChannelGroupPropertyType) to determine the type of the property, and then call the function of reading according to:

    DDC_GetFilePropertyUInt8
    DDC_GetFilePropertyInt16
    DDC_GetFilePropertyInt32
    DDC_GetFilePropertyFloat
    DDC_GetFilePropertyDouble
    DDC_GetFilePropertyString

    For properties of type string, be sure, you resereved a buffer of size (DDC_GetFileStringPropertyLength).

    For DateTime (DDC_Timestamp), call the DDC_GetFilePropertyTimestampComponents.

    Please refer to the help named 'nilibddc.chm' file in the '. '. \DOC"folder for more details.

    See you soon

    Stefan

  • Try to go to the MSN properties, get the error message "MSN unavailable - device missing."

    I tried all the answers and nothing works.  When I go to START > CTRL PANEL > right-click on MSN & PROPERTIES, it says "not available MSN - missing device, F...» "It's the live chat only accepted in Dubai and I need help.

    Hello

    The question you have posted is related to Windows Live, and would be better suited in the Windows Live forum. Please visit the link below to find a community that will provide the support you want. http://www.windowslivehelp.com/product.aspx?ProductID=2

  • Get ESXi properties form keyvalue

    Using esxcli I get properties get ESXi keyvalue form like this:

    esxcli - formattter = keyvalue network firewall get

    that returns the values in the keyvalue like this format:

    Firewall.DefaultAction.String = Drop

    I would try to get ALL the properties of ESXi on an ESXi host for keyvalue print.

    How can I do this with powercli?

    Thank you!

    OP probably wanted to have a specific formatting:

    get-AdvancedSetting -Entity $esx |select Name, Value |ForEach-Object{$_.Name +'='+$_.value}
    

    LucD BTW, how you format scripts so well?

  • OWB 11.2 / OMBPLUS: get the hint of operators of table properties

    I'm trying to retrieve information from suspicion in an OMB script +, but receive the same error message. Other properties are retrieved without more questions.

    -----

    OMB + > OMBRETRIEVE "DIM_ACTIE_MAP" GET MAPPING TABLE OPERATORS

    DIM_ACTIE SA_ACTIE_01

    OMB + > PROPERTIES GET OMBRETRIEVE MAPPING "DIM_ACTIE_MAP" OPERATOR "DIM_ACTIE" (ADVANCED_MATCH_BY_CONSTRAINT)

    NOT FORCED

    OMB + > PROPERTIES GET OMBRETRIEVE MAPPING "DIM_ACTIE_MAP" OPERATOR "DIM_ACTIE" (LOADING_HINT)

    OMB02918: LOADING_HINT of DIM_ACTIE of property does not exist: MMM1034: LOADING_HINT property does not exist.

    OMB + > PROPERTIES GET OMBRETRIEVE MAPPING "DIM_ACTIE_MAP" OPERATOR "DIM_ACTIE" (EXTRACTION_HINT)

    OMB02918: EXTRACTION_HINT of DIM_ACTIE of property does not exist: MMM1034: EXTRACTION_HINT property does not exist.

    -----

    Does anyone have an idea what's not here? I'm sure that the syntax is correct, but what don't get me?

    Hello

    in our fine facility the following works:

    PROPERTY GET OMBRETRIEVE MAPPING "MAP_DIMENSION_TEST" OPERATOR "DIMENSION_TEST" (LOADING_HINT)

    If your syntax is correct.

    The command works in other maps?

    Kind regards
    Carsten.

  • How to store a path in a property of PDM

    I need to store a few Windows paths to other files as properties PDM, but (according to another post on the forum I can't now), the following characters are all illegal in PDM properties:. : , ; ' \ @ <> # [ ] % ( ) { } | * ? = ! "

    Many of those that are used in railways. I thought the conversion of each of them in its code of ASCII as a HTTP URL character, but the character '%' is in the list, too. Can anyone recommend an approach to managing this situation?

    I actually did something I almost never do. I was looking for tiaras online help. I found a page on thename for the properties of TDMS files conventions which States the following:

    "If you use one of the following characters in a custom property name, DIAdem replaces this character with an underscore:.,:, ',-, @, <, >, #, [,], %, (,), {{}}, |, *,?, =,!, ', ^, $, &, +, -, / and space." DIAdem also replaces a number first in the name of the property with an underscore. »

    It however does not anywhere that I found that you cannot use these symbols in a text in the dataproperty.

    Best regards

    David

  • Encoding Multiple TDMS defined properties efficiently

    I am recording some test as PDM properties settings.  I understood the mechanics of registration of individual properties in the file, but I have 25 or so properties to write to the file.  What is the most effective way to this BT code, so that I do not use the block 'TDMS set properties' 25 different times?  I tried to send the bays of block, but it is not like that.  Is there some kind of loop, that I can use?

    Steve

    For the properties of the same or different data types, respectively:

    For more advanced use cases (clusters, clusters bays), there's a library on the LAVA that will divide such things in properties and put it back together on read. Unfortunately, it seems that the link I had to WASH the thread no longer works.

    Herbert

  • Is there a way to get the total number of samples to a TDMS file?

    I'm looking at the documentation for the function of properties Get TDMS and I see that it has a property: wf_samples which "represents the number of samples in the first data segment. Is it possible to get the number of samples in, say, the second segment of data? My goal is to get the number of samples in all segments of data for a single channel.

    To retrieve the total number of samples, I use the properties of 'NI_ChannelLength' to be linked to the function of TDMS properties get.

    The I64 outbut gives you the total number of samples of the selected channel.

    See attachment so useful

    Marco

  • To access the OVF. VAPP properties

    I configured blocking the creation of vApp.  I would like to capture the name associated, pairs of value that are custom settings OVF.  I created the following code and I can see the settings, but I'm not able to determine how to retrieve the values.

    Thank you

    var arr = System.getModule("com.vmware.library.vCloud.vApp").getVAppCustomParameterList (targetvApp, 'Property_1');
    for (var i = 0; i < arr.length; i ++) {}
    System.log ("< b > arr [" + i + "] is < /b > = >" + arr [i] + "< br >");
    }

    Here's my version. I tested it with success. I think the key is tha valueAttrib property.

    var resultProperties = new Properties();
    if ( vApp == null ) {
        return resultProperties;
    }
    var productSections = vApp.getProductSections();
    for each ( var productSection in productSections) {
        var catList = productSection.categoryOrProperty;
        var elements = catList.find(new VclProductSectionProperty()) ;
        for each ( var cat in elements ) {
            resultProperties.put(cat.key, cat.valueAttrib);
        }
    }
    return resultProperties;
    

    To list the contents of the properties:

    for each (var key in properties.keys) {
        System.log(key + " : " + properties.get(key));
    }
    

    Christophe.

  • Is it possible to get IDs ManagedObject with PropertyCollector?

    I have a java method that uses the PropertyCollector to move from an initial MOR to a table of JAWS and get the properties selected for each managed object - data is returned as a list of cards.  However, one of the data items that I want to get is the ID of the managed objects themselves.  Is this possible?

    This is the code I have so far:

    /**
         * Traverse from a root object to a sequence of objects, and get the properties of each one
         * 
         * Parameters:
         *  root      - the start object (e.g. a MOR to a HostSystem)
         *  traversal - the traversal to the related objects (e.g. "vm")
         *  traversalType - the MOR type of the objects traversed to (e.g. "VirtualMachine")
         *  properties - a Map of the properties to get (e.g. "runtime.powerState")
         *               to the name to use in the returned Map (e.g. "power_state")
         *               
         * Return value:
         * a list of Maps with the results, one for each MOR traversed to.
         * 
         */
        public List<Map<String, Object>> traverseAndGetProps(ManagedObjectReference root, 
                                                             String traversal,
                                                             String traverseType,
                                                             Map<String, String> properties)
              throws ExecutionFailure
        {
          
          try {
            // create a TraversalSpec from the root to the objects we want to get properties of
            TraversalSpec ts = new TraversalSpec();
            ts.setPath(traversal);
            ts.setType(root.getType());
            
            // Build a PropertySpec from the MO ref type and given property names
            PropertySpec pSpec = new PropertySpec();
            pSpec.setType(traverseType);
            pSpec.setPathSet(properties.keySet().toArray(new String[0]));
    
            // The object we want to start from which is the given MO ref
            ObjectSpec oSpec = new ObjectSpec();
            oSpec.setObj(root);
            oSpec.setSkip(false);
            oSpec.setSelectSet(new TraversalSpec[] {ts});
    
            // Combine the property and object specs in the filter
            PropertyFilterSpec pfSpec = new PropertyFilterSpec();
            pfSpec.setPropSet(new PropertySpec[] { pSpec });
            pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
    
            // Run the search
            ObjectContent ocs[] = _service.retrieveProperties( // PRIV_REQ: System.Anonymous
                                           _sic.getPropertyCollector(),
                                           new PropertyFilterSpec[] { pfSpec });
            if (ocs == null) {
              // We don't really know why the call failed!
              logger.error(_ipAddress + ": failed to get properties - null returned");
              throw new ExecutionFailure(-1, "Failed to get properties - no data");
            }
    
            // Convert the object content into  a list of hashtable (key/value pairs)
            ArrayList<Map<String, Object>> results = new ArrayList<Map<String, Object>>(); 
    
            for (ObjectContent oc: ocs) {
              DynamicProperty[] dps = oc.getPropSet();
    
              if (dps != null) {
                Map<String, Object> result = new HashMap<String, Object>();
    
                for (DynamicProperty dp:  dps) { 
                  if (dp != null) {
                    String key = properties.get(dp.getName());
                    Object val = dp.getVal();
                    if (val != null) {
                      result.put(key, val);
                    } else {
                      // skip over null values
                      logger.warn(_ipAddress + ": null value for " + dp.getName());
                    }
                  }
                }
    
                results.add(result);
              }
            }
            return results;
    
          } catch (Exception e) {
            logger.error(_ipAddress + ": Failed to get properties: " + e);
            throw new ExecutionFailure(-1, "Failed to get properties: " + e.getMessage());
          }
        }
    

    You read out ("propSet') properties of objects ObjectContent also has the MOR of the object ('obj').

  • XNET DBC Enums

    I'm going to guess the answer is no but nobody knows is there's sort of simple or at least feasible to maintain a shape any values enum signal from a DBC file when you work with XNET instead of logging just the value of a signal, the best that I can understand is the analysis of the CBD and write enums of value as a channel in the diary of PDM properties.

    -Va

    I eventually drop the CAN signals from my journal PDM, using it instead as a mainstream newspaper and created a separate journal to write the CAN in vector format CAD data, so I can just associate the DBC file ASC file when it is loaded into the couch.  As you said, get the info of the enumeration was feasible, but the TDMS format has no support for this type of logging.

  • Smart way to save large amounts of data using the circular buffer

    Hello everyone,

    I am currently enter LabView that I develop a measurement of five-channel system. Each "channel" will provide up to two digital inputs, up to three analog inputs of CSR (sampling frequency will be around 4 k to 10 k each channel) and up to five analog inputs for thermocouple (sampling frequency will be lower than 100 s/s). According to the determined user events (such as sudden speed fall) the system should save a file of PDM that contains one row for each data channel, store values n seconds before the impact that happened and with a specified user (for example 10 seconds before the fall of rotation speed, then with a length of 10 minutes).

    My question is how to manage these rather huge amounts of data in an intelligent way and how to get the case of error on the hard disk without loss of samples and dumping of huge amounts of data on the disc when recording the signals when there is no impact. I thought about the following:

    -use a single producer to only acquire the constant and high speed data and write data in the queues

    -use consumers loop to process packets of signals when they become available and to identify impacts and save data on impact is triggered

    -use the third loop with the structure of the event to give the possibility to control the VI without having to interrogate the front panel controls each time

    -use some kind of memory circular buffer in the loop of consumer to store a certain number of data that can be written to the hard disk.

    I hope this is the right way to do it so far.

    Now, I thought about three ways to design the circular data buffer:

    -l' use of RAM as a buffer (files or waiting tables with a limited number of registrations), what is written on disk in one step when you are finished while the rest of the program and DAQ should always be active

    -broadcast directly to hard disk using the advanced features of PDM, and re-setting the Position to write of PDM markers go back to the first entry when a specific amount of data entry was written.

    -disseminate all data on hard drive using PDM streaming, file sharing at a certain time and deleting files TDMS containing no abnormalities later when running directly.

    Regarding the first possibility, I fear that there will be problems with a Crescent quickly the tables/queues, and especially when it comes to backup data from RAM to disk, my program would be stuck for once writes data only on the disk and thus losing the samples in the DAQ loop which I want to continue without interruption.

    Regarding the latter, I meet lot with PDM, data gets easily damaged and I certainly don't know if the PDM Set write next Position is adapted to my needs (I need to adjust the positions for (3analog + 2ctr + 5thermo) * 5channels = line of 50 data more timestamp in the worst case!). I'm afraid also the hard drive won't be able to write fast enough to stream all the data at the same time in the worst case... ?

    Regarding the third option, I fear that classify PDM and open a new TDMS file to continue recording will be fast enough to not lose data packets.

    What are your thoughts here? Is there anyone who has already dealt with similar tasks? Does anyone know some raw criteria on the amount of data may be tempted to spread at an average speed of disk at the same time?

    Thank you very much

    OK, I'm reaching back four years when I've implemented this system, so patient with me.

    We will look at has a trigger and wanting to capture samples before the trigger N and M samples after the outbreak.  The scheme is somewhat complicated, because the goal is not to "Miss" samples.  We came up with this several years ago and it seems to work - there may be an easier way to do it, but never mind.

    We have created two queues - one samples of "Pre-event" line of fixed length N and a queue for event of unlimited size.  We use a design of producer/consumer, with State Machines running each loop.  Without worrying about naming the States, let me describe how each of the works.

    The producer begins in its state of "Pre Trigger", using Lossy Enqueue to place data in the prior event queue.  If the trigger does not occur during this State, we're staying for the following example.  There are a few details I am forget how do ensure us that the prior event queue is full, but skip that for now.  At some point, relaxation tilt us the State. p - event.  Here we queue in the queue for event, count the number of items we enqueue.  When we get to M, we switch of States in the State of pre-event.

    On the consumer side we start in one State 'pending', where we just ignore the two queues.  At some point, the trigger occurs, and we pass the consumer as a pre-event.  It is responsible for the queue (and dealing with) N elements in the queue of pre-event, then manipulate the M the following in the event queue for.  [Hmm - I don't remember how we knew what had finished the event queue for - we count m, or did you we wait until the queue was empty and the producer was again in the State of pre-event?].

    There are a few 'holes' in this simple explanation, that which some, I think we filled.  For example, what happens when the triggers are too close together?  A way to handle this is to not allow a relaxation to be processed as long as the prior event queue is full.

    Bob Schor

  • question about the torch slider 9800

    package mypackage;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Hashtable;
    
    import javax.microedition.lcdui.Font;
    
    import net.rim.device.api.system.Bitmap;
    import net.rim.device.api.ui.Color;
    import net.rim.device.api.ui.Ui;
    import net.rim.device.api.ui.component.BitmapField;
    import net.rim.device.api.ui.component.LabelField;
    import net.rim.device.api.ui.component.TextField;
    import net.rim.device.api.ui.container.MainScreen;
    import net.rim.device.api.ui.container.VerticalFieldManager;
    
    public class AnswersScreen extends MainScreen {
    
        LabelField title = new LabelField();
    
        TextField message = new TextField(TextField.NON_SPELLCHECKABLE);
    
        VerticalFieldManager verticalManager;
    
        public AnswersScreen(int selectedIndex) {
    
            super(NO_VERTICAL_SCROLL);
    
            Hashtable properties = getProperties();
            System.out.println("AnswerScreen");
            setBanner(new BitmapField(Bitmap.getBitmapResource(ScreenManager.getStringProperty("answersscreen.banner"))));
    
            verticalManager = new VerticalFieldManager(USE_ALL_HEIGHT | VERTICAL_SCROLL) {
    
                protected void paint(net.rim.device.api.ui.Graphics graphics) {
                    graphics.clear();
    
                    graphics.setColor((67 << 16) + (67 << 8) + 67);
                    graphics.fillRect(0, 0, ScreenManager.getPositionAtKey("answersscreen.verticalfieldmanager.fillrect.width"),
                            ScreenManager.getPositionAtKey("answersscreen.verticalfieldmanager.fillrect.height"));
                    graphics.setColor(Color.WHITE);
    
                    super.paint(graphics);
    
                }
    
                protected void sublayout(int maxWidth, int maxHeight) {
                    super.sublayout(maxWidth, maxHeight);
    
                    setPositionChild(title, ScreenManager.getPositionAtKey("answersscreen.title.x"),
                            ScreenManager.getPositionAtKey("answersscreen.title.y"));
                    layoutChild(title, ScreenManager.getPositionAtKey("answersscreen.title.width"),
                            ScreenManager.getPositionAtKey("answersscreen.title.height"));
    
                    setPositionChild(message, ScreenManager.getPositionAtKey("answersscreen.message.x"),
                            ScreenManager.getPositionAtKey("answersscreen.message.y"));
                    layoutChild(message, ScreenManager.getPositionAtKey("answersscreen.message.width"),
                            ScreenManager.getPositionAtKey("answersscreen.message.height"));
    
                }
            };
    
            title.setFont(this.getFont().derive(Font.STYLE_BOLD, 9, Ui.UNITS_pt));
            title.setText((selectedIndex + 1) + " " + (String) properties.get("pergunta" + (selectedIndex + 1)));
    
            message.setText((String) properties.get("resposta" + (selectedIndex + 1)));
            message.setFont(this.getFont().derive(Font.STYLE_BOLD, 7, Ui.UNITS_pt));
            message.setEditable(false);
    
            verticalManager.add(title);
            verticalManager.add(message);
    
            add(verticalManager);
    
        }
    
        private Hashtable getProperties() {
            Class classs = null;
            try {
                classs = Class.forName(this.getClass().getName());
            } catch (ClassNotFoundException e) {
    
                e.printStackTrace();
            }
            InputStream stream = classs.getResourceAsStream("/fraseologia.properties");
            PropertiesUtil properties = new PropertiesUtil();
            try {
                properties.load(stream);
            } catch (IOException e) {
    
                e.printStackTrace();
            }
            return properties.getProperties();
        }
    
    }
    

    Hi all

    Im trying to encode a scrolling screen with verticalFieldManager to run on the torch 9800 and I had this problem:

    When I put the screen of NO_vertical_scroll, scrolling style do not even work I put the textfield object in a verticalfieldmanager with the Vertical_scroll style. his works in the curve 8900 and 8520.

    If I put the screen of vertical_scroll style, the screen allows an infinite scrolling with white background.

    This code run on 4.6.1 because this should work for curve 8520, torch 9800 and 8900.

    Thanks in advance!

    I solved! I removed the overrided method sublayout and put the padding to solve spaces.

  • password for pix 515e

    I was installing my new 515e firewall usinf the pdm. I did at the time and was able to install the changes I had made. Nowhere during installation me I asked to issue a username and a password. Now when I try to access the pdm, I get a box of connection for usename and password. What can I enter? Y at - it a default admin user and password I can use?

    Username: "blank".

    Password: 'enable current password '.

  • Print questions after the custom section changes using a printed code

    Hello

    We have problems with the order of the custom section. Please find below bottom

    1. we have a custom code to print sections customized specification associated with the material specifications

    2 this custom code developed 2.5 years ago and absolutely perfect job

    3. this custom code actually built XML sections customized the associated specification which is transformed into PDF using XSLT by extending the print features.

    Recently, we changed the order custom sections appear in hardware specifications. Once the order gets modified with the help of Admin-> Data-> custom section order Custom. New order got reflected in all the technical features without any problem

    But the custom sections do not print in the same order

    When we studied, we found the following

    1. printing order is fine when using the default print template provided by oracle

    2. printing order is not very well when we use our custom print template that uses our custom code developed 2.5 years back

    When we have investigated further, we discovered that any new record is created once the order has changed to print very well in the same order using our custom code

    But the old specifications that were created before the implementation of the custom section control do not print in the same order

    Debug us the solution, with the old card and discovered that code is return data in the old order and not in the order indicated in the specification

    We tried all the properties we could and noting works as expected for the old specifications and new specifications get the order appropriate under the new defined order

    None of the sub properties get the data in the correct order in the old specifications

    ICollection customSections = ingSpec.ExtendedAttributeSections.OrderedModifiableValues;

    ICollection customSections = ingSpec.ExtendedAttributeSections.OrderedValues;

    ICollection customSections = ingSpec.ExtendedAttributeSections.ModifiableValues;

    Can you please let us know if this is a bug in the product? or is it possible that we can do our custom code works for the old specifications?

    Can you also let us know which table stores information about order of custom hardware specifications section?

    Thank you

    Mani

    Sounds like the same issue post to https://community.oracle.com/thread/3804143.

    Thank you

    Pourbaix

Maybe you are looking for

  • Trailers do not play

    I can watch videos on youtube, netflix and various other sites, but when I go to the movie sites and try to watch movie trailers, that they do not appear, they are empty, and this has happened on a few other sites as well. I tried to disable each plu

  • Problem turning on Wireless Lan on Satellite A210

    I have a Toshiba A210. It works fine but I have a little problem. I try to turn on Wireless Lan by FN and F8. When I do that it says this wireless in disabled, please enable the wireless lan switch.This is the procedure to turn on the wireless networ

  • the amount of movimiento del CONOCER mouse

    Instead saludo a todos! How pudeo conocer los punto x e y in los what encuentra mi raton desde an eje of coordinates? Is posible hacer el sumatorio estos puntos? Gracias

  • Server not running message error message when you search for updates.

    I can't get Windows updates. I get a message server is not running. How can I solve this problem? I restarted my computer but no change in the message. Help, please!

  • Windows Vista does not recognize the CD

    Windows Vista has ceased to recognize my driver CD - good player, good good Bios everywhere but keeps ejecting discs that will play in the other computer and they played on this one.  Please help - at the end of my tether. Won't play CD