Sign in to follow this  
Followers 0
Bungfer

memory overlap problem

4 posts in this topic

I'm using RSLogix 5000 to make a program for an Allen Bradley PLC 1769. The programming language I'm using is Function block. I'm generating add-on instructions to operate my program and I get an error message everytime I compile if I try to write a memory or an output twice. In my program I'm using a variable to determine a running state, this variable is an integer, so when I write once to that memory I can't use this memory anymore. The following error appears in the program: Error: Sheet 1, G4, OREF, Running_Status_HMI: Another language element's data overlaps with this one. You can use cross-reference to find other instances of this data. I thought to use different memories and then use addition to get the final result, but it this case I would need to be sure that the other variables have a 0 and only the right one has the value I have, which I cannot assure. I programed other PLCs but I never found that a memory can only be written once in a block. Can anybody give me an idea why this error message appears? Thanks in advance and happy new year!

Share this post


Link to post
Share on other sites
It is an issue caused by the using of the same tag (name-> memory location) within more than one ACTION or TRANSITION. Refer to https://rockwellautomation.custhelp.com/app/answers/detail/a_id/45745 The reason is probably related to the RSL5K FBD editor Order of Execution Rules; if "duplicate" names are encountered, the processor will not be able to "decide" which one of them should be executed first hence not being able to "resolve the logic loop". If you have a TechConnect contract, refer to https://rockwellautomation.custhelp.com/app/answers/detail/a_id/50324/related/1 Edited by dmargineau

Share this post


Link to post
Share on other sites
Hello Sparky! First of all, thanks for your quick response. Then my question is that if I use different memories to evaluate the running status of my machine, and then I make the addition of this memories to join them into a common memory. How can I know the result of this addition is correct. In that case only the memory that descrives the current state should have a value different than 0, but the rest should be 0. But I can't overwrite the value of the memories in the program twice, so I can't inicialize the value of the variables to 0. Will they become 0 in the beginning of each cycle of execution by themselves if I set them as non retentive?

Share this post


Link to post
Share on other sites
Hi all! Finally I decided to make that part of the program into a ladder block where I can write a memory twice in the same block. I hope that if anyone finds this problem later, this coment can help him/her to solve the problem. Thanks for your help! Kind regards

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
Sign in to follow this  
Followers 0