IVI logical name as Variant

Hi,
Another problem with LV 7.11:
I have a 'VI caller' that opens a VI by name or Ref, sets its controls using 'Invoke Method - Set Control Value [Variant], runs the VI and gets all display results. Worked fine up to now.
Today I ran into a problem when I was calling an IVI-based functional generator like NIs example 'IviFgen [ARB] - Generate Arb Wfm.vi'. This has a control named 'FG Device Handle' which is of the type IVI-Class.IviFGen.hp33120a and has the logical name 'FGen'. When I convert this value 'FGen' into Variant, it is represented as a numeric value, e.g. 0x05568858. If I use the string 'FGen', it is converted to '"FGen"'. Both values are NOT ACCEPTED by Set Control Value [Variant] when applied to the apropriate control of the 'IviFgen [ARB] - Generate Arb Wfm.vi'.
What can I do?
Greetings from Germany!
Uwe

Hello!
I tried to use the VI as SubVI and it worked without any exception.
To use it as top level VI called dynamically, you can simply replace the IVI Logical Name Control with a normal string control where you write the logical name.
IVIFGen initialize.vi accept also a String for the logical name.
So you can use the Set Control Value (Variant) to transfer the string to the control.
Best regards
Ken

Similar Messages

  • Configure IVI Logical Name to use different Driver Session programmatically

    Hi,
    Is it possible to change the Driver Session associated with an IVI Logical Name in Labview ?
    thanks,
    Gary. 

    Hi Gary,
    Unfortunately there is no function in LabVIEW that does any IVI setup.  All of the configurations for your driver sessions and logical names need to be set in MAX, and saved.  So while you can change the driver session a logical name uses, you can only do this through MAX.
    Kind regards,
    Sheela Sujeeun
    Applications Engineer
    National Instruments UK

  • Resource Name, IVI Logical Name, Driver session on MAX

    Inside MAX, we can set Device Name, Logical Names, and Driver Sessions. Can I setup those on LabWindows or LabView? or you have C# wrapper to do this?

    Hi Gary,
    Unfortunately there is no function in LabVIEW that does any IVI setup.  All of the configurations for your driver sessions and logical names need to be set in MAX, and saved.  So while you can change the driver session a logical name uses, you can only do this through MAX.
    Kind regards,
    Sheela Sujeeun
    Applications Engineer
    National Instruments UK

  • Retrieving mapping from IVI logical name to full driver session name.

    MAX, of course, lets you set up "Driver Sessions" with full names, and then "logical names" which are shortcuts to the full driver session. How can I retrieve the actual driver session that the logical name maps to? I can get the handle to the logcal name list via the IVI library, but I can't find any function that lets me retrieve further information about the logical name. Is this available in the "Configuration Server C API"?

    What I want is, as I said, the mapping between the logical name and the session. This must be available, since the IVI drivers use it to go from a logical name to the attached session! One would think that it would be a single function call.
    I'm doing this because in my program I can select which of a number of drivers (Newport motion controllers, in this case) a particular GUI control is attached to. The full session name is long, and there are - of course - sessions that have nothing to do with motion controllers. In the control list (a ring control) I use the logical names, which are shorter. However I want to also list the full session name elsewhere. Since I can't go from the session name to the logical name, that mapping isn't stored anywhere, I must go the other way around.
    Ok, I think I figured it out. This could really be documented better!
    Also, this whole thing could really be in the .ivi library configuration store section, which encapsulates a few of these calls, but not all of them.
    //include section
    #include <IviConfigServer.h>    //IVI configuration store
    //done once at program startup. Note: this gets a copy, you don't have to dispose of ConfigStoreHandle afterwards.
    static IviConfigStoreHandle ConfigStoreHandle = NULL;
    Status = Ivi_GetConfigStoreHandle (&ConfigStoreHandle);
    //This is the pain in the butt.    
    ViStatus Status;
    IviLogicalNameCollectionHandle LogicalNameCollectionHandle = NULL;
    IviLogicalNameHandle LogicalNameHandle = NULL;
    IviSessionHandle SessionHandle;
    ViChar         ControllerSessionName[MAX_Controller_Name_LEN];  
    ViChar         ControllerDescriptor[MAX_DESCRIPTOR_LEN];
    ViChar         ControllerDescription[MAX_Controller_Name_LEN];
    //get the configuration store logical name collection (what you see in MAX under "Logical Names")
    Status = IviConfig_GetConfigStoreLogicalNameCollection (
        ConfigStoreHandle,
        &LogicalNameCollectionHandle);
    //how many logical names are there in the collection?
    Status = IviConfig_GetLogicalNameCount (
        LogicalNameCollectionHandle,
        &IVI_ItemCount);
    //For each logical name, find the corresponding session name   
    for (i = 1; i <= IVI_ItemCount; i++) {
        Status = IviConfig_GetLogicalNameItemByIndex (
                LogicalNameCollectionHandle,
                i,
                &LogicalNameHandle);
        //get the session name for this logical name
        Status = IviConfig_GetLogicalNamePropertyViString (
                LogicalNameHandle,
                IVICONFIG_VAL_LOGICAL_NAME_NAME,
                MAX_Controller_Name_LEN,
                ControllerDescriptor);
        //get the description for this logical name
        Status = IviConfig_GetLogicalNamePropertyViString (
                LogicalNameHandle,
                IVICONFIG_VAL_LOGICAL_NAME_DESCRIPTION,
                MAX_Controller_Name_LEN,
                ControllerDescription);
        //get the handle for the ession attached to this logical name
        Status = IviConfig_GetLogicalNameSessionReference (
                LogicalNameHandle,
                &SessionHandle);
        //get the name of the session (what I really wanted in the first place)
        Status = IviConfig_GetSessionPropertyViString (
                SessionHandle,
                IVICONFIG_VAL_CONFIG_COMPONENT_NAME,
                MAX_DESCRIPTOR_LEN,
                ControllerSessionName);                

  • Does mxctrllib provide a call which returns a reference to all the logical names in MAX?

    I'm looking for a call that returns all the MAX logical names on a system. I would populate a drop-down box with those names to allow the user to select a name at program run-time. Currently I hard code a particular logical name as a string and init the session. This is not flexible. Thanks ...

    The NiMxCtrl.dll which is the server for the mxctrllib objects is meant for National Instruments internal product use only. There is no documentation for developing 3rd party apps that utilize its functionality.
    I'm not sure if you are talking about the IVI logical names listed in MAX or not, but if you want to know where you can get a list of these, they are in the ivi.ini file found in your C:\VXIpnp\Win95\niivi directory. Just parse this file to read all of your IVI logical names and setup parameters.
    Jason F.
    Applications Engineer
    National Instruments
    www.ni.com/ask

  • Configurin​g Logical name of IVI with out using MAX tool

    hi,
     I need to configure the Logic name of IVI by API(IviConfigServerCAPI.dll provided by IVI) With out using the MAX tool.Can any one tell me how to use this api to configure the logical name
    Regards
    Parthipan

    It seems you have created a new thread for the topic here. Continue in that thread please
    http://forums.ni.com/ni/board/message?board.id=170​&thread.id=430393&view=by_date_ascending&page=2

  • Finding a logical name for PXI5112 modules to be used in niScope_Init

    I need to dynamically allocate the number of PXI5112 modules on several PCs in a C++ program. After going through great length using VISA calls to obtain the VISA logical name ( PXI3::11::INSTR, etc.), I found out that niScope_Init is expecting an IVI or DAQ logical names. How does one go about to get the logical name for those PXI modules so niScope_Init can use? Hardcoding the name such as DAQ::1 is out of the question because the number of modules is different from test to test. Thanks.
    Software:
    niScope driver: 2.6
    Microsoft Visual studio.net 2003
    Measurement Studio 7.0
    Windows XP SP2
    Hardware:
    Group1 : 5 PXI5112s
    group2 : 3 PXI5112s
    group3 : 7 PXI5112s

    Here's a quick and dirty example of how to use the niModInst API in C:
    ViSession sessionHandle = VI_NULL;
    ViInt32 numberOfDevices = 0,
    i = 0;
    ViChar deviceNameBuffer[256] = "";
    niModInst_OpenInstalledDevicesSession(
    "niScope",
    &sessionHandle,
    &numberOfDevices);
    for (i=0; i < numberOfDevices; i++) {
    niModInst_GetInstalledDeviceAttributeViString(
    sessionHandle,
    i,
    NIMODINST_ATTR_DEVICE_NAME,
    256,
    deviceNameBuffer);
    printf("%s\n", deviceNameBuffer);
    niModInst_CloseInstalledDevicesSession(sessionHandle);
    The device names that you're printing out in this example can be used as the resourceName input to the niScope_init function.
    In practice, though, be sure to check the status that is returned from each function. You can get further information about an error using the niModInst_GetExtendedErrorInfo function. All the functions I used above can be found in the niModInst.h file.
    Hope that provides some more help.

  • Logical names lost after database corruption removal

    Hi,
    I am working on a PXI based project using NI 5663 and NI 5673. The MAX database in system got corrupted recently due to power cut.
    I did a database corruption removal and the only issue I face now is that there are no logical names for the devices. I am following the steps from the site below to create the same –
    http://www.ni.com/white-paper/4594/en
    But after I create a new logical name say for the LO 5652 (associated with 5663), I do not know which driver session to associate with it.
    There are driver sessions for niFGen, ni5450 in the list but no session for 5663 or 5673.
    Could someone please help me out with creating logical names and associating them to the devices?
    Thanks so much,
    Sharmi 

    Hello,
    To configure your 5663, you can refer to the RF Vector Signal Analyizer Getting Started Guide pages 37 - 39.
    You should open Measurement & Automation Explorer and rename the devices such as VSA_LO, VSA_DC, VSA_DIG for the local oscillator, downconverter and digitzer respectively. Next you will need to associate the downconverter with the local oscillator and digitizer by right clicking the downconverter and selecting properties
    To configure the 5673 the steps will be fairly identical, rename the devices if you wish and then associate the upconverter (IQ Vector Modulator) with the arbitrary waveform generator and the local oscillator. You can also refer to the RF Signal Generator Getting Started Guide on pages 23 - 24.
    Which programming language are you using the VSA and VSG with? You normally wouldn't need to configure any IVI sessions the the devices. The only configuration normally is just associating the upconverter or downconverting with the LO or digitizer/AWG module.
    Anthony F.
    Product Marketing Engineer
    National Instruments

  • Report issue , logical name of the system has been changed

    Hi
    Recently our system has been upgraded to ECC5.0. In a particular report  while drilling down we get  error. The error says the original doc can not be shown as it belongs to logical system ( DRH-123) . Now we know that this logical name of the system was in old box . The new logical name is DRH-100 . We are saying it's a basis issue and the basis team is saying it's FICO issue.Has any body encountered this type of problem. ? In my report  i have never mentioned logical name of the system.Hence unable to understand it. But so far what I have understood , that the each box  has been partioned and given a system name which is called logical name.Now that logical name they have changed in new box.My initial response was change the logical name but basis says that is a big task and more over it has been a while when they changed it.
    Gurus, Kindly shed some light on this mess.
    Thanks in advance
    Satya

    Which report are you pulling out? T-code?
    This link has some that may help you:
    www.scribd.com/doc/24447/SAP-R3-IDoc-Cookbook-for-EDI-and-Interfaces-by-Axel-Angeli
    Do CTRL+F to find Logical Systems
    If the link doesnt work use the following keywords and google it, shoose second result: EDI IDOCS interface axel angeli sap
    You may also want to get in touch with the person who was involved in developing LS. Talk with your ABAPer, they normally have an idea about these things (well atleast my ABAPer knows!)
    Message was edited by:
            Vj

  • Logical Name and Physical Name of OWB Objects?

    Hi,
    I am using OWB 10G R1. Version: 10.0.1.0.4
    I would like to know, is there any table/script to get list of physical name and logical name of OWB objects (mapping / process flow).
    Any help would be appreciated greatly.
    Thank you,
    Regards,
    Gowtham Sen.

    Hi,
    I only have a skript for OWB 10.2.0.3, maybe it will work with 10gR1 as well:
    SELECT object_type,
           object_name,
           logical_name,
           object_path
      FROM (SELECT owm_view_utilities.classified_obj_type2(f.elementid, f.classname) AS object_type,
                   f.NAME AS object_name,
                   f.logicalname as logical_name,
                   sys_connect_by_path(f.NAME, '/') as object_path
              FROM firstclassobject_v f
             WHERE 1 = 1
            CONNECT BY f.owningfolder = PRIOR f.elementid
             START WITH f.NAME = 'MY_PROJECT')
    WHERE object_type IN ('Process', 'TransformMap')
    ORDER BY object_type,
              object_name
    ;Just replace 'MY_PROJECT' with your project name.
    Regards,
    Carsten.

  • Physical path and Logical name in File adapter

    Hi All-
    I am using a file adapter, in which i need to specify the physical path or logical path.
    In dev environment my file adapter's input path is /c01/interface/dev/input, but in my test environment it is /u01/interface/test/input.
    So everytime I have to change the path and deploy it in two different environment.
    I am using unix environment, is there any way i can use some environmental variable $INPUT_DIR and use it in logical name so that in logical name i can use as $INPUT_DIR/input, where in dev $INPUT_DIR will be /c01/interface/dev and in test environment it is /u01/interface/test.
    I have tried this but there is still some probelm, I want to know is the approach I am using is correct? or is there any other solution for it?
    Regards,
    Sreejit

    Hi,
    1. physical name: use a specific directory (e.g. /u01/....
    2. logical name: use a LogicalDirectory like "InputFileDir" and rewrite this inside the bpel.xml
    http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/adptr_file.htm#CACDEBBH
    and
    http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/appx_deploydesc.htm#CHDBDIIF
    But what about creating a softlink like this on your testsystem:
    ln -s /u01 /c01

  • Using File Adapter with Logical Name

    I am creating a file adapter with Logical name. Apart from giving the Logical name is there any other configuration that I am suppose to do on the Web Logic before I start using it?
    Thanks in Advance.

    After configuring the file adapter, all you need to do is , give the path as a value for the logical name which you have created earlier. That you can do on the file adapter property inspector. There is no need to do anything on the server level. Lemme know
    Thanks,
    N

  • Change source system name in variant in BWQ

    Hi Gurus,
    I created a process chain for global seetings for unit of measurement and fiscal year variants and transported to BWQ.
    In BWQ, I found the source system name in variant is showing ERD source system name, but I need to change it to ERQ source system name. Any advice how to change source system name in variant in BWQ I would appreciate it.
    Thanks
    Liza

    Hello Again Liza...
    I had the same problem but I didn't need to include in process chain...
    So to execute periodically you can change it in debug mode, not the best solution...
    But since you need to use it in a process chain, you should copy that program to one of yours Z.
    Do this:
    Go to transaction se38 and insert the program name "RSIMPCUST".
    Click on the button of "Copy" (Ctrl+F5).
    Change the source program name to ZRSIMPCUST (or whatever you want)
    Click Enter
    Click the button to mark everything (F8)
    Click Enter
    On the next window of the name of the include click enter (leave it blank)
    Click on the button Change of your Source Code
    In line number 54 you'll find this in Selection Screen part:
    PARAMETERS:  logsys  TYPE rsa_logsys MODIF ID p01.
    PARAMETERS: logsysnm LIKE tbdlst-stext MODIF ID p02.
    Delete those two lines and insert this ones:
    PARAMETERS:  logsys  TYPE rsa_logsys.
    PARAMETERS: logsysnm LIKE tbdlst-stext.
    Now click on Activate button (Ctrl+F3)
    Now you have a new program just like the old one but you can change the source system to whatever you want!
    Please assign points,
    Diogo.

  • Retrive logical names of table in oracle?

    Hi,
    Select * from tab;
    Gives the physical name of table....
    How to retrive the logical name of table?

    Duplicate post!
    retrive logicl names of table?
    Please stick to one post.

  • Problem with font logical names method

    Concerning font logical names, the Java tutorial states: To get the logical name for a Font object, call java.awt.Font.getName. Would someone kindly offer a few lines of code to demonstrate how getName would be implemented in this regard -- say using Century Gothic as the font? I've been having trouble overcoming error messages trying to implement this.
    Thanks.
    Jody Widelitz

    Pretty simple, just call getName() on a Font object once you have it. For example, this will list all the font names on your system:import java.awt.*;
    public class Test
        public static void main(String[] args)
            Font[] fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
            for(int j = 0; j < fonts.length; j++)
                System.out.println(fonts[j].getName());
    }

Maybe you are looking for