Jump to content
OMRON Forums

Unit101

Omron
  • Posts

    143
  • Joined

  • Last visited

Everything posted by Unit101

  1. Here I just wanted to post the result of working with Sina on this. I also documented this useage of the Lookahead and Kinematic features of the PMAC in the Thread called "PMAC Kinematics for Dummies". You can download the attached document for more details if needed. In your inverse kinematics routine: 1. Data for X and Y comes in as Q7 and Q8. 2. Calculate the position for your corresponding motors to axis X and Y and put the count value in Pn. 3. Calculate the vector distance by doing a square root of sum of squares for current X and previous X and current Y and previous Y. 4. Calculate the vector velocity: 5. Store the calculated vector velocity into a P-array and increment the array index. You need to loop the index once you reach the maximum number of lookahead segments (40 in your example). So your code will look like something like this if you want to store the values in lets say P1001 to P1040: P(counter)=sqrt((Q7-Q17)*(Q7-Q17)+(Q8-Q18)*(Q8-Q18))/I5113 counter=counter+1 if (counter>1040) counter=1001 endif Obviously the counter needs to be set to 1001 for the first time in forward kinematics also set the previous X and previous Y (Q17 and Q18) equal to first calculated values for X and Y (Q7 and Q8). In this way you would have a buffer of 40 which you can decide how far back you want to look in to calculated past. 6. Store the current Q7 and Q8 into Q17 and Q18 for next time around. Now in an RTI PLC (PLC0 or PLCC0), you will read the counter and decide how far back in time you want to go and figure out the array index that you have to read. Lets say you want to look back in time for 30 msec, which at a segmentation time of 2 msec, you are looking back 15 segments from current segment and assign the value to an output M-variable (Lets say a DAC). So your PLC0 logic should be: timeindex = counter – 15 if (timeindex
  2. Yes... awesome But don't we set Isx20=10, Isx13=3 and this means we are in the Kin buffer every 10 seg periods x 3 msec per seg time period or every 30 msec ?
  3. Very cool... I like both. But to understand the limits... Setting Seg time to 30 will also create rougher arcs... when cutting circles. So this approach is pretty simple but is limited by how much delay your need and if the system smoothness needed can be maintained. I'll discuss this with Mark and see what he thinks... thanks for the great ideas. mike
  4. Need ideas on how to solve a application problem: We have a output controlling some device that has a delay in its reaction of about 30msec. It needs to be adjusted proportionally with motor XY vector velocity. If we adjust the output based on CURRENT vector velocity the output will be late due to delays. How can we "predict the future" - know what the vector vel will be in 10-40msec so we can adjust the output BEFORE we actually reach the velocity along the path. This is a basic NC type applicaition using Gcode. Thanks, mike
  5. That sounds good. No the repair should not be a big deal. Happy Trails, mike
  6. Hello, With both USB and Enet out it sounds like a voltage spike or surge has damaged the communication section on your UMAC. I don't think there is anyway to fix this in the field. You will need to contact your Delta Tau Distributor and get this sent to factory for repair. Where are you located ? Is this a older CPU with the USB/Ethernet on a separate daughter board on side of main cpu board ? Do you have a spare UMAC cpu to use while it is being repaired ? I'm located in Raleigh NC and work for Delta Tau. Feel free to call or email me if you wish 919.374.3002 mesposito@deltatau.com Regards, Mike Esposito
  7. Good Morning John, I have done a similar application very well using Motion Program for Homing. -setup motors in a CS, one as X and one as Y for example, enable motors -run the motion program... HMZ each motor -in the motion program you will command each axis at the same time in a while loop -each command move can be a very small step, even one encoder count -as the move thru each step together but independent you can watch for home sensors and z flags -when see needed home sensors for each can note positions -when both see needed home sensors break out of the while loop -now set each motor as at its home pos and break out of motion program -now they have each been homed while moving together but independent to find individual sensors ;setup motors in CS $1#1->X ;no scale factor make moves based on encoder counts $1#2->Y Motion program section might look like this... obviously need more logic than here: while(gantryPreHome = 0) cmdPosition = cmdPosition + 1 ;make move, perhaps need to be -1 for other homing direction X(cmdPosition)Y(cmdPosition) ;make move ;here logic to chk and see if either has hit home sensor if yes note that axis position ;here see if BOTH axes are homed - if yes set gantryPreHome = 1 endw ---feel free to call me for more details 919.372.3002 Mike Esposito ---perhaps the other factory experts have a better way ? ---note that when it is moving if you do very small steps such as 1 count at a time it will sound like the motors are grinding a bit... such should moves rapidly sounds a bit rough but is fine... ---note the new PowerPMAC handles this type of homing for gantrys automatically... not sure exactly how but it is very cool and coming with next gen PMAC regards, mike
  8. PeWin32 Pro and PcommServer work well with Vista. However there are a couple of hints and tricks. 1. if you use Vista 64 bit you must download the 64bit drivers off the DT Download on Web site http://www.deltatau.com/common/support/downloads.asp?connectionStr=release 2. if you use Vista 32 bit be sure to read the Vista note on DT Download site - "Delta Tau Compatibility with Windows Vista" -this explains how to Turn User Account Control OFF 3. if you are using Vista 32 bit and get a blue screen when unplugging the PMAC from USB port install the attached patch driver -put this attached usb.sys driver file in the ..\System32\Drivers directory
  9. Attached is a simple Text file with list of Molex connectors used on Delta Tau products. It shows the DT part#, Molex connector and pin part#'s and also the Molex Crimp tool part number needed. This does not include the newest Clipper LV or Breakout boards. I will add this info when it become available.
  10. Here is doc that shows a simple way to setup a Phantom motor that you can use as a Master for other motors. It does not require any real hardware since it is all virtual. This is useful for example when you need a real motor to be able to run with a motion program but also easily have it release from the CS Motion program and perhaps Jog off somewhere, and maybe later connect again with a still running CS motion program.
  11. TEst to see if I can post and send a attachement ...[hr] Any ideas why I can't seem to load a attachment with post ??
  12. Why does my new "Clipper" Watchdog (D3-led Red) on power up ? One reason is that the 5v power supply is not sufficient. In most cases the following steps will provide sufficient “in-rush” current capacity to allow the Clipper to power-up successfully: 1) Use a power supply with a minimum of +5 VDC @ 6 amps continuous current 2) Connect the +5 VDC power supply and Digital Common (Ground) to TB1 using 18 AWG stranded wire (instead of providing +5 VDC via ribbon cable connected to the JMACH1 connector). 3) Limit the length of the +5 VDC & Digital Common wires to 3 feet. 4) Adjust the +5 VDC output of the power supply so that a steady state voltage of +5.0 VDC is measured between the Clipper test points TP2 (+5 VDC) and TP1 (Digital Common). If the Clipper continues to exhibit a “watchdog” failure then we suggest using a linear power supply with a minimum of +5 VDC @ 6 amps continuous current. If the Clipper continues to exhibit “watchdog” failures on power-up please contact Delta Tau Technical Support at (818) 717-5656
×
×
  • Create New...