Strain Gage Calibration Wizard in MAX

V MAX 4.6.0f1

I have gauges 1/4 bridge connected to the SCXI-1314/SCXI-1520 module 3ea.  Strain Gage Calibration Wizard will only perform a reliable "Offset Null" if I create a global virtual channel for each individual gage.  If I create a task NIDaq-MX, none of the templates will be "offset null" correctly.

This is a problem because I use VI Logger.  VI Logger only accepts the tasks, not a global set of virtual channels.  Why the wizard of calibration of strain Gage works only on each global virtual channel?

I hate to reply to my own post, but: "Autozero" mode must be set to OFF, never ONCE.  Apparently, who raises the calibration askew.

Tags: NI Hardware

Similar Questions

  • How to get Strain Gage output voltage

    Hello.  I'm trying to do and calibrate a load cell with the installation of full-bridge strain gage.  I use a NI9219 module with a cDAQ chassis.  Is it possible to capture the actual output voltage?  Signal Express gives me a value of strain, but I really need to know the output voltage.  Where to look.  Thank you!  P.S. I only use this equipment on occasion and am not the more familiar with it, so keep things simple for me.  Thanks again.

    Then, it is quite simple. Two channels:

    Ch01 - DAQmx acquire > an analog Signal > choose voltage: range min/max of the actuator load cell enter the installation of voltage input range (+/-5 k for example), and then create and apply a custom scale (choose the beaches of the table) where the +/-10V = full scale commercial load cell. Once applied "Scaling of units" should be updated automatically to display custom units you defined in the scale.

    Ch02 Custom with Excitation voltage: range of input Signal (can probably leave default), scaling of units = voltage, E.g. Source = internal, Ex value = 2.5V, use Ex for unchecked staggered, depending on Configuration Configuration Terminal, Custom Scaling = none.

    Optional: I normally add an amplitude and levels (analysis > measures Time-Domain) step, drag and drop the "DC" signal on both channels in the graph and create a scalar XY Chart, so I can see my field in real time.

    Add a record to the ASCII step and save the two signals to Excel so you can draw your curve.

  • Place a button for calibration of the strain gages on the façade


    I'm relatively new to LabVIEW, and I'm trying to place a button on the front of a VI that is designed to graphically view statements for voltage of several strain gauges. I tried to use the offset calibration DaqMX bridge Subvi initially, but is not the same thing as the calibration button of the strain on the device tab in MAX.

    Can someone help me to do it properly? I know that's not much more difficult to just do the calibration in MAX, but my supervisor is looking for the VI to be as simple as possible for the user.

    Thank you!

    for a project that I use on average for gauge calibration chain
    I Place a button when the press op that he finds the average of the last ten value of voltage and then I use it as V0 in the vi strain using shift register
    is this great method for you?
    If so I can give you examples of code

  • Is there a programmatic access to the Calibration Wizard of DAQmx channel in LabVIEW?


    I'm making my own external calibration of my SMU-4300 OR against a HP 3458 A using an amplifier to the source of several different voltage for the 4300 points. I use the channel calibration Assistant in the DAQ Assistant to my virtual channel manually set and save each point. This utility works great for me because I don't want to accidentally erase the external calibration constants and adjustments are seamless later (without having to apply one of the constants of calibration every time I have a measurement, it has simply everything for me in the background). The only problem is that manually configure each condition to calibrate is extremely slow and tedious; I want to speed up the process by creating a VI that opens/closes relay and resolve tensions that I want to calibrate.

    I was looking around the Calibration DAQmx palette, but I was unable to find a screw that had the same effect as the wizard of calibration channel without changing the external calibration constants. Anyone have any suggestions to achieve this? Worst: I'll create a linear scale and apply it to my channel, but I have to find a way to merge it with the already existing scale...

    Thank you

    Jack Grantham

    Validation engineer

    Texas Instruments

    Hi Jack,

    I recommend you to programmatically create a custom scale to correlate your reference known to your desired reading levels. You can then apply this custom scale for all the tasks you want to apply benchmarking. This knowledge base article explains how to create a custom programmatically through our API DAQmx scale:

    Who will work for you?

  • How to connect the chassis cDAQ for strain gage

    Hi, when I read the guide of the extensometer of wiring on a chassis cDAQ ( I found confusing fig 10 .

    What are the things between the chassis and the extensometer?

    The three wires go only one channel of the cDAQ chassis? (in Fig 10, on channel 0?)

    Why there are four terminals (CH + EX + QTR EX-) on the strain gauge, but there are only two wires coming out of my extensometer? What should I do?

    PS. I have a USB-4431 cDAQ and a Vishay extensometer (

    Thank you very much!



    The 9219 will work.   You will need to use a measure of Bridge 2 son resistance measure quarter vs.  For more information about how to use the 9219 for 2wire resistance measurements, take a look at the 11 and 15 of the document specifications page

    It will be slightly less accurate than the quarter for the 9237 bridge accessory, but still needs to do the job.

    Kind regards

  • Formula for conversion signal strain gage

    Dear forum users and employees of OR,.

    I'm fighting to check a formula used by DAQmx and LabVIEW for the conversion of a signal pledge of strain to the mechanical solicitations.
    Formula for strain is "eps" (type of full-bridge III: 4 elements, 2 x 2 in the same sense sequence):

    SPE =-2 * Vr / (GF * [(nu + 1) - Vr * (nu - 1)])

    See also '10. Full bridge III"here:

    But if I try to reproduce this formula based on figure 1-15 in the page web related, I can simply this:

    VR = Vch/Vex = 1 / 4 * GF * (- nu * eps + eps - nu * eps + eps)
    => eps = 2 * Vr / (GF * [1 - nu])

    So either I make a mistake, either the formula given is faulty. The other formulas on the linked web page didn't quite work for me neither.
    As reference, take a look at this: "full bridge, 2 grids of longitudinal-2 cross, second to the last entry on this page:


    The formula NOR mentioned can be found here as well:

    NOR: Full-bridge Type III

    NOR: LabVIEW 2013 help Convert gauges read VI

    The formula I got for "eps" was posted by the employee OR in a different context (with a negative sign):

    post on the Forum

    Can someone there explain further?

    Good day!

    Hi Wimba,

    the formula that you describe is for folding (Type II) and not for the axial deformation of (Type III).

    You must take into account that the voltage should be descriebed in the form of the restistors report.

    See the Wheatstone bridge for that.

    Hope that helped.


  • Heating problems Strain Gage; Wait for the function measurement of delay


    I am able (using four 350 ohm gauges) of the strain using a NI 9237 module with a cDAQ in connection Full deck Type 3. My test is to measure the strain over long periods of time (~ 10 days). The NI 9237 measure strain at a rate of 2000 Hz (this is the slowest rate). The wheatstone bridge is currently powerd with the NI 9237 of 2.5 V. When I get my data permanently, I see the strain increases with time (which it shouldn't do my test), and I suspect it's because of free heating strain gauges. So, to overcome this problem, I think using "Wait (ms)" and ask the program to obtain data once every 5 min. Five minutes should be more than enough to dissipate any overheating of the gauge.

    My question is: if I use the function 'wait (ms)', is my sensor (extensometer) are constantly under tension during the time-out of 5 minutes? I think that the functions "queue" are used inside a loop to allow a VI to sleep during the prescribed period (correct me if I'm wrong). So, it means that the sensor is not powered during this time?

    Thank you


    I wouldn't use "wait" function for your timing... software you can use the time elapsed or other timing functions

  • multiplexing of the strain gages with the scxi-1001

    I am trying to write a MatLab program that uses the C++ functions.  I managed in the collection of data of an extensometer, but I do not understand how to configure the multiplexing.

    I use a DAQ, SCXI-1600 in a SCXI-1001 chassis with 9 input modules 8 channel universal bridge SCXI-1520.

    I know that the hardware is possible to multiplex all 9 SCXI-1520 for the acquisition of data because we did it in LabView.  I have currently no LabView on my computer.

    My question is:

    How labview use C++ functions to implement this material to record 72 straingage channels.

    That's what my code looks like:

    Clear, clc
    rate = 100
    time = 1

    If ~ libisloaded ('myni')
    DISP ('Matlab: load nicaiu.dll')
    [notfound, warnings] = loadlibrary ("C:\WINDOWS\system32\nicaiu.dll",...)
    "C:\Program NIUninstaller Instruments\Shared\CVI\include\NIDAQmx.h",...
    'alias', "myni")

    cards = 1
    Chans = 8
    taskh (1) = uint32 (1);

    % This is the C++ function called from MatLab-> int32 DAQmxCreateTask ('master', taskh (1))

    [a, b, taskh (1)] = calllib ('myni', 'DAQmxCreateTask', "master", taskh (1))

    chains of % for both channels 0 through 7 on each and SCXI-1520 cards.

    taskchans = {'SC1Mod3 / ai0:7 ',' SC1Mod4 / ai0:7'};

    samples = time * rate;

    chanName = ";
    minV = - 10F-4;
    Discharge = + 10-4;
    excitV = 3;
    gageFactor = 2.09;
    iniBrdgV = 0;
    nomGageR = 350;
    poissonR = 0.3;
    wireR = 0;
    scaleName = ";

    DAQmx_Val_Strain = 10299;
    10065 = DAQmx_Val_FromCustomScale;
    DAQmx_Val_QuarterBridgeI = 10271;
    DAQmx_Val_Internal = 10200;
    DAQmx_Val_Rising = 10280;
    DAQmx_Val_FiniteSamps = 10178;
    DAQmx_Val_GroupByScanNumber = 1;

    % creation of extensometer (virtual) channel

    [c] = calllib ('myni', 'DAQmxCreateAIStrainGageChan', taskh (1), tank (taskchans (i)),...)
    chanName, minV, discharge, DAQmx_Val_Strain, DAQmx_Val_QuarterBridgeI...
    DAQmx_Val_Internal, excitV, gageFactor, iniBrdgV, nomGageR, poissonR...
    wireR, scaleName);

    % set samplerate and number of samples
    for i = 1:cards
    [a, b] = calllib ('myni', 'DAQmxCfgSampClkTiming', taskh (i), cm, rate, DAQmx_Val_Rising,...)
    DAQmx_Val_FiniteSamps, samples)
    Disable the trigger for the start of the %
    for i = 1:cards
    [a] = calllib ('myni', 'DAQmxDisableStartTrig', taskh (i))

    % create variables to read data

    readarray1 = Ones (CARDS, Samples);
    readarray1_ptr = libpointer ('doublePtr', readarray1);
    arrayLength = samples;

    sampread = 0;
    sampread_ptr = libpointer ('int32Ptr', sampread);
    void = [];
    empty_ptr = libpointer ('uint32Ptr', Empty);

    Organization and reading raw data
    strain = ones (maps * chans + 1, samples);
    t = 0:1 / rate: time-1/rate;
    Strain(1,:) = t;)

    for i = 1:cards
    [readarray1, sampread, empty] = calllib ("myni', 'DAQmxReadAnalogF64', taskh (i),-1,-1,...)
    DAQmx_Val_GroupByScanNumber, readarray1_ptr, empty_ptr, sampread_ptr, arraylength);
    strain (chans * i-(chans-2): chans * i + 1, :) = readarray1;)

    % Stop all tasks

    for i = 1:cards
    [a] = calllib ('myni', 'DAQmxStopTask', taskh (i));
    If a == 0
    fprintf (' slaughter task %s...) OK \n ", tank (j (i)));"
    on the other
    fprintf (' start task %s...) Failed \n ", tank (j (i)));"

    % Clear all tasks

    for i = 1:cards
    [a] = calllib ('myni', 'DAQmxClearTask', taskh (i));
    If a == 0
    fprintf (' task claire %s...) OK \n ", tank (j (i)));"
    on the other
    fprintf (' task claire %s...) Failed \n ", tank (j (i)));"

    It is the General form of my code.

    I tried to do one task per channel, but I can start only one task at a time.

    I tried to use DAQmxSwitchCreateScanList and DAQmxSwitchSetTopologyAndReset.

    -> but I don't know what the name of device for the switch.

    If anyone can explane how all these SCXI-1520 multiplex LabVIEW cards that would help a lot.

    Thank you.

    OK, I found the solution to this problem.

    The SCXI-1600 multiplexes based on which channels have set you up.  I simply add all 72 channels to the taskh (1) with the function DAQmxCreateAIStrainGageChan (...) then my samples are multiplied by the number of channels, I added.

  • Organize the maximum values of magnitude of several strain gages according to their location.

    "There are 32 gauges installed on a 53' (is) 636" span beam which are 20 ' apart. The first pledge is 26 "support. The attached vi gives the amplitudes of the peaks of each pledge individually by changing the columns and rows in the control. Now, these maximum values should be prepared according to the spacing of the beam and join these points with a spline curve.

    Open the vi, give the path of the attached excel sheet. Now, in the beginning cluster attribute column 3, 620 to line in the end cluster assign to column 4, 845 to line. Now, run the vi. Assign the columns start and end must be (3,4), (5,6), (7,8) and so forth, to get the maximum amplitudes of each extensometer.


    Greetings Vgrchada.

    You can independently change the column and the row of every beginning and end by a beam control based on the name. Look at the example that attached. I changed the star and end constants controls because they will be handled programmatically (so there is no need for human beings humans interact with them) always use for the line start and end values, because there is where all the data are. As for the columns, use the iteration of the loop counter For (with differences appropriate, while it starts where it should) another possibility is to build a table with all indexes and use the property auto-index of the loop For (this in the case where the columns are not side by side).

    I would like to know how it works. (I have not tested this code, but the principle should at least help you find your way)

    Kind regards.

  • calibration of strain using Signal Express measurers


    The first time asked. Thanks in advance.

    I use NI DA system to record the strain of a strain gauge 1/4 350 odm. The connection string would be extensometer---> SCXI-1314 (Terminal)---> SCI 1520 (block 2). I connected the cable to the S - P + and PIN the SCI QTR 1314. The value of the strain appear in LABVIEW EXPRESS. Now, I need to calibrate the extensometer (OFFSET REMOVAL and CALIBRATION of SHUNT). I'm stuck... I have two specific questions:

    1. when I just check 'Offset the removal' in 'calibration' tab error-200380 orrcurs. Can you guys help out me?

    2. I noticed that there are specific pins for the SCXI-1314 shunt calibration. If I wanted to shunt calibration, must I change my wiring, so that the resistance of odm 100 k can be included in the circuit?

    Thank you very much.

    In your first post, you have the cable signal since the pledge is going to S- My first suggestion is to move your thread to signal S - s + if you don't have it already done. When 1/4 hanging bridge you only have access to R3 and R4 which are on the + next to the bridge. This high an error on your gain stage is usually a wiring problem or you maneuver the arm hurt in the bridge. In the calibration Assistant spend R4 R3 and see what happens.

    How connected your pledge?

    Of your pledge, you should have 3 wires. Vex + (red) on a tab of the pledge and shunt cal and GIS (tied together) on the other tab of the gauge. See my attachment to a vision of how I wired my system. Other colors, the screenshot of your wiring diagram looks like it should work. The difference being, ma sig + is green and the shunt is brown; where your of seems to be white and black. Anyway, double check your pledge and make sure that leads back to your terminal block are where they should be. In the 1314 default shunt resistors are all 100 kilohms unless something has changed in your system, you should be fine.

    You can attach a copy of the file .seproj or tab 'Settings' from your screenshot strain gage configuration window. Things like factor value excitement and resistance will affect your calibration and output.

  • Calibration with NI9237 and NI9944 strain gauge.


    I have a cDAQ9172 OR with NI9237 and the bridge 1/4 NI 9944. Practically, I'm working on measures of strain gauge issues using a strain than 120 ohms connected to the NI9944 to build the bridge half happening inside of 9237. I have a continuous doubt how is the calibration for the strain gauges. The manual speaks of a shunt resistance which, in the case of NI9944, is already in the system. The manual says that I don't have the shunt resistance external nee. It is clear.

    My question is this:

    the menu for calibration requires a resistance value that I don't know, I'm leaving in the value proposed by the menu of NOR. The strain gauges takes easily compensate, so I always have to recalibrate the channels in the NI9237. Is this normal? Can a (application to 2.0 V strain gage) voltage of 2.5 [V] generates a continuous drift of the measure?

    Strain gauges are: EA-06-125BT-120

    Hi cgenco,

    Because the NOR-9237 with 9944 uses an internal resistance for shunt calibration, you need not to worry about the value of the shunt resistance. Take a look at the following article that specifies how connections are made. Calibration article will show you the basics behind how to exploit.

    Also, since there is a ratiometric measurement, the voltage is 2.5V shouldn't matter as long as your pawn takes care of everything.

  • How to import the configuration MAX 4.6 files in MAX 5.5? District of missing data. Extensometer implemented is different.

    I tried to import my MAX 4.6 config file into a new system running MAX 5.5 and daq 9.8.

    The District of data does not appear, but my request to see the information. How can this be addressed? Start over?  I have a lot of entries and would not have not rather to recreate all the.

    What is the difference between 4.6 strain gage settings MAX and MAX 5.5? The selection box for the bridge to 4.6 has a selection for "let niDAQ choose." Seems that it is necessary to use 4.6 configuration data. Try though I might, readings in 5.5 do not match those of 4.6.     Is there a work around fo this? I don't want to have to perform a calibration of the whole system.

    Thank you


    It seems that you have the Runtime installed DAQmx.  You must also install the DAQmx Configuration support in order to get the neighborhood of data appears in MAX.

  • calibration OR 9237-200077

    I'm trying to calibrate the NI 9237 + NOR 9945 quarter bridge extensometer or max.

    I get the error-200077 occurs calibration of strain meters.

    Possible reasons:

    Requested value is not supported for property value,

    Property HAVE. Min

    Asked the value - 1.0E - 3

    Valid values begin wih 18.8988984e - 6

    Valid values ending with 103.843984e - 3

    Channel name: strain

    I've tried everything, the meter of different strain, different 9945 9237 different, different cables, different computers. everything.

    I changed all the settings I found in or max.

    I searched the forums and inernet and what is there is not help.

    Any ideas?  Please?  I'm so desperate.

    I just got the same error message again and again.

    What went down: when I set my limit min between the highest and lowest allowable values specified in the error and then dialog window have been, I had the same mistake all over again, but the highest values and more allowed bass displayed in the window had changed to completely different numbers.  This happened several times.  No matter what I put my limits, allowed values min max always change, so it would be mistake every time regardless of what I entered.  Sometimes he complain on the gain of shunt calibration factor, he couldn't put it is '+ inf' or '-inf '.  Looking closely at the calibration window, I noticed that NEITHER MAX read the same value of strain, with or without, the resistance of the shunt connected.  When the calibraion subtracted Y2 - Y1, he got zero, and the opposite of zero is started.  This is when I knew for sure it was something my son and began the search in there deeper.

    Cause: short in the wires running to the extensometer.  When the specimen has been assembled and bolted on the luminaire, the wires were hidden so that nobody could see them, and they were crushed between two metal components.

    Solution: look for shorts or other problems in the wiring itself extensometer. I imagine that if the strain gage circuit is open, you would see probably the same error of MAX NOR in this case as well.

    Recommendation: I ask OR to add more useful information in the dialog box for error, to offer the user to check the wiring, etc.

  • what you get when the sequence is used as output, tension or strain?

    Mr President

    I m using scxi1520 with watchkeeping configuration, by setting the entry like strain, what value I get is not strain that I calculated analytically. someone told me that what value you get by that is tension not strain, I calculate strain from here by the formula.

    I don't get that this is strain or tension.

    I have an extensometer of 120 ohms with two gage factor. Please clear my doubt I have with this as soon as possible.

    Think about the data being represented in different ways.  Your contribution is the strain.  The strain gauge that converts resistance.  The bridge becomes the resistance a tension.  An amplifier multiplies by a constant tension and perhaps subtracts an offset.  The analog digital converter changes the analog voltage to a sequence of tension with two possible values (0 to 5 V) at every moment in the (digital) sequence.  The computer processes these digital tensions as numbers that have a strong correlation with the amplitude of the analog voltage.

    But you try to measure the deformation, so you don't really care voltage analog or digital, except that need to know the relationship between them and the original strain.

    Your tension measures data acquisition system. You must provide conversion from units of the strain through calibration.


  • Error-50150 when calling DAQmx perform compensated bridge removal

    I have a question very similar to This One, but the opposite is happening. I create a task that contains 2 channels of analog input (strain gage quarter-bridge). One of the channels is on a cDAQ NI 9235 Module, the other is a cDAQ NI 9219 module. Both modules are in the same chassis OR cDAQ-9172. When I try to run the DAQmx perform compensated bridge removal on the job, I get error-50150.

    If my task contains channels of only one of the modules cDAQ calibration completed successfully. Any ideas? I can't understand what is the cause.

    More information...

    LabVIEW 8.6.1

    DAQmx 9.0.2


    Certified LabVIEW Architect

    Hi TobyD,

    This seems to be a variation on the other problem you have linked, CAR #4HDABJ0O in the legacy CAR Pb, alias #198928 in the BD of CAR new CAR.

    DAQmx has a special code for offset NI 9219 removal, to manage the NI 9219 special scale of watchkeeping. (Considerations NOR-DAQmx devices > physical channels > C using DAQmx series explains how the mode of watchkeeping on the NI 9219 is special.) Looks like it is originally calibration null offset NI 9219 acquire separately the calibration offset NI 9235 null data, leading DAQmx to disable all channels on one of the modules, DAQmx handles incorrectly, causing the error.

    It seems that the #198928 CAR should be fixed in the next version of DAQmx. Until then, the workaround is to create separate tasks for execution of the offset null calibration on each module. Note that you can query the AI. Property Bridge.InitialVoltage of each channel to these separate tasks, then set it on every channel in a combined task, so that you can perform your actual purchase by using the combined task. You need only to separate the tasks of calibration offset null real.


Maybe you are looking for