How do I dynamically set channel gain(s) on an SCXI-1100?

I am using a PCI 6036E with an SCXI-1100 to multiplex trough 25-32 channels with low current signals from a photodiode array. I tried using the DAQ Assistant Express to measure current, but it won't let me do the following (even when I convert it to a standard subVI):
1) Select shunt resistor values greater than 1kOhm. (I am using 100MOhm resistors to get the highest gain possible from the low current photodiodes. I want to be able to programatically adjust the gain depending on the different low intensity light sources).
2) Change the gain selection so I can programatically create an auto range select.
John Feiereisen posted a question "Can I set dynamic gains on an SCXI-1100?" on 11/24/1999 wherein he stat
ed:
"In the past I used a single SCXI-1100 as a 'dumb' mux/amp by passing the OUTPUT and AOREF lines to the front panel connector (jumpers W7 & W8), controlling the SCXI with an MIO-16, and passing the mux'ed output to an A2000 with a BNC cable. I pulled CINs out of some LabVIEW-supplied VIs (v2.2?) to select channel and gain. This setup worked great and allowed me to march through a bunch of transducers and select an appropriate gain for each one. (And allowed much faster acquisition rates than if I did the A/D with the MIO-16.)"
It says that he was able to do what I want to do, but I don't understand how he did it.
Any suggestions or sample code? What is a MIO and a CIN anyways?
Thanks

Hey Biobartman,
I tested creating a current global channel in MAX using NI-DAQ 7.1 and it did not have a problem using a 100 MOhm external shunt resistor. However, you do need to make sure that the current range is equal to or smaller than +/-100 nA. MAX calculates the voltage range by multiplying the shunt by the current range. The voltage range must be equal or smaller that +/-10 V.
The gain for the DAQ device can not be programmatically changed. You must change the minimum and maximum range in order the change the gain settings used on the DAQ device in DAQmx. However, you can change the SCXI gain settings programmatically when the task is not running using the Channel Property Node. The property can be found under Analog Input: General Properties:
Advanced: Gain: Gain Value.
I hope this helps out.
Joshua P.
Application Engineering
National Instruments

Similar Messages

  • How to use dynamic set in calculated measure

    Hi, 
    I have this calculated measure in my cube:
    member [Measures].[Estimate]
    as 
    iif(
    isleaf([Calendar].[By Year - Quarter - Month].currentmember),
    iif(
    1=1, // Simplified for examples sake
    [Measures].[Actual],
    [Measures].[Budget]
    sum(
    [Calendar].[By Year - Quarter - Month].currentmember.children,
    [Measures].[Estimate]
    It works fine, however when the user filters on the calendar hierarchy, the totals does not seem to react. As far as I can read, this is related the use of sub cubes when filtering in Excel, and this can be fixed by using a dynamic set, but how? I am unsure
    how one would use it with this measure.
    Thanks in advance

    This used to be a problem with Excel 2003 though I thought it had been fixed with the more recent versions. I've only seen this issue when using named sets in a calculated measure and not when the set is defined within the calculated measure and that's corrected
    by declaring EXISTING before the named set reference as below.
    SET [Member Descendants] AS
    [Calendar].[By Year - Quarter - Month].CurrentMember.CHILDREN
    MEMBER [Measures].[Estimate] AS
    IIF(
    ISLEAF([Calendar].[By Year - Quarter - Month].currentmember),
    IIF(
    1=1, // Simplified for examples sake
    [Measures].[Actual],
    [Measures].[Budget]
    SUM(
    EXISTING [Member Descendants],
    [Measures].[Estimate]
    EXISTING will force the named set to be evaluated with the context of each cell evaluation.
    Martin Mason Wordpress Blog

  • How do you dynamically set the flat file name

    Within my process flow I call a mapping. Within this mapping I have a flat file operator (which creates and writes to a .csv file). All working great.
    From this process flow I want to be able to pass a parameter to the mapping (which I can do), and use the value of this parameter as the file name of the .csv file. But I can’t seem to be able to dynamically set the ‘Default physical file name’ to this parameter value within the mapping.
    Does anyone have any ideas?
    Thanks
    Ansel

    Hi Ansel
    Check out the blog entry here;
    http://blogs.oracle.com/warehousebuilder/newsItems/viewFullItem$154
    You can use an expression.
    Cheers
    David

  • JMS Queue - how to determine dynamically

    Hi,
    I have the following scenario File -> PI -> JMS Queue
    Based on the above I would like to dynamically determine the JMS Queue name based on the source file name, for example:
    XXX_data_file.xml        should route to JMS Queue   XXX_JMS_Q
    YYY_data_file.xml      should route to JMS Queue   YYY_JMS_Q
    <any>_data_file.xml    should route to JMS Queue   <any>_JMS_Q
    How can I dynamically set the JMS Queue name?
    There are several suggestions which say to use 'DCJMSReplyTo' but they make no sense to me. I have looked in WIKI "FAQ J2EE JMS Adapter" and "Note 856346 - J2EE JMS Adapter: Frequently Asked Questions (FAQ).
    I can get the source file name in a UDF but how to set the target JMS Queue in the same UDF?
    Che

    Check the following link for how to get the name of the file:
    http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/content.htm
    In your target strucuture, add one elment to hold the above file name:
    In your receiver determination, you use conditonal routing, you can say
    if file name element = file 1, then select your queue1 receiving system
    if file name element = file 2, then select your queue2 receiving system
    If you do not want to have many receiving system,  you can also use conditional interface determination as well, that way, you need to have number of inbound interfaces that corresponding to your queue.
    in this case, you just have one receiving system.
    Regards.
    Liang
    Edited by: Liang Ji on Jun 2, 2009 8:07 PM

  • Dynamically set "mailto:" upon submit

    Hi there,
    How can I dynamically set the "mailto:" part of the submit form (and attach PDF)
    From here:
    https://forums.adobe.com/message/7025028#7025028
    To add an action to button to send the form as an email, you can perform the following steps:
    Add the "Submit a form" action to your Submit button.
    Enter "mailto:" (including a colon) followed by email recipient(s).
    Select "PDF The complete document".
    Thanks

    Thanks MobileDevCK for the fast response,
    I regards to the user entering the email, thanks but i think you missed the /s
    I am designing this in Acrobat Pro, I'm not sure how i'd be referencing code if i wasn't.
    I've read the API, and it says:
    submitForm
    (cURL
    cSubmitAs='FDF']
    [cCharset='utf-8']
    Submits the form to a specified URL. Currently only supports FormsCentral submissions.
    but then FormsCentral will be retired on July 28, 2015. The service is fully functioning and available through June 22, 2015. Learn more.
    I'm trying to get support on:
    AcroForms
    Most Acroform elements and their properties are supported, although email is currently the only supported submit type and barcodes are not supported.
    I want to dynamically set (with code based on fields filled in) the email in acroforms
    Thanks for you help.

  • How to set the gain and input coupling for each channel on a NI 4462 DaQ card?

    I've seen a few examples in how to set the gain for NI 4462, but none tell me how to chose the channel I wish to set this gain.  Also the same problem with input coupling
    Does anyone know how to set the gain and input coupling for each individual channel?
    Thanks,
    Hector
    LabView 8.5 Windows XP

    Hey Hector,
    http://forums.ni.com/ni/board/message?board.id=100&thread.id=1688
    This has a few examples of how to do that.  Let me know if you have further questions.
    Have fun!
    -gaving

  • How to pass dynamic filename to Receiver JMS channel

    Hi experts,
    I want to pass the dynamic filename to receiver JMS message Properties.
    for example
    I am passing directory name via adapter module AF_Modules/DynamicConfigurationBean with key and value combination like below. How to pass dynamic filename value to a dynamic property ( say DCJMSMessageProperty1)
    eg.
    key.0 - >insert http://sap.com/xi/XI/System/JMS DCJMSMessageProperty0
    value.0 - >  testdirectory ( which is static value)
    Note: Im have not created any ESR object . i just have to bypass the file to a jms queue. I have used AAE integrated configuration scenario ( file to jms )
    Regards,
    Balaji
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:45 PM
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:46 PM

    Already given link for the dynamic configuration code snippet in the earlier reply... Below is the code snippet
    Note: Use Adapter Specific Message Attributes for the target Communication Channel(CC).Check the indicator for filename in the advanced tab of CC
    //UDF code
    String filename="";
    String NameSpace = "http:/"+"/sap.com/xi/XI/System/JMS";
    try{
          DynamicConfiguration conf = (DynamicConfiguration) param.get(
            StreamTransformationConstants.DYNAMIC_CONFIGURATION);
          DynamicConfigurationKey key  =  DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File",   "FileName");
           // read filename value
           filename = conf.get(key);     
          // So far we extracted filename value .. now do your logic  something like this...
          DynamicConfigurationKey key2 = DynamicConfigurationKey.create(NameSpace,"yourjmsvalue goes here");
           conf.put(key2,filename);
         } catch(Exception e){

  • How to dynamically set column name in Answers

    Hi.
    How to dynamically set column name in Answers, for example I want to put presentation variable in column header. Is this possible?
    Regards,
    Goran Ocko
    http://108obiee.blogspot.com/

    May be a rude way .. but it works.
    Add narrative view and use Java script to change the column headings based on the variables.
    <script language="javascript" type="text/javascript">
    var a = document.getElementById('idResultsTableParent');
    var rows= a.getElementsByTagName('tr');
    rows[1].cells[1].innerText ="@{Presentation Variable}";
    </script>
    Editing the same post to remove irrelevant information.
    - Girish

  • SQL Query: How to search on a dynamic set of patterns?

    Hello,
    I have a requirement where I need to search a table with dynamic set of patterns. Here is something I am looking for:
    select * from T1 where C1 LIKE 'AA%' or C1 LIKE 'BB%' ...
    That is, the number of patterns is unknown, it could be 0 or 1 or more. I cannot use the IN clause because this requires exact match.
    Can you please help in letting me know how to do this?
    Thanks a lot

    Dear,
    +In your last statement you mentioned "like C2||'%'".
    I can't use this because C2 is the name of a column in table T2.+
    Did you try this and you got an error or you are "concluding you can't" use this because C2 is name of a column?
    Please try it. If you run into error, please post the error and you query.
    Also...
    1. When posting code, use BEFORE and AFTER the code, to format it nicely. It makes it easier to read.
    2. In you posting questions include sample table,data expected output and your attempt in solving the problem. this will make it easier on everyone to help sooner and more effectively.
    Best way to learn, SQL programming is to try it out.
    So please try the sample and the suggestion and let us know if you get any error.
    vr
    Sudhakar B.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to build dynamic databases(record set) for mobile?

    Hi All ,
    i have an applocation that needs to personalize the data for users .
    i have the data available , but dont know how to personalize it fot users to download special version of my application.
    how to build dynamic databases(record set) for mobile?

    In the load rule in the dimension build settings you would need to go to the tab dimension definition, choose the time dimension and right click on it. Select Edit properties. If you have not done so, set the dimension to be the time dimension. Then go to the generations/levels tab and set the generation names you need. For example if you want YTD, you would set the generation name to Year, if you want QTD set it to Quarter. You would set the number to the generation number that coorisponds to the generation. The DBAG has the list of names for all of the DTS members.

  • How to dynamically Set the list of flex contexts based on a condition

    Database is in 11i atg rup7 level
    first OAF page - shows list of employees under a manager
    on clicking an employee record, the second OAF page opens and it shows a set of records from descriptive flexfield. Currently 5 contexts of the same flexfield are enabled for this responsibiltiy using the ContextA||Seg1|Seg2|Seg3||ContextB||Seg1|Seg2||ContextC||Seg1|Seg2|Seg3|Seg4||ContextD||Seg1|Seg|Seg3|Seg4||COntextE||Seg1|Seg2 in the personalisation at responsibility
    So 5 sections(one for each context) are shown in the OA page
    My requirement is to show only 3 contexts for employee 'A' and 5 contexts for the employee 'B'. Both the employees are under the same manager.So i think i cannot do a simple personalisation at responsibility level.
    So assuming ,i have some parameter like person_id , how do i dynamically restrict to 3 or 5 contexts in my controller code?

    Hi,
    Use this :
    OADescriptiveFlexBean descFlexfieldsBean = (OADescriptiveFlexBean)oawebbean.findIndexedChildRecursive("flexitemid");
    descFlexfieldsBean.processFlex(oapagecontext);
    if(descFlexfieldsBean != null)
    descFlexfieldsBean.setFlexContextCode(pageContext,"ContextName");
    Thanks,
    Gaurav

  • How can I set the gain on a SCXI-1102 module without having my computer lock-up for 3 seconds?

    Forgive my insolence, but did it never occur to anyone that spinning in a hard loop while polling a status register to set a gain for 3 seconds isn�t a great idea?
    I have a number of SCXI-1102 modules to set the gains on, and it takes several seconds for each. Reading the documentation on the subject indicates that the SCXI_Set_Gain call polls a status register waiting for the gain to settle before returning � and it doesn�t even yield while doing so.
    Are there any other ways I can set the gain? Is there a way that doesn't poll the register that returns in a reasonable amount of time?
    AFAICT, there's no good reason to only allow one module to be s
    etting its gain at a time. An asynchronous call it really needed - one that makes it the API programmer's responsibility to check the status of the register, or one that spawns a thread and sleeps between polls, and signals an event or invokes a callback or some-such-thing. Or you could even just sleep for three seconds after setting all the gains, this way the delay would be 3 seconds total � not 3 seconds for each gain set.

    This NI-DAQ function call directly accesses the nidaq32.dll. While the nidaq32.dll is multithread safe, it is not a multithreaded DLL. This is also described in the KnowledgeBase entry 1V9DSHDM: "Can NI-DAQ Handle Different Operations at the Same Time? Is It a Multi-threaded DLL?"
    You are correct that the SCXI_Set_Gain function is not asynchronous. Thus, you do have to wait till that function returns before calling the next one. LabVIEW has found a way around this. So, you can actually use the LabVIEW functions to set the gain on these modules without having to wait as you do with SCXI_Set_Gain.
    Regards,
    Geneva L.
    Applications Engineer
    National Instruments
    http://www.ni.com/ask

  • How to dynamically set the name of the generated PDF file sent by email

    Hello,
    I am using Reports 10g and I managed to send PDF reports by email, specifying the recipient, subject, format etc, using the reports servlet URL.
    But there is one thing that I cannot find a way to do: I want to dynamically set the name of the attached file. It defaults to the name of the RDF file (eg monthly_sales.pdf). I would like it to be something more meaningful (eg monthly_sales_072010.pdf, where 072010 is the month and year passed by parameters).
    Is it possible to do it?
    Thanks
    Luis

    Use System.load(...) instead of System.loadLibrary(...).

  • How Can I Dynamically Name and Set Variable Values?

    First one with a correct answer will have the FUNCTION named after them......
    What I want to do is create 'new' variables based on the index of the parent.
    So, if I have 4 subforms called 'Panel' (Panel[0], Panel[1], Panel[2], Panel[3]), I want do declare a local variable in my function to count from 0 to n  for each Panel.
    We won't know how many Panels we will have until runtime. So, I need the variables to keep track of the count (it's tracking the number of errors) - for each Panel.
    Something like this:
     if(obj.rawValue==null || obj.rawValue=="")
    var errorCount[obj.parent.parent.index]=errorCount[obj.parent.parent.index]+1;
    app.alert(errorCount[obj.parent.parent.index]);
    I am assuming it has something to do with Arrays.  But I suck at Arrays.
    Thanks for the help.

    You're correct, arrays are the way to go.  Define your error array like this:
    var errorCounts = [];
    Then, understand that when an array entry is not set it will have the value 'undefined', so you can know if an entry has been initialized.  So to increment the count for a particular index (subform occurance) use:
    // If entry is being set for the first time, set it to 1.  Otherwise increment count.
    if ( errorCounts[index] == 'undefined' )
        errorCounts[index] = 1;
    else
         errorCounts[index]++;
    You can also loop through and initialize the array to zero; then you can remove the check for undefined.  How and where you do this and how you figure out what 'index' is depends on how your form is set up and which event you're using to kick off the error check.  Give me a little more detail on what you're trying to do.

  • How can i select the board gain of a Lab-PC+ ?

    Hi,
    I need to use a DAQ Board Lab-PC+ to acquire an analog signal. It varies from -1 to 1 V, and i´d like to use all the range of the AD converter. The Lab-PC+ manual indicates a software selection board gain, but i don´t know how to do it, or which function permits it. I think it is simples, but i could find this information.
    Thanks,
    Juliana

    When you use DAQmx Create Virtual Channel, you have the maximum and minimum value inputs. These are what set the gain. The driver will set the voltage range to the best available based on your inputs.
    I had to look at some of your other posts to verify that you're using LabVIEW and DAQmx. In the future, it's helpful if you can include the software you're using in your post so people don't have to guess.

Maybe you are looking for

  • ITunes playing one song at a time

    My iTunes only plays one song at a time. I've tried changing the format (ie repeat playlist, repeat song etc etc) but nothing seems to work. Can anyone help? Dallas (-:

  • CSS attributes not supported in some browsers

    Hello all.  Here's a question some of you will laugh at but it's really cothering me. Try as I may, I'm getting used to the way CSS is handled between DWCS3 (Mac) and GL, and while everything looks fine when I'm in DW, I preview simple, static pages

  • Best Practices for Removing Shots from BDMV folder

    CS6 Production Premium Suite Win7x64 Canon XA10 I would appreciate feedback on the best practices for the following situation: Using Windows Explorer, I copy the BDMV folder from the XA10 to my Talk2 project folder. The BDMV folder has three one hour

  • BP-ERP 605 your add-on is not up to date

    Hello guys, I'm trying to apply building blocks for a customer. My system is an ERP 6.0 EHP5 SP8 and I have the add-on BP-ERP 605V and BP-SOLBLD installed on the system with all the fixes. However when I try to run the activation of building block it

  • Software monitoring problem, increased latency?

    I tested 8 in the studio yesterday, with a real band etc. There was a major problem though, try as I might I couldn't get a proper monitor signal for the singer using software monitoring(through Logic). He complained about the horrible flanging/tremo