Dial the node library with cluster table feature using the pointer of table data

Hi all.

I am writing a wrapper of LabVIEW for an existing DLL function.

The service was, as one of its parameters, an array of structures.  The structure is very simple, containing two integers.  I use the call library function node to access.

In Labview, I created an array of clusters, when the cluster has two integers of 32 bits as members.  So far so good.

Now, I have to pass this in the node library function call.  I use here in trouble.

I used the LAVA so the topic in the knowledge base as my main sources of information, although I read a lot of topics in the forum on the subject too.

I don't understand I could write a new function that takes as a parameter a struct with the size as the first member and an array as the second, and I might just do this and do call the regular service, but I was hoping to do more simply.

The file function C LabVIEW generates for me the COLD Lake when I choose "To adapt to the Type" and "Data in the table pointer", the prototype he expects is:

int32_t myFunc (handful of uint32_t, uint16_t channel,
int32_t FIFOnumber, Sub data [], int32_t numWords, int32_t * actualLoaded,.
int32_t * actualStartIndex);

And the prototype of the function in my DLL is

int myFunc borland_dll (DWORD channel, channel of Sina,)
FIFOnumber int, struct mStruct * data, int, int numWords * actualLoaded, int * actualStartIndex);

It sounds like a match for me, but it doesn't work (I get garbage in the data).  The topic referenced above LAVA, I realized it would work.  This isn't.

If I have to cast the data to the pointer-to-pointer I get when I generate c code in my wiring to a CIN struct and by generating, then I seem to get what I expect. But it seems to work when I choose "pointers to handles" too, and I'm expecting data table pointer to give a different result.

Is it possible to get it works directly, or I have to create a wrapper?  (I am currently using LabVIEW 2011, but we have customers using 2009 and 2012, if not other versions as well).

Thank you.

Batya


Tags: NI Software

Similar Questions

  • Print and copy permissions and update a library with new permissions feature

    I want to limit printing on a single page at a time and to limit the copy on a single page at a time. I don't like what time elapses between the instances of printing and copying. Currently I have my permissions on an initial allocation of 1 page, impression and the "new page allocation are awarded every 0 days 0 minutes 0 seconds". The "new page compensation" setting is unchecked? Activated or activated with different time settings? Similarly, I have my copy permissions set for introduction page 1 allowance, and the "new copy privilege are awarded every 0 days 0 minutes 0 seconds". Him "copy new privilege" setting is unchecked? Activated or activated with different time settings? Finally, if I want to update the book currently in my library of library for clients, should I remove it first and then import the revised catalogue of XML? Or revised authorization settings will overwrite the existing settings of permissions when I import the revised catalogue of XML? Thanks for your help.

    "They are run to: pages xxx enabled at some point" is what I was referring to change this as 'max' 1, and 1 seconds.

    So if in the admin console, you will hit the 'i' located to the right of the label (IE 'buy') for distribution to the right, you will get the permissions XML view (which is the language that I used) you should see:

    You don't need to change this (nor really want you) with the packing service (IE UploadTest) - you want really is in the Distributor permissions (and not in the basic permissions) - so that you can easily tweak it as you go along.

    BTW, with a 1 second interval increment - the original counter is not really important (especially since she she ignored for all but the first realization).

  • OFA confuses me - why the points for editing data files 3?

    Hello

    I met lately about this statement:

    Table D-7 shows a hierarchical mapping of files of a compliant installation OFA sample with two directories of Oracle base and two databases. The database files are spread over three mount points, / U02, /u03 and /u04.



    of http://docs.oracle.com/html/B10811_05/app_ofa.htm

    My question is:
    Why three mount points (/ u02, /u03 and /u04) for the data files? Don' understant this.
    is it not better to store all the data files in a mount point?

    Although separate mount points don't necessarily mean that they are mounted on different tables, or readers, what examples are involving. Systems are often configured in this way for a number of reasons such as performance or recovery (ie. multiplexing of your recovery logs, or by placing data files for certain tablespaces on their own tables or units). The documentation is illustrating how be OFA compliant in this scenario.

  • How to adjust the scale of a chart using reference points?

    Hello

    I'm working on little code to display data from a spectrometer.  I've got to the point of producing a graphic intensity vs energy, but I'm having some trouble of calibration of the x-axis (energy).

    The customer wants to be able to insert filters with a cutoff of known energy and use those points to determine which positions on the graph correspond to what energies.  In terms of programming, I need to let the user click on the graph at two points with known values and use these points to recalculate the XScale multiplier and offset (I think).

    I tried a few different things and attached by the best attempt so far.  This is a simplified example, but I hope it picks up enough problems to be useful.  I can't help thinking there must be an easier way to do it.  Any suggestions?

    What you have done is good. The only thing that I would have a little problem is that there is no visual feedback on the graph for the user. You can also do this with the sliders. Let them drag the sliders on two points. It is more Visual, and you can see where you have selected. I'm not sure that it will be much easier than what you've done. You could also use a hybrid of the two methods and have the cursor to move until you have selected.

  • dial the node of the library - using a structure with dll

    Hi people.

    I expect to receive assistance or advice on solving this problem I am having in labview:

    Some background - I am using the 'call library node' to allow me to use a .dll file to control remotely via RS - 232 power supply.

    I did very well so far, but I'm now trying to use the following:

    int TC4GetFnBlockSettings (struct T_FnBlock * p_fnblock, unsigned int type)

    int TC4SetFnBlockSettings (struct T_FnBlock * p_fnblock, unsigned int type)

    where

    struct T_FnBlock

    {

    unsigned int BaseFunction;

    Double amplitude;

    paper Offset double;

    Double symmetry;

    Double frequency;

    int BipolarAmplitude;

    int RectifyAmplitude;

    Double ExpTimeConstant;

    unsigned int NumPeriods;

    unsigned int UserDefAmplitude;

    unsigned int UserDefTimePrescaler;

    Double UserDefPeriodLength;

    unsigned int UserDefNumPoints;

    unsigned int InactiveLevelType;

    Double InactiveLevel;

    unsigned int AAPInputType;

    unsigned int AAPInputFilterKoeff;

    unsigned int AAPFlags;

    Double AAPInputScaling ;} ;

    Of course there is no such thing as a structure in Labview; I had hoped to use a cluster in its place, but the CLN does not input or output of a cluster.

    Any help would be appreciated!

    Thank you

    A cluster is a struct. In this case you don't want really the structure, but the pointer, which is problematic. I have read several posts about problems with this. The simplest solution would be to expose a function with the struct as input instead of the pointer, if you can.

    /Y

  • Make sure that wire you all the inputs and outputs of your node library function call?

    This document says "make sure that wire you all the inputs and outputs of your node library function call.

    http://digital.NI.com/public.nsf/WebSearch/7253D2F0D91F68058625752F005AB672?OpenDocument&submitted&&...

    But all the terminals on the right side of the call library node considered "outputs" referred to in the foregoing statement?

    This same document continues to show the right way to allocate memory with this illustration and in the illustration, the right "outputs" are left without junctions.

    Am I right in assuming that the only terminals that count as outputs, those who use the code of the DLL (modify) as output?  If it is true, then all other terminals output associated with the values entered alone so don't really account as outputs, correct?

    In the parameter call-library configuration screen there is a "Constant" check box and the help that he wrote "indicates whether the parameter is a constant."  What is this box? for me in the setup of the DLL call

    Finally, assuming that a call from the DLL that is supposed to write in these five outputs, is it legitimate to use constants like this to book a space of memory for the output values?

    How about if local variables associated with the output terminals are used instead?

    Despite the linked document, it is necessary to connect the corresponding entry for simple scalar output parameters (for example a digital). LabVIEW automatically allocate memory for them. If you do not want the entries for all the output wire anyway, there should not be no difference between a constant and a local variable; I would use a constant to avoid useless local variables.

    For settings that are only entries, there is not need to connect the outlet side. It's a bit simplistic since all parameters are entered only and get one result (other than the return value), you pass a memory address and modify the content to this address, but LabVIEW manages this dereferencing pointer for you. If you want to really get into the details, learn more about pointers in C.

    The "Constant" check box acts as the qualifier "const" on a c function parameter. It tells the compiler that the function you are calling will not change this setting. If you call a function prototype includes a const parameter, then you must mark this as a constant parameter when you configure the call library function node. Otherwise, I wouldn't worry on this subject.

  • Extraction of a node in an XMLtype table - selection of the previous query

    Hey all,.

    I work with a server Oracle 11 g r2 and basically need to be able to analyse and select nodes from it. I spent hours scouring the net and reading the manual oracle xml db trying to find an appropriate solution to my problem, but I can't seem to identify the correct way to do it. I have some experience in programming, but none with databases oracle, sql or xml in general so forgive me if this is a trivial question.

    OK, so the question:

    I have a very simple XML file saved under catalog.xml and it is as follows:

    <>Catalog
    < cd >
    < title > hide your heart < /title >
    < artist > Bonnie Tyler < / artist >
    < Country > UK < / country >
    < company > CBS Records < / company >
    < price > 9.90 < / price >
    < year > 1988 < / year >
    < CD >
    < cd >
    Empire Burlesque < title > < /title >
    < artist > Bob Dylan < / artist >
    < country > USA < / country >
    < company > Columbia < / company >
    < price > 10.90 < / price >
    < year > 1985 < / year >
    < CD >
    < / catalogue >

    Now, I want to be able to extract the title of the given cd a certain artist. So, for example, if the artist is "bob dylan", the title should be "empire burlesque".

    Now I created an XMLType table in Oracle as follows:

    CREATE BINARY XMLTYPE STORE AS XML BINARY XMLType TABLE.

    I then load my xml file into oracle by:

    Insert the BINARY values (XMLTYPE (BFILENAME ('XML_DIR', 'catalog.xml'), nls_charset_id ('AL32UTF8')));

    So far so good.

    Now for the part of the excerpt:

    First of all I've tried:

    SELECT extract (b.object_value, ' / catalogue/cd/title ')
    Binary b
    WHERE existsNode (b.object_value,'/catalog/cd [artist = "Bob Dylan"]') = 1;

    EXTRACT(B.OBJECT_VALUE,'/CATALOG/CD/TITLE')
    --------------------------------------------------------------------------------

    < title > hide your heart < /title >
    Burlesque Empire < title > < /title >

    1 selected line.



    It did not work because the xml file was all in 1 row then I realized that I had to split my xml in separate rows. Doing that, I had to convert the nodes < title > a virtual table using the functions XMLSequence() and table(). These functions convert nodes two title returned by the extract() function in a virtual table composed of two XMLType objects, each of which contains a single title element.

    Second test:

    SELECT value (d)
    Binary B,
    Table (xmlsequence(extract(b.object_value,'/catalog/cd'))) d
    WHERE existsNode (b.object_value,'/catalog/cd [artist = "Bob Dylan"]') = 1;

    VALUE (D)
    --------------------------------------------------------------------------------

    < cd >
    < title > hide your heart < /title >
    < artist > Bonnie Tyler < / artist >
    < Country > UK < / country >
    < company > CBS Records < / company >
    < price > 9.90 < / price >
    < year > 1988 < / year >
    < CD >

    < cd >
    Empire Burlesque < title > < /title >
    < artist > Bob Dylan < / artist >
    < country > USA < / country >
    < company > Columbia < / company >
    < price > 10.90 < / price >
    < year > 1985 < / year >
    < CD >

    2 selected lines.


    It's better because it is now divided into 2 different lines so I should be able to make a selection - where, and then select the title from the artist.

    However, this is where I have questions, I tried to literally hours but I can't understand how to use the results of the query above in my next. So I tried to use a suquery in this way:

    Select extract (sub1, ' cd/title')
    Of
    (
    SELECT value (d)
    Binary B,
    Table (xmlsequence(extract(b.object_value,'/catalog/cd'))) d
    ) sub1
    WHERE existsNode (sub1,'/ cd [artist = "Bob Dylan"]') = 1;

    However, sql * plus displays an error:

    ORA-00904: "SUB1": invalid identifier.

    I've tried dozens of variations to try to use subqueries but I simly can't do things.

    I heard you can do also do this using variables or pl/sql, but I don't know where to start.

    Any help would be greatly appreciated I tried everything at my disposal.

    This should help you get started!

    select banner as "Oracle version" from v$version where banner like 'Oracle%';
    
    create table otn5test(
      id number,
      data xmltype
    );
    
    insert into otn5test values (1, xmltype('
    
    Hide your heart
    Bonnie Tyler
    UK
    CBS Records
    9.90
    1988
    
    
    Empire Burlesque
    Bob Dylan
    USA
    Columbia
    10.90
    1985
    
    
    '));
    
    select otn5test.id, x.*
    from otn5test,
         xmltable('/catalog/cd[artist/text()="Bob Dylan"]' passing otn5test.data
         columns title varchar2(20) path 'title') x;
    
    select otn5test.id,
           xmlcast(xmlquery('/catalog/cd[artist/text()="Bob Dylan"]/title'
                   passing otn5test.data returning content)
           as varchar2(20)) from otn5test;
    
    drop table otn5test;
    
    sqlplus> @otn-5.sql
    
    Oracle version
    ------------------------------------------------------------------------------
    Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
    
    Table created.
    
    1 row created.
    
         ID TITLE
    ---------- --------------------
          1 Empire Burlesque
    
         ID XMLCAST(XMLQUERY('/C
    ---------- --------------------
          1 Empire Burlesque
    
    Table dropped.
    
  • FDQM write back to the EBS with other tables as GL

    Hello

    Please, I need a confirmation on FDQM: if it is possible to rewrite data from Hyperion Planning (Essbase) in EBS with other tables that GL using standard features FDQM (tables of EBS EBS sourcing purchases tables etc.).
    FDQM ERPI-write is limited to the EBS GL.

    Or write in EBS, I use ODI.

    I thank you and appreciate your input!
    Robert

    Hello

    Certainly, you can write additional scripts to do the job you are looking for. Unfortunately the only "out of the box solution" is mentioned above.

    Thank you

  • You can search for your personal library with Siri on the Apple TV and if so, how?

    You can search for your personal library with Siri on the Apple TV and if so, how?

    No, and it's a real shame...

  • How to share the library with multiple users?

    I have a Mac Pro 2008.  I have four internal hard drives.  One of them is an SSD that is my boot drive.  I have another internal drive that houses my music and movies (2 TB).

    I have four different connections - mine (admin), my wife, my son, my daughter.

    How can I share music on (2 TB) library with other users?  I read to the music folder (shared) - however since the 2 TB is not a boot disc, there is no shared folder.

    You try to share an iTunes library, or the drive contains just music files.

    Other users can see the drive, or simply don't have access to the records.

  • Use to write key VI with a table of cluster

    Hello

    I wanted to use an array of clusters to define certain configuration settings for an application. Unfortunately, 'Write key VI' does not support the type of cluster. Has anyone modified this function ('write key VI') in support of cluster and cluster table? Otherwise, no idea to keep it as simple as possible?

    My clusters include boolean, path, U32 and string.

    Thank you

    Olivier

    FYI, I have eventually save the cluster as a binary ("Write to binary function') file and a VI to read/write it. Is the easiest way for me as the other functions seem to have a limit on the complexity of the clusters they can handle.

    Thnaks for your suggestions,

    Olivier

  • Is possible to change the type of node WINS with cmd command on a windows operating system that is not joined to the domain?

    Is possible to change the type of node WINS with cmd command on a windows operating system that is not joined to the domain?

    Hello

    The question you posted would be better suited to the TechNet community. Please visit the link below to find a community that will provide the support you want.

     
     

    Hope this information is useful.

  • You will need to identify what node in a cluster of vRO is the execution of a workflow of.

    Hi all

    This is my first post for the communities in a very long time, so please, be gentle.  I do some work for a client automation, and one of the third-party applications that we integrate with password management requires that users of the API will be bound to a specific IP address.  In an instance of vRO single node is not a problem, but it is a HA configuration, and even if it's an active/passive failover workflows still needs to work if it breaks down.  About 50% of custom streams depends on asking a password to this third party system.  My password calls work fine of node 1 where I did all of the development, but I am now to tackle the issue of making the workflow nodes.

    I have a way very cludgy to circumvent this problem, the use of SSH for 127.0.0.1 (which defeats the point of using a system of management of password in the first place), but I really hope there is a more elegant way to accomplish this task.  Maybe a vRO ownership that can be called?  Or an action that can return the hostname of current node?  If someone has seen, it would be greatly appreciated.

    Sincerely,

    Matt

    Hi Matt,

    Unfortunately, there is no property or action (as I know).

    What you can try is to retrieve the host name of vRO Configurator which allows access to the connected network interfaces. Here is a Javascript code snippet:

    for each (var bound_ip in Config.getNetworkInterfaces().getValidBindInterfaces()) {
      var hostname = System.resolveIpAddress(bound_ip);
      if (hostname != bound_ip   // if ip and hostname are equals, this means ip cannot be resolved
        && hostname != "localhost" // ipv4 localhost
        && bound_ip != "::"  // ipv6 default unicast
        && bound_ip != "::1" // ipv6 localhost
      ) {
        // possible match; the 'hostname' variable contains the vRO node hostname
        System.log(bound_ip + "  -->  " + hostname);
      }
    }
    

    Code lists all the valid binding interfaces and tries to resolve the host name of each IP interface uses heuristics to get rid of localhost addresses.

    I have no HA environment to test this code, but in theory, it should work.

  • Using Windows 7 and LR 5 when I look at the list of keywords a keyword has 7 photos but when I check the library with this 350 photos filter keywords appear which includes 7 photos that have the keyword.  Why the showi filter library

    The use of Windows 7 and LR 5, when I look at the list of keywords a keyword has 7 photos but when I check the library with this 350 photos filter keywords appear which includes 7 photos that have the keyword.  Why the library filter, showing images that do not match the query

    John,

    Thank you very much for the work you've put into this.  I made the change you suggested making the subkeywords under 'schwartz' to be {name schwartz}.  I don't know who has contributed something, but I think that there are more immediate problem which is mucked up.  As well as the fact that I have several catalogs that I don't know how they were created, I think that the best thing would be to merge all the catalogs into one (it is better to have a single catalog, right?) and delete all the keywords from scratch.

    Thanks for your help.  I'll mark this as resolved issue.

    Dan

  • Main table with two tables of children as part of the ADF

    Hello

    I'm trying to implement single master with two tables in detail using oracle adf framework of Jdev 11.1.1.4.0. I am able to only master / details using the link display but unable to reach the details i.e., nested block child master with nested blocks.

    I created query view object based on the master and two poll objects of the base seen as details. Then, I created two master of first child link and another link for master of the second child. Even in this case in my data controls I see two different components which is incorrect.

    Please let me know how to create a data control for an example below:
    Fruit [MASTER]
    -Details of Fruits such as the table of the adf
    -Apples [FIRST CHILD]
    -Details of the apples as adf table
    -Orange [SECOND CHILD]
    -Details of the Oranges as adf table

    Kind regards
    Amar.

    You need two viewLinks
    Fruit-> apples
    Fruit-> Oranges

    Then, in the data model, you choose the entry of fruit that has:
    Fruit
    |---> Apples

    You stand on the fruit and you shuttle Oranges to be below left to right.

    If you use the HR schema by default, you will see this type of relationship for employees:
    https://blogs.Oracle.com/Shay/entry/master_with_two_details_on_the

Maybe you are looking for

  • Application doesent meet

    Hello... Lately I had a small question about the common wheel very often appearing when you use Safari and trying to open Finder - system Prefferences and access other Applications, I fixed a few things and my Macbook Pro runs visibly a bit smoother

  • New Ideapad 500 has no test Lenovo Solution Center

    Hello I just got a new Lenovo Ideapad 500 and test the Solution Center, it will return the following errors: Result code: WVC003002-RK8XFE Device: Intel(r) HD Graphics 520 Mathematical operations failed PCI/PCI-e test failure WMB008000-RK8XFE What sh

  • line gauge

    Hello I am a newbie to labview and try to use the function 'line IMAQ gauge' but I do not yet. Could someone send me examples or applications, if there is everything, including "IMAQ line gauge" function? Best regards

  • Windows Update error code 646 & dt000.

    Received the Windows Update error Code 646 & dt000 does not allow the following 2 updates be installed (KB976382 KB981725) what I need to do.

  • How to make a copy of a DVD?

    I created a DVD of a video cassette (without using the PC).  I would now like to make a copy of this DVD (DVD - RW) on the PC.   I checked to make sure that the DVD plays, but on Windows Media Playewr, I don't see any easy to make a copy.  Appreciate