Contoured move and move constraints

The NI-Motion User Manul tells' A contoured move moves an axis or a coordinate space of axes in a pattern that you define. The trajectory generator on the motion controller is not used during a contoured move. The controller takes position data in the form of an array, and splines the data before outputting it to the DACs or stepper outputs' and ' The move constraints commonly used to limit other types of moves, such as maximum velocity, maximum acceleration, maximum deceleration, and maximum jerk, have no effect on contoured moves. However, the NI Motion Assistant prototyping tool can remap a user-defined trajectory based on specified move constraints, preserving move characteristics and move geometry.'. How the move constraints works in NI motion Assistant prototyping tool in  the contoured move?

Thanks. Can I get the output position data of Smart Contouring?
In the contoured move, the motion time between two continous points is the sampling period, is it correct? I am really confused with the stepper motor controll by 7344 using closed-loop control.
I developend an interpoaltor in which I set the time interval between two sequential interpolated point is 1ms and this value can be changed. To get the smaller chorderror, the time interval also should be small. When I do the experiment using contoured move (stepper motor +7344 +closed loop), the velocity is very slow. I think the reason is that time interval of the control loop is much bigger than the  time interval used in the interpolator. This means the motion time between two sequential point is increased consequently decreases the velocity. Anyway I am not sure about this. Is anyone has any idea?
 ^_^

Similar Messages

  • Does the contoured move uses the PID parameters and position feedback?

    Hello
    I want to use the contourd move to generate a continuous movement,but i do not know if this kind of move just acst like a open-loop move .What i means is does it sends the target position directly to the DAC without the PID loop and position feedback? 

    The PID controller is still enabled when running the motor in
    contouring mode. Otherwise you couldn't do any position control at all.
    On a board level the only major difference between contouring mode and
    any other mode is the source of the dynamic setpoints passed to the PID
    loop through the spline engine. While in contouring mode the setpoint
    information comes from the buffer in the onboard RAM, in other modes it
    is dynamically calculated by the trajectory generator on the board.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • Limit Switches and Contour Moves.

     I am developing a 4 axis contour motion system and need to know how to handle if one of the axis activate a limit switch.  Does the activated axis have to be moved off the switch so the contour move can continue or can you move it off with a co-ordinated contour move?
    Configuraton
    LabVIEW 2013 SP1
    Softmotion 2013
    cRIO Crate
    NI 9514 C Series Servo Drive Interface with Encoder Feedback (all 4 axis_
    Paul

    The controller that I am developing is a four-axis inspection delivery tool. It is made up with a vertical pole that can be moved up and down and rotate. At end of the pole there is an "arm" that can be raised and lowered; the arm can also rotate +/-45 degrees. What I want to do is to move 2 to 3 axis simultaneously so the tool end can travel along set paths. For example if the tool end is to move horizontally, the arm has to be raised (rotated) while the overall tool is lowered. To calculate the coordinated time path of each axis, I use an inverse kinematic calculation that creates a table of positions (for each axis) with the set time interval, thus the use of multi-axis contour move.
    The problem that I am worried about but have not had a chance to test, is what happens when on the axis activate a limit switch, say for example the tools vertical upper or lower travel limits. With standard single axis point-to-point movement, you can always command to travel off the limit (but not through it) but it is not clear what will happen when using contour moves (single or multiple-axis). Thus the question, how to handle, when one of the axis of a coordinated contour move motion activates a limit switch.
    Cheers
    Paul

  • Motion Assistant 1.2 move constraints issue

    Hello,
    I have a contoured motion profile that I want to run using Motion Assistant 1.2 but I don't want to apply move constraints. So I have loaded my data points into a contoured move step and checked "Do not apply move constraints to the curve" option. But even with option enabled, Motion Assistant is applying the values of the Move Constraint tab.
    I'm used to this on a previous version of Motion Assistant.
    Is there an additional step in this version or is bug ?
    Thanks.

    Hello,
    I have a contoured motion profile that I want to run using Motion Assistant 1.2 but I don't want to apply move constraints. So I have loaded my data points into a contoured move step and checked "Do not apply move constraints to the curve" option. But even with option enabled, Motion Assistant is applying the values of the Move Constraint tab.
    I'm used to this on a previous version of Motion Assistant.
    Is there an additional step in this version or is bug ?
    Thanks.

  • How to start a contour move from a non-zero position

    Hi,
    I am using a PXI 7344 motion controller under LabVIEW 8 to do a vector contour move. How can I start the contour from a non zero position ? I want to use absolute position mode. The test requires the x axis to move to a known distance and wait for a known time (more than a 1 hour) before the contour starts.

    Hi Milinda,
    Unfortunately the zero position is inserted at the beginning of the
    array points by the firmware. As far as I know there is no way to stop
    this happening. The only way to get round this is to use reletive
    positioning and keep track of the current position.
    Regards
    Jon B
    Applications Engineer
    NIUK

  • Time interval for contoured move

    I have a interpolator and it output the interpolated data with time interval 1ms. When I do the experiment using stepper motor controlled by 7344 (contoured move). the time interval is much bigger the 1ms, resulting in very low velocity. How to solve this problem? Increasing the time interval of interpolator? Is there anyone has any ideas? Thanks a lot!

    In contouring mode you can set the time interval for the position buffer in the Configure Buffer function. Here is the parameter description:
    Requested Interval (10 ms) is additional data for the Position
    buffer type. The Position buffer type requires a Requested Interval parameter,
    and indicates the time between contouring data points in milliseconds. For all
    other buffer types, the Requested Interval parameter is ignored.
    The controller uses the closest value it can that is greater than
    or equal to the interval value you requested. Your time interval must be an even
    multiple of the PID rate. Refer to the description for the Actual
    Interval parameter for more information.
    When used with Breakpoint or High-Speed
    Capture, Requested Interval indicates how often, in
    milliseconds, the onboard data is updated from the hardware, and the value is a
    whole number.Please note that 10 ms is the fastest interval that you can set. If your data is sampled with a 1 ms time interval and you want to use the 10 ms time interval with your 7344 you simply should decimate your contouring data array by copying every 10th value to your contouring position array.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • Importing Contour movies to iMovie

    Hi, I have tried to import Contour *.MOV files into iMovie.  When I select the files for import all but two are greyed out.  The two that are not greyed out have imported to iMovie OK.  The only difference I can see is that the two that can be imported have a 'P' name [e.g. P1010133.MOV] whereas all those greyed out have an 'F' name [e.g. FILE0001.MOV].  I also imported them all the files to iPhoto and they play OK using that but when iMovie 'syncs' with iMovie it doesn't load those files that are greyed out.

    I meant 'when iMovie syncs with iPhoto

  • Break Points during Contour Move

    We are using PCI-7340 (Firmware Version 68331) for a 2 Axis laser cutting application. The contour points are generated and fed to the 2D Contoured move.vi which works great for most part.
    In our application presently we can have 9 to 15 contours per sheet. The laser is turned ON before start of the contour move and turned OFF after finishing the move. And the cycle repeats until the sheet is processed.
    We would like to increase the productivity by combining all the contour points into one big contour move but not loosing the control over laser (ON/OFF). So, Is it possible to have BreakPoints embedded in the Contour data? We can not have Breakpoints based on single axis position because for a particular contour move an axis may move through that position (X or Y) multiple times. We need to define the (X,Y) location where that I/O transition needs to happen. Alternatively we can identify the contour point (contour buffer array number) where the transition needs to happen.
    Thanks.

    Sorry, I just realized that I asked almost the same question a while back and it was answered by NI person.

  • Contour move quirks if bufferSize less or equal than totalPoints

    I have two machines in wich I test my application: one with a PXI 7344 with NI-Motion 6.0 firmware and other with a PXI 7344 with FlexMotion 5.1 firmware.
    Using the 6.0 firmware, I create a position buffer with N points in size and total points, write N numbers and run it. It then makes my robot move, but at the end of the trajectory it quirks.
    I´ve found that it doesn't occur when I configure the buffer with N+1 (both bufferSize and totalPoints) - the trajectory is executed fine until it's aborted on oldDataStop.
    But I can't make it work with a circular buffer (bufferSize < totalPoints).
    Interesting to note is that I can work fine with N-sized buffers on the 5.1 firmware machine. I haven't (and currentl
    y can't) tried a circular buffer with this machine.
    I use Borland C++ Builder 4 and Windows NT4 on a NI PXI-1025 MegaPAC/PXI-8156B industrial PC.

    Hello cavvieira,
    Thank you for contacting National Instruments.
    NI-Motion 6.1.5 fixed an issue that existed from 6.0.x to 6.1.4 related to the spline calculation between the final two points in a contour move. This sounds similar to the issue you are experiencing.
    I would highly recommend upgrading to NI-Motion 6.1.5 (if you have not already done so). Version 6.1.5 is an update to any 6.1.x version. You can download version 6.1.2 and the update to 6.1.5 on the following webpage: Drivers and Updates: Motion Control
    Let me know if this resolves your issue.
    Regards,
    Jesse D
    Applications Engineer
    National Instruments

  • Contour move: Interupt

     Hi ,all
     I have faced several problems when using contouring function.
     Below is the code which I modified from the sample. I load a seire of points and then send to contour move to complete the motion.
     However, I don't know how to intrupt the contour motion. In other words, if something haapens when the contou move is excuting, I want to stop the current countour move and change to another new trajectory.
     Another problem is I cannot adjust the requested interval. The default value is 20ms, but when I change it to 200ms, the error 70078 occurs: parameter out of range.
    Thanks so much if anyone can help me ~

    Bonjour,
    Je ne pense pas qu'il y ait un réel problème. En utilisant LabVIEW + SoftMotion + SolidWorks, vous faites de la simulation pure, de la co-simulation pour être exact. Donc cela nécessite beaucoup de ressources processeur, en particulier pour les calculs réalisés par SolidWorks. Et la méthode de simulation ne peut pas être temps réel dans ce cas.
    Par exemple, si vous diminuez fortement le pas mininum pour réaliser les calculs de simulation, vous verrez que la simulation mettra beaucoup plus de temps, de la même façon si vous avez un assemblage SolidWroks assez lourd avec plusieurs moteurs.
    Ce qu'il faut voir c'est que quand on fait une simulation, LabVIEW et SolidWorks travaillent de manière synchronisée, c'est à dire que LabVIEW (LV) envoit la commande simulé du moteur à SolidWors (SW), SW recoit la commande, fait les calculs nécessaires, met à jour la simulation et renvoit les résultats à LV qui attend ce retour avant d'envoyer la nouvelle commande à SW.
    D'ailleurs, vous devez pouvoir vérifier que la commande est correct et ne vaire pas dans le temps en réalité en rejouant le profil de commande demandé dans SolidWorks, dans ce cas, la simulation se fait normalement plus rapdiement que lorsqu'on fait la simulation.
    Pouvez-vous faire une image du diagramme du VI utilisé pour qu'on soit sur de la fonction utilisé.
    Comment vous obtenez l'interval entre les points ?
    En espérant que celà puisse aider.
    .mesLeft{float:left} .mesInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898} .mesLogo{float:right;opacity:0.18} .mesLogo:hover{opacity:0.9}
    Maxime R.  
      CLD - Certified LabVIEW Developer / Développeur LabVIEW Certifié  
      CLAD - Certified LabVIEW Associate Developer   

  • Contour move: Interrupt

     Hi ,all
     I have faced several problems when using contouring function.
     Below is the code which I modified from the sample. I load a series of points and then send to contour move to complete the motion.
     However, I don't know how to interrupt the contour motion. In other words, if something happens when the contour move is executing, I want to stop the current contour move and change to another new trajectory.
     Another problem is I cannot adjust the requested interval. The default value is 20ms, but when I change it to 200ms, the error 70078 occurs: parameter out of range.
    Thanks so much if anyone can help me ~

    Bonjour,
    Je ne pense pas qu'il y ait un réel problème. En utilisant LabVIEW + SoftMotion + SolidWorks, vous faites de la simulation pure, de la co-simulation pour être exact. Donc cela nécessite beaucoup de ressources processeur, en particulier pour les calculs réalisés par SolidWorks. Et la méthode de simulation ne peut pas être temps réel dans ce cas.
    Par exemple, si vous diminuez fortement le pas mininum pour réaliser les calculs de simulation, vous verrez que la simulation mettra beaucoup plus de temps, de la même façon si vous avez un assemblage SolidWroks assez lourd avec plusieurs moteurs.
    Ce qu'il faut voir c'est que quand on fait une simulation, LabVIEW et SolidWorks travaillent de manière synchronisée, c'est à dire que LabVIEW (LV) envoit la commande simulé du moteur à SolidWors (SW), SW recoit la commande, fait les calculs nécessaires, met à jour la simulation et renvoit les résultats à LV qui attend ce retour avant d'envoyer la nouvelle commande à SW.
    D'ailleurs, vous devez pouvoir vérifier que la commande est correct et ne vaire pas dans le temps en réalité en rejouant le profil de commande demandé dans SolidWorks, dans ce cas, la simulation se fait normalement plus rapdiement que lorsqu'on fait la simulation.
    Pouvez-vous faire une image du diagramme du VI utilisé pour qu'on soit sur de la fonction utilisé.
    Comment vous obtenez l'interval entre les points ?
    En espérant que celà puisse aider.
    .mesLeft{float:left} .mesInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898} .mesLogo{float:right;opacity:0.18} .mesLogo:hover{opacity:0.9}
    Maxime R.  
      CLD - Certified LabVIEW Developer / Développeur LabVIEW Certifié  
      CLAD - Certified LabVIEW Associate Developer   

  • Setting row and column constraints in FXML

    I've set the column and row constraints in my FXML controller like this:
    RowConstraints row1 = new RowConstraints();
    row1.setVgrow(Priority.ALWAYS);
    RowConstraints row2 = new RowConstraints();
    row2.setMaxHeight(150);
    row2.setVgrow(Priority.NEVER);
    pane.getRowConstraints().addAll(row1, row2);
    ColumnConstraints column1 = new ColumnConstraints();
    column1.setMaxWidth(250);
    column1.setHgrow(Priority.NEVER);
    ColumnConstraints column2 = new ColumnConstraints();
    column2.setHgrow(Priority.ALWAYS);
    pane.getColumnConstraints().addAll(column1, column2);and it works fine but what I can't figure out is how I'll do that using only FXML?

    Hi,
    Try the following:
        <?import javafx.scene.layout.*?>
        <GridPane>
            <rowConstraints>
                <RowConstraints vgrow="ALWAYS" />
                <RowConstraints maxHeight="150" vgrow="NEVER" />
            </rowConstraints>
            <columnConstraints>
                <ColumnConstraints maxWidth="250" hgrow="NEVER"/>
                <ColumnConstraints hgrow="ALWAYS"/>
            </columnConstraints>
            <children>
            </children>
        </GridPane>Basically 'rowConstraints' and 'columnConstraints' are attributes on GridPane of type Collection.
    Hope that helps,
    zonski
    Did you find this answer useful? If so, please mark as 'correct' or 'helpful'.

  • Min and max constraints

    In my database design and implementation module I'm at the implementation stage. I've set up all of my tables with PK and FK constraints and I'm wondering if you can enforce min and max column constraints. One of the rules of my DB is for my staff table there has to be a minimum of 10 and a maximum of 50, how would I enforce this rule as a constraint on the staff table or isn't this possible?
    We have only been learning database design and SQL fundamentals so I don't think I'd be allowed to use triggers or procedures.
    Many thanks
    Mike

    mharper wrote:
    thanks guys these commands were accepted
    alter table staff
    add constraint chk_staff_max check (staff_id <= 50);
    alter table staff
    add constraint chk_staff_min check (staff_id >= 10);
    Thing is my staff_id's are in the format 'S110001' will these constraints only check for integers 10 - 50? maybe I need to use a count function on the column or something?
    thanks again for your help!
    MikeCheck constraint can also be used to check a list of values.
    example:
    ALTER TABLE <table_name>
    ADD CONSTRAINT <constraint_name>
    CHECK (<column_name> LIKE <condition>);
    ALTER TABLE <table_name>
    ADD CONSTRAINT <constraint_name>
    CHECK (<column_name> NOT LIKE <condition>);
    ALTER TABLE <table_name>
    ADD CONSTRAINT <constraint_name>
    CHECK (<column_name>
    IN (<comma delimited list of values>);
    ALTER TABLE <table_name>
    ADD CONSTRAINT <constraint_name>
    CHECK (<column_name>
    NOT IN (<comma delimited list of values>);
    ALTER TABLE <table_name>
    ADD CONSTRAINT <constraint_name>
    CHECK (<column_name> BETWEEN <lower_value>
    AND <higher_value>);
    ALTER TABLE <table_name>
    ADD CONSTRAINT <constraint_name>
    CHECK (<column_name>
    NOT BETWEEN <lower_value> AND <higher_value>);
    ALTER TABLE <table_name>
    ADD CONSTRAINT <constraint_name>
    CHECK (<column_name>) > (<condition>);

  • Adding a Unique and Referential Constraint to  XMLType of Purchase Table

    SQL> desc XDBPO_TYPE
    XDBPO_TYPE is NOT FINAL
    Name Null? Type
    SYS_XDBPD$ XDB.XDB$RAW_LIST_T
    messageType VARCHAR2(4000)
    MessageHeader XDBPO_MESSAGEHEADER_TYPE
    Order XDBPO_ORDER_CLLT
    SQL> desc XDBPO_MESSAGEHEADER_TYPE
    XDBPO_MESSAGEHEADER_TYPE is NOT FINAL
    Name Null? Type
    SYS_XDBPD$ XDB.XDB$RAW_LIST_T
    version VARCHAR2(50)
    payloadId VARCHAR2(4000)
    transmissionAgent VARCHAR2(4000)
    timeStamp VARCHAR2(20)
    senderName VARCHAR2(150)
    senderComponent VARCHAR2(150)
    documentReferenceId VARCHAR2(50)
    documentReferenceIdType VARCHAR2(50)
    dataCleansingDocumentId VARCHAR2(50)
    singleTransaction VARCHAR2(4000)
    Configuration XDBPO_CONFIGURATION_TYPE
    HeaderIndexedAttribute XDBPO_HIATTRIBUTE_CLLT
    I following the example in the demo in
    Adding a Unique and Referential Constraint to Table Purchaseorder
    which the constraint is added to the reference field.
    but for my case, i need to add my constraint
    to MessageHeader/@payloadId
    how do i go about in adding the constraint?
    tried to use this syntax logic but not successful:
    alter table purchaseorder
    add constraint REFERENCE_IS_UNIQUE
    unique (xmldata."Reference")
    Anyone have any idea? Mark?
    Thanks.

    nevermind i solved the problem already
    i will just post the solution incase someone else wants to add constraint to the sub xmltype object
    alter table purchaseorder
    add constraint REFERENCE_IS_UNIQUE
    unique (xmldata."MessageHeader"."payloadId");

  • Scope keyword and referential constraints

    Hi guys,
    I'm new in DB relational-object, and looking at oracle guide
    I have foud that I can specify both scope and referential constraint using the keyword REFERENTIAL associated with keyword SCOPE FOR
    ([http://download-east.oracle.com/docs/cd/B14117_01/appdev.101/b10799/adobjbas.htm#sthref108] basic component of oracle object)
    Now, I checked that SCOPE FOR work properly:
    ALTER TABLE SOME_TAB ADD (SCOPE FOR (ATTRIBUE_SOME_TAB) IS ANOTHER_TAB);
    but I can't specify REFERENTIAL constraint in any way and
    neither I have founf some explanation about
    Have Someone idea about this?
    Thanks, for your helps to me!

    See:
    Re: to REF or not to REF?
    "To avoid dangling REFs, we must have good old foreign key:
    ALTER TABLE emp_obj_tab ADD CONSTRAINT emp_dept_fk FOREIGN KEY (dept_oid) REFERENCES dept_obj_tab;"
    Regards

Maybe you are looking for

  • ZReport creation

    I want to create the new zreport using below mentioned fields.  I want mce5 report as per the posting date.                                                                           Table Purch Org           Material           Plant            Period

  • Converting DOC to PDF - will not open

    I have the Adobe creative suite 4 Design Standard, and with that comes Adobe Acrobat Pro ( I updated the newest version 9.2.0). I have been using this program for two years and have never had any issues. Then my computer was stolen last week, I got m

  • Spry widget menu bar background image help

    Does anyone know of a good tutorial for putting a background image behind the whole menu bar, not just each button, and a tutorial for putting images behind each button. Also, does anyone have a good tutorial on creating some sort of gallery, with th

  • I have a Macbook Pro 2010 can I still upgrade to Mountain Lion?

    Can I still upgrade to Mountain Lion?

  • Screen Layout for "LECI - Check in Means of Transport and Visitors"

    HI GURUS & EXPERT, CAN any one tell me that How can I make some field required in LECI - Check in Means of Transport and Visitors Or T-cde for defining Screen layout fo it/ Thanks in advance. DSC