leeho Posted July 6, 2012 Posted July 6, 2012 Hello all, I am in search for some assistance in completing a home search move successfully. I am using an optical home switch which is set to a high voltage output when not engaged and transitions to a low voltage output when the blade passes under the home switch. I was able to use use this home switch previously, but recently replaced the old ACC24E3 Enc Card with a newer ACC24E3 card. I am able to control my motor fine and have no other issue with my program or new card except for completing the home search move. In my motion program, under global definitions I set my capture control logic to the following Acc24e3[0].chan[0].captCtrl=10 Acc24E3[0].chan[0].capFlagSel=0 Acc24e3[0].chan[0].captFlagChan=0 As I initiate the home search move I put the following commands in the watch list window: Motor[5].HomeComplete, Motor[5].HomeInProgress and Acc24E3[0].Chan[0].Homeflag. The Acc24E3[0].Chan[0].Homeflag cmd shows a transition from 1 to 0 when the blade passes under the home switch and back to 1 when the blade exits the home switch. The Motor[5].HomeInProgress transitions to 1 at the beginning of the cmd but does not transition to 0 when the blade moves through the optical switch. Motor[5].HomeComplete always remains at 0 in the watch list window. I have also tried experimenting with changing the value of Acc24e3[0].chan[0].captCtrl to 6,2,14 and 0 and none of them have provided a different result. I would greatly appreciate any help, anyone could provide. Thank you in advance
Sina.Sattari Posted July 7, 2012 Posted July 7, 2012 Please check the following registers and make sure they are set correctly: Motor[5].pCaptFlag = ACC24E3[0].Chan[0].Status.a Motor[5].CaptFlagBit = 20 Motor[5].CaptPosLeftShift = 8 Motor[x].CaptPosRightShift = 0
leeho Posted July 9, 2012 Author Posted July 9, 2012 Hello Sina, I updated the given registers that you suggested, but it does not seem to resolve the problem. Instead actually forces the actual position register to jump to ~1,600,000 m.u. when the blade moves out of the home switch. The image below, is a plot of the Home Search move in progress. The steps in performing the home search move is: 1. Drive the blade CCW out of the Home switch 2.Reset the actual position register to zero using the in-line cmd #5hmz 3. Use the in-line cmd #5hm to initiate the home search move, which drives the motor CW and passes the blade through the home switch 4.Once the blade passes through the home switch, I stop the move by giving a #5j/ cmd to end the search The actual position at the beginning of the home search move starts at 0 then rolls the position count to negative motor units (CW is taken as negative rotation). Once the blade passes through the home switch, the register jumps to a positive ~1,600,000. I am deducing this jump is due to the register shit that you suggested because this behavior had not occurred before with the original register settings, but not completely sure. Any further suggestions you may have or comments on what must be going on will be greatly appreciated. Thanks
Sina.Sattari Posted July 9, 2012 Posted July 9, 2012 Hi, Can you try setting the following parameter and repeat your test? Motor[x].EncType=5 // for Quadrature encoder, 1/T extension Motor[x].EncType=6 // Sinusoidal encoder, arctan extension Setting this parameter in script mode, will set the following registers accordingly: Motor[x].AmpEnableBit Motor[x].AmpFaultBit Motor[x].CaptFlagBit Motor[x].CaptPosLeftShift Motor[x].CaptPosRightShift Motor[x].CaptPosRound Motor[x].LimitBits This should take care of the problem. Please post your results.
leeho Posted July 9, 2012 Author Posted July 9, 2012 Yes, that was it! The Motor[x].EncType was not set properly and set originally to 0. Once I set it to Motor[x].EncType=5 // for Quadrature encoder, 1/T extension it found home switch correctly. Thank you so much for your help!
Recommended Posts