Jump to content
OMRON Forums

khalil-yazji

Members
  • Posts

    29
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

khalil-yazji's Achievements

Contributor

Contributor (5/14)

  • First Post
  • Collaborator Rare
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. They need to be rotating in opposite direction because of how they are mechanically coupled. I tried to change EncCtrl for one of the motors to swap the counting on the PMAC but that caused issues with phasing.
  2. Hi I have a setup where I need to drive to motors in leader follower configuration. However, these two motors need to be moving in opposite directions to drive the axis (ie #1j+ #2j- for the axis to move +). I had used the GantryXCtrl method before but all the motors where moving in the same direction. I couldn't find any setup variables to command the follower motor to move in opposite direction. Is this possible and if so how to do it?
  3. Was this referring to a closed loop move, like a jog move or motion program? Yes this is using jog commands or motion programs.
  4. We are using Voltage mode control. these values shouldn't have any effect in this case.
  5. Thanks for your reply. When turning the motor by hand I can't feel any difference between the two directions and the motor is just setting on a bench so gravity is not a factor. The voltage mode is used because we have a very noisy current feedback that made it very hard to close the current loop, running the motor with normal direct PWM current control is really hard as we can't tune the current loop sufficiently.
  6. Hi I was testing an AC brushless motor when I noticed that even when driving the motor unloaded one direction requires about 20-30% more current to move at the same speed. I'm taking the current readings from IqCmd and IqMeas to compare. According to the motor supplier this shouldn't happen, so I'm investigating if this could be caused by some setup elements. The motor is driven using Voltage-Mode Direct-PWM Control. Here are the motor settings I'm using, these live in a pmh file: Sys.WpKey = $AAAAAAAA Acc24E3[3].Chan[2].AdcOffset[0]=9699328 Acc24E3[3].Chan[2].AdcOffset[1]=-6225920 Acc24E3[3].Chan[2].InCtrl=$42043 Acc24E3[3].Chan[2].OutCtrl=$f200004 Acc24E3[3].Chan[2].AtanEna=1 Acc24E3[3].Chan[2].PackInData=0 Acc24E3[3].Chan[2].EncCtrl=3 Acc24E3[3].Chan[2].PackOutData=0 Acc24E3[3].Chan[2].PwmFreqMult=2 Sys.WpKey = $0 EncTable[19].index2=240 EncTable[19].pEnc=Acc24E3[3].Chan[2].AtanSumOfSqr.a EncTable[19].ScaleFactor=0.0000152587890625 Motor[19].Servo.Kp=0.80000001 Motor[19].Servo.Kvfb=0 Motor[19].Servo.Kvff=10 Motor[19].Servo.Ki=8.0000001e-7 Motor[19].PhasePosSf=9.5367431640625e-7 Motor[19].ProgJogPos=3.16202013338397788e-322 Motor[19].IiGain=0 Motor[19].MotorTa=-2 Motor[19].MotorTs=5000 Motor[19].JogTa=0 Motor[19].JogTs=5000 Motor[19].MaxSpeed=3000 Motor[19].JogSpeed=3000 Motor[19].HomeOffset=5.5284086e9 Motor[19].FatalFeLimit=10000 Motor[19].WarnFeLimit=4000 Motor[19].MaxPos=262144 Motor[19].MinPos=-5.5190001e9 Motor[19].InPosBand=2000 Motor[19].I2tSet=4602.6406 Motor[19].I2tTrip=7.3581094e8 Motor[19].MaxDac=13369.574 Motor[19].pDac=Acc24E3[3].Chan[2].Pwm[0].a Motor[19].pAdc=Acc24E3[3].Chan[2].AdcAmp[0].a Motor[19].pPhaseEnc=Acc24E3[3].Chan[2].AtanSumOfSqr.a Motor[19].pEncStatus=Sys.pushm Motor[19].pEncCtrl=Sys.pushm Motor[19].EncType=0 Motor[19].LimitBits=0 Motor[19].PhaseFindingTime=1 Motor[19].pAmpEnable=Acc24E3[3].Chan[2].OutCtrl.a Motor[19].pAmpFault=Acc24E3[3].Chan[2].Status.a Motor[19].pLimits=0 Motor[19].AbsPhasePosOffset=1191.8199 Motor[19].AbsPhasePosFormat=$1010 Motor[19].AbsPhasePosSf=0.0625 Motor[19].pAbsPhasePos=Acc24E3[3].Chan[2].AtanSumOfSqr.a Motor[19].AbsPosFormat=$1002000 Motor[19].pAbsPos=Sys.pushm+$98 Motor[19].CaptControl=$13000000 Motor[19].pCaptFlag=Sys.pushm Motor[19].pCaptPos=Sys.pushm Motor[19].Control[0]=$14006080 Motor[19].ServoCtrl=1 Motor[19].PhaseCtrl=4 Motor[19].PowerOnMode=6 Motor[19].PhaseSplineCtrl=0 Motor[19].PhaseMode=8 Motor[19].CaptFlagBit=19 Motor[19].CaptPosRightShift=0 Motor[19].CaptPosLeftShift=0 Motor[19].CaptPosRound=0 Motor[19].pEncLoss = Acc24E3[3].Chan[2].Status.a Motor[19].EncLossLevel=1 Motor[19].EncLossBit=31 Motor[19].FaultMode=1 Motor[19].Ctrl = Sys.ServoCtrl Motor[19].ExtraMotors = 0 Motor[19].CmdMotor=0 Thanks in advance
  7. How long is the delay between killing the motors and enabling the brakes? Is it the same delay defined in Motor[x].BrakeOnDelay?
  8. I'm looking for a way to check if a motor has moved between shutdown and next power up. At the moment I'm checking visually that nothing has moved then restore saved position using these commands in the terminal Motor.PowerOnMode = 6 Motor.pAbsPos = Sys.Ddata.a Motor.HomeOffset = -Sys.Ddata Motor.HomePos = 0 Motor.AbsPosFormat = $01002000 #i hmz where Sys.Ddata contains Motor.ActPos and saved using the custom save function. I'm planning to implement this in a start up procedure in a plc. What would be the best way to check if the motor hasn't moved and restore the saved position?
  9. It only seems to happen when starting the motion program from the HMI. I'm using the same commands both in the terminal and the C app to start the program error_code += Command("&1 enable"); error_code += Command("&1b2r");
  10. Thanks for the reply, is x here a percentage or a value between 0-1?
  11. I couldn't replicate the issue by running the same motion program from the terminal.
  12. I came across the function JogSpeed in the PPMAC C language manual and according to the manual I couldn't find any reference to what is the unit of velocity parameter in this function. and while testing it in my app I noticed that the motor ActVel is actually higher than the parameter and in some cases even higher than Motor[x].JogSpeed and Motor[x].MaxSpeed. How to probably use this function and how does it work (ie. how does it command a motor to jog at a specific speed as there's no equivalent to this in the on-line commands)?
  13. I don't think I'm using lookahead. Coord[1].LHsize =0, Coord[1].SegMoveTime =10. is the lookahead enabled or disabled by default? and how to make sure it's disabled?
  14. when creating the motion program the app adds a space but when reading the motion program in the terminal using list prog it shows no spaces. I even removed the dwell 0 completely and I'm still getting the same issue.
×
×
  • Create New...