kamenges
Member
I have an application where I have to roughly track the position of a rotary load connected through a reducer to an AC motor. The motor is equipped with an encoder and is driven from an ABB ACS880 drive. I am controlling the ACS880 via Ethernet/IP from an AB CompactLogix PLC.
Most of the time the load just spins. But once every "cycle" I need to track load position for two different purposes. In one case I need to know if the load has rotated a desired number of degrees, always less than a full revolution. In the other case I need to track if a desired number of revolutions of the load have occurred. This number of revolutions will be fairly small, always less than 10. Assume a cycle length is about 10 minutes and the position detection part of that only lasts about 3 seconds.
I have done this in the past with an AB Powerflex 755 drive by reading the encoder interface card raw encoder count. This is a free-running 32-bit integer. With the Logix family processors, integer math correctly handles deltas across the rollover boundaries. This means I could just perform simple adds and subtracts to figure out my position regardless of whether I was near a rollover point or not. My detection cycle is small enough that I don't need to worry about multiple rollovers during a position detection cycle.
It doesn't look like the ACS880 has anything like this, although it does look like it will give me position in about four different flavors; some of them scaled, some of them not. Given what I am trying to do can anyone give me a recommendation of the position value I want to use? I have pretty much resigned myself to the fact that I will need to perform rollover detection and conditioning. I just want to know if there is a better value to use than any others.
As an aside, the Logix processors will correctly handle deltas across the rollover boundaries of 16-bit integers also. If there is a 16-bit free-running position register in the ACS880, that would do the trick for me as well.
Thanks,
Keith
Most of the time the load just spins. But once every "cycle" I need to track load position for two different purposes. In one case I need to know if the load has rotated a desired number of degrees, always less than a full revolution. In the other case I need to track if a desired number of revolutions of the load have occurred. This number of revolutions will be fairly small, always less than 10. Assume a cycle length is about 10 minutes and the position detection part of that only lasts about 3 seconds.
I have done this in the past with an AB Powerflex 755 drive by reading the encoder interface card raw encoder count. This is a free-running 32-bit integer. With the Logix family processors, integer math correctly handles deltas across the rollover boundaries. This means I could just perform simple adds and subtracts to figure out my position regardless of whether I was near a rollover point or not. My detection cycle is small enough that I don't need to worry about multiple rollovers during a position detection cycle.
It doesn't look like the ACS880 has anything like this, although it does look like it will give me position in about four different flavors; some of them scaled, some of them not. Given what I am trying to do can anyone give me a recommendation of the position value I want to use? I have pretty much resigned myself to the fact that I will need to perform rollover detection and conditioning. I just want to know if there is a better value to use than any others.
As an aside, the Logix processors will correctly handle deltas across the rollover boundaries of 16-bit integers also. If there is a 16-bit free-running position register in the ACS880, that would do the trick for me as well.
Thanks,
Keith