Mikiko Hori Posted October 17, 2016 Share Posted October 17, 2016 I am trying to connect OMRON's Analog servo (R88D-KNA5L-ECT) with PMAC through ACC-24E3 at the DAC mode. When I do the test run in the [system Setup] dialog, the value of Gate3[0].Chan[1].Dac[0] does not change (remains "-32768000") and the motor does not move. I can get the encoder value but cannot output commands. The channel number is 1 and I set Gate3[0].Chan[1].OutputMode to "3". What seems to be the problem? Link to comment Share on other sites More sharing options...
akirao Posted October 17, 2016 Share Posted October 17, 2016 I think what it's happening is that you're setting up for 2nd channel but drive/motor is connected to 1st channel. Just in case, I put ACC-24E3 DAC output parameter example below. It should work with open-loop mode. If necessary, you may disable over travel limit with Motor[1].pLimits = 0. Before you do servo-on, please setup PID parameters with IDE auto tuning. /////////////////////////////// sys.WpKey=$AAAAAAAA; //;OPT-2A 16bitDAC gate3[0].DacStrobe=$FFFF0000; Motor[1].DacShift=0; Motor[2].DacShift=0; Motor[3].DacShift=0; Motor[4].DacShift=0; //;OPT-2B 18bitDAC /* gate3[0].DacStrobe=$FFFFFF00; Motor[1].DacShift=6; Motor[2].DacShift=6; Motor[3].DacShift=6; Motor[4].DacShift=6; */ Gate3[0].Chan[0].OutputMode=7; Gate3[0].Chan[1].OutputMode=7; Gate3[0].Chan[2].OutputMode=7; Gate3[0].Chan[3].OutputMode=7; sys.wpkey=0; Motor[1].ServoCtrl= 1; Motor[1].PhaseCtrl=0; Motor[1].pEncCtrl = Gate3[0].Chan[0].InCtrl.a; Motor[1].pDac = Gate3[0].Chan[0].Dac[0].a; Motor[1].pEnc = EncTable[1].a; Motor[1].pEnc2 = EncTable[1].a; Motor[1].pMasterEnc = EncTable[0].a; Motor[1].pEncStatus = Gate3[0].Chan[0].Status.a; Motor[1].pAmpEnable = Gate3[0].Chan[0].OutCtrl.a; Motor[1].pAmpFault = Gate3[0].Chan[0].Status.a; Motor[1].pLimits = Gate3[0].Chan[0].Status.a; Motor[1].pAdc=0; Motor[1].AmpEnableBit=8; Motor[1].LimitBits=9; Motor[1].ampfaultbit=7; Motor[1].pCaptFlag = Gate3[0].Chan[0].Status.a; Motor[1].CaptFlagBit=20; //Motor[1].Servo.Kp= 300; //Motor[1].Servo.Kvfb= 2000; //Motor[1].Servo.Ki= 0.0099999998; //Motor[1].Servo.Kvff= 40; EncTable[1].type=1; EncTable[1].pEnc=Gate3[0].Chan[0].ServoCapt.a; EncTable[1].ScaleFactor=0.00390625; /////////////////////////////// Link to comment Share on other sites More sharing options...
Mikiko Hori Posted October 18, 2016 Author Share Posted October 18, 2016 Thank you for your help. The numbers of motor and channel were wrong. I have set them to #2 and #1, respectively. The model name of G5 was wrong. It is R88D-KT01L. I have another problem. The values of Motor[2].DesPos and Motor[2].Act.Pos keep increasing and the motor does not stop even though nothing is commanded, just by connecting ACC-24E3 and G5 analog servo. The servo cannot be enabled (Motor[2].AmpEna is false). Where does the value of Motor[2].DesPos come from? I also have questions about the encoder settings. Is the settings below correct? EncTable[2].type=1 EncTable[2].index1=12 EncTable[2].index2=8 EncTable[2].ScaleFactor=0.001/1048576 Link to comment Share on other sites More sharing options...
akirao Posted October 18, 2016 Share Posted October 18, 2016 Encoder setting needs to be changed. I recommend you to contact to our local office. http://www.deltatau.com/DT_DistributorsAndIntegrators/DistributorsAndIntegrators.aspx Link to comment Share on other sites More sharing options...
Recommended Posts