Motor position error

As a beginner in motor contol,
one of my motor systems consisted of Thorlab Z612B(0.4 nm/step, 8 micrometer blacklash) and Precision MicroControl DCX-PC100.
The motor was used in XY scanning; the x direction(fast axis) will move in small interval continuously in a y position (slow axis).
Normally, we use more than 32 by 32 data points.
In roughly thinking,  the image shape of scanning should be a rectangular or squre type in XY surface depending on the ratio of each data points.
But, the returning X to the start point, or final X is shifting as time goes on, therefore parallelogram shape in XY surface. (please see the attachement. the number in micrometer)
Of course, I checked the complete of motion for each interval X, and then read the current position.
I had better notify we have already calibrated PID and motion(v & a) parameters by the tunning program.
Is the second problem related to whether Motor or Controller?
메시지가 02-27-2008 09:09 PM에 labmaster에 의해 편집되었음
Attachments:
aaa.jpg ‏35 KB

Hi labmaster,
It's hard to say whether or not it is the motion controller or the drive that may be causing the error. It could be something else entirely. I have a few questions for you to help figure out where the problem might be occurring
1) I see that you said you are reading the position each time you complete a move. Is the position you are reading ever changing significantly from the expected position, or do you always get the position you expect?
2) This may be a gradual problem that shows up when you make a large number of different moves. What happens if you start from the beginning and only move to each corner of the rectangle you are trying to cover, do you still get that parallelogram shape?
3) What kind of feedback setup are you using (encoder, ADC, something else?) for your closed loop, and how do you have it configured in Measurement & Automation Explorer?
Regards,
Vijay S.
National Instruments

Similar Messages

  • Position error

    I am having encoder position issues.
    I am using 3 Kollmorgen servos attached to 3 AKD Ethercat drives. I have a cRio running as the Ecat master. All of my Vis are running in scan mode on the cRio.
     I am building a capstan pulling system that will have a constantly changing velocity based upon position within a 3 meter repeating cycle. I change the velocity based upon sensor input every mm of the cycle and then start the 3 meter cycle over. The velocity various from 1 RVS to 10RVS.  I use the encoder position to determine my position within a cycle. The system runs great for around 5 minutes and then my encoder goes crazy. Even when I stop the servo the encoder continues to increase. In the help for the “Reset Position” command I noticed that encoder values higher than 2^52 can be unstable. Does this apply to user units or RAW encoder pulses?
      I have tried the following methods to try and fix the problem.
    Test and verified that the issue occurs in the Axis test panel.
    I just set a long move at a given speed. After a time the position error goes crazy as in 4.0 e +12 and the position continues to increase after the servo stops.
    I removed my units and used just encoder pulses and again after a few minutes the same thing occurred.
    Changed my VI so that after each 3 meter cycle the encoder was reset to zero. Again after roughly the same amount of time the issue occurred.
    One strange thing is that I can still control the servo accurately. If I tell it to go 100mm it goes 100mm, but once there I cannot read the position because it returns a very large and inaccurate number.
    A further observation is that I can recover by resetting the cRio. This makes me think that the encoder number is exceeding some register U32 or U64. If that were the case I would have thought that resetting it after each cycle would have fixed it. Unless when you reset the position you are just setting an offset that is subtracted for the actual encoder from that point forward.
     I am sure that I have confused you all but any and all help is greatly appreciated.
    Perpetual LabView noob…..
    Jeff Lee

    Hi Jeff,
    I have a few questions for you to help me get a better understanding of the issue:
    - What version of LabVIEW software is your application written in (2010? 2011 SP1?, 2012? etc)?
    - Have you tried swapping your motor with a different one?  Or your Drive?  Did you still observe the same behavior?  If possible, I think this would be a useful test to help narrow down the issue.
    - What does your motion system look like at a high level (What components are involved and how are they connected to eachother)?  Does the encoder feedback connect back to the drive or back to your cRIO controller?  
    Andrew T.
    National Instruments

  • Invalid Cursor Position Error

    Help!
    I am using JRun3.1 and developing a web interface to a database. In this particular screen, I am using CachedRowSet (I downloaded this and added it to jrun classpath). I am getting "Invalid cursor position" error.
    I feel there is a problem with the usebean tag.
    This is my code:
    what is wrong with this?
    <%@ page language = "java" import="java.sql.*, java.util.*, javax.sql.*, sun.jdbc.rowset.*" %>
    <%
    String indSub = request.getParameter("indSub");
    String areaname = request.getParameter("selarea");
    %>
    <jsp:useBean id="crs" class="CachedRowSet" scope="session" >
    <%
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    crs.setUrl("jdbc:odbc:asphData");
    crs.setCommand("SELECT siccode, sicdesc from siccode where sictitle = '" + indSub + "'");
    crs.execute();
    %>
    </jsp:useBean>
    <%@ include file="header2.htm" %>
    <link rel="stylesheet" href="http://localhost:8100/empData/almis.css" type="text/css">
    <br>
    <br>
    <table align="center">
    <tr><td class="moduleDesign" align="center">Employers Database</td></tr>
    </table>
    <br><br>
    <font size="+2" face="verdana sans-serif">
    <form action="employerDetail.jsp" method="post">
    <p><center><font color="Blue">Employers in the �<%= indSub %>� Industry
    <br>
    SIC Code:�<%= crs.getString("siccode") %>
    <br>State: Utah<br>
    Region: �<%=areaname %><br>
    </font></center></p>
    <p>
    <b>Description:</b>�<%= crs.getString("sicdesc") %>
    </p>
    </form>
    <jsp:include page="footer2.htm" />
    </body>
    </html>
    srajaman2

    Never mind!
    I have to issue a next() command to get to the first line of the resultset!
    srajaman2

  • Invalid Cursor Position Error on Windows XP using CachedRowSet

    Hello, I don't know if this question lies here, but I thought it would be the well suited place so please pardon me if it isn't. I am trying to access multiple pages from my database on my XP machine but I am getting an "invalid cursor position" error when trying to access the next page. I don't know how this error is coming about because it works well on a Vista machine with no errors. I don't know if it is my drivers or something that brings about the problem. I am using mysql connecter 5.1.10, JRE 1.6.0_02 and windows XP SP2
    Below is a simple code that brings the error.
    package Admin; import javax.sql.rowset.CachedRowSet; import com.sun.rowset.CachedRowSetImpl; public class test { public void table() { try { CachedRowSet crs=new CachedRowSetImpl(); crs.setUrl("jdbc:mysql://host:3306/database");         crs.setUsername("User");         crs.setPassword("password"); crs.setCommand("select * from myTable"); int[] keys = {1}; crs.setKeyColumns(keys); crs.execute(); crs.last(); if(crs.getRow()>500){ //new overLimit(); } crs.setPageSize(3); crs.execute(); while (crs.next()) { System.out.print("page one----"); System.out.println(crs.getString(1)); } while(crs.nextPage()){ System.out.println("page two---"); while (crs.next()) { System.out.println("in page two"); System.out.println(crs.getString(1)); } } } catch (Exception e) { e.printStackTrace(); } } public static void main(String []args){ new test().table(); } }

    Yes I am running the same code on both machines. The output I get on the XP machine is shown below. I modified the code I posted earlier and replaced the "page two" text with "page (then page number)" and also omitted the "in page two" text for better readability---------PAGE 0---------
    DB09140110
    DU35463010
    EX29201810
    ---------PAGE 1---------
    EX38341510
    EX40471810
    KZ280299
    ----------PAGE 2---------
    LA130299
    LC130299
    MC081009
    ----------PAGE 3---------
    RZ300502
    VA130299
    VI020209
    ----------PAGE 4---------
    YX101008
    ZE220299
    ZF231105and vista....
    ----------PAGE 0---------
    EX38341510
    EX40471810
    KZ280299
    ----------PAGE 1---------
    LA130299
    LC130299
    MC081009
    ----------PAGE 2---------
    RZ300502
    VA130299
    VI020209
    ----------PAGE 3---------
    YX101008
    ZE220299
    ZF231105

  • "Column Width should be positive" error

    I have a flash chart that has a fairly simple query (whic works fine when run via SQLPLUS etc), that when I run via Apex I get "Column Width should be positive" errors. What does this mean, and how do I debug it?

    I realise that I have to have a chart query to generate the chart. The query (see below) runs perfectly fine in SQLPLUS, TOAD, SQL Developer etc, with no negative values returned.
    select null, to_char(targcompdate , 'RRRR-IW'), count(*)
    from work_tab
    where worktype = 'RO'
    and integ_priority in ('2','3','4')
    and comp_person = 'Structural'
    and targcompdate >= sysdate
    and status = 'APPR'
    group by to_char(targcompdate , 'RRRR-IW')
    order by to_char(targcompdate , 'RRRR-IW')

  • Officejet pro 8600 Premium pick motor stalled error message

    I have the Officejet Pro 8600 Premium printer. I'm getting the message "pick motor stalled" after two and a half months of stellar use with this printer. There is no paper/print jam. I'm using the same paper I have always used. Help, is this a problem with this model?

    Also having this issue with an Officejet Pro 8600 Premium too. Bought it in May 2012 to replace an Officejet 7410. Running on a wireless network to a Win 7 32 bit laptop. Started getting the popular Pick Motor Stalled error after two months of ownership of the 8600. Have been able to get the printer to reset this error in the past with combinations of powering down, running diagnostics, and having the printer execute either a print head clean routine or a print printer status routine - that is up until this weekend. Trying to print tax returns so I can get them in the mail by the 4/15 deadline tomorrow and, of course, the Pick Motor Stalled error shows up again. Spent several hours trying usual tricks, this time nothing works. Finally, as a desperate last resort, I powered down the printer and completely removed the second printer tray assembly from the bottom of the printer. Powered back up running only the single main tray and that did the trick. Printing restored.For those that might conclude there was a paper jam on the machine and removing the second paper tray assembly fixed it, trust me. I have been in and out of that machine. There was no paper jam. There is some glitch in either the electronics or firmware, or both on these printers that is causing all the Pick Motor Stalled errors that the user community for this HP device has been dealing with.

  • Long motor test error did not reach target speed in time.  fan runs all the time.  sensor is connected.  do I have a bad fan?   speed in time speed

    ran apple hardware diagnostics.  fan - master - long motor test error:  did not reach target speed in time.  fan runs all the time.  sensor is connected.  do I have a bad fan? 

    ran apple hardware diagnostics.  fan - master - long motor test error:  did not reach target speed in time.  fan runs all the time.  sensor is connected.  do I have a bad fan? 

  • Set file position error

    Hi,
    I am using LabVIEW 2009 SP1 on Win XP OS system. I am reading and writing data to a text file whose size does not exceed 50 MB. whenever i try to set file position to a value of say 128 bytes from the start of file, the function does not show an error. But when i try to read back the file position using get file position function, the value shows a very high number. I am not able to do a random access read of the file data. Please help.
    Regards,
    Yashasvi

    Hi Yashasvi,
    can you post the vi (or vi section) causing the problem?
    Thanks,
    Marco

  • Swf positioning error in cs3

    I've added a .swf file to my html page but when attributing a CSS ID to the object to position it on the page, it shows as in the correct position on the dreamweaver layout, but when viewing in firefox, opera or safari the flash object displays out of position in the top left corner.
    help and advice is appreciated, i'm reletivly new to dreamweaver and just can't spot why there is an error.
    this is the code for the object:
    <script type="text/javascript">
    AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0, 28,0','width','565','height','235','id','bodytxtpos1','title','flash','src','im a ges/rollingfolio_newv2','quality','high','pluginspage','http://www.adobe.com/sh o ckwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','images/ro l lingfolio_newv2' ); //end AC code
    </script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0, 28,0" width="565" height="235" id="bodytxtpos1" title="flash">
      <param name="movie" value="images/rollingfolio_newv2.swf" />
      <param name="quality" value="high" />
      <embed src="images/rollingfolio_newv2.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFl ash" type="application/x-shockwave-flash" width="565" height="235"></embed>
    </object>
    </noscript><script type="text/javascript">
    This is the CSS code:
    #bodytxtpos1 {
        position: absolute;
        left: 270px;
        top: 240px;
        width: 565px;
    This post has ben poster previously but not answered.

    Couldn't you embed it without adding and ID to the object? Create a div to fit the Flash file. Wrap the Flash in a Div on the page.

  • Stepper motor positioning control system

    hello
    Iam building positioning control system using a stepper motor, and I need to know what are some position sensors available to feedback the position of the stepper motor.. Also I need to know how can use a C code in the labview...For example, if I have an algorithm developed in C; How can I use that code in the labview..
    Thanks
    Shaham

    Shaham,
    Below is a link to several encoders that NI provides specifically for stepper motors.
    Quadrature Encoder:
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/205321
    As far as the C code is concerned, this can be accomplished in two different ways, provided that the code is first placed in a dll file.  
    First, you can import the dll into a project library, by selecting Tools»Import»Shared Library.  This option is good for code that will be used often, as it creates wrapper VIs for each function that can be reused.
    Secondly, a "Call Library Function" node can be used to call a C function from a dll.  This procedure is shown in the following tutorial, and is useful when code only needs to be called a few times.
    http://decibel.ni.com/content/docs/DOC-9069
    I hope this helps!
    Drew
    Drew T.
    NIC AE Specialist

  • Batch Input ME47 - Get Item position error

    I'm doing BDC to ME47 passing header and several positions in a RFC. The functional wants  the RFC inform which position
    caused the error. In the message table of the call transaction doesn't show any info of the position.
    I think it can't be done but any help will be appreciated.

    Hi,
    When you do the same steps manually you would be getting an error message. Are you able to interpret the item position number based on the error message ?
    If not, then it wont be possible to do so in the RFC as well. You may have to build some custom logic if you are able to intrepret it.
    Thanks,
    Best regards,
    Prashant

  • Read Encoder Position Error -70012

    I am using the "Read Encoder Position" and I keep getting error #-70012.  There are no errors up to this point and it does not SEEM to affect the way my program runs.  Does anyone know what this error is? 
    I did try to look up the error # to no avail.
    Thanks.

    Have you seen this?

  • OMF sample position error!

    I have just imported a project as OMF on several channels. Originally, it has the start position 1.3.1.0. The song needs a Reason-loop/file. Logic doesn’t "see" this position and places the files to a 1.3.1.1 starting point. The Reason-files start as normal on 1.3.1.0. This is not good enough and the ReWire-files and "live" files are off beat. I have tried to fix this both in the transport area and in the Event window, but when I type in 1.3.1.0, Logic automatically changes this to 1.3.1.1.
    Please help!!!

    Hi Jeff,
    I have a few questions for you to help me get a better understanding of the issue:
    - What version of LabVIEW software is your application written in (2010? 2011 SP1?, 2012? etc)?
    - Have you tried swapping your motor with a different one?  Or your Drive?  Did you still observe the same behavior?  If possible, I think this would be a useful test to help narrow down the issue.
    - What does your motion system look like at a high level (What components are involved and how are they connected to eachother)?  Does the encoder feedback connect back to the drive or back to your cRIO controller?  
    Andrew T.
    National Instruments

  • Cursor Position Error

    Hi There,
    Can anyone tell me why the attached VI returns a error?
    Many Thanks,
    Dan
    Dan
    CLD
    Attachments:
    cursor error.vi ‏9 KB

    Hi Dan,
    You are getting this error because you have not yet 'created/ initialized' the Cursor.
    Either,
    Manually add cursor.( On Front Panel, Right click on Graph>> Visible items>> Cursor Legend, then Right click in the cursor legend>> Select Add cursor)
    Or
    You can progamatically create a cursor and then set its position.
    Hope this helps you
    Regards,
    Dev

  • Playback position error

    Okay so this error is driving me nuts!
    I used to see this occasionaly on my old iPod Nano (3g), and I thought I'd seen the last of it until it started happening consistently on my iPhone with one of my podcasts (http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=215055576 , so far I've seen it happen on episodes 26, 27 & 28). I've tested it on iTunes and they play back fine on my computer.
    So what happens is that after an arbitrary point in the podcast (usually 20 to 40 minutes left), if I try to move the play head or resume after pausing, it will jump backwards to that arbitrary point. So for example, after something like -47:15 it will always jump back to -47:15 no matter what position I try to move it to after that time. The only way to properly listen to anything after that point is to play it non-stop until the end.
    If I pause then resume after a few seconds it doesn't seem to cause the error, only after pausing and then trying to resume later, It only seems to happen when it has to re-open the file. I can only assume there's an error in the way Apple's iPod code handles certain MP3 files.
    Please help! This has completely ruined by ability to listen to the end of a podcast, because I need to pause playback occasionally.

    @khan82imran 
    Try the following.
    Open windows Control Panel, open Windows Update, select 'View update history' in the left hand pane and then select 'Installed updates' link in the following window.
    Locate update KB2962407, right click it and select Uninstall.  When done, restart the notebook, open windows Control Panel, open Windows Update and select 'Check for updates'.  You'll see the update you just uninstalled being offered again - right click and select 'Hide Update'.
    When windows has reloaded, use recovery manager to reinstall your original IDT HD Audio driver as detailed in the document on the link below.
    Recovery Manager - Windows 8.
    Regards,
    DP-K
    ****Click the White thumb to say thanks****
    ****Please mark Accept As Solution if it solves your problem****
    ****I don't work for HP****
    Microsoft MVP - Windows Experience

Maybe you are looking for

  • How to use ActiveX in Forms 6i

    Hello friends: Being a novice forms developer I'm eager to gain the skill of using ActiveX in Forms 6i. I 'll appreciate if anyone could help me finding some online tutorial on this issue. Otherwise, I 'll very highly appreciate if someone would shar

  • Error while connecting to Oracle 8 from PI 7.1

    I am trying the connect oracel 8.0 from PI 7.1, I am getting following error in communication channel monitoring "Exception caught during JDBC adapter processing: java.lang.NullPointerException " at the same time I can connect to oracle 10g smoothly

  • Invalid header field -- invalid header field

    I have different stream in clearcase when i trying to do for remote eclipse client i am getting an following error. [#|2006-08-30T10:17:36.028-0400|SEVERE|sun-appserver-pe8.1_02|javax.enterprise.system.tools.deployment|_ThreadID=11;|Exception occured

  • Read Out Loud.api

    Installed Adobe Reader XI and the Read Out Loud plug-in is not loaded.  I believe this is way the Read Out Loud feature does not work.  Please tell me how to load the read out loud.api

  • Serialization vs SQL vs saving as text

    hello, I am at a standstill in my programming...I am writting a Meeting Reservation program and I am unsure about whether I sould use SQL or some form of database to organize the data for each meeting. The information that I am keepiong track of for