Jump to content
OMRON Forums

kandauru

Members
  • Posts

    109
  • Joined

  • Last visited

Posts posted by kandauru

  1. Hi,

     

    I am working with Power Brick Controller and Power PMAC IDE 2.1.0.107 (with firmware 2.1.1.3 ). I am trying to setup motor using System Setup tool. When I reach step 4. Hardware Interface, the software does not accept entered data(see attachment).

    I have put my attention on Output Signal Type field, it is not described in the last manual for Power PMAC IDE. So, maybe it also does not exist in your internal data structure where the software trays to put the entered data to?

    What is the field of Motor[x] structure is it?

    Please, advise.

  2. Can you enter this in the terminal window?

    What is retuned for these structures:

    Gate3[0].PartNum

    Gate3[0].PartOpt0

    Gate3[0].PartRev

    Gate3[0].PartType

     

    Here are returned values:

    Gate3[0].PartNum = 618089

    Gate3[0].PartOpt0 = $ffffffff

    Gate3[0].PartRev = 15

    Gate3[0].PartType = 15

  3. Hi,

     

    I have just started with Power Brick controller.

    We want to use it as standalone controller for 6-8 motors (depends on configuration),

    when I go to system setup, I see the message - "No Master gate detected and No Ethercat option detected".

    And the main problem - I can not change servo frequency. Please, advise.

    NoMasterGate.PNG.0478086521eafcd143672b62fbb08609.PNG

  4. Here is a simple example of a 3-dimensional compensation table. I have arranged the data to be in groups of “planar” data, this is how we will administer the feature in the IDE.

     

    CompTable[2].Source[0]=1 // Use Motor 1 as 1st source

    CompTable[2].Source[1]=2 // Use Motor 2 as 2nd source

    CompTable[2].Source[2]=3 // Use Motor 3 as 3rd source

    CompTable[2].Nx[0]=4 // 4 data zones from 1st source

    CompTable[2].Nx[1]=3 // 3 data zones from 2nd source

    CompTable[2].Nx[2]=2 // 2 data zones from 3rd source

    CompTable[2].X0[0]=0 // Start table at 0 counts of 1st source

    CompTable[2].X0[1]=0 // Start table at 0 counts of 2nd source

    CompTable[2].X0[2]=0 // Start table at 0 counts of 3rd source

    CompTable[2].Dx[0]=40000 // Span of 40,000 counts across 1st source

    CompTable[2].Dx[1]=30000 // Span of 30,000 counts across 2nd source

    CompTable[2].Dx[2]=20000 // Span of 20,000 counts across 3rd source

    CompTable[2].Target[0]=Motor[4].CompPos.a // Motor 4 position loop

    CompTable[2].Target[1]=Motor[4].CompPos2.a // Motor 4 velocity loop

    CompTable[2].Sf[0]=1.0 // Unity scale factor for #4 position loop

    CompTable[2].Sf[1]=1.0 // Unity scale factor for #4 velocity loop

    CompTable[2].Ctrl=$AB // Mirror rollover in 3 dims, cubic interp

    CompTable[2].OutCtrl=0 // Overwrite target registers each cycle

    CompTable[2].Data[0][0] [0]=0,10,20,30,40 // 1st-row data points plane 0 (in #4 units)

    CompTable[2].Data[0][1] [0]=11,21,31,41,51 // 2nd-row data points plane 0 (in #4 units)

    CompTable[2].Data[0][2] [0]=22,32,42,52,62 // 3rd-row data points plane 0 (in #4 units)

    CompTable[2].Data[0][3] [0]=33,43,53,63,73 // 4th-row data points plane 0 (in #4 units)

    CompTable[2].Data[1][0] [0]=0,10,20,30,40 // 1st-row data points plane 1 (in #4 units)

    CompTable[2].Data[1][1] [0]=11,21,31,41,51 // 2nd-row data points plane 1 (in #4 units)

    CompTable[2].Data[1][2] [0]=22,32,42,52,62 // 3rd-row data points plane 1 (in #4 units)

    CompTable[2].Data[1][3] [0]=33,43,53,63,73 // 4th-row data points plane 1 (in #4 units)

    CompTable[2].Data[2][0] [0]=0,10,20,30,40 // 1st-row data points plane 2 (in #4 units)

    CompTable[2].Data[2][1] [0]=11,21,31,41,51 // 2nd-row data points plane 2 (in #4 units)

    CompTable[2].Data[2][2] [0]=22,32,42,52,62 // 3rd-row data points plane 2 (in #4 units)

    CompTable[2].Data[2][3] [0]=33,43,53,63,73 // 4th-row data points plane 2 (in #4 units)

    Sys.CompEnable=3 // Enable tables 0, 1 & 2

     

    Thanks!

  5. Hi,

     

    I have started with a new project for PowerBrick LV.

    I have taken the following example and tried to compile it:

     

    Default Encoder Conversion Table for quadrature incremental encoders:

    EncTable[1].type = 1;

    EncTable[1].pEnc = PowerBrick[0].Chan[0].ServoCapt.a;

    EncTable[1].pEnc1 = Sys.Pushm;

    EncTable[1].index1 = 0;

    EncTable[1].index2 = 0;

    EncTable[1].index3 = 0;

    EncTable[1].index4 = 0;

    EncTable[1].index5 = 0;

    EncTable[1].ScaleFactor = 1 / 256;

    Default settings for quadrature incremental encoders:

    Motor[1].ServoCtrl = 1; // Channel activation

    Motor[1].pEnc = EncTable[1].a; // Position source data

    Motor[1].pEnc2 = EncTable[1].a; // Velocity source data

     

    PPMAC Suite IDE (2.1.0.107 with the last firmware from 24 may 2016) has given an error #70. I understood that the compiler doesn't know PowerBrick structure. Could you explain me, please, what was wrong?

     

    Thank you in advance.

     

    Konstantin.

  6. Hi,

     

    are you going to support 3D comp tables in your Power PMAC Suite?

    I mean GUI tool (see attachment).

    It was written somewhere - in the next release, but last release 2.1.0107 still does not do it.

    Currently 1D comp table works perfectly, I am working on utility that will generate CSV file of 2D comp table for future loading in Comp Table Setup GUI tool, but our next coming application requires 3D compensation, so, do you have any example of it?

    Thanks in advance.

    902672097_3Dcomptable.JPG.10a65bc8b07851bd622d884c86441450.JPG

  7. Hi,

     

    the stupid question - how do we know that motor is in position? I know, there is a flag Motor[X].InPos, but what laying behind this?

    When I do a simple move, I see it signaled (TRUE) in Status window. But what happens if I run rotary buffer with 10 motors?

    Does the controller wait for same flag of each motor or there is an additional flag?

  8. What is laying behind p command?

    I am trying to get a position, but it is different if I run online command - #1p and look at motor[1].ActPos or motor[1].Pos values.

    Thank you in advance.

  9. Hi,

     

    I am dealing with "fine tuning" of motors. There are two motors in gantry (position following) mode. When motors are in position, I see that velocity and following error values of the motors are still being changed ( see attached link: https://drive.google.com/open?id=0B6Q9gPky33lbdmNhWEJSRHcxQ3M).

     

    Motors defined as:

     

    #1->533.3432x

    #2->533.3432xx

     

    Here are parameters:

    // Motor 1 (X1a)

    // Driver: MDDKT3420

    // MOTOR:MHME154G1G

     

    Motor[1].ServoCtrl = 1;

    Motor[1].DacShift = 0

     

    Motor[1].Servo.Kp = 37

    Motor[1].Servo.Kvfb = 3500

    Motor[1].Servo.Kvff = 3700

    Motor[1].Servo.Kaff = 40000

    Motor[1].Servo.Ki = 0.02

     

    // Motor 2 (X1b)

    // Driver: MDDKT3420

    // MOTOR: MHME154G1G

     

    Motor[2].CmdMotor = 1 //leader id

    Motor[2].ServoCtrl = 8 //follower

    Motor[2].GantrySlewRate = 1

    Motor[2].DacShift = Motor[1].DacShift

     

    Motor[2].Servo.Kp = Motor[1].Servo.Kp

    Motor[2].Servo.Kvfb = Motor[1].Servo.Kvfb

    Motor[2].Servo.Kvff = Motor[1].Servo.Kvff

    Motor[2].Servo.Kaff = Motor[1].Servo.Kaff

    Motor[2].Servo.Ki = Motor[1].Servo.Ki

     

    Please, advise. Thank you in advance.

×
×
  • Create New...