Controllogix 5555 Tags zeroed out.

S

Thread Starter

Steve Turner

A vital tag file was zeroed. The tags double integer (an array of 500) were set to zero for no apparent reason. The Controllogix plc was not faulted; however, the process was crippled. Anyone else ever experience something like this, and know a fix.

I am using a Controllogix 5555 with Ethernet communication for an OI that is reading the tags. The OI obviously has the ability to write to the tag, but is not setup to do this. I suspect AB has issues with other OI software, but don’t really know what happened. The processor is on a vital process in our facility. Any help is most appreciated.
 
Hey there, I have some experience working with CL but never had this kind of problem; maybe a little more of info about the condition in which the tag is reset: is it a new program or is it and old one showing this "feature"?, don't you have any problem with the controller batery? don't you have a Clear instruction somewhere? in which state does this happen? I hope I can help you with this info.

Cheers.
 
J

James Ingraham

> A vital tag file was zeroed.

While running? Hard to believe. But I'll tell you a scenario where it could happen.

CLogix does not range check memory access. So if you do a File Fill (FLL) with a length of 10000 on a tag that's an int, you will blitz 20000 bytes of memory. Check your progam for ANY file commands and double check the length. The length is a strange thing, too. In C, length is always in bytes. In CLogix, it multiplies by the size of one element for you. So if you want to clear out 100 double ints you give a lenth of 100, NOT the 400 you'd use in C.

I don't know if this applies to your project or not, but it's all I can think of.

Sincerely,
James Ingraham
Sage Automation, Inc.
 
Steve any number of things could have caused this, including (gasp!) bugs in your own software. We had something similar, but with a single tag. Something to watch out for: the CLX can divide by zero and by infinity without faulting. It will correspondingly put infinity or zero in the destination.
 
J

Jason Valenta - DLC Solutions

Besides making sure nothing else (code, OI, etc.) could 'zero' out the tag, was there anything else done that could have changed the tag value? Like taking another processor offline that could be sending this value, etc?

There is one known issue with Controllogix that I think was resolved with V12 where if your array is referenced to a UDT and you change your UDT, any tags that reference it will be reset to 0. So, if you don't have any code or source writting a value to that tag it will be lost. I suspect this was not the case since you did not mention if the PLC was running or someone changed the PLC code UDT and re-downloaded recently, etc.

However, if the tag is required to have a constant value that is not being written too from some other source, prehaps a move instruction should be created to write this value every scan as a safety measure so it will not be cleared.

Hope this helps.
 
Top