markr Posted June 24, 2020 Share Posted June 24, 2020 Hi, I am looking at controlling a Kollmorgen amplifier/motor through EtherCAT. Specifically, the Amp Enable, where the setup is as follows: Motor[1].pAmpEnable = ECAT[0].IO[0].Data.a Motor[1].AmpEnableBit = 0. With this setup, the output Controlword was 15 when enabled and 14 when not enabled (and this works fine). When I changed to using bit 3, I was expecting the control to become 7 when not enabled, but the outputs remained at 15 and 14. I have attached two snippets from the Software Reference Manual that seem to contradict each other on whether AmpEnableBit is used for EtherCAT - could you please clarify this? If the bit is not used, how is the amplifier enabled - using information read in through the xml? Link to comment Share on other sites More sharing options...
Alex Anikstein Posted June 24, 2020 Share Posted June 24, 2020 When using EtherCAT, Motor[x].AmpEnableBit is not used--the "pattern" that is sent to the Motor[x].pAmpEnable register is following a state machine that is part of the EtherCAT standard, and users do not typically need to alter it. That SRM entry is a bit written a bit awkwardly--the intent was to give multiple examples of proper registers to set Motor[x].pAmpEnable, and then afterwards to explain that Motor[x].AmpEnableBit specifies which particular bit of the intended register is used. When applicable, we tend to list local hardware settings, then MACRO settings, then EtherCAT settings, and in this case, that means that the EtherCAT example is immediately followed by "this is how you use AmpEnableBit" (despite it not applying for EtherCAT). The intent was for them to be separate statements. Link to comment Share on other sites More sharing options...
markr Posted June 26, 2020 Author Share Posted June 26, 2020 Thank you, that explains what I've been seeing in my setup! Link to comment Share on other sites More sharing options...
Recommended Posts