Jump to content
OMRON Forums

ECT floating point read setup


Geoff

Recommended Posts

In following the instructions in the Cascading Servo Loops section and Encoder Conversion Table Setup in the Power PMAC Users Manual, I have had a problem entering the information for an outer loop motor driving an inner loop of a cascade control using an ECT entry.

For ECT entry number 10 and the outer loop motor = #1

Type = “Floating-point read”

 

After entering in PowerPMAC Structure:

pEnc = Motor[1].IqCmd.a

pEnc1 = blank

ScaleFactor = 1/256,

Index6 = 0

 

Detailed ECT Setup left at defaults:

First Entry = 1, ScaleFactor = 1.0,

Second entry = 2, No integrate, None

 

When trying to download, we get the error “Invalid number entered for integer input. First correct the entered value in box before downloading.”

We’ve tried a lot of different combos to get rid of this message. Could you please clarify what needs to be entered on each page of this ECT setup?

Attached is the error message.

1353114380_ECTFloatingpointread2.thumb.PNG.ebce2c7188cd61dc5b22faa1bf68240c.PNG

Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

You can set the encoder up with manual settings. I used the settings below.

 

EncTable[5].type = 11
EncTable[5].pEnc = Motor[1].IqCmd.a
EncTable[5].index1 = 5
EncTable[5].index2 = 0
EncTable[5].index3 = 0
EncTable[5].index4 = 0
EncTable[5].index5 = 255
EncTable[5].index6 = 0
EncTable[5].ScaleFactor = 1 / (256 * (EncTable[5].index5 + 1) * EXP2(EncTable[5].index1))
Motor[5].ServoCtrl = 1

 

You can probably get better results with an actual force sensor.

Link to comment
Share on other sites

Thanks for the guidance, Eric.

I set up a virtual motor with the configuration (Motor_1_AngleSensor.txt) that scales the output in degrees. A few EncTable parameters were added to those you suggested and the encoder configuration (Encoder_AngleSensor.txt) was used to integrate the motor output for the angle control. Because of a different physical encoder setup, we no longer required the exponential filter that was on the virtual motor's output encoder. Cascade control is switched on and off with the MasterCtrl signal on the inner loop motor.

Encoder_AngleSensor.txt

Motor_1_AngleSensor.txt

Link to comment
Share on other sites

HI, Geoff, I have some doubts about the settings;

First of all, the index of the EncTable you defined is 10; but the index of the EncTable selected by your motor is 6? Can this match?

Secondly, the data of your motor feedback comes from ECAT's IO data, I guess this is sensor data.

Geoff, if it is convenient, attach the complete plan to facilitate our study.

 

EncTable[10].type = 11

// Source register address: Motor control output register (FP)

EncTable[10].pEnc = Motor[1].IqCmd.a

// Data shifting operation: 5 = left shift this many bits (32 - bits of actual data)

 

 

// Command output pointer

Motor[1].pDac=Sys.pushm

// Outer (position) loop position feedback pointer

Motor[1].pEnc=EncTable[6].a

// Inner (velocity) loop position feedback pointer

Motor[1].pEnc2=EncTable[6].a

 

Motor[1].pAbsPos=ECAT[0].IO[4102].Data.a

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...