Jump to content
OMRON Forums

JayL

Members
  • Posts

    54
  • Joined

  • Last visited

Everything posted by JayL

  1. hi, you might need someone to look into your kinematics for this kind of details. we don't really know how you did your iteration, and we don't know how to troubleshoot it since we don't know the details. inverse kinematics will always use the next command to calculate next motor positions. we are not sure what the goal is to have KinPosAxis values other than present axis position values.
  2. Not really sure what you want to achieve. if you just want to add display on NC interface, then please change the content of PowerPmacNC.ini file and save. in that file, you need to change AxisLabels and MotorNumbers to match your axis names. Transformation matrices are usually used with G code with variable values, but not axis values. it seems to be a 5-axis system but it's not clear how it works. Please tell more about the details you want to achieve.
  3. Hi, if only power on position is the concern, then you should be able to do it in a startup/poweron PLC. read all 4 encoders and assemble the position through SerialEncDataA and SerialEncDataB registers. average these 4 readings and put it in a register. point Motor[x].pAbspos to that register, and make sure you set up Motor[x].AbsPosFormat and Motor[x].AbsPosSf properly. issue HMZ online command or HOMEZ program command, and the absolute position will be read.
  4. PMATCH is needed in Power PMAC as well. the logic of PMATCH is the same between Turbo and Power PMAC. We don't have a bit in Power PMAC to turn on and off kinematics. it's only controlled by motor axis defintion i.e. like #1->I
  5. Hi, if you want fixed frequency for sending and receiving packets, then you should not use background program. Please refer to Power PMAC User Manual, Writing C Functions and Programs in Power PMAC. we have several different task levels you can choose: User-Written Phase routine, Servo routine, or Real-Time interrupt C PLC Routine. These routines are running at user-defined frequencies.
  6. Hi, In Acc84E manual, there are 2 types of clock setting regarding EnDat. one is without additional clock switch, and the other one is with additional clock switch. the additional clock switch is referring to HEIDENHAIN EnDat EIB series. EIB serial switch usually has up to 16MKhz clock frequency, and that is why we have 2 tables of common serial clock frequency settings. The table without switch box is in the range from 250 Khz to 2 Mhz. The table with switch box is in the range from 4.16 Mhz to 12.5 Mhz.
  7. Hi Louv, the code in previous post is in Power PMAC format , not Turbo. Please change the transformation matrix setting as below, and ignore Gather.Enable command, which is for Power PMAC only. Also, command tsel -1 is not for Turbo. Please use tsel 0 instead. TSEL 1 ; Select Matrix 1 TINIT; initialize Matrix 1 Q40=1.5 Q41=-0.5 Q42=0 ; Variables for first row Q43=-0.5 Q44=1.5 Q45=0 ; Variables for second row Q46=0 Q47=0 Q48=1 ; Variables for third row AROT 40 ; Assign these values to the rotation portion
  8. Hi Louv, the idea of previous post did not work out as I expected. I apologize for that. In order to do any 3D ellipse in 3D space, the idea is to stretch a 3D circle. So, you have to find the correct transformation matrix to stretch the circle. The idea is to find correct eigenvectors and eigenvalues, construct the transformation matrix, and then use the transformation. the example I made below is drawing a circle, start from [0, 0, 0], and the circle center is at [1, 1, 0] after drawing a circle, it is stretched in [-1, 1, 0] direction with scale of 2. the eigenvectors and eigenvalues I choose are: Lambda1 = 1, with V1=[-1/sqrt(2), -1/sqrt(2), 0], short-axis, from center to starting point Lambda2 = 2, with V2=[-1/sqrt(2), +1/sqrt(2), 0], long-axis, from center to long-axis vertex point Lambda3 = 1, with V3=[0, 0, 1], normal direction, NORMAL vector direction let V=[V1, V2, V3], D=3x3 matrix with diagonal elements Lambda1, 2, 3 M = V*D*V' with these, you can construct a transformation matrix: [ 1.5 -0.5 0] M = [ -0.5 1.5 0] [ 0 0 1] this is associated with XYZ axes. so, with the following program, an ellipse can be drawn: //========= &1 #1->1000X #2->1000Y #3->1000Z global Tdet = 0 open prog ellipse_test01 Tdet = tinit(1); Tdata[1].Diag[6] = 1.5; Tdata[1].Diag[7] = 1.5; Tdata[1].Diag[8] = 1; Tdata[1].xyz[0] = -0.5; Tdata[1].xyz[1] = 0; Tdata[1].xyz[2] = -0.5; Tdata[1].xyz[3] = 0; Tdata[1].xyz[4] = 0; Tdata[1].xyz[5] = 0; abs linear TA 0 TS 50 TD 0 F 5 X 0 Y 0 dwell 1000 normal K-1 abs dwell 0 Gather.Enable=2 dwell 0 tsel -1 circle1 I 1 J 1 dwell 0 tsel 1 circle1 I 1 J 1 tsel -1 dwell 0 Gather.Enable=0 dwell 0 close //=========
  9. CORRECTION : step 1,2,3: it really should be just one step, and the scaling is not from the scale between NORMAL and long-axis vector. The scaling should be directly from [sx, Sy, Sz] = [Ax, Ay, Az]
  10. Hi Lovu, NO, PMAC can't draw an ellipse directly. However, if you manipulate your axis scaling, then you should be able to "stretch" a circle to ellipse. the way to achieve this is, figuring out correct scale on each axis and then implement the scaling in transformation matrix. to do this: 1. You need to calculate unit NORMAL vector XYZ direction component length. let's say they are Lx Ly Lz, and Lx^2+Ly^2+Lz^2 = 1 2. you need to define your ellipse's "long-axis" vector, and this will be the direction you want to stretch the circle. and of course, this vector has to be normal to NORMAL vector of the circle. 3. get XYZ direction components of this long-axis vector, let's say it's [Ax, Ay, Az]. and then you find the scaling between each direction. X-axis direction scaling will be Sx=Ax/Lx, and so on 4. Put these 3 values in transformation matrix. This part I won't explain here. Please see Turbo PMAC User Manual, Axis Transformation Matrices section. 5. In motion program, go to the short-axis position of your ellipse, and then to TSELn command, which will use transformation n to do the following move. 6. pmatch is the next command. This is to make sure that the axis position calculation is correct from current motor position after the scaling provided in matrix n. at this point, you should not see a position jump because the short-axis direction should have a unit scaling. 7. draw the circle with circle command. 8. when it finishes, do command TSEL0 to deselect the transformation. Although we haven't tried it, this should work.
  11. Please send an email to Tech Support (Support@deltatau.com) requesting the info. We are working on putting a documentation together for preliminary setup
  12. Hi, as you read in the manual, there is no way around it. commands in separate lines will execute separately. could you be more specific about what you want to achieve ? We may be able to find another solution for you.
  13. another solution for this is to do jog until trigger. and in jog until trigger move, the post trigger move is not limited by 2^24 number. let's assume that your home flag is in the negative direction, and home offset is 10,000,000 In a PLC, you can send a command #1j=-9000000000^10000000 so basically this will send motor 1 to negative direction, and after hitting a trigger, it will come back to position 10,000,000 of course in the PLC you need to monitor motor in-position bit and velocity-zero bit to make sure that the motor is at position. and then you can do HMZ.
  14. one solution would be jogging the motor to a position you would like to be HOME position, and issue HMZ command at that position. this requires a PLC to handle the logic. Basically this PLC will do Home Offset manually with HMZ command. but you have to make sure the tuning of the motor is solid, so you can get in position within the tolerance.
  15. Hi, Acc28E is a 16-bit ADC card, so there are only inputs for Acc-28E, and there is no output. The voltage input range can be +/-10V
  16. EtherCAT encoders are just I/Os, so those do not count for EtherCAT axes.
  17. Hi, the license you mentioned in previous post is EtherCAT license, correct? In an UMAC rack, you can put many axis cards, like Acc24E2As, if you have enough slots. There is no license related to these axes. The license is usually for EtherCAT drives. If you have an 8-axis license, then you can connect up to 8 EtherCAT drives. PMAC can control EtherCAT drives and other axes through axis cards at the same time. total number of axes can go up to 256. So, the question to you would be, will you use more than 8 EtherCAT drives? if not, then 8-axis license should be enough for you.
  18. Hi Amar, Is this a direct connection between your PC and PMAC? or is it through a switch/router ? if it's through a switch, what is the connection speed?
  19. Hi Amar, Could you explain more about the issue? with 465 CPU, can you open IDE and communicate? If you can get into IDE, then under what condition does it fail communication when it's in IDE already? We would like to have more info on the failure.
  20. Closed-loop mode is not related to which axis card you use. All the axis card can do closed-loop. As for stepper motor with encoder, it will usually vibrate when holding position because the encoder counts usually does not match step numbers in one revolution. we suggest that you increase your in-position band, Ixx28. It might help. I would think you are already using closed-loop mode because you mentioned I7mn0 = 3 or 7. However, with stepper motors, we recommend to use internal step feedback, and encoder is just for position verifying. We would like to know about this UMAC rack, such as how many slots, what cards are in this rack, etc. Also, we would like to know the failure because if Acc24E2S is overheating, it should not output anything, and we rarely see this kind of failure with Acc24E2S.
  21. extra question: How old is your UMAC rack, and does it have a Acc65E in the rack, too ?
  22. what is the environment temperature for this Acc24S? the spec for Acc24E2S to work properly is between 0C to 45C. if the Acc24E2S is not working within this range of temperature, then we might have to take those cards back and check them. However, you should provide good air flow for UMAC to make sure that the temperature is within this range.
  23. Please try to open IDE with "No Device" and see if IDE is operating properly. The support we can provide is the connection between IDE and actual Power PMAC hardware. as mentioned earlier, VM is out side our support scope. Still, you should be able to open IDE with No Device option without any problem. Please let us know how that goes
  24. It is not clear which form factor of Power PMAC you are using. We do not officially support VM (although some of our customers have done it) There are 3 types of VMs, and it is out side the scope of our support
  25. it should be in prog 1000 G-Codes To handle machine-tool-style G-codes, which provide direct access to part programs created by CAD/CAM programs, Turbo PMAC treats a Gnn statement as CALL 1000.nn000. The following values on the line (e.g. X1000) can be treated as parameters to be passed, as for a canned cycle, or the subprogram can execute without arguments, return, and execute the rest of the line (as for a modal Gcode). The machine tool designer writes Program 1000 to implement the G-codes as he wishes, allowing customization and enhancements. Delta Tau provides a sample file implementing all of the standard Gcodes. M, S, T, and D codes are similarly implemented.
×
×
  • Create New...