Jump to content
OMRON Forums

vignesh90

Members
  • Posts

    19
  • Joined

  • Last visited

Posts posted by vignesh90

  1. I'm trying to use the PMACTerminalGather for one of my applications. I have uploaded some files in the following link: https://www.dropbox.com/sh/dy7837bgrj6sqlu/AAD0IjPahdUffNQAnTHP5Pc4a?dl=0

     

    I used PMACTerminalEdit to create SubVIs (VI wrapper) for the LVX1 and LVUA1 programs. I have uploaded the VIs and related PMC files.

     

    I'm facing a couple of issues:

    1. The block diagram shows grey question marks for PMACGatherStep.VI. There's a "VI is not loadable" error when I open the VI. Uploaded screenshots of the error messages int he above link.

     

    2. I removed the PMACGatherStep part from PMACTerminalGather and tried to replace the SubVI with the custom SubVI created for either of the programs. The modified VI is named PMACEncoderTurtle.

     

    When I run the VI, the Program Run and Gather indicators turn on but my program does not execute. Based on the PMACPanelPro2 User Manual that I'm referring to (uploaded as well), the program should work when replaced with a custom created SubVI.

     

    I'm not sure if I am doing something wrong or missing something. Any help to resolve this issue will be great.

     

    Thank you!

  2. I'm trying to use the PMACPanel Pro2 VIs to synchronize motion with NI data acquisition board. I have attached my current code.

     

    I want to add logging of position, velocity data of 4 motors along with the DAQ data acquisition. I have looked at the PMAC Tutor 10, PMAC Terminal Motors and PMAC Terminal motors XY mentioned in the PMACPanel Pro2 User manual. I can't seem to find a way to set sampling rate for logging data from encoder.

     

    I currently log data on NI board at 1000Hz and would like to log the position, velocity data at the same rate as well.

     

    Any help on how to go about this, would be great!

     

    Thanks!

    Gamma_Delay_Program.zip

  3. I have a motion profile that I run in PVT mode. I have attached the code. The motion loops for a certain number of cycles.

     

    The Y axis motion has a sharp edge at the end of a cycle and beginning of next cycle due to direction reversal. I've marked this in the attached Y axis position plot.

     

    How do I use the blend function to make this a smooth transition?

    Yaxis.thumb.png.94c2ae4cb5d3079c570a1117a3eea07e.png

    UYA1.txt

  4. Got it. I corrected the velocity and it works well.

     

    Thanks for the help!

     

    The most common mistake beginners make in PVT mode is to get the velocity units wrong.

     

    The value after the colon specifies the ending velocity in [axis units per (Isx90 milliseconds)].

     

    At the default value for Isx90 of 1000, this is axis units per second.

     

    The time for the move is always specified in milliseconds.

  5. Hi Dave,

     

    Yes those were excel plots. Is there any documentation on how PMAC calculates the velocity so I can understand this better?

     

    Thanks!

     

    Your most recent plot is an Excel plot of the velocity points in your program...correct ?

    This is not the same as the velocity of the 3rd order curve that Pmac calculates from your data.

    (and that I plotted)

  6. Got it, thanks! Set I68 > 0 and it worked.

     

    From the Software Reference Manual for I68:

     

    "A coordinate system must be activated in order for it to be addressed and accept commands..."

     

    Are you sure I68 is not set to 0? If it is 0, then &1 commands are legal, but &2 commands are not.

     

    Try increasing I68.

  7. Hi Dave,

     

    I had made an error in the time step calculation. I have corrected it in the attached code. Could you please check the commanded velocity plots for this program?

     

    On the other hand, I'm still not sure how to fix PMACPlotPro2.

     

    Hi Dave,

     

    Thanks for the help with this.

     

    Noted the changes to motion program, I'll implement those.

     

    I'm not sure why the commanded velocity is distorted. If you see the plots vU and vY in the attached PDF, the velocity looks clean. That's one cycle of the run.

     

    I guess this is what causes the "jittery" motion.

     

    I took your motion program and ran it on a PowerPmac. It’s not clear to me what exactly you are trying to achieve, but I noticed a few things.

    I had to clean up the file on a line or two…(see attached motion program)

    The sinusoidal portion of the data is distorted (not a clean sinusoid). You can see this from a plot of commanded velocity (see plot attached). This is usually caused by incorrectly calculating the velocity portion of the PVT segments, which should ideally match their slopes (accel) on segment boundaries.

     

    Is that what you are referring to as “jittery motion“ ? Not sure what your plots are showing…I didn’t see any sinusoidal portions in them. ??

    UYmotion_correct.txt

  8. Hi Dave,

     

    Thanks for the help with this.

     

    Noted the changes to motion program, I'll implement those.

     

    I'm not sure why the commanded velocity is distorted. If you see the plots vU and vY in the attached PDF, the velocity looks clean. That's one cycle of the run.

     

    I guess this is what causes the "jittery" motion.

     

    I took your motion program and ran it on a PowerPmac. It’s not clear to me what exactly you are trying to achieve, but I noticed a few things.

    I had to clean up the file on a line or two…(see attached motion program)

    The sinusoidal portion of the data is distorted (not a clean sinusoid). You can see this from a plot of commanded velocity (see plot attached). This is usually caused by incorrectly calculating the velocity portion of the PVT segments, which should ideally match their slopes (accel) on segment boundaries.

     

    Is that what you are referring to as “jittery motion“ ? Not sure what your plots are showing…I didn’t see any sinusoidal portions in them. ??

    UYmotion.pdf

  9. Hello,

     

    I'm trying to use PMACPlotPro2 to log the response of motors to a motion program. Attached the program, data points and the position and velocity plots.

     

    I tried a simple jog motion of X axis as well. Attached the plots.

     

    The plots I get out of PMACPlotPro2 doesn't make any sense! The connection to the PMAC works well and I have checked this multiple times.

     

    It would be great if I can get any help on how to fix this.

     

    Thank you!

    UY.pdf

    UYmotion.pdf

    PlotTest.zip

  10. Thank you curtwilson! This is helpful.

     

    A few points:

     

    1. If you are not changing your axis definition assignments in the middle of the application, they should simply be part of the saved configuration for the PMAC.

     

    2. Achieving full coordination between programs running in different coordinate systems is difficult. The whole point of the coordinate system concept in PMAC is that you put axes you want to keep coordinated in the same coordinate system.

     

    3. You can use the PVT mode to get the motion of a linear-mode move -- you just have to break up the move into its individual parts (e.g. accel, slew, decel) and command each individually. This may be an easier way to do what you want.

     

    4. If you really need to change your axis definitions from within a motion program, you should use the CMD"" functionality to execute the on-line commands from within the program, with the on-line commands within the quotes. Two recommendations for doing this: First, address your coordinate system in each command. Second, put a short DWELL in between each command to make sure they get executed from the internal buffer. For example:

     

    CMD"UNDEFINE ALL"

    DWELL10

    CMD"&1 #1->240X"

    DWELL10

    CMD"&2 #2->500Y"

    DWELL10

    CMD"&2#3->666.667U"

    DWELL10

    CMD"&2#4->138.889A"

    DWELL10

  11. Hello,

     

    I'm quite new to PMAC so pardon my ignorance. I need to run two axes of my gantry system in a loop.

     

    I'm trying to use PVT mode in the motion program. My code is attached. I have blending enabled (Isx92 = 0) and segmentation time 5ms (Isx13).

     

    When I run the program the axes motion is jittery, as if the motor stops after every commanded point. Am I missing something?

     

    Any help on how to fix this will be greatly appreciated.

     

    Thank you!

    UY.pdf

  12. Hi mbalentine,

    I understand the difference between 'online' commands and 'motion program' commands. I'm trying to assign different axes to different co-ordinate systems in a motion program. WHat would be the command to activate co-ordinate system in a motion program (if it is even possible)?

     

    I have no idea about PLC so don't want to spend time on that at this point. It would be great if I can use 'motion programs' to achieve what I want.

     

    Thanks for the tip about specifying the CS to run program in. Say I activate CS 1 and 2 in prog2 and define different axes. Will I be able to run the same program in two co-ordinate systems with the commands &1B2R and &2B2R ?

     

    The following commands will not execute from within a program file, neither motion nor PLC, at least not in the context you are intending. The &2 for instance can be used in a PLC to switch focus between coord. systems.

    UNDEFINE ALL

    &1

    #1->240X

    &2

    #2->500Y

    #3->666.667U

    #4->138.889A

    Typically, these commands are part of the 'Online' set of commands and execute immediately when they are encountered during download.

    A typical download file will consist of a section where a user buffer is declared, axis definitions are made and coordinate systems are declared, followed by Ivar settings, Mvar definitions, and any other card level setup things are done.

    This can be followed by PLC files and then Motion files.

    A useful template can be created by using the backup tool in executive to create a file that has all the card setup in it. You can edit this file to build your own projects and to get a good overview of PMAC structure.

    One other comment: With multiple coordinate systems, you must specify which CS you are running a program in or it will simply assume whatever was set last. So

    B2R would be better written as

    &2 B2R for example. When used in a PLC to start a motion program it is usual to embed it in a Command like

    CMD '&2 B2R'

     

    Another commenter suggested understanding the difference between 'online' and 'program buffer' commands - good advice. Many are similar but context matters.

    Also look specifically at the 'Command" command.

  13. I checked the manuals and found &1, &2 etc. are mentioned as commands to activate co-ordinate systems. I understand this works as online commands but I found some motion program examples where this is used as well.

     

    How do I go about assigning different axes to multiple co-ordinate systems in a motion program?

     

    The X axis needs to run the entire length at a constant velocity while the other axes perform complex looping motions. I thought it would be easier to program X in linear mode instead of splitting the motion piece-wise. It would be great if this can be done easily on PVT, please let me know how. For example, X needs to run 7500mm at 100mm/s while Y, U and A perform sinusoidal motions.

     

    Review the documentation and make sure you understand the difference between *online* coordinate system commands and *motion program* commands.

     

    Also, I think you will make your life easier if you let one coordinate system do everything. Why does X-axis have to been run in linear mode? PVT mode can make any move that linear can.

  14. Hello!

     

    I am new to PMAC so pardon my ignorance.

     

    I need to assign different axes to multiple coordinate systems - X axis to C.S.1 and Y, U and A axes to C.S.2. I need to do this because I have to run X axis in linear mode and the other axes in PVT mode, all synchronized to start at the same time.

     

    A part of my code is below: (I have other prog to run motion programs for Y, U and A axes).

     

    CLOSE

    END GATHER

    DELETE GATHER

    DELETE TRACE

     

    open prog2

    clear

    ta 100 // set acc time to 100 ms

    ts 100 // set s-curve time to 100 ms

    f 200 // set feedrate to U*1000 units/s

    linear

    abs // absolute mode

    I68=1

    UNDEFINE ALL

    &1

    #1->240X

    &2

    #2->500Y

    #3->666.667U

    #4->138.889A

    X7500

    close

     

    When I run this with "B2R" there's an error that says

    Line: 17, "&2;17"

    Error 0x3, Data error or unrecognized command.

     

    All the axes get assigned to C.S.1. It will be great if I could get some help on how to fix the code.

     

    Thanks!

  15. I'm relatively new to LabVIEW and PMACPanelPro2 so pardon my ignorance. I move a motor with the "Jog To" button in the Motor Jog Control Cluster. The mechanical action of the button is set to Latch when Pressed.

     

    I need to synchronize the motor movement with a data logging operation. I use a 'Save' button to start logging, which is set to Switch when Pressed. I want to start the motor movement 2 seconds after the logging starts. The flow I want is Run VI -> click Save -> wait for 2 seconds -> programmatically click "Jog To" -> Stop VI after motion is complete.

     

    How do I go about programming the click action for the "Jog To" button?

     

    Uploaded the code 'Force_triggered.vi' here: https://www.dropbox.com/s/qwxq7hdkvgnidfb/Force_triggered.vi?dl=0

     

    To explain a little better:

    I'm working with an NI DAQ and a Turbo PMAC. I need some sort of a trigger for the Jog. Currently, in the 'Force_triggered.vi' , I use the Motor Status Jog Cluster to trigger saving the data from DAQ.

     

    What I want to do is to start logging the data and then automatically Jog the motor, a few seconds after "Save" is pushed.

     

    I tried state machine. Uploaded the code 'Force_delay.vi' here: https://www.dropbox.com/s/d5hwzfzl651fb3k/Force_delay.vi?dl=0

     

    The 2 second delay seems to generate a DAQ buffer error. Attached a screenshot of the error as well. I've never worked with state machine before, so again, pardon my ignorance.

     

    Any help would be greatly appreciated! Thanks!

    daq-error.PNG.3607fd3dedb652bfeca8de6c34d014b1.PNG

  16. Hello all,

     

    I am trying to control a carriage with 4 motors (corresponding to 4 axes: X, Y, a small x and a rotary motor) and a Turbo PMAC CPU using Labview. I just want to input an equation for the motion and move one of the axes according to the equation.

     

    The rotary motor is disconnected from the carriage but all the other axes are connected and functioning. I try to initialize the system with the "pmac_initialize.vi" as shown in the attached snapshot, but get an error that one of the motors is in open loop. Is this the rotary motor that's disconnected? If so, is there a function in PmacPanelPro2 that will disable the motor?

     

    The code that I want to run eventually is "towing.vi". Attached a snapshot of the code. I would like to send commands to the PMAC at 150Hz. Is this the right way to do it or should I be using the DPRAM to send commands and receive responses?

     

    Please let me know. Any help on this would be greatly appreciated.

     

    Thanks!

    pmac_error.thumb.PNG.5e373f13b6667a126b03153d15b8c8f4.PNG

    towing.thumb.PNG.e05b18204a7c1a82d4d88b9a60c31218.PNG

×
×
  • Create New...