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

Similar Messages

  • How to Programmatically Set Scale on DAQmx Channel? Possible LabView Bug?

    Hi folks.  I have researched this question here on the forums and think I know what I need to do, but it doesn't work.
    What I'm Trying to Do
    I am creating a DAQmx Analog Out task that will write to a dozen channels.  I would like to set the scale on each of those channels to one of a handful of custom scales that I've already defined in my project.  From reading various posts on this forum, it sounds like I want to pull each channel out of the task using the DAQmx Task property node, then set each scale by writing to the AO.CustomScaleName property within the DAQmx Channel property node.  See the attached screenshots and VI file.
    The Problem
    I keep getting error 200378 "Custom scale specified does not exist".  The custom scale definitely exists in the project, but the VI won't recognize it.  It sounds similar to the bug described in this thread:  http://forums.ni.com/t5/LabVIEW/Why-do-I-receive-Error-200378-quot-Custom-scale-specified-does/td-p/...  However, I've tried the various workarounds mentioned in that thread (opening VI outside of project, then from within project, etc) and I don't get any different results.  I'm running LV 8.6.1
    Questions
    Does this VI work for anyone else once you've defined a custom scale with the same name as the one in the VI?
    Am I doing something obviously wrong?
    Is there a better way to do this?
    Thanks for any advice, it is much appreciated.  I've attached screenshots of both the VI and the Project window showing the custom scale exists, and I've attached the VI itself.
    Attachments:
    custom_scale_screenshot.JPG ‏38 KB
    project_explorer.JPG ‏68 KB
    daqmx_task_property_nodes.vi ‏64 KB

    This workaround isn't exactly what you are trying to do, but I have made a set of VI's that will let you open up the DAQmx Assistants from LabVIEW code programmatically.
    Programmatically Call NI DAQmx Assistants
    You can call the VI to edit a channel and manually reassign the scale if you want to avoid going straight to MAX.

  • Custom scaling of DAQmx channels

    Hello,
    I am attempting to set up a triggered acquisition using DAQmx custom scales with 1 virtual channel containing 3 physical channels.  What I am trying to acheive is to have independent scaling applied to each physical channel input.
    I have attached a snippet of my code - when I examined it in operation, only the last channel in the array is applied to the task with the final array scaling values.
    Could anyone give me some advice on how to improve this?
    Regards
    Dave
    Attachments:
    customScaling.png ‏66 KB

    I am not sure what is happening in your customscaling.vi as you havent posted it.
    I would create the custom scales first and apply it while the task is being created as below. You will need to adjust the values as necessary.
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • Error -200431, DAQmx Create Channel (AI-Voltag​e-Custom with Excitation​).vi

    Where is "DAQmx Create Channel (AI-Voltage-Custom with Excitation).vi" gone?
    I tried to use this VI for force measurement with a NI PXI-4472. It responds with Error -200431, ... You Have Requested: More:Voltage:Custom with Excitation, You Can Select: Voltage, Sound Pressure:Microphone, ...
    It seems for me to be an internal error of this VI, LabView Version is 8.6.1
    Solved!
    Go to Solution.

    Hi T.Knox,
    error -200431 is a measurement type error:
    "Error -200431 occurred at an unidentified location. Possible reason(s):
    Measurements: Selected physical channel does not support the measurement type required by the virtual channel you are
    creating. Create a channel of a measurement type that is supported by the physical channel, or select a physical channel
    that supports the measurement type."
    The PXI-4472 (8 Inputs, 24-Bit Dynamic Signal Acquisition module for sound and vibration measurement) is the wrong device
    for force measurement.
    I also searched our website and found some helpful links:
    http://zone.ni.com/devzone/cda/tut/p/id/3602#toc2
    The PXI-4472 (http://sine.ni.com/nips/cds/view/p/lang/en/nid/503​1) isn't listed as supported device for force measurement
    there!
    I hope this information helps you!
    Regards
    Suse
    Certified LabVIEW Developer (CLD)

  • Error code -88708 with DAQmx Create Channel (AI-Voltage-Basic)

    Hi,
    I am trying to construct a VI that moves a piezoelectric stage, the VI then needs to scan voltages from the DAQ card to build up arrays of the voltage and coordinates before constructing a 3D graph.
    The VI successfully moves the stage and reads the position back to me but when it tries to scan voltages from the DAQ it fails (I'm using the DAQmx Create Channel (AI-Voltage-Basic).vi example, as this has been used in a previous, similar (and successful) VI within my department.)
    I get the following error code:
    Error -88708 occurred at DAQmx Create Channel (AI-Voltage-Basic).vi
    Possible reason(s):
    The specified resource is not available. The operation could not be completed as specified.
    Task Name: _unnamedTask<1>
    Any help on this would be appreciated - I'm fairly new to LabView and am at a loss with how to fix this!
    Thanks
    -Tom

    Is this working when you restart the computer? It might be that the recources are still recerved because the Clear Task.vi wasn't executed (either it`s not present or you did use the abort button).
    Felix
    www.aescusoft.de
    My latest community nugget on producer/consumer design
    My current blog: A journey through uml

  • 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

  • Is there a way to create a custom screensaver with pics/slides that display for different amounts of time?

    Is there a way to create a custom screensaver with pics/slides that display for different amounts of time? Or even add a "video slide" into the screensaver?
    My business has 3 TVs displayed in our lobby, each with its own apple TV and they are all linked to the same photo stream. Currently the Atv screensaver displays the photostream pictures of our products for the default 3 seconds. We just added pics/slides that now display messages and useful info for our customers but I want that info to be displayed for a longer period of time than the pictures to give people a chance to read it.
    I tried using flickr and powerpoint as a work around but no luck.  I created a slide in powerpoint with play length of 15 secs and saved it as a wmv file.  I added that file to a "screensaver" set in flickr and pointed the Atv screensaver to that flickr set.  It still displays everything, pics and the wmv file at the default 3 sec.
    I know I can increase the duration of all pics in the screensaver to display for longer but the goal is to have the pics display at 3 secs and the info slides to display at 15 secs.

    Welcome to the Apple Community.
    No that's not possible.
    If you have any suggestions that you think might enhance the Apple TV you can send Apple your feedback here 

  • I am changing from Word to Pages. I have created my custom template with all my styles etc and that is what comes up when I go for a New Document. Fine. How do I get it to use the same Custom Template when I use Pages to open a Word document?

    I am changing from Word to Pages. I have created my custom template with all my styles etc and that is what comes up when I go for a New Document. Fine. How do I get it to use the same Custom Template when I use Pages to open a Word document?

    The template is a document in itself, it is not applied to an existing document whether it is a Pages document or a Word document converted to a Pages document.
    You would need to either copy and paste content, using existing styles, or apply the styles to the converted Word document.
    You can Import the Styles from an existing document and those imported Styles can be used to override the current document's styles:
    Menu > Format > Import Styles
    The process is simplified if the styles use the same names, otherwise you will need to delete the style you don't want and replace it with the one that you do want when asked, then the substitution is pretty straightforward.
    Peter

  • Is it possible to create a customized survey with our organizations logo at the top?

    Is it possible to create a customized survey with our organizations logo at the top? I'm trying to create a survey for our members but instead of using a template we would like to use something simple with our logo included at the top.

    Just create a blank form and click Add Header at the top of the form page:

  • Create custom document with wrong size

    Hi,
    I have a problem (on Sun Solaris 5.8) when I create custom document with more than 10MB size.
    I've created an agent which detects the events on a custom data type
    MYDOCUMENT (extension .mydoc).
    When I put a new document test1.mydoc (size of 10MB for example), my agent detects the new document, creates a copy, sets the class object to
    MYDOCUMENT , removes the original document and puts the copy into the same folder.
    But sometimes, the copy created has a wrong size (less then 10MB).
    How can I configure the nfs server to be sure that the agent waits for the complete size of the added document.
    I need HELP !!!!
    Thanks

    Hi Pavithra,
                    yeah you can create your custom table by entering fields in Standard.  for more details
    refer below screen shots
    Regards,
      Thangam.P

  • Is it possible to create a customer master with different address

    Hi Gurus,
    Is it possible to create a customer master with different address as we maintain in SAP CRM.
    Kindly help me onthis issue \
    Regards
    Kannan

    Hi Kannan,
    There are no multiple addresses but you can use multiple unloading ponts for the same address for the ship to Party.
    So when you create a Sales order the system will give a pop up with the unloading points allowing you to select the desired one.
    I hope I understand your query correctly.
    Regards
    Yogesh

  • How to create a custom kernel with initrd and ARCH patches

    Hi,
    I like the default kernel because everything seems to work well and I think the Arch kernel includes patches I need (such as the mactel patch). But some options that i would like to be enabled are not. in fact i would like to use powertop but i can't because it needs the CONFIG_TIMER_STATS option.
    What I would like is a kernel based on the arch kernel but with a different config file. Nothing more.
    if i look at the solution on the Wiki, I see that I have to add all patches the standard kernel have ... Moreover there is no initrd creation. i think i will need it if I use the Arch kernel configuration.
    And if i use the kernel26 PKGBUILD, I must change the package name in order to keep my current kernel. It's easy to do in the PKGBUILD but much more complicated to do it in the kernel26.install file beacuse I have to change the filenames in /boot and I do not want to replace the kernel26 files.
    So do you have any ideas how to compile my custom kernel ? Is there a better solution ?
    Thanks.
    Mildred.
    Last edited by mildred (2007-07-03 01:46:33)

    tomk wrote:It's possible I'm missing something here, but I don't understand what you're worried about. If I understand correctly, you now have a PKGBUILD and associated files for kernel26mildred (or whatever you've decided to call it). Why do you think you would have to change the files again when kernel26 is updated?
    don't the patches change from version to version?
    anyways, i was bored so i wrote a little script... edit the configuration variables at the top and it'll do the work for you. just put it in /var/abs/kernels or wherever you have the kernel26/ at, chmod +x scriptname, and run.
    if you're in /var/abs/kernels you'll probably have to run as root.
    from my testing, it seems to be all working (looking at resulting files and no errors so far from makepkg); but i'm still building my test kernel with it.
    #!/bin/bash
    # Author: kano <[email protected]>
    # Configuration #
    appendname="-custom1" # Name to append to kernel package
    BUILD=0 # Build package when done? No = 0; Yes = 1
    #MAKEPKGOPT="" # Uncomment if you're building after you make; Add any options you want passed to makepkg (can be nothing)
    # Work starts here; shouldn't have to edit anything below #
    mkdir kernel26${appendname}/
    cp kernel26/* kernel26${appendname}/
    regen_md5sum() {
    if [ ${file} != 'PKGBUILD' ]; then
    echo "Regenerating md5sum for ${file}"
    cat kernel26${appendname}/PKGBUILD \
    | sed "s/'`md5sum kernel26/${file} | awk '{ print $1 }'`'/'`md5sum kernel26${appendname}/${file} | awk '{ print $1 }'`'/;" \
    > PKGBUILD.tmp
    mv PKGBUILD.tmp kernel26${appendname}/PKGBUILD
    fi
    for file in "PKGBUILD" "kernel26.preset" "kernel26.install"; do
    echo "Editing ${file}"
    cat kernel26/${file} | \
    sed "s/kernel26/kernel26${appendname}/g" \
    | sed "s/vmlinuz26/vmlinuz26${appendname}/g" \
    | sed "s/kconfig26/kconfig26${appendname}/g" \
    | sed "s/System.map26/System.map26${appendname}/g" \
    > kernel26${appendname}/${file}
    # Regenerate md5sum
    regen_md5sum
    done
    for file in "config" "config.x86_64"; do
    echo "Editing ${file}"
    cat kernel26/${file} | \
    sed "s/CONFIG_LOCALVERSION=\"-ARCH\"/CONFIG_LOCALVERSION=\"-ARCH${appendname}\"/" \
    > kernel26${appendname}/${file}
    # Regenerate md5sum
    regen_md5sum
    done
    mv kernel26${appendname}/mkinitcpio-kernel26.conf kernel26${appendname}/mkinitcpio-kernel26${appendname}.conf
    mv kernel26${appendname}/kernel26.install kernel26${appendname}/kernel26${appendname}.install
    mv kernel26${appendname}/kernel26.preset kernel26${appendname}/kernel26${appendname}.preset
    # Add make menuconfig to PKGBUILD
    cat kernel26${appendname}/PKGBUILD | \
    sed 's/# load configuration/\n # configure kernel before build\n make menuconfig\n\n # load configuration/;' \
    > PKGBUILD.tmp
    mv PKGBUILD.tmp kernel26${appendname}/PKGBUILD
    echo "Custom kernel pkgbuild created."
    # To build or to not to build?
    if [ ${BUILD} -eq 1 ]; then
    cd kernel26${appendname}
    makepkg ${MAKEPKGOPT}
    fi

  • Creating custom reports with Pie Chart

    Hello,
    I've got a little problem while I'm creating custom reports with SQL Chart.
    For example, I want to have a Pie Chart that represent the distribution of the version for a software, i wrote my query with no problem, the result is in good format.
    My Pie Chart is fine except there are no percentage displayed. The legend on the right is fine with correct count of different version, but no percentage on the pie chart.
    Any idea?
    Thanks in advance,
    Fab

    Hello,
    well, I think this is not possible to ask OEM to print the percentage over the chart.
    Anyway, I sugget you to rewrite your query to compute the % in the query itselft thus to have the pct displayed on the rigth.
    Let's say you want to display the database files' size with such a query: select file_name name,bytes val from dba_data_files;
    This is the way to display the % of each file size over the total (remark the above query has been embeded in the new one).
    select name,ratio_to_report(val) over() pct
    from ( select file_name name,bytes val from dba_data_files )
    order by val desc
    It is quite easy to adapt such a tip to your own query.
    Regards,
    Noel Talard

  • Creating two channels with two "daqmx create channel.vi"

    Hey guys,
    I'm perform some piezo measurements and my program has one channel for the input (signal that excites the piezo) and one channel por the output (piezo's response).
    Since the amplitude of the piezo's reponse varies a lot, my program adjusts the range of the acquisition changing the "minimum value" and "maximum value" properties in the " daqmx create channel.vi". Such an adjustment makes no sense in the input channel once the excitation has constant amplitude.
    That is why I need to use two "create channel.vi". I could create the two channels with a single VI but if I did so, I would not be able to adjust the "maximum/minumum value" of only one of them.
    The problem is: Labview always returns the error 50103: The specified resource is reserved.
    Below, we have a screenshot of this part.
    I tried also to add one "daqmx timing.vi" and one "start task.vi" for each of the "create channel.vi" and synchronize everything via error cluster but it returned the same problem.
    The program itself is also attached but I don't think it will be useful.
    Please, help me guys!
    Regards,
    Lucas
    Attachments:
    two create channels.JPG ‏108 KB
    consertando burrada.vi ‏330 KB

    Try it like this:
    EDIT:  OOP, I got the Mins and Maxs reversed.
    Using LabVIEW: 7.1.1, 8.5.1 & 2013

  • 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

Maybe you are looking for