Jump to content

MI values not retained

Recommended Posts

I have a project that requires adjustable set points that I am storing in MI's. However if i reload the program from flash the MI values a lost (all read 0). This makes me think that I should be storing them in data tables or something. What is the best way of doing this? Thanks in advance.

Link to comment
Share on other sites

Hi Emil

I am using a V1040. I burned the program to flash with the VisiLogic software. I powered down the controller and removed the battery. I waited 10 minutes and then reinstalled the battery. I then powered the controller up.

I am assuming that at this point the RAM has been erased and therefore the program is loaded from flash. The program runs but all MI's are 0. I thought that the MI values would have been stored in the flash and there restored with the program. Is a Init performed when the program is loaded? Manually performing an Init has the same effect (resetting all MI's to 0).

I am testing a worst case scenario here. I don't expect this to happen in the field but I need to know how the controller reacts to this type of failure.

Thanks for your help.

Link to comment
Share on other sites

As far as I can tell, an Init is performed when loading a program from flash. I decided to store all my set points in a table. This is then read into the MI's when the program is first loaded. So far this is working well and looks to be the correct method.

Link to comment
Share on other sites

  • MVP 2023

You're probably doing the right thing to make sure your program does what you intend, however, I'm curious about what your problem really is. Are you saying that the program is losing its "Power Up" values (the ones you enter when you are writing the program in VisiLogic), or are you saying it's losing the values last entered as part of normal program operations (i.e. user entry or created via internal calculation)? If it's the latter, my understanding is the battery power is what retains those values. If it's the former (the Power Up values) then my understanding is that they should be retained in flash memory along with the rest of the program.

Link to comment
Share on other sites

  • External Moderators

Hey Guys,

I may not be 100% sure on this one, but as far as I remember the Operand Values are lost when the Battery is Removed.

I've seen very few Backup Batteries fail. A Couple of 5+ year old Vision 280's have had their Backup Batteries replaced, but Vision 570's that have been installed since 2007 are still going strong.

Remember you do have SB8 to help you out. When SB8 is '0' the Backup Battery will be just fine. When SB8 is '1' that indicates the Backup Battery is getting Low.

You could have an HMI Display pop up that tells the Customer they need to call their Supplier / Integrator and request a Replacement Backup Battery.

Of course replacing the Battery results in the Program being Lost and Operand Values being Lost, so you will need to Burn the Program into Flash (For Backup) and Consider including an SD Card with all your PLC's that allows backup of Operand Values.

  • Like 1
Link to comment
Share on other sites

Thanks for all your comments guys.

I am referring to the flash memory not SD. Power up values are not being used because this would overwrite my set points when power is restored. Set points can only be altered by service personnel that have the password. I'm basically trying to insure that there is a recovery method in place that does not require access to the original program or use of a PC. I also want the set points (a vector MI's) recovered.

I have been experimenting with tables. I can save the set points to the table and restore from the table. However I have just worked out that the data in the table is not stored in flash, only the structure. I can make the data part of the project, and therefore stored in flash but this prevents me from writing to the table. Is my understanding of this correct? If I try to recover the set points from the table after power up (battery removed) I just get random numbers.

It looks like I may need to use a SD card instead of flash. This may work out better in the long run but will require more work initially.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...