
Ryan Poethke (Customer) asked a question.
I have a series of (27) BRX PLCs that each have an array containing position info unique to each PLC. I need to do program updates as well as firmware updates on these PLCs, and I need to absolutely sure these variable values are retained.
Questions:
1) Can I save a "snapshot" of the stored memory locations for each PLC before updating? The array is in the form of Sel_Num[Target_Pos].
1a) If I can save a snapshot, how do I load that back into the PLC?
2) I don't think a program update to the ladder logic will overwrite or zero out any of these values. Am I correct?
3) Will a firmware / bootloader update overwrite or zero out any of these values?
I I get this wrong, I'll have a very angry group of operators after me, since they'll have to rebuild several dozen position selections x (27) from scratch.
Thanks,
Ryan Poethke
Regardless of that behavior, you can save the PLC data to your PC by using the Memory Image Manager.
The Memory Image Manager binds specific retentive PLC data to your .DMD project, which you can later write back to the PLC when you Write Project to PLC.
Connect to the PLC via one of your .dmd project files (if you don't have a the .dmd file, just connect to the PLC via the communication link and then later save that online project to disk as a new .dmd file).
Once the project is opened online, go to Tools->Memory Image Manager. You will get a dialog that lets you select the blocks that you want to save.
If you just have 1 data block of data you need to save, just hit the Add Region button and select that one data block. Make sure you select the radio button "Read current data from PLC" in the Add Region(s) dialog.
However, if the data you want to save is across multiple data blocks, and since you never had a Memory Image, you could also just hit the Generate New Image button which will read up creating a whole new Memory Image containing ALL the RETENTIVE data values out of your PLC. Next, remove all the blocks that you do NOT want to save the data (this will be everything but the data you want to save).
The data is now in Designer, which you can write to the PLC whenever you Write your Project to the PLC.
You probably do NOT want to check the "Enable Automatic Download", which means everytime you make any change to your program, it will also write that disk data on top of the PLC - EVERY TIME. It's best to leave it UNchecked, then decide in the Write to PLC dialog whether to update your Memory Image or not (you can see the grayed out Memory Image options in the Write to PLC dialog for any project that does NOT have any Memory Image Regions - those OPTIONS become ENabled whenever you have a MI).
Hit OK, then Save to Disk - this will store the data to your .dmd file.
Now, to your original question, it SHOULD maintain the data across updates. HOWEVER, Mr. Murphy loves to rear his ugly head at these critical times. Hence, my discussion of Memory Image - (this is good to have for ANY PLC with CRITICAL RETENTIVE data that can be LOST when the PLC is CLEARed).
You could actually tests your .DMD project file with MI Regions on a test PLC, even the Simulator, just to make sure your data ends up in the PLC like you expect. Make sure you do NOT SAVE TO DISK AFTER CONNECTING TO THE OTHER PLC/SIMULATOR - probably best to make a COPY of the .DMD file, THEN try connecting to the Simulator with the COPY of the .dmd project file. Memory Image update is not normal part of Designer, so it may be good to "kick the tires" with a COPY of the .DMD file connected to the SIMULATOR.
Basically, open the COPY .dmd file, DISCONNECT from the REAL PLC (PLC->Disconnect), then CONNECT to the SIMULATOR using the PLC->Connect menu, then do a Write to PLC, which will give you the Write to PLC dialog with the Memory Image options. Notice I checked the Download Memory Image Data, which lets you pick and choose which data blocks images you want to write also, in addition to the SystemConfiguration, Program, Documentation:
Thanks, franji. I'll image that block of memory with the procedure you detailed, and save (27) copies of the project file, one for each PLC (the position info is all different).
Thanks,
Ryan Poethke