Jump to content
OMRON Forums

andreychip

Members
  • Posts

    54
  • Joined

  • Last visited

Posts posted by andreychip

  1. Hello!

    I figured out the problem. The problem is firmware 2.4.0.180.

    When I replaced the controller with a new one, everything worked with firmware 2.5.0.4 . I updated PowerPMAС to version 2.5.0.4 and it worked.

    I upgraded PowerPMAK to version 2.5.0.4 and it worked. Where can I get the latest update for CPU 465(Clipper)?

    Thank you!

    Andrey.

  2. Hello!

    I have a problem with the controller Clipper APM86xx freezing.

    I am using Power PMAC-NC 8 axes. In manual mode, everything works well.

    In Auto and MDI mode, when starting on the G0X100Z-100 frame, the controller starts moving and freezes (stops working).

    It starts to work after a full reboot.

    What could be?

     

    Сontroller configuration 8 axis .

    ACC-8FS -2 boards

    ACC-24S3-1 board

    Thanks in advance for your help.

    IMG_5701.JPG.06218674f94b15a3e06b06c415d4062a.JPG

    IMG_5703.JPG.9ce8d12b0f179b65e26f2f7a6d7e8f23.JPG

    IMG_5705.JPG.3deae869afaf11ccaf50d095e4c1a2ca.JPG

    IMG_5706.JPG.265f384459477e859331780d6996efd5.JPG

    IMG_5708.JPG.67fef9596bd4c5fd1f63e5d71142c1a7.JPG

  3. Many thanks to all, special thanks to AAnikstein. I managed to configure it in torque mode.

    Below are the parameters that turned out:

     

    Motor[5].Servo.Kp=0.026616275

    Motor[5].Servo.Kvfb = 0.46887201

    Motor[5].Servo.Kvff = 0.46887201

    Motor[5].Servo.Ki = 0.015661255

    Motor[5].Servo.Kaff = 4.0185695

    Motor[5].FatalFeLimit = 20000

    Motor[5].WarnFeLimit = 8000

  4. Tuning an EtherCAT drive often results in very different gains than a local drive.

    For normal (not EtherCAT) motors, Kp/Kd values often are in the hundreds/thousands/ten thousands.

    For EtherCAT Torque Mode, it is not uncommon to see fractional values (<1).

    Unfortunately, I cannot recommend gains for that particular drive as I have not tested it.

     

    If you are happy with the performance in position mode, feel free to continue using it like that.

    If you need to put it into Torque mode, start off with very small values (Kp = 0.001, all other gains = 0) and then go from there.

    As windell emphasized, make sure your motor is in a safe state first as it may be unpredictable.

     

    Thank . I tried with Kp = 1, tomorrow I will write what happened.

  5. It sounds like you still need to tune the motor. First navigate to "Delta Tau" -> "Tools" -> "Tune".

    Next follow the instructions starting on slide 183 of the training slides below:

    http://forums.deltatau.com/filedepot/download.php?f=Power%20PMAC/Training%20Slides/Class%20Slides/Power%20PMAC%205-Day%20Training%20-%20December%202016.pdf [FILE REMOVED]

    Thanks for the help.

    Torque setting failed no works.

    Positional mode works.

  6. Audrey,

     

    Is the value of Motor[1].PosSf 1? I am assuming it is and your motor is set up in counts.

     

    Motor[1].FatalFeLimit is the following error at which the motor is killed (power to the motor is cut). It is in the same units as your motor position. Your original fatal following error would be equivalent to 2000*360/2^20=0.7 degrees. That might be a little bit small depending on your mechanics, tuning, etc. By setting this value to 0, you disabled the feature and the motor will not be killed. You might want to try setting this to some number of degrees. For 10 degrees Motor[1].FatalFeLimit = 10/360*2^20

     

    In torque mode you will have to tune the motor in PMAC's tuning tool, while position mode was tuned on the drive's software (sysmac studio). What IDE version do you have so I can show you where this tool is?

     

    I am using a controller Power PMAC Clipper, IDE 3.1.4.0

     

    installed Motor[1].FatalFeLimit=50000 more than. Also tried to change the coefficients Kp Kd Kvf.

  7. Thanks for the answer. I tuned in Cyclic synchronous position mode and the drive worked.

    When setting in the Cyclic Synchronous Torque Mode, I reset Motor [1] .FatalFeLimit. =0 the error variable,

    the engine vibrated a lot, changing the coefficients nothing helped.

    Slave_0_6060_0_Modesofoperation=10;

    Slave_0_607F_0_Maxprofilevelocit=exp2(20)*3000/60;

    Slave_0_60E0_0_PositiveTorqueLim=3000;

    Slave_0_60E1_0_NegativeTorqueLim=3000;

    if 60Е0 = 100 and 60Е1 = 100 there is no moment, but does not knock out. The direction scaling factor makes it even worse.

    Thanks for the help. If you need a complete setup I will write.

  8. Hello!

    I configured the drive in accordance with the OMRON G5 EtherCAT instructions. By command # 1out0, the drive turns on, and 00 appears on the drive indicator. When I turn on the drive in servo mode, the FeFatal motor error. I use a motor with an incremental encoder.

    What have I done wrong?

     

    Filled the following values in the IOData column:

    # x6060 10

    # x607F 83886080 for 20-bit incremental encoders.

    # x60E0 3000

    # x60E1 3000

    Type of drive R88D-KN15F-ECT and motor R88M-k1k030F-S2.

    Best regards Andrey.

  9. Here's how it's commonly done with G93, G94, and G95 codes:

     

    N93000: // G93: inverse time mode

    dwell 0; // Stop pre-computation and motion

    Coord[1].InvTimeMode = 1; // Enable inverse time calcs

    Coord[1].TimeBaseSlew = 0.001; // Low value for gradual change

    Coord[1].FeedTime = 60000; // F values are minute/F-command

    Coord[1].pDesTimeBase = Coord[1].DesTimeBase.a; // Use cmd % value

    return;

     

    N94000: // G94: length per minute mode

    dwell 0; // Stop pre-computation and motion

    Coord[1].InvTimeMode = 0; // Not inverse time

    Coord[1].TimeBaseSlew = 0.001; // Low value for gradual change

    Coord[1].FeedTime = 60000; // F values are per minute

    Coord[1].pDesTimeBase = Coord[1].DesTimeBase.a; // Use cmd % value

    return;

     

    N95000: // G95: length per rev mode

    dwell 0; // Stop pre-computation and motion

    Coord[1].InvTimeMode = 0; // Not compatible with inverse time

    Coord[1].TimeBaseSlew = 1.0; // High value to track master

    Coord[1].FeedTime = 60000 / SpindleRtRpm; // Time for rev in real time

    Coord[1].pDesTimeBase = EncTable.DeltaPos.a; // Use encoder freq

    return;

     

    Thanks for the help !

  10. Is there a reason you would want to mix feedrate override with external time base? The whole point of external time base would be to go at the same speed an the encoder. I'd assume you'd want to slow down the motor that is the time base master, not the slave coordinate system.

     

    Normally feedrate override is accomplished by changing Coord[x].DesTimeBase so that Coord[x].TimeBase changes based on Coord[x].TimeBaseSlew. When using external time base, Coord[x].DesTimeBase will still change from %n, but it will have no affect on Coord[x].TimeBase as it is set based on encoder velocity.

     

    We can probably still make this happen if an extra ECT entry is used to multiply in Coord[x].DesTimeBase. Although this would probably require a RTI PLC or servo algorithm to repeated values from Coord[x].DesTimeBase to Sys.Idata[] where the ECT can actually point. This strategy would ignore Coord[x].TimeBaseSlew.

    Thanks for the answer.

    It makes sense. This mode is often used in lathes. In the previous version, the NC-PRO 2 was implemented in the PLC program. Today I found one of the ways. I used a free address

    EncTable [16] .DeltaPos = EncTable [13] .DeltaPos * 0.01 * varOverraid;

    Coord [1] .pDesTimeBase = EncTable [16] .DeltaPos.a;

    varOverraid = 0 -150%

    it all worked.

    best regards Andrey.

  11. Hello!

    In the PPNC program, we use the “% n” adjustment in plc OverridePLC as Coord [1] .DesTimeBase = Sys.ServoPeriod * RapidOverrideInput / 100.

    How to adjust the "feed override" with External Time-Base ?

    my settings:

    EncTable[13].type=1

    EncTable[13].pEnc=Clipper[1].Chan[1].ServoCapt.a

     

    plc spindle

    EncTable[13].ScaleFactor=1/(256*RTIF)

    RTIF=SpindleCtsRev*VS_SPINDLE_MAX_LIM_M/60000;

    plc OverridePLC

    Coord[1].pDesTimeBase= EncTable[13].DeltaPos.a; //TIMEBASE_M =FPR_TIMEBASE

    Coord[1].TimeBaseSlew=1 //MED_SLEW;

    The program works.

    How to adjust the "feed override" with External Time-Base ?

     

    best regards

    Andrey.

    ppnc_Myoverride.txt

  12. Yes. The method I suggested is for Power PMAC. It's easier in the Power PMAC because you can use the "switch" statement. For example:

     

    open inverse

    switch (AxisMode) {

    case 1: // Motor 1 and 2 as XY

    KinPosMotor1 = KinPosAxisX

    KinPosMotor2 = KinPosAxisY

    KinPosMotor3 = KinPosAxisU

    KinPosMotor4 = KinPosAxisV

    break;

    case 2: // Motor 1 and 4 as XY

    KinPosMotor1 = KinPosAxisX

    KinPosMotor2 = KinPosAxisV

    KinPosMotor3 = KinPosAxisU

    KinPosMotor4 = KinPosAxisY

    break;

    (etc.)

     

    open inverse

    switch (AxisMode) {

    case 1: // Motor 1 and 2 as XY

    KinPosMotorX = KinPosAxis1

    KinPosMotorY = KinPosAxis2

    KinPosMotorU = KinPosAxis3

    KinPosMotorV = KinPosAxis4

    break;

    case 2: // Motor 1 and 4 as XY

    KinPosMotorX = KinPosAxis1

    KinPosMotorV = KinPosAxis2

    KinPosMotorU = KinPosAxis3

    KinPosMotorY = KinPosAxis4

    break;

    (etc.)

    Thank you!

    I will work this way.

  13. Hello!

    Pow1er PMAC firmware supports circular interpolation directly only using the X, Y, and Z axes of a system. There are occasions when users desire the capability on other axes as well.

    In this example, we have a system with X, Y, U, and V axes. The U-axis is parallel to the X-axis; the Vaxis is parallel to the Y-axis. We desire the ability to do XY circular interpolation (which is a standard

    capability), but also XV, UY, and UV. We write the example in G-code (RS-274) style, because of its

    automatic use of subroutines in Turbo PMAC, but there are other ways to do this as well. We use the

    standard G17 code to specify XY circles, and invent G17.1 for XV, G17.2 for UY, and G17.3 for UV.

    This file describes an example of how to do this on TurboPMAC.

    http://www.deltatau.com/Common/technotes/Circular%20Interpolation%20on%20Other%20Axes.pdf

     

    How to make at PowerPMAC ?

    Thank you!

  14. I believe he is asking:

    A) How to add a 4th (rotary) axis

    B) How to accommodate a compound (or redundant) Z axis

     

    A) For the rotary axis, isn't this usually handled in a CAM software package? (Suitable POST processor assumed)

    Otherwise the CNC machine can be treated as a 4 DOF kinematic machine, which is essentially what the CAM software does.

     

    B) I suspect his machine has a 'Major' & 'minor' Z axis arrangement where the W axis might move the entire head in the Z direction and the (z) axis extends & retracts the spindle (also in the Z direction) so that "Z" = W + (z).

    Could this be handled as: (???)

    1) Make Z a phantom axis with feedback Z=W+(z) so that the T-matrix remains intact. Phantom not controlling, no cascade - just a buffer between the machine Z command and two other active axes such as DD & EE.

     

    2) An algorithm to distribute the Z motion command over the two axes. The W axis might be slower than the (z), but who knows. (spectral decomposition comes to mind, linear proportioning would be simplest.)

     

    Or perhaps I am completely missing his point.... It has happened before.

    Maybe all he wants to do is add some screen art.

     

    Thank you. You described everything correctly.

    I will clarify my question a little. Is it possible to add a correction to the W axis using such an expression?

    tsel1; // Transform 1 selected as active

    Tdet= tinit(1); // Initialize Transform 1

    Tdata[1].Bias[6] = XdOffset; // Set X offset term

    Tdata[1].Bias[7] = YdOffset;// Set Y offset term

    Tdata[1].Bias[8] = ZdOffset;

    Tdata[1].Bias[5]=WlOffset; // Is this expression true?

    Thanks in advance

    2018-05-03_19-04-21.png.2a7f0071838baa3d44a2eaa2c5dc5d0e.png

  15. 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.

     

    I know how to add an axis. In this case, I do not understand how to add another coordinate axis to the transformation matrix 3x3 (X / Y / Z) or it must be added to another matrix. In the documentation, this is poorly described.

  16. Hello!

    version firmware 2.3.1.0, can be installed on the Power Clipper?

    If old version firmware 2.1.1.3.

    After installing PowerPMACIDE_3_0_0_2, the MODBUS does not work on the controller PowerPmacClipper. Firmware 2.1.1.3. Kernel Version 3.2.21. Cpu Type 465

    Basic error MODBUS SOCKET SEND/RECV ERROR.

    ModbusRegister 1,0,2=0,0

    stdin:2:1: error #82: MODBUS SOCKET SEND/RECV ERROR: ModbusRegister 1,0,2=0,0

    ModbusHoldingRead 1,0,2,P100

    stdin:4:1: error #82: MODBUS SOCKET SEND/RECV ERROR: ModbusHoldingRead 1,0,2,P100

×
×
  • Create New...