DAQmx custom scale

A quick background, we are using create custome scale to convert bar to volts for the AO channel on a 6723 card. Which is working fine, we are able to set m and c values that convert nicely. An added 'feature' we are using is to be able to compensate for inaccuracies in the system (tolerences on transducers,wire resistences etc...) and hence claibrate the system by using a accurate sources/DVMS and again this is working well apart from one channel.
Due to the way the tolerences have worked out and the ranges are slightly different. i have 0-10bar and 0-10v, which in a perfect world would mean m=1 and c=0. using these values gives us ok (ish) readings. To bring the readings in I need m to be nearer 0.98 and the FSD to still be 10. If I set m to this value the FSD becomes 9.8. The post scaled min and max is calculated from m and c by using the pre scaled range.
this is giving a problem that once m<1 the daqmx scale becomes invalid and hence the channel is effectivly disabled. Any suggestions would be much appreciated
Sorry if the explaination is a bit vague ive only just got it straight in my head what is happening
Thanks in advance for any suggestions
Please remember to accept any solutions and give kudos, Thanks
LV 8.6.1, LV2010,LV2011SP1, FPGA, Win7

Hello Akiel,
I have been looking at your problem and just want to clarify a couple of points.
From what you have said, I think you are using the DAQmx Create Scale VI in LabVIEW.
I believe you are using the linear scaling option. Is that right?
When you say it becomes invalid and hence the channel disabled, do you get a specific error message pop up? It seems strange to me that you are not able to use a value of m < 1 as an input to the function.
Thanks
Dom C

Similar Messages

  • Custom scale for counter input?

    Hello everyone,
    Is it possible to create a custom scale for a counter input? I saw there is a feature to allow input Custom Scale Name to the Channel Property Node. However, when I tried to create a custom scale to input to the channel, I got this error
    Error -200212 occurred at DAQmx Read (Counter DBL 1Chan 1Samp).vi:1
    Property: CI.MeasType
    Corresponding Value: Count Edges
    Property: CI.AngEncoder.Units
    Corresponding Value: From Custom Scale
    Channel Name: CountEdges
    Task Name: MyCountEdgesTask
    Do you know what is the problem with it? Thank you

    How do you have the channel set up? Can you attache the VI's that you are using? Is this a global virtual channel?
    Tim
    Johnson Controls
    Holland Michigan

  • How to convert prescaled to postscaled values with custom scale?

    Hi,
    Is there any way to convert between prescaled and postscaled values using an arbitrary custom scale (i.e. linear, map, polynomial, or table)? 
    I'm trying to write a driver which allows users to choose an arbitrary (previously defined) custom scale, but I need to know within the program the values which are actually output/input, which means I need a way of determining the max/min values for an arbitrary custom scale based on the known unscaled max/min.  Surely there is a NI-DAQ internal function which accomplishes this task, but there doesn't seem to be a VI for it.
    Any ideas?
    -Lee
    Labview version 9.0f3

    Dustin,
    Thanks again for your suggestion.  I'm sure your example will be useful to others, but I'm afraid it doesn't actually address my question.  I guess I'm not being very clear.
    The point is that I want to keep track of the values currently being sourced on my analog output channels.  In my application, users can specify max and min values for the sources, which may reflect the hardware limits of the device (e.g. +/-10V in my case) or a more constrained set of software limits determined by whatever the channel is driving.  If the user tries to write a value outside this range, it will be coerced and the limiting value will be sourced instead (without generating an error in this case).  It is then this limiting value which should be saved in output memory, rather than the out-of-range value requested, to avoid users believing they have sourced a value they have not.
    If I then allow users to choose a custom scale, then the requested values are given in scaled units, while the device max and min are still unscaled (volts).  This means I need a way to convert the unscaled limits to scaled limits based on an arbitrary custom scale in order to accomplish the procedure described above.  I have attached an example VI that handles linear scales only.  Obviously this could be extended by adding a case structure to handle the other types of scales, but it just seemed a bit silly to me that there is no VI to accomplish this scaling already, given that it most certainly happens inside the various NI-DAQmx routines that accept custom scales.
    Much of this would also be easier if it were possible to 'read back' the currently sourced value from DAQ output channels, so I wouldn't have to fake it by keeping a local memory of them, but that is a separate issue.
    -Lee 
    Attachments:
    ApplyScaledLimitsExample.vi ‏23 KB

  • Custom scale with Create Channel CI Position Angular Encoder

    Hi!
    In my application I use angular encoders for position measurement. I programatically create channel (task) using DAQmx Create Virtual Channel, CI Angular Encoder instance. Prior to that I use DAQmx Create Scale to create custom scale for the measurement, to convert from degrees directly to meters. The problem is that when I use the task (Start Task for instance) I get the following error message:
    Error -200378 occurred at DAQmx Start Task.vi:4
    Possible reason(s):
    Measurements: Custom scale specified does not exist.
    Custom Scale: RowCounter
    Task Name: _unnamedTask<66>
    Maybe somebody can help me out with this one.
    I use the same principle to create custom scales for AI measurements, and everything works without any problems. I know the scale is created properly, as I tried saving the custom scale to max after I create it. I then used the scale without a problem when I wired it as a constant to the custom scale input of the DAQmx Create Virtual Channel vi. It only gives me problems when I create it dynamically, using Create Scale vi.
    Some technical info: I use USB-6210 Daq card for signal acquisition.
    I will appreaciate any help!
    Jernej

    Hey!
    The error message I get is as follows:
    Error -200378 occurred at DAQmx Start Task.vi:4
    Possible reason(s):
    Measurements: Custom scale specified does not exist.
    Custom Scale: RowCounter
    Task Name: _unnamedTask<66>
    I use USB-6210 Daq card for signal acquisition. The error occurs right after the DAQmx Start Task.vi on the counter task.
    As I said, the code runs sometimes without problems and then sometimes it returns an error. I noticed that if I run the CustomScaleProblem.vi on its own it runs ok. When I open the project with mine application, from where I extracted CustomScaleProblem.vi part, and then try to run the CustomScaleProblem.vi, it stops working. It looks like when I open the project it allocates some space which is in conflict with the scale part of the code. Then if I close the Labview environment and open CustomScaleProblem.vi and run it, it runs again without any problem. Well, for now I did a work around the problem by saving the scale in the program and then using it. This approach works fine.
    About the arm start trigger. I use it because I dont want the counter to start counting before the AI task starts. I noticed that if I use the AI as a start trigger, and I move the encoder before AI starts, the counter will not start with 0, but will start with a number indicating the encoder movement before the AI start. Is that the right approach if I want the encoder to start
    counting from 0 when AI starts?
    Thanks and kind regards
    Jernej

  • Creating a custom scale for current

    Hi guys,
    I need some help with creating a custom scale. I am reading motor current (analog I/P) and would like to display that on a graph and write it to a file. I need to use a linear scaling for custom scale. The slope is 2 and the intercept is 0. I've attache the code to make it clear what I am trying to acomplish. The way I've set it up right now is no scaling. There are 2 tasks in the code. I would like to create a custom scaling for the first task as seen in the attached code. I have done custom scaling using DAQ Assistant Express VI. But I dont see such options when I try to do the same with the DAQmx task. Please let me know how this can be done. Any help is greatly appreciated.
    Thanks,
    Raj 
    Solved!
    Go to Solution.
    Attachments:
    Current_Voltage_RPM-_sub_VI-1.vi ‏18 KB

    You both had me going nuts trying to figure how to get to that property. Basically just right click the DAQmx property node and "Select filter..." . This brings up the "Configure Filter Settings" where I chose 'show all attributes'. I could then get to the AI Custom Scale Name property.
     Interestingly when you use the Property Browser and select the magnifying glass you can get to that property...but you just can't select it if you have the filter set incorrectly. Lesson Learned.
    I also found this community example and that one.  
    Using LabVIEW 2010SP1 and TestStand 4.5

  • DAQmx Custom Scaling Issue

    I have created custom scaling for DAQmx. I have the following issue similar to this http://forums.ni.com/t5/Multifunction-DAQ/daqmx-custom-scaling-setup-issues/td-p/805374.
    I am scaling a 0 to 5V signal to 0-100 sccm.
    the slope is 20 with a Y-intercept of zero.
    Everything scales fine up to 1.07V then it displays 21.56 sccm for any measurment above this voltage.
    Cant figure out what i am doing wrong. I have verified the DAQ card is measuring volts correctly above 1.07 in NImax.

    teslaaaa wrote:
    Thats not how i read this:
    maximum value specifies in units the maximum value you expect to measure.
    minimum value specifies in units the minimum value you expect to measure.
    Max values measured is -10 to +10V , If you are correct shouldnt it say "max scaled value" ?
    It is the maximum value of the number that will come out of the DAQmx driver.  Since DAQmx applies that scale for you, it is post scale value.  So you really need to put in 100 sscm for your maximum.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Custom Scale behavior with DAQ Task running

    Hi to everyone, I am implementing a Polynomial Custom Scale for a sensor, but I have doubt about what happens if I change a Custom Scale and my DAQ Task is running, I suppose that the Custom scale does not change on the fly but my questions is if I have to clear the Task to apply the new custom scale or is enough with Stop the Task and Start the Task again.
    I am using the DAQmx functions for the code. Thanks for your help.

    Hi AYanez!! 
    Thank you very much for using NI Discussion Forums!!  I found a post that deals with the same issue you are trying to solve for your application.  It seems that you have to stop the task for the new scaling properties to be applied.  Take a look into this thread:
    Programmatically applying a custom scale in an active VI
    Hope this helps!
    Regards,
    Anuar R.
    National Instruments México y Latinoamérica
    Ingeniería de Aplicaciones
    www.ni.com/soporte

  • Custom scale for load cell

    Hi
    I am using a load cell to monitor an impact force. The load cell has a fixture attached to it which results in a non zero output. I am using a custom scale to convert the output from the load cell in volts to force to Newtons.
    I am creating a custom scale and applying it to the task. I then want to be able to programmitically tare (zero) the load cell output before testing. However, my code does not work. There are no errors, but the gradient and intercept controls within the while loop do not function. Can anyone tell me why? I am aware that this could be done mathematically but I do not understand why the property node method does not work.
    I am using labview 2010 with the latest version of daqmx (9.17 I think). My hardware is the USB-6211 card.
    Many thanks.
    John
    Attachments:
    custom_scale.png ‏53 KB

    Hi John,
    Thank you for a good description of the problem you are facing, as I understand it you have set up a custom scale but it doesn't seem to be functioning as you expected.
    I have looked into this for you and have found a few examples which may help with the development of your application, I have also linked some articles for you.
    The custom scale will need to be created entirely before the task is created, so any modifications can only be done before acquisition begins.
    I hope this information is useful, and if you have any further queries please go ahead and post them and I will look into it for you.
    Thanks
    Stephanie L
    Applications Engineer
    National Instruments UK and Ireland

  • When printing in Adobe, missing the Custom Scale option.

    Adobe Version 11.0.2
    Windows 7 64 bit.
    Doesn't matter what type of network printer I select.  When selecing to print a document, under Page Sizing & Handling, there is no "Custom Scale" option.  There is on other workstations. 
    Thank you.

    Very strange.  The only thing I can suggest is to update to 11.0.5.

  • How to use DAQmx Create Scale Linear

    Hello. I have an output from an amplifier that is 10mV/V, that is being read by an USB-6002. The voltage range for this amplifier is 0-200 volts. I have been testing the DAQmx Create Scale Vi but do not understand how it works. I have looked at other posts here for answers but am still not clear how this works. To begin with, it says it uses the y=mx+b equation for it. I don't know what the slope is referring to unless it is the angle of the line. If someone might have an example that explains how this works, that would be awesome. I also tried looking at an example but couldn't find one. Thank you

    Here's a "seat-of-the-pants" explanation of y = mx + b.  If you think of "x" as the input, and "y" as the output, then you can consider "m" as the gain, and "b" is the offset, the output that you would read with zero input.  
    If you think about this equation with respect to an amplifier, many are designed to have zero output when there is no input.  This means b = 0.  If you have a gain of 10mV/V (which I assume means that a 1V input would give a 10mV output, then m, usually called "the slope" (which is the slope of the input/output curve), would be .010/1 = 0.01.
    Note you describe the range of your amplifier as 0-200V, so the output will be 0-2V, well within the ±10V of the USB-6002.
    Bob Schor

  • How to Import Custom Scale using Field Piont I/O

    I need to READ   a 0 to 100 Newton strain gauge on graph chart. 
    It is a full bridge with an excitation Voltage of 10V.   The field point Input module FP-SG-140 is configured for a range of -3.9... to +3.9 mV/V
    I know how to create a custom scale using DAQ assist but the option does not appear using Field Point.

    Hello belangem,
    Have you considered using the Scaling and Mapping Express VI or programming your own scaling algorithm in LabVIEW to manually convert the strain readings to force?  The Scaling and Mapping Express VI allows you to apply similar types of scales to the DAQ Assistant, such as linear, logarithmic, interpolated from a table of points, etc.
    If you really need the Fieldpoint driver to perform the scaling for you, some Fieldpoint modules support scaling.  You can configure a scale on a channel in Measurement & Automation Explorer (MAX) by going to your Fieldpoint Items under Data Neighborhood, selecting a channel in your module, and click on the Scaling tab on the bottom of the screen.  Unfortunately, I don't have a FP-SG-140 module around to try out, but I know the scaling feature is available for my FP-AI-110.  I'm using Fieldpoint 5.0 with MAX 4.0.
    I hope this helps,
    Travis G.
    Applications Engineering
    National Instruments
    www.ni.com/support
    Message Edited by Travis G. on 06-22-2006 10:21 PM
    Attachments:
    FieldpointScales.Jpg ‏46 KB

  • Save custom scale while associated task is running

    Hi,
    I would like to know if it's possible to change the value of a custom scale while a task (using this scale) is running ?
    If yes, when will the new coefficients be applied ? 

    On the deivices I used, you have to stop the task and restart it to apply a different custom scale.
    Consider doing scalling "on the fly" with formula nodes, Polynomial Interpolation, lookup tables, or whatever works for your scale. This way, changing on the fly is easy.
    Richard

  • Why don't I see the "custom scale" option when I print?

    When printing PDF files using Adobe Reader 10.1.6 I do not have the custom scale option. Is this not available in this version?
    lagoliff

    Update it from iTunes on a computer as described at the bottom of this article; devices running an iOS version prior to 5.0 can't be updated straight from the device. Unless limited by the device's hardware, it will be updated to iOS 6.1.3.
    (81584)

  • HELP - How can I default PDF printing to use Custom Scale 97%?

    We just upgraded an old computer to new hardware.  The old machine automatically defaulted all PDFs to print to Custom Scale 97%.  Because of our letterhead it's critical that this value remain defaulted to prevent wasting large amounts of stock.  How can we default this setting again in Reader XI?

    As an update, I got this working on my local machine.  Unfortunately it isn't taking on the print machine yet.  I made the following registry changes:
    bprintExpandToFit (1)
    bprintSetPageSize (97)
    bprintScaling (2)
    Locally it works using version 11.0.06.  The print machine keeps re-setting the registry values however.
    Any help would be GREATLY appreciated.

  • Why do I receive Error 200378 "Custom scale specified does not exist"?

    I am trying to perform offset nulling using an NI-9237.  I receive and error in regards to the custom scale even though I programmatically create the scale prior to the task.  I am experiencing the erro whne using LV8.2.1 but with LV8.6 the problem disappears (same code, just open in LV8.6 and run)
    The error is the following:
    Error 200378 "Custom scale specified does not exist" 
    Possible reason(s):
     Measurements: Custom scale specified does not exist.  Custom Scale: test
    Channel Name: LoadCell_StrainGage_Sim/ai0
    Task Name: _unnamedTask<F>
    I have attached the code in LV8.2.1
    Thanks
    Dan
    Attachments:
    test.vi ‏38 KB

    Dan,
    I tried your VI and it worked for me after I changed the channel from "LoadCell_StrainGage_Sim/ai0" to something that was on my system.  Before that, I got the same error.  So...are you sure that there is LoadCell_StrainGage_Sim/ai0 configured in MAX?  Stupid question, I know, but it was the only thing I changed.
    -Matt
    -Matt Bradley
    ************ kudos always appreciated, but only when deserved **************************

Maybe you are looking for