Issue getting the servo drives working in AS6

Hi, we have a machine that runs 3 servo motors on 2 ACOPOS P3 Servo Drives. We were using AS4.12 before trying to update it to AS6. I was wondering if anyone else had any similar issues while trying to update.

On bootup, the drives would turn on, configure and stay solid green for maybe 10 seconds, but would go red and send the PLC into service mode. I don’t see any errors pop up in the watch window.

For the upgrade, I did upgrade all the necessary ACOPOS libraries and ACP10 ARNC0 to version 6.2.0. There is no change in code between the AS4.12 version and AS6 version. The only thing I noticed when porting the project to AS6, was that the P3 plugin module was missing the selection of resolver in the encoder sections. Since this setting didn’t port over from AS6, I was wondering if something else went missing as well. I manually checked all the configurations, but nothing stood out.

Things I have checked -

  1. I checked the par ID and Addresses that I need to use during Drive/Axis init functions, and they all seem to match from the library.

  2. The logger was showing error 64006 indicating a floating point error, we solved this one by just making the cycle time of PLK to a multiple of 400.

  3. The logger is now showing an AR-RTK floating-point error (25316) in our servo object, and the next error is shown as a Restart triggered by hardware watchdog (9206). I checked all the code in this object, and nothing suggests any mathematical error leading to floating point error. Also, this error never showed up until we tried porting to AS6.

Thank you and please let me know if anyone went through something like this or had a similar issue.

Hello Yash Shah,

welcome to the B&R community!

This error occurs when a C task is calling functions whose interface is not provided to the compiler.
e.g. calling sin() without including
#include <math.h>
(The compiler assumes that the return value is an integer, but it is a float or double and put on the FPU stack. Nothing is retrieving it from there, leading to a FPU stack overflow after some time.)

I just tested this on my system and got the same exception.

Please check all your C programs, if this is the case.
The compiler reports a warning when it sees this, e.g.:

implicit declaration of function ‘sin’ [-Wimplicit-function-declaration] Ln: 14, Col: 26

Thankyou Martin for your suggestion. It did fix our project.

When we were porting our project to AS6, we replaced the AsMath library to AsBrMath. I changed the header file as well where it was being used.

After changing it to simply math.h, we got our drives to run again.

1 Like