iclim Posted February 12, 2014 Share Posted February 12, 2014 Hello, We have a Power PMAC with the ACC-5E3 card connected to Geo Macro Drives controlling brushless DC motors. I have a question regarding the assignment of the EncTable[x].pEnc. In the Power PMAC User manual it states to point to the address of the Macro registers. e.g. EncTable[x].pEnc = Acc5E3[n].MacroInA[j][0].a However in the Turbo PMAC/PMAC2 Software Reference on page 219 it states. When performing commutation of motors over the MACRO ring, it is advisable to get servo position feedback data not directly from the MACRO ring registers, as shown above, but from the motor’s previous phase position register instead. This is where the commutation algorithm has stored the position it read from the ring (with Ixx83) for use in its next cycle. Using this register prevents the possibility of jitter if the conversion table execution can be pushed too late in the cycle i.e. EncTable[x].pEnc = Motor[n].PrevPhaseEnc.a Can you please clarify if the Turbo PMAC methods should still be used with the Power PMACS? Or if there might be advantages/disadvantages to it. Link to comment Share on other sites More sharing options...
curtwilson Posted February 13, 2014 Share Posted February 13, 2014 The short answer is: You can use either - it doesn't matter. The longer answer: In the Turbo PMAC manual, which was copied from the older (non-Turbo) PMAC manual, was concerned with much slower processors, where there was a realistic chance that the conversion table might not get to read the MACRO input register until after the next phase interrupt. In addition, virtually everyone who was controlling motors over MACRO was performing the commutation in the PMAC and so had a valid value in the PrevPhaseEnc register. The Power PMAC is far faster computationally, so the chance that the conversion table read could be delayed by a phase cycle is virtually nil. In addition, there are several commonly used MACRO drives (Copley, ABB, Yaskawa) that perform the commutation themselves, so there would be no valid value in the PrevPhaseEnc register. So the instruction to read the MACRO input register is more general, and extremely unlikely to cause any problems. There is one slight advantage to reading the PrevPhaseEnc memory register instead of the MacroInA hardware register. A memory read only takes 1-2 nanoseconds, whereas a hardware read takes about 100 nanoseconds. So you do save a little time by reading PrevPhaseEnc. Link to comment Share on other sites More sharing options...
Recommended Posts