Geoff Posted February 15, 2021 Share Posted February 15, 2021 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. Link to comment Share on other sites More sharing options...
Omron Forums Support Posted February 16, 2021 Share Posted February 16, 2021 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 More sharing options...
Geoff Posted February 18, 2021 Author Share Posted February 18, 2021 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.txtMotor_1_AngleSensor.txt Link to comment Share on other sites More sharing options...
Omron Forums Support Posted February 18, 2021 Share Posted February 18, 2021 I'm glad that's working for you. Link to comment Share on other sites More sharing options...
zerbzhang Posted February 26, 2021 Share Posted February 26, 2021 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 More sharing options...
Recommended Posts