kckku

NX PLC Backup functions

7 posts in this topic

Yesterday one of the guys on the shop floor had a fatal error on a NX PLC. The error code points to a power interruption during program download. From what I hear it wasn't apparent that there was a power outage (maybe I didn't get the full story?). Regardless there was a fatal error and the only option seems to be to clear all memory. We did this but forgot to power cycle so had to do this a few times before we did more reading.

After clearing the fatal error, we realized that all retain variable values were cleared. For this we had to manually input some values back into memory to get the machine going again. 

Is there a way to store retained values into like a spreadsheet? We had to go back to some screenshots that I had taken to put some of our values back. It's ok but not entirely convenient. I remember you can upload the memory values from a CJ2 PLC and keep it as a .mem file. Then you can just download this again to restore the PLC memory values. I don't think the NX PLC has this?

I am also reading up now on the NX PLC backup function. It seems like doing a backup will also store the retain variable values. Maybe this is the only way to backup and restore?

2022-03-29_16-39-06.jpg

2022-03-29_13-18-30.jpg

Share this post


Link to post
Share on other sites

Tools > Backup > Backup Variables and Memory

They are stored in an xml file. It is convenient that you can pick and choose which variables to backup. Unfortunately I don't know how to save to a readable spreadsheet. I'm surprised I haven't seen a utility to extract the variables from the xml file.

1 person likes this

Share this post


Link to post
Share on other sites

The only way a download should erase the retained variables is if the check box is checked.  In transfer or synchronize, there is a check box to clear the value of retained variables.  Unless the entire processor memory was corrupted, those should not be lost.

Share this post


Link to post
Share on other sites
17 hours ago, Crossbow said:

The only way a download should erase the retained variables is if the check box is checked.  In transfer or synchronize, there is a check box to clear the value of retained variables.  Unless the entire processor memory was corrupted, those should not be lost.

Looks like the 'Clear all memory' option clears all variable data even if they are marked as retain. Also the absolute encoder offsets that were previously taught were also lost. It looks like this is what happens when the 'Zero position preset' method is used for the servo homing method.

Even though they had the previously taught points for the servos, they had to reteach them all. All the coordinates are now in the 4000's when they were in the 100's previously. I think to get the values back to the 100's where they make sense, they will need to do a 'MC_Home' function at where they think position zero should be. This is what I am thinking.

2022-04-01_8-44-49.jpg

2022-04-01_8-47-19.jpg

Share this post


Link to post
Share on other sites

Yes, clear all memory basically returns the CPU to out of the box blank.  It does also do away with the encoder position.  

As for your 'zero position preset' comment, that is incorrect.  It has nothing to do with clearing any memory.  When you run MC_Home with Zero Position Preset, it takes the position the axis is in at that point and makes it home (zero)... The other methods all perform motion to find the home position.

1 person likes this

Share this post


Link to post
Share on other sites
On 4/1/2022 at 3:29 PM, Crossbow said:

Yes, clear all memory basically returns the CPU to out of the box blank.  It does also do away with the encoder position.  

As for your 'zero position preset' comment, that is incorrect.  It has nothing to do with clearing any memory.  When you run MC_Home with Zero Position Preset, it takes the position the axis is in at that point and makes it home (zero)... The other methods all perform motion to find the home position.

I think when you do the 'zero position preset' method which is what the machine builder had done, the position that was taken for home (zero) is stored as the absolute encoder home offset value.

This value is then cleared when you do the an all memory clear. In this case then you lose your previously stored zero position and is why they had to reteach all servo positions. The zero position that was previously stored was cleared.

Share this post


Link to post
Share on other sites
On 4/4/2022 at 7:36 AM, kckku said:

I think when you do the 'zero position preset' method which is what the machine builder had done, the position that was taken for home (zero) is stored as the absolute encoder home offset value.

This value is then cleared when you do the an all memory clear. In this case then you lose your previously stored zero position and is why they had to reteach all servo positions. The zero position that was previously stored was cleared.

Which is exactly what I said...  the machine builder should have done a more robust and most importantly repeatable homing method.  Bad code...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now