kmonroe023 Posted May 20, 2015 Share Posted May 20, 2015 I recently tried to upgrade one of our existing machines running FW ver 1.5.8.0 to 1.6.1.1. The machine uses the cross-coupled gantry algorithm for the Y-axis on a X/Y cartesian gantry system. The motors are brushless servos so the PMAC is closing the current loop. Drives are 2-axis PWM Geo Amps; Axis cards are two-channel Acc24-E3. The machine has been running fine for the last couple of years using the 1.5.8.0 FW. When I tried to enable the gantry motors after upgrading to ver 1.6 FW, the drives on the x-coupled gantry would enable, but there was no torque applied to the motors. When I checked the Motor[x].IqCmd value for the motors running the x-coupled algorithm, they were 0, even when the motors where enabled. It appears that the x-coupled algorithm was not outputting a torque command. This only happened when I tried to close the loop on the gantry motors; ampEna was on, but no torque. Of course as soon as I moved the motors by hand, the PMAC issued an following error and killed the motors. I verified all the motor hardware was functional; current loop tests ran fine as did any open loop commands. Am I missing something? Is there a new command/feature that needs to be set in 1.6 (or 2.0) to get the x-coupled algorithm working? I assumed motor settings from 1.5 would run fine in 1.6... The motors running the standard servo algorithm enabled and ran fine. I eventually flashed the PMAC back to the 1.5.8.0 FW and the gantry worked fine. I'd like to upgrade to 1.6 but can't do that if the cross coupled gantry doesn't work. Any suggestions would be appreciated. Link to comment Share on other sites More sharing options...
Omron Forums Support Posted May 21, 2015 Share Posted May 21, 2015 Hi, Ostensibly, I'm not sure what the issue is, but I am wondering how you have set Motor[x].Ctrl and Motor[x].ExtraMotors for the motors involved in the gantry? Link to comment Share on other sites More sharing options...
kmonroe023 Posted May 21, 2015 Author Share Posted May 21, 2015 Hi, Ostensibly, I'm not sure what the issue is, but I am wondering how you have set Motor[x].Ctrl and Motor[x].ExtraMotors for the motors involved in the gantry? The motor settings carried over from the 1.5.8.0 system where the gantry works fine, but I did check those settings just verify they were correct. In my setup motor 3 is lead and 4 is following. Both Motor[x].Ctrl were set to sys.GantryXCtrl, motor[3].ExtraMotors=1, motor[4].CmdMotor=3. Even if .Ctrl and ExtraMotors where not set correctly, that would not explain why there was not a torque command to both motors, would it? I would expect to see a torque command to 3 but maybe not 4. Also, I checked with another engineer here and he saw the same problem with a new PMAC running 1.6 earlier this year. He had to flash it back to 1.5.8 to get the gantry functional. We have about 20 to 30 systems here running PMAC with the x-coupled gantry so we're fairly proficient in setting them up. Our inability to get one setup with the new firmware is a bit baffling. From the users manual I know adaptive control was added to the x-coupled algorithm in 1.6. Is something there stepping on our gantry setup??? Link to comment Share on other sites More sharing options...
steve.milici Posted May 21, 2015 Share Posted May 21, 2015 Some of the default setting of adaptive control gains may be the culprit. I may have seen this before - I will check my notes for details and post anything I find. Link to comment Share on other sites More sharing options...
steve.milici Posted May 21, 2015 Share Posted May 21, 2015 I believe the issue arises from settings other than the newer firmware defaults for the adaptive control gains. Check your configuration for this. Link to comment Share on other sites More sharing options...
kmonroe023 Posted May 26, 2015 Author Share Posted May 26, 2015 I believe the issue arises from settings other than the newer firmware defaults for the adaptive control gains. Check your configuration for this. Any hints as to what to look for? I've checked everything that I am familiar with and the settings look normal. What would cause the servo loop to not output a torque command? The machine in question runs the x-coupled gantry fine with FW 1.5.8.0, but not with 1.6.1.1 or 2.0. All the motor settings came from that 1.5 setup. When I get access to the machine and have time to flash it back to 1.6, I'll double check settings, but admittedly I'll be shooting in the dark since everything seems to be correct. Link to comment Share on other sites More sharing options...
steve.milici Posted May 26, 2015 Share Posted May 26, 2015 Make certain Servo.MinGainFactor and Servo.MaxGainFactor are not zero - the default is 1.0. Link to comment Share on other sites More sharing options...
curtwilson Posted May 28, 2015 Share Posted May 28, 2015 Yes, the root issue is very likely that in 1.6 firmware, each motor uses the AdaptiveCtrl algorithm with its own feedback, which is a superset of the ServoCtrl algorithm used in 1.5 firmware. We had many requests for the capability of adapting the gains of the individual gantry motors as movement of the cross axis transferred the inertial load from one motor to the other. Our testing showed that if the adaptive control gains were at factory default values, the GantryXCtrl algorithm should work identically in 1.6 to 1.5 (without adaptation active). When you next try this, double check all these gains that are now "in play". After you get your old performance going, you may want to experiment with the adaptation features. Link to comment Share on other sites More sharing options...
kmonroe023 Posted June 2, 2015 Author Share Posted June 2, 2015 Thanks for the info Steve and Curt, I will give these a try when I get a chance. Link to comment Share on other sites More sharing options...
Recommended Posts