andreychip
-
Posts
54 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Downloads
Posts posted by andreychip
-
-
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.
-
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
-
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.
-
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.
-
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.
-
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.
-
I am using a controller Power PMAC Clipper, IDE 3.1.4.0
Incremental encoder 20 bits.
When I turn on the drive #1j/, disconnected by mistake FeFatal.
Motor [1] .FatalFeLimit. = 3000;
Help me please.
-
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.
-
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 !
-
I'm a little confused. I can't set write to EncTable [16].DeltaPos, are you setting:
Enctable[16].pEnc=Enctable[13].PrevEnc and changing Enctable[16].ScaleFactor with varOverraid?
If you declare the table EncTable [16], you will not be able to write.
best regards Andrey.
-
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.
-
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.
-
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.
-
Thanks, I know about this method.
There is a such metod for PowerPMAC ?
-
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!
-
In general we don't transform the rotary axes other than the addition of offsets. I will send you an example project which show how 5-axis were added to a project.
Hello!
How to get an example ?
Best regards.
Andrey.
-
Thanks, mbalentine.
I'll write when I finish the machine.
-
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
-
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.
-
In general we don't transform the rotary axes other than the addition of offsets. I will send you an example project which show how 5-axis were added to a project.
my username on GitHub AndreyErsted. My mail: Andrey.krasnynsky@gmail.com.
Thanks, I'll wait.
Andrey.
-
Hello.
We purchased PowerPmacNc16-SDK and we need to add 2 axes. How can we add the linear axis W (on one axis with the Z axis) and the circular axis B to the x / y / z axis transformation matrix? .
Thank you Help.
-
Hello.
How to add 2 axes to the PowerPmacNc16-SDK project, the B-axis (circular) and the W-axis (axis built-in to the spindle), and change the subprog ComputeNCTransform?
-
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
-
Hello!
version firmware 2.3.1.0, can be installed on the Power Clipper?
If old version firmware 2.1.1.3.
PowerPMAC Clipper APM86xx freezes
in Power PMAC
Posted
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.