Twitchy fingers

Thomas

Member
Join Date
Mar 2003
Posts
167
Whenever a machine problem comes up the inevitable question is "Who changed the program?" My gut feel is that rarely is the program changed, but I want to verify this. The idea is to do a spreadsheet that would pull in the checksum of the program and compare to a previously recorded value.

We have a lot of different platforms, but the ones in question are usually SLC/PLC/CLX. The PLC5/30 and above have a checksum accessible in S:57. I haven't been able to locate the checksum registers for the other platforms. Does anyone know the addresses or where to look for this info.

Thanks very much,

Thomas
 
Thanks John,

I was actually working on doing what I want from a spread sheet with a little vba. I just need the locations where the checksums are stored on the other platforms.

Thomas
 
Thomas,

That is a very good question. I have been searching, and can find nothing for the SLC500 Checksum Value. Apparently it is a calculated number that is a combination of some of the other Status words.
 
This would be a good find indeed!

I am programming a machine now, It has a resolver and will fire solinoids at certain timing angles. The angles are critical so the customer wants some kind of verification. eg on start up the checksum of the program now is checked with the checksum in memory..if it differs stop.

This is with a Clx.

If anyone find it let us know!

Thanks
 
If you know what the program checksums are, and when the program checksums changed... how are you going to know WHO made that change ? Or what change they made ?

RSMACC can answer those two critical questions. It's meant to do so for Federally regulated industries that absolutely have to track that sort of thing.

I'll do some poking around inside a Logix on this topic...
 
Ken Roach said:
how are you going to know WHO made that change ? Or what change they made ?

While not too elegant, if you do a compare of the program in the processor with a last know working copy, you can see what changed. Of course this doesn't solve the who changed it question.
 
darrenj said:
This would be a good find indeed!

I am programming a machine now, It has a resolver and will fire solinoids at certain timing angles. The angles are critical so the customer wants some kind of verification. eg on start up the checksum of the program now is checked with the checksum in memory..if it differs stop.

This is with a Clx.

If anyone find it let us know!

Thanks

Am I right in thinking that these values could be put in protected data block? and would only be changed with a program download. If you need a set of recipes then put some kind of coded value within the protected data bock to check that the correct recipe is loaded.
 
Who, What, When, Where...

Ken,

I am more interested in assuring others and myself that the program HASN'T changed. If it has, the other questions can be asked. RSMACC seems to be a great product. It's just overkill for my current use... unless I need to get much more paranoid. :^)

Thomas
 
JohnW said:
Am I right in thinking that these values could be put in protected data block? and would only be changed with a program download. If you need a set of recipes then put some kind of coded value within the protected data bock to check that the correct recipe is loaded.

The customer is more concerned with memory corruption or an unautherised person changing these value in the HMI ( They can be adjusted by maintinance personel but have to go thru a key sequence to save it to the checksum)

The primaray concern is the memory coruption..I can tell them till i am blue in the face that its not that common these days but..hey they pay the bills

d
 
Doesn't a bad checksum create a fault on powerup?

I've only ever seen one PLC5/x fail like this. Had to be returned back to AB for replacement. Its been 15 years but I thought thats how we detected it.
 

Similar Topics

Is there any way of refurbishing a Panelview. Function key readability is pretty bad. PanelView 600 Color, RS-232 (DH485)...
Replies
7
Views
3,126
Back
Top Bottom