How to limit the range of counter using rotary encoder

Hello all!
I'm new user of labview..
I've problem to limit the range of counter by using rotary encoder..
I use DAQmx 6024e in my project..
Actually i am designing the controller for both dyno & throttle for engine testing..
The idea is, i want to vary the output of 0-10V from ni card to control the dyno & throttle..
I'm already manage to get the output from the analog output..
The problem is due to my software..
When i rotate the encoder shaft cw or ccw, it increase or decrease the voltage respectively just like i want..
But, when the counter hit minimum (0 value) it jump to the maximum count which is 16.772M (for koyo encoder that i used)..
In that case the output voltage is increase to 10V directly..
So , the question is how can i limit the range of encoder so that it only count certain minimum or maximum value even the shaft is rotate cw or ccw over it standard limit which is 0 to 16.772M count..
Tq

You'll need to do a little software workaround on the values you read from your counter.   But first a little tutorial to explain *why*.
The E-series boards use 24-bit counters.  When LabVIEW requests an integer count value, the count is returned in a 32-bit unsigned integer datatype, where the 24 lowest bits represent the value in the board's count register.  The upper 8 bits are *always* 0's.
The count register can increment from 0 to 16 million plus (2^24 - 1), then it must "roll over" back to 0 again just like an odometer.  Similarly, when it decrements past 0, it next goes to the max value of 2^24 -1 as you observed.
So we need a little software workaround that'll convert (2^24 -1) to (-1) and (2^24 -2) to (-2), etc.  The way to do it is to first detect whether the highest bit is a 1.  One way is to compare whether the count value is >= 2^23, making sure to use integers to do the comparison.  Whenever the value is >= 2^23, subtract 2^24 from it to create your new count value which will then decrement 3,2,1,0,-1,-2,-3, etc. as desired.
Here's a link to a similar explanation.  Couple more notes too.  First, if this is a continuously rotating encoder, you may still encounter a discontinuity when the revised count value crosses the +/- 2^23 boundary.   Second, direct connection of a quadrature encoder to an E-series board isn't recommended because of unrepeatability when measureing direction changes.
-Kevin P.

Similar Messages

  • How to measure the rotational speed by using rotary encoder and 1 counter?

    I want to measure the rotational speed of a shaft, and I have below hardware:
    1, a rotary encoder, with A,B,Z signals output;
    2, PCI-E6363 card.
    I do konw how to use such a  encoder to measure the rotational angle by using the function "DAQmxCreateCIAngEncoderChan", but this time I need to measure the speed(rpm), as well as the dirction of the speed, which means a negative speed represent a CCW rotate direction.
    More detail informations:
    for the encoder, the A,B signal is 600ppr, and Z signal is 1ppr
    the rotatinal speed is in range: -300 ~ 5000 rpm.
    some one suggested me that I can use the "DAQmxCreateCIAngEncoderChan" task to measure the angle firstly and then do the differential analysis with the angle. but I have to enable the Z index function, and it's hard to calculate when the shaft speed is fast then 2500rpm.
    Anyone can help me on this issue?
    Thanks in advance!

    RobertoBozzolo:
    Thansk for your reply. You are right that measure frequency to get the speed is the best way, but it's hard to get the dirction at the same time. You suggest me that "perform two angle measurements to get the sense of rotation", but I'm not sure I catched what you mean about this. I try to understand your opinion like this: distribute the signals to 2 counters, and start 2 tasks, one for frequency, the other for angle which used for deciding the dirction?
    And by the way, in my application, the counter is limited:
    I'm using PCI-E6363, which have 4 counters totally, and I have to measure 4 different speed sensors at the same time, so that means only 1 counter for me to measure the speed and the dirction.
    RobertoBozzolo 已写:
    To measure the speed from the encoder you can simply follow some of the frequency measurement examples that ship with DAQmx, considering that speed (rpm) is given by frequency (Hz) on one encoder output / 600 (ppr) * 60 (s->min)  = frequency / 10.
    Difficult is to add a sign to this measurement: frequency measurement gives you no information about sense of rotation, so I suppose you could perform two angle measurements to get the sense of rotation and then get the speed as above.

  • How to Limit the Displaying of Data Using PointTheme over the map

    Hi,
    I have the following requirement, which i'm trying to implement with <dvt:map & <dvt:PointTheme components.
    *The requirement is ... I have a base map, which is being accessed via <dvt:map component. And i'm using point theme to display certain data over the map. Let us consider, over the US map ... i'm displaying 24 points(for each polygonone point .... taking the centroid of each polygon) when the map zoom level is 0.
    At this zoom level '0', user can see all 24 points. But when the user start clicking on '+' to Zoom In(Now the zoom level is '1'), at this zoom level user can see only 18 points. User can see the remaining 6 points by dragging the base map to either sides.
    This mean, irrespctive of the zoom level the point theme is rendering the all the points over the map. Instead, i would like to display the data specific to the polygons that are visible to the user. At zoom level '0', if the user is able to see all the polygons, then display all 24 points. And at zoom level '1'...if the user is able to see 18 polygons and then display only those 18 points. And if the user tries to see the other polygons data ... user may drag the base map either sides. In that case, the point theme should render data specific to the polygons that the user is able to see.
    Similarly, if the user is at zoom level '2'...at this zoom level user is able to see 13 polygons over the IE. so the point theme should render only 13 points specific to each polygon. If the user tries to do dragging the base map either sides...then display the points, specific to the polygons that the user is able to see.
    Similarly for other zoom levels ... Please let me know if you require any other information.
    Thanks & Regards,
    Kiran Konjeti

    You'll need to do a little software workaround on the values you read from your counter.   But first a little tutorial to explain *why*.
    The E-series boards use 24-bit counters.  When LabVIEW requests an integer count value, the count is returned in a 32-bit unsigned integer datatype, where the 24 lowest bits represent the value in the board's count register.  The upper 8 bits are *always* 0's.
    The count register can increment from 0 to 16 million plus (2^24 - 1), then it must "roll over" back to 0 again just like an odometer.  Similarly, when it decrements past 0, it next goes to the max value of 2^24 -1 as you observed.
    So we need a little software workaround that'll convert (2^24 -1) to (-1) and (2^24 -2) to (-2), etc.  The way to do it is to first detect whether the highest bit is a 1.  One way is to compare whether the count value is >= 2^23, making sure to use integers to do the comparison.  Whenever the value is >= 2^23, subtract 2^24 from it to create your new count value which will then decrement 3,2,1,0,-1,-2,-3, etc. as desired.
    Here's a link to a similar explanation.  Couple more notes too.  First, if this is a continuously rotating encoder, you may still encounter a discontinuity when the revised count value crosses the +/- 2^23 boundary.   Second, direct connection of a quadrature encoder to an E-series board isn't recommended because of unrepeatability when measureing direction changes.
    -Kevin P.

  • How to get the Report Page count using crystal reports 2008

    Hi,
    I  have to implement a business logic where in i will have to display the no. of pages generated for the report
    Say for e.g. crytal report that's generated spans 25 pages in the report.
    Then i will have to display a message to the user after the report generation something like  "25 Pages generated"
    So, how would i get this report page count so that i can fetch the value and display the same to the user.
    Any sample code snippet would be of great help.
    Thanks in Advance
    Regards,
    Ramnath

    Hi,
    I am using crystal reports 2008 and i  visited the link forwarded in your previous mail and got the solution for getting the lastpagenumber of the report.
    nPages = crReport.FormatEngine.GetLastPageNumber(New CrystalDecisions.Shared.ReportPageRequestContext)
    but, i don't find FormatEngine  property for ReportDocument object.
    I just wanted to know whether this property is availale in crystal reports 2008 or should i even install any service packs for this.
    Please find below the namespaces that importing in my class
    Imports System.Windows.Forms
    Imports System.Drawing.Printing
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.Shared
    Imports CrystalDecisions.Windows.Forms
    Imports CrystalDecisions.CrystalReports.ViewerObjectModel
    Imports CrystalDecisions.Shared.ReportPageRequestContext
    Please let me know how can i get the formatEngine property for reportdocument object
    Thanks in Advance
    Regards,
    Ramnath

  • How to limit the max dialog no that one user can use at the same time?

    Hi,
    I meet one performance problem that one user can open 6 sessions in the GUI and he/she can run 6 reports at the same time witch could occupy 6 dialogs in the sap R/3 instance. It makes poor performance for other users.
    Would you pls tell me how to limit the no. of sessions one user can create at the same time or how to limit the no. of dialogs one user can occupy at the same time?
    Thanks a lot!
    I used this parameters in the default profile as blew:
    rdisp/rfc_check 1
    rdisp/rfc_use_quotas 1
    rdisp/rfc_max_own_used_wp 20 (means: 20%)
    It still didn't work.
    Sean

    Hello,
    We can reserve DIA W.P by giving value to the parameter :- rdisp/rfc_min_wait_dia_wp=1(default)
    that have to necessarily remain free for other users.
    This parameter is used to reserve a number of dialog work processes for Dailog mode.
    For eg. If 10 dialog w.p. are configured for the instance(rdsip/wp_no_dia=10) and the parameter rdisp/rfc_min_wait_dia_wp=3 is set,parallel RFC's can occupy a maximum of 7 DIA W.P.3 DAI W.P. always remain free for dialog mode.
    But now the question is how we assign/restrict this free dialog w.p. to the specific user.
    Reply...
    Regards,
    JUNAID

  • Hi i would like to know how to extend the range of my time capsule wifi network(500G 802.11n) using an airport express. i have a double storey home and would like to extend range to my upstairs bedrooms.i have a time capsules network setup via a netgear a

    hi i would like to know how to extend the range of my time capsule wifi network(500G 802.11n) using an airport express. i have a double storey home and would like to extend range to my upstairs bedrooms.i have a time capsules network setup via a netgear adsl.i have a second imac upstairs which connects to time capsule wifi network (it is within range as it is directly abobe on 1st floor)
    could you tell me how best to set airport express up to extend my wifi range?

    Greetings,
    This is called an "Extended wireless network".
    Read this article for details and steps on how to extend your TimeCapsule's network:
    http://support.apple.com/kb/HT4259
    Cheers.

  • How to limit the number of TCP connections beeing used concurrently while a page is beeing loaded?

    We manufacture industrial small-footprint control modules with embedded web server. The resources of these modules are very limited, especially in RAM. We have problem, that FF opens 15 parallel TCP connections while loading a web page (main html page first, then all icons simultaneously). We can not handle such behavior because of lack of RAM memory needed for TCP buffers.
    Question is how to limit the number of concurrent TCP connections the browser will use? We need to do it somehow directly from the page, we can not push our customers to change the general settings of their browsers (they would not understand such things anyway).
    Do anyone have any suggestion?

    Sorry, one other thought. Many web designers now combine all icons into a single image and use CSS to clip the image so that only the desired portion is displayed. This minimizes the number of required connections and increases the probability that the image can be retrieved from cache.
    More info:
    * [http://www.w3schools.com/css/css_image_sprites.asp CSS Image Sprites - W3Schools]
    * [http://www.alistapart.com/articles/sprites/ A List Apart: Articles: CSS Sprites: Image Slicing’s Kiss of Death]
    * [http://coding.smashingmagazine.com/2009/04/27/the-mystery-of-css-sprites-techniques-tools-and-tutorials/ The Mystery Of CSS Sprites: Techniques, Tools And Tutorials | Smashing Coding]
    No idea whether this is practical for your application.

  • HT204264 How do I limit the amount of space used by photos on my phone - now that I turned iCloud on it is taking over my phone

    How do I limit the amount of space used by photos on my phone - now that I turned iCloud on it is taking over my phone

    Hello Maahk,
    Welcome to the Apple Support Communities!
    I understand that you would like to optimize your Photos storage. If you are using iCloud Photo Library on your iPhone, please read over the information in the attached article. 
    iCloud Photo Library FAQ - Apple Support
    Can I use iCloud Photo Library to save space on my device?
    iCloud Photo Library automatically keeps all your photos and videos in the original, high-resolution version. Follow these steps to choose how you store your photos and videos on your device:
    In iOS, tap Settings > iCloud > Photos or Settings > Photos & Camera, then select a storage setting.
    In OS X, click Photos > Preferences > iCloud, then select a storage setting. 
    If you turn on Optimize [device] Storage, iCloud Photo Library will automatically manage the size of your library on your device, so you can make the most of your device's storage and access more photos than ever. All of your original, full-resolution photos and videos are stored in iCloud while device-size versions are kept on your device. You can download the original photos and videos over Wi-Fi or cellular when you need them. 
    If you turn on Download Originals, iCloud Photo Library will keep your original, full-resolution photos and videos in iCloud and on your device. Download Originals is the default setting for iOS devices with the free 5 GB storage plan and for all Mac devices.
    Have a great day,
    Joe

  • How to limit the number of items that a list control can hold?

    Hi,
    I am using a Flex3 List control for one of my projects.
    I add drag & drop functionality to it, so that i can drag & drop elements from one control to another.
    How to limit the number of items that a list control can hold / can be dropped in a list control ?
    - Sen.

    1. Listen for the dragdrop event on the control you are dragging onto.
    2. check the length of the items in the dataprovider - if it exceeds your maximum override the default drop action with e.preventDefault(); (assuming you used e for the event on the handler).
    Regards,
    Mark.

  • How to Determine the "Total" Page Count on HP 2575 All-in-one printer?

    Looking at how to determine the "Total" Page Count on HP 2575 All-in-one printer?   I've seen directions for other HP printers but can't seem to find any for the HP 2575 All-in-one printer.  I am trying to find approximately how many pages my printer has printed since I've owned it.    Any help is much appreciated. 

    The manual says you should be able to use the Embedded Web Server to view statistics. 
    Say thanks by clicking the Kudos Thumbs Up to the right in the post.
    If my post resolved your problem, please mark it as an Accepted Solution ...
    I worked for HP but now I'm retired!

  • How to find the columns and tables used in a stored procedure?

    Hi,
    Can someone suggest how to find the columns and tables used within a stored procedure?
    Thanks
    VBK

    For example:
    SQL> create or replace
      2    procedure p1
      3      is
      4          cnt number;
      5      begin
      6          select count(*) into cnt from emp;
      7  end;
      8  /
    Procedure created.
    SQL> select  referenced_owner,
      2          referenced_name
      3    from  dba_dependencies
      4    where owner = 'SCOTT'
      5      and name = 'P1'
      6      and referenced_type = 'TABLE'
      7  /
    REFERENCED_OWNER               REFERENCED_NAME
    SCOTT                          EMP
    SQL> SY.

  • HT5100 How to limit the number of downloaded videos in parallel to one.i want my iPad itunesu to download only one video at once at time and when finished from downloading it to pass to the second queued one.

    How to limit the number of downloaded videos in parallel to one.i want my iPad itunesu to download only one video at once at time and when finished from downloading it to pass to the second queued one.

    @Tylerdowner: hmm.. maybe yes.. I just want to use the DOWNTHEMALL AddsOn for the saving file not the default download.. because my costumer download MP3 files and save it 3 or more files at a time so my Internet Connection goes down :( so I just want to limit them to save 1 file at a time.
    or if there is another way to limit it to 1.. please tell me :(

  • How to extend the range with a second Airport Express? Do I need a DSL cable?

    How to extend the range with a second Airport Express? Do I need a DSL cable?

    Thanks, now we need a bit more information, please, in order to provide you with the correct information that you need.
    I assume that you already have one AirPort Express.....either a model A1264 or A1392.....set up and operating OK, is that correct?
    If yes, you can extend the network either by using wireless or an Ethernet cable with a second AirPort Express.....either the A1264 or A1392 model. A wired connection is the way to go, if possible, since it provides better performance.  But, wireless might work OK for you if you want to try that.
    Let us know "how" you want to extend......wireless or wired?

  • I need to limit the range of my wireless router WRT54G - Any ideas are appreciated.

    I need to limit the range of my wireless router   WRT54G - Any ideas are appreciated.  I don't want to put on a password if I can avoid it.   Thanks for you advice in advance.  Milwaukie

    Trying to confine a wireless signal to your home is not a practical solution to security concerns.  The distance that a wireless signal will travel is mainly limited by the receiving antena and sensitivity of the receiver.  An ordinary wireless receiver can probably pick up your signal for 200 to 1000 feet.  A great receiver could probably pick up your signal from a mile or more.  The best alternatives are:
    a) convert your system to a wired system, or,
    b) encrypt your wireless using a good encryption method (WPA or preferably WPA2) and use a strong password.

  • How to find the Ranges for a field ?

    Hello All,
               Can anyone tell me how to find the ranges for a field.
    <b>1</b>, i.e say I want the Ranges Structure for the field LIFNR.
        The ranges structure for this is "<b>RANGE_LIFNR</b>".
        This I used in my Program since I know it previously.
        But now I want the ranges structure for the field <b>VBELN (Delivery Document).</b>
        I  don't know what is it !!!!!
    <b>2</b>, Is there any procedure to know the ranges structure for a particular field ?
    Regards,
    Deepu.K

    Hi Deepu,
    Using 'Where used list' you can able to find out RANGES tables.
    For VEBLN range table is --> CRM_AC_ASSIGN_VBELN
    If you using a program defined as shown below.
    DATA: r_vbeln type ranges of vbeln.
    The above statement also creates ranges structure in Runtime.
    Procedure finding range table structures
    go to SE37 -> Enter domain or dataelement value
    Go to where used list --> search for 'Structures'
    After getting all structure  --> Click 'SEARCH' butoon in tool bar --> Search for 'RANGES' word
    You can get all ranges tables in the search window
    If helps plz reward points.
    Regards
    Bhupal Reddy

Maybe you are looking for

  • HP LaserJet M2727 Multifunct​ion Printer series

    When printing from the printer device stopped permanently عندما اقوم بالطباعه على الطابعه تطفى فجاءه نرجو دعمكم

  • Help! My Mac mini won't reboot

    Hi. I posted yesterday (in the Safari forum) concerning a problem I was having with Safari 3.0.4 after updating to 10.4.11. Basically, it wouldn't run. Anyway, I did a bunch of searches on the Web (including this forum) to try to figure out what to d

  • Crm_order_maintain---insert a partner

    Hi guys, I've got a problem with crm_order_maintain! I want to create a new service contract (subcontract from a master contract) but I don't know how to insert a sold-to-party because in the table et_partner there isn't the field 'MODE'. Someone can

  • SMS at the time Invoice invoice is saved

    Hi I want to send SMS to the Customer Moblie when his Invoice is Created in the SAP system. The SMS should have the SAP invoice no. and the Amount of Invoice.

  • Viewing Icons in Oracle Forms on the Web - any solutions?

    Has anyone had problems viewing icons when deploying forms on the web? In client server mode it used to be .ico files. I recently converted our files to .gif and added a register UI_ICON to recognize the icon images when running the forms. I still ca